Andy Coder
Posts : 22 Points : 27285 Reputation : 336 Join date : 2009-09-12
| Subject: Jumper; Clue Scrolls ;) Sun Sep 13, 2009 10:07 am | |
| Jumper, Don't use this till I say please; Ill be using this as a Guide to where I am in the making of the Clue Scrolls for you. It'll be write like a Tutorial but it wont be finished untill Said. I AM CURRENTLY IN PROGRESS OF RE-WRITING THIS TO MAKE IT BETTER! PLEASE BARE WITH ME UPDATES!
13/09/2009
- Just added a Working Sextant base with the need of Chart + Watch - Added the Random Items + Random Clues Methods (Need to add the Clues + Items to it.) - Created Void to support Digging + Object Clues + All Levels - Added 5 Clues to Level 1 Method (Easy) - Added Random Caskets for Digging Clues. 15/09/09- Added all Level 1 Clue Rewards from Runescape.16&17/09/09- Re-Write Tutorial, Made more Clear.- Added a few Level 2 Clues- Added all the "Get" Statements- Added a few RandomCasket's---------------------------------------------------------- Place this in ItemSelect.java: - Code:
-
case 2574: // Sextant p.frames.showInterface(p, 365); break; Save ItemSelect.java. Open up ActionButtons.java and add: - Code:
-
case 365: if(buttonId == 12 && hasReq(p, 2576, 1) && hasReq(p, 2575, 1)) { p.frames.showChatboxInterface(p, 241); p.frames.setString(p, " ", 241, 2); p.frames.setString(p, "You are currently standing at:", 241, 3); p.frames.setString(p, "X: " + p.absX + ", Y: " + p.absY, 241, 4); p.frames.removeShownInterface(p); p.frames.sendMessage(p, "You are currently standing at:"); p.frames.sendMessage(p, "X: " + p.absX + ", Y: " + p.absY); } else { p.frames.sendMessage(p, "You need a Watch and Chart to find out your Coords."); } break; This recognises if the player has a Watch and Chart when they click to get thier coords. Now place these Methods in Player.java so that it recognises the "Get" statement. - Code:
-
// Rewards public static int randomRewardLv1[] = {2583, 2585, 2587, 2589, 2591, 2593, 2595, 2597, 2589, 7332, 7338, 7344, 7350, 7356, 10306, 10308, 10310, 10312, 10314, 7362, 7364, 7366, 7368, 7390, 7392, 7394, 7396, 7386, 7388, 10458, 10460, 10462, 10464, 10466, 10468, 10714, 10715, 10716, 10717, 10718, 10740, 10742, 10744, 10746, 10404, 10406, 10408, 10410, 10412, 10414, 2633, 2635, 2637, 2631, 10366, 10280, 13081, 13083, 13083, 13105}; public static int getRewardClueLv1() { return randomRewardLv1[(int)(Math.random()*randomRewardLv1.length)]; } public static int randomRewardLv2[] = {}; public static int getRewardClueLv2() { return randomRewardLv2[(int)(Math.random()*randomRewardLv2.length)]; } public static int randomRewardLv3[] = {}; public static int getRewardClueLv3() { return randomRewardLv3[(int)(Math.random()*randomRewardLv3.length)]; }
// Clues public static int randomClueLv1[] = {2677, 2678, 2679, 2680, 2681}; public static int getClueScrollLv1() { return randomClueLv1[(int)(Math.random()*randomClueLv1.length)]; } public static int randomClueLv2[] = {7238, 7239, 7241, 7243, 2745}; public static int getClueScrollLv2() { return randomClueLv2[(int)(Math.random()*randomClueLv2.length)]; } public static int randomClueLv3[] = {0}; public static int getClueScrollLv3() { return randomClueLv3[(int)(Math.random()*randomClueLv3.length)]; } // Caskets public static int randomCasketLv1[] = {0}; public static int getCasketLv1() { return randomCasketLv1[(int)(Math.random()*randomCasketLv1.length)]; } public static int randomCasketLv2[] = {0}; public static int getCasketLv2() { return randomCasketLv2[(int)(Math.random()*randomCasketLv2.length)]; } public static int randomCasketLv3[] = {0}; public static int getCasketLv3() { return randomCasketLv3[(int)(Math.random()*randomCasketLv3.length)]; } // Random Items public static int randomStackItems[] = {561, 560, 563, 565, 892, 890, 7329, 7330, 7331}; public static int getStackItems() { return randomStackItems[(int)(Math.random()*randomStackItems.length)]; } Declare these Void's in Player.java: - Code:
-
public void objectClue(int Clue, int RandomClue) { if(hasReq(CLUE, 1) && clickDelay <= 0) { clickDelay += 5; frames.sendMessage(this, "You find another Clue!"); Engine.playerItems.addItem(p, RandomClue, 1); Engine.playerItems.deleteItem(p, Clue, Engine.playerItems.getItemSlot(p, Clue), 1); } else if(clickDelay <= 0) { clickDelay +=5; frames.sendMessage(this, "You search..."); frames.sendMessage(this, "...but find nothing."); } }
public void digClue(int Clue, int xAxis, int yAxis, int RandomCasket) { if(hasReq(Clue, 1) && absX == xAxis && absY == yAxis && clickDelay <= 0) { clickDelay += 5; requestAnim(830, 0); frames.sendMessage(this, "You found a Casket."); Engine.playerItems.addItem(p, RandomCasket, 1); Engine.playerItems.deleteItem(p, Clue, Engine.playerItems.getItemSlot(p, Clue), 1); } else if(clickDelay <= 0) { clickDelay += 5; requestAnim(830, 0); frames.sendMessage(this, "You dig but find nothing."); } } Ok, Now go into NPCSpawn.cgf and Spawn "Lowe (550)" as he will be needed for 1 of the clues. Place these clues in the NPCOption1.java, Each "Clue" will be under its level so you know which 1 goes where - Code:
-
// Level 1 NPC Clues case (Lowes Case): if(hasReq(p, 2678, 1) && hasReq(p, 995, 500) && hasReq(p, 1515, 1)) { p.frames.showChatboxInterface(p, 241); p.frames.animateInterfaceId(p, 9760, 241, 2); p.frames.setNPCId(p, 550, 241, 2); p.frames.setString(p, "Lowe", 241, 3); p.frames.setString(p, "Heres another Clue. Good Luck!", 241, 4); Engine.playerItems.addItem(p, getClueScroll(), 1); Engine.playerItems.deleteItem(p, 2678, Engine.playerItems.getItemSlot(p, 2678), 1); Engine.playerItems.deleteItem(p, 995, Engine.playerItems.getItemSlot(p, 995), 500); Engine.playerItems.deleteItem(p, 1515, Engine.playerItems.getItemSlot(p, 1515), 1); } else { p.frames.showChatboxInterface(p, 241); p.frames.animateInterfaceId(p, 9760, 241, 2); p.frames.setNPCId(p, 550, 241, 2); p.frames.setString(p, "Lowe", 241, 3); p.frames.setString(p, "Welcome to my Archery Store.", 241, 4); } These are the ObjectOption1.java clues, also placed under // Level clues - Code:
-
// Level 1 Object Clues case 17101: p.objectClue(p, 2677, getClueScrollLv1()); break;
case 354: p.objectClue(p, 2679, getClueScrollLv1()); //Level 1 p.objectClue(p, 7243, getClueScrollLv2()); //Level 2 break;
// Level 2 Object Clues
case 356: p.objectClue(p, 2745, getClueScrollLv2()); break;
These are the Digging Clues & the Clue Scrolls (Where you click and they come up telling you your clue). Place this case in ItemSelect.java: - Code:
-
case 952: // Level 1 Digging Clues p.digClue(p, 2681, 2616, 3152, getCasketLv1()); p.digClue(p, 2680, 3109, 3152, getCasketLv1());
// Level 2 Digging Clues p.digClue(p, 7237, 2751, 3481, getCasketLv2()); p.digClue(p, 7238, 2943, 3370, getCasketLv2()); p.digClue(p, 7239, 2616, 3152, getCasketLv2());
// Level 3 Digging Clues
break;
// Level 1 Clue Scrolls case 2677: p.frames.showInterface(p, 384); p.frames.setString(p, " ", 384, 1); p.frames.setString(p, " ", 384, 2); p.frames.setString(p, " ", 384, 3); p.frames.setString(p, " ", 384, 4); p.frames.setString(p, " ", 384, 5); p.frames.setString(p, " ", 384, 6); p.frames.setString(p, " Search around in the Smithing house near", 384, 7); p.frames.setString(p, " Varrock West Bank.", 384, 8); p.frames.setString(p, " ", 384, 9); p.frames.setString(p, " ", 384, 10); p.frames.setString(p, " ", 384, 11); p.frames.setString(p, " ", 384, 12); p.frames.setString(p, " ", 384, 13); p.frames.setString(p, " ", 384, 14); p.frames.setString(p, " ", 384, 15); p.frames.setString(p, " ", 384, 16);
break;
case 2678: p.frames.showInterface(p, 384); p.frames.setString(p, " ", 384, 1); p.frames.setString(p, " ", 384, 2); p.frames.setString(p, " ", 384, 3); p.frames.setString(p, " ", 384, 4); p.frames.setString(p, " ", 384, 5); p.frames.setString(p, " ", 384, 6); p.frames.setString(p, " My name is: WOEL,", 384, 7); p.frames.setString(p, " I am located around Varrock.", 384, 8); p.frames.setString(p, " Bring me 500 GP and a Yew Log.", 384, 9); p.frames.setString(p, " ", 384, 10); p.frames.setString(p, " ", 384, 11); p.frames.setString(p, " ", 384, 12); p.frames.setString(p, " ", 384, 13); p.frames.setString(p, " ", 384, 14); p.frames.setString(p, " ", 384, 15); p.frames.setString(p, " ", 384, 16);
break;
case 2679: // Level 1 Clue case 7243: // Level 2, Same Interface p.frames.showInterface(p, 361);
break;
case 2680: p.frames.showInterface(p, 356);
break;
case 2681: // Level 1 Clue case 7239: // Level 2, Same Interface p.frames.showInterface(p, 353);
break;
// Level 2 Clues
case 7338: p.frames.showInterface(p, 384); p.frames.setString(p, " ", 384, 1); p.frames.setString(p, " ", 384, 2); p.frames.setString(p, " ", 384, 3); p.frames.setString(p, " ", 384, 4); p.frames.setString(p, " ", 384, 5); p.frames.setString(p, " ", 384, 6); p.frames.setString(p, " Dig at:", 384, 7); p.frames.setString(p, " X: 2943 || Y: 3370", 384, 8); p.frames.setString(p, "", 384, 9); p.frames.setString(p, " ", 384, 10); p.frames.setString(p, " ", 384, 11); p.frames.setString(p, " ", 384, 12); p.frames.setString(p, " ", 384, 13); p.frames.setString(p, " ", 384, 14); p.frames.setString(p, " ", 384, 15); p.frames.setString(p, " ", 384, 16);
break;
case 7237: p.frames.showInterface(p, 384); p.frames.setString(p, " ", 384, 1); p.frames.setString(p, " ", 384, 2); p.frames.setString(p, " ", 384, 3); p.frames.setString(p, " ", 384, 4); p.frames.setString(p, " ", 384, 5); p.frames.setString(p, " ", 384, 6); p.frames.setString(p, " Dig at:", 384, 7); p.frames.setString(p, " X: 2751 || Y: 3481", 384, 8); p.frames.setString(p, "", 384, 9); p.frames.setString(p, " ", 384, 10); p.frames.setString(p, " ", 384, 11); p.frames.setString(p, " ", 384, 12); p.frames.setString(p, " ", 384, 13); p.frames.setString(p, " ", 384, 14); p.frames.setString(p, " ", 384, 15); p.frames.setString(p, " ", 384, 16);
break;
// Level 1 Caskets
case 2714: Engine.playerItems.deleteItem(p, 2714, Engine.playerItems.getItemSlot(p, 2714), 1); Engine.playerItems.addItem(p, getRewardClueLv1(), 1);
break;
case 2717: Engine.playerItems.deleteItem(p, 2717, Engine.playerItems.getItemSlot(p, 2717), 1); Engine.playerItems.addItem(p, getRewardClueLv1(), 1); Engine.playerItems.addItem(p, getRewardClueLv1(), 1); Engine.playerItems.addItem(p, getRewardClueLv1(), 1); Engine.playerItems.addItem(p, getStackItems(), 100+Misc.random(45));
break;
// Level 2 Caskets
case 7237: Engine.playerItems.deleteItem(p, 7237, Engine.playerItems.getItemSlot(p, 7237), 1); Engine.playerItems.addItem(p, getClueScrollLv2(), 1); break;
case 7342: Engine.playerItems.deleteItem(p, 7242, Engine.playerItems.getItemSlot(p, 7242), 1); Engine.playerItems.addItem(p, getClueScrollLv2(), 1); break;
case 7244: Engine.playerItems.deleteItem(p, 7244, Engine.playerItems.getItemSlot(p, 7244), 1); Engine.playerItems.addItem(p, getClueScrollLv2(), 1); break;
case 7240: Engine.playerItems.deleteItem(p, 7240, Engine.playerItems.getItemSlot(p, 7240), 1); Engine.playerItems.addItem(p, getClueScrollLv2(), 1); break;
case 7246: Engine.playerItems.deleteItem(p, 7246, Engine.playerItems.getItemSlot(p, 7246), 1); Engine.playerItems.addItem(p, getRewardClueLv2(), 1); Engine.playerItems.addItem(p, getRewardClueLv2(), 1); Engine.playerItems.addItem(p, getRewardClueLv2(), 1); Engine.playerItems.addItem(p, getStackItems(), 100+Misc.random(45)); break;
Last edited by Andy on Wed Sep 16, 2009 7:09 pm; edited 15 times in total | |
|