Gabby, She posted this on Runelocus,
http://**************/forums/showthr...055#post139055
Even Check she gave me Credit, I was T3Aowner Before, But i have a new server name and therefor a new account
Also dont do the 1 On Runelocus Forums,
You will be using Starter to process.
Carry on with this Mini Game
I tested on Richscape V4, It uses Somestuff unlike other sources, sofor you will need to change couple of stuff, sendMsg, Teleport And few others, You will figure it out.
In this minigame, You will kill Green, Blue, Red, Black, And MithrilDragons,
Each time you kill a dragon you get a Certain amount of cash,
At the end you get your main reward. + random amount from 1 - 15 Dragons bones wich will be useful later.
Then there is a second part to it, You go to Ghost Town, Or whatever its called.
You need to give 100 dragon bones to Jokul so you can get a special cape so the skeletons dont hit you hard. Each time you kill a skeleton, they drop bones then you use it on the ectofuntus, Not sure if spelled correct, And you get a random amount of cash rewarded, 1 - 100k, Change if you like.
Credits:
90% Me,
10% Gabby, She helped me with Part 1
NOTE:
(My server is economy Based, Therefor i dont give out much cash)
(If your using Richscape V4.1 with the Client, Then you got Mithril dragons)
I really really Suggest you do this,
http://www.rune-server.org/f307/new-...ot-t83172.html
Then carry on with this, Or after but dont forget to do it. Otherwise the monsters look ugly and It doesnt really look nice..
In this Tut you will be editing the fallowing;
Client.java
Autospawn.cfg
And
NpcHandler.java
Item.java ( Richscape Sources )
Others, Where you set a Npcs Drops.
If you got a client,
class8.java
And
Class46.java.
Ok Open up NpcHandler and Declare this
Each time you kill The npc it teleports you to the other 1
Code:
if (npcs[NPCID].npcType == 941) {
int Player = npcs[NPCID].StartKilling;
client ppl = (client) server.playerHandler.players[Player];
ppl.teleportToX = 3328;
ppl.teleportToY = 3354;
ppl.sendFrame126("You have killed the Green Dragon, 357);
ppl.sendFrame126("Now Slay the Blue Dragon, 358);
ppl.sendFrame164(356);
ppl.addItem(995, 250000);
}
if (npcs[NPCID].npcType == 55) {
int Player = npcs[NPCID].StartKilling;
client ppl = (client) server.playerHandler.players[Player];
ppl.teleportToX = 2794;
ppl.teleportToY = 9337;
ppl.sendFrame126("Well Done You Killed the Blue Dragon, 356);
ppl.sendFrame126("Now you will have to Kill Red Dragon, 357);
ppl.sendFrame126("To Carry on the Next step, 358);
ppl.sendFrame164(356);
ppl.addItem(995, 500000);
}
if (npcs[NPCID].npcType == 53) {
int Player = npcs[NPCID].StartKilling;
client ppl = (client) server.playerHandler.players[Player];
ppl.teleportToX = 2925;
ppl.teleportToY = 3558;
ppl.sendFrame126("You have got 2 More dragons left, 356);
ppl.sendFrame126("You are doing Very good so far, 357);
ppl.sendFrame164(356);
ppl.addItem(995, 1000000);
}
if (npcs[NPCID].npcType == 54) {
int Player = npcs[NPCID].StartKilling;
client ppl = (client) server.playerHandler.players[Player];
ppl.teleportToX = 2828;
ppl.teleportToY = 3339;
ppl.sendFrame126("You last Dragon to Kill is..@blu@Mithrill @red@Dragon, 357);
ppl.sendFrame164(356);
ppl.addItem(995, 1500000);
}
if (npcs[NPCID].npcType == 3776) {
int Player = npcs[NPCID].StartKilling;
client ppl = (client) server.playerHandler.players[Player];
ppl.teleportToX = 3333;
ppl.teleportToY = 3333;
ppl.sendFrame126("Well done, You finished the MiniGame, 357);
ppl.sendFrame164(356);
ppl.addItem(995, 2000000);
ppl.sendMsg("You can now enter Ghost Portal,");
ppl.starter = 3;
ppl.savechar();
}
This sets Anti Dragon Shield, Item Id 2774 is dragon fire shield, Change to your Id.
Code:
else if (npcs[NPCID].npcType == 941 && plr.playerEquipment[plr.playerShield] != 1540 || npcs[NPCID].npcType == 50 && plr.playerEquipment[plr.playerShield] != 2774) {
npcs[NPCID].animNumber = 81;
hitDiff = 10 + misc.random(21);
FacePlayerCB(NPCID, Player);
plr.stillgfx(157, plr.absY, plr.absX);
plr.sendMsg("The dragon's fire burns you!");
}
else if (npcs[NPCID].npcType == 941 && plr.playerEquipment[plr.playerShield] == 1540 || npcs[NPCID].npcType == 50 && plr.playerEquipment[plr.playerShield] == 2774) {
npcs[NPCID].animNumber = 81; // Black Dragon attack
hitDiff = misc.random(12);
FacePlayerCB(NPCID, Player);
plr.stillgfx(157, plr.absY, plr.absX);
plr.sendMsg("Your shield protects you from the dragon's fire!");
}
else if (npcs[NPCID].npcType == 3776 && plr.playerEquipment[plr.playerShield] != 1540 || npcs[NPCID].npcType == 50 && plr.playerEquipment[plr.playerShield] != 2774) {
npcs[NPCID].animNumber = 81;
hitDiff = 10 + misc.random(21);
FacePlayerCB(NPCID, Player);
plr.stillgfx(157, plr.absY, plr.absX);
plr.sendMsg("The dragon's fire burns you!");
}
else if (npcs[NPCID].npcType == 3776 && plr.playerEquipment[plr.playerShield] == 1540 || npcs[NPCID].npcType == 50 && plr.playerEquipment[plr.playerShield] == 2774) {
npcs[NPCID].animNumber = 81; // Black Dragon attack
hitDiff = misc.random(12);
FacePlayerCB(NPCID, Player);
plr.stillgfx(157, plr.absY, plr.absX);
plr.sendMsg("Your shield protects you from the dragon's fire!");
}
else if (npcs[NPCID].npcType == 55 && plr.playerEquipment[plr.playerShield] != 1540 || npcs[NPCID].npcType == 50 && plr.playerEquipment[plr.playerShield] != 2774) {
npcs[NPCID].animNumber = 81;
hitDiff = 10 + misc.random(21);
FacePlayerCB(NPCID, Player);
plr.stillgfx(157, plr.absY, plr.absX);
plr.sendMsg("The dragon's fire burns you!");
}
else if (npcs[NPCID].npcType == 55 && plr.playerEquipment[plr.playerShield] == 1540 || npcs[NPCID].npcType == 50 && plr.playerEquipment[plr.playerShield] == 2774) {
npcs[NPCID].animNumber = 81; // Black Dragon attack
hitDiff = misc.random(12);
FacePlayerCB(NPCID, Player);
plr.stillgfx(157, plr.absY, plr.absX);
plr.sendMsg("Your shield protects you from the dragon's fire!");
}
else if (npcs[NPCID].npcType == 53 && plr.playerEquipment[plr.playerShield] != 1540 || npcs[NPCID].npcType == 50 && plr.playerEquipment[plr.playerShield] != 2774) {
npcs[NPCID].animNumber = 81;
hitDiff = 10 + misc.random(21);
FacePlayerCB(NPCID, Player);
plr.stillgfx(157, plr.absY, plr.absX);
plr.sendMsg("The dragon's fire burns you!");
}
else if (npcs[NPCID].npcType == 53 && plr.playerEquipment[plr.playerShield] == 1540 || npcs[NPCID].npcType == 50 && plr.playerEquipment[plr.playerShield] == 2774) {
npcs[NPCID].animNumber = 81; // Black Dragon attack
hitDiff = misc.random(12);
FacePlayerCB(NPCID, Player);
plr.stillgfx(157, plr.absY, plr.absX);
plr.sendMsg("Your shield protects you from the dragon's fire!");
}
else if (npcs[NPCID].npcType == 54 && plr.playerEquipment[plr.playerShield] != 1540 || npcs[NPCID].npcType == 50 && plr.playerEquipment[plr.playerShield] != 2774) {
npcs[NPCID].animNumber = 81;
hitDiff = 10 + misc.random(21);
FacePlayerCB(NPCID, Player);
plr.stillgfx(157, plr.absY, plr.absX);
plr.sendMsg("The dragon's fire burns you!");
}
else if (npcs[NPCID].npcType == 54 && plr.playerEquipment[plr.playerShield] == 1540 || npcs[NPCID].npcType == 50 && plr.playerEquipment[plr.playerShield] == 2774) {
npcs[NPCID].animNumber = 81; // Black Dragon attack
hitDiff = misc.random(12);
FacePlayerCB(NPCID, Player);
plr.stillgfx(157, plr.absY, plr.absX);
plr.sendMsg("Your shield protects you from the dragon's fire!");
}
Close NpcHandler.java and open Client.java
Add this
to either 1 of this,
Code:
/* Portals */
/* Object Click 1 */
/* object click one */
Code:
case 356: // dragonmini
Teleport(2444, 3046, 0);
sendFrame126("Welcome To Dragon Slaying MiniGame", 357);
sendFrame164(356);
sendMsg("You Find No DvDs.");
addItem(1540, 1);
break;
Also add This;
Code:
case 357:
Teleport(3086, 3492, 0);
addItem(995, misc.random(3000000));
addItem(537, misc.random(15));
break;
And add this will your globalobjects
Code:
makeGlobalObject(3094, 3488, 356, -1, 10);
makeGlobalObject(3333, 3334, 357, -1, 10);
And add this in autospawn:
Code:
spawn = 3776 2827 3344 0 0 0 0 0 2 Dragonmini
spawn = 941 2441 3092 0 0 0 0 0 2 Dragonmini
spawn = 55 3334 3358 0 0 0 0 0 2 Dragonmini
spawn = 53 2787 9338 0 0 0 0 0 1 Dragonmini
spawn = 54 2929 3558 0 0 0 0 0 1 Dragonmini
If you got a client Open up class46.java and add this inside.
Code:
if(i == 356)
{
class46.aString739 = "For Porn DvDs";
class46.aByteArray777 = "No DVDS! a minigame!".getBytes();
}
if(i == 2476)
{
class46.aString739 = "Ghost Portal";
}
Second Part
Add this in AutoSpawn:
Code:
spawn = 90 3665 3523 0 0 0 0 0 1
spawn = 90 3664 3526 0 0 0 0 0 1
spawn = 90 3654 3521 0 0 0 0 0 1
spawn = 90 3656 3517 0 0 0 0 0 1
spawn = 90 3656 3515 0 0 0 0 0 1
spawn = 90 3659 3515 0 0 0 0 0 1
spawn = 90 3662 3516 0 0 0 0 0 1
spawn = 90 3663 3513 0 0 0 0 0 1
spawn = 90 3664 3516 0 0 0 0 0 1
spawn = 90 3663 3520 0 0 0 0 0 1
spawn = 1810 3658 3525 0 0 0 0 0 1
Add this where you set Npc Drops, Item.java for Richscape Sources.
Code:
public static int Skeleton[] = { 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526,
526, 526, 526, 526, 526, 2368, 2366, 2366, 2368, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526,
526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526,
526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526,
526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526,
526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526, 526
};
public static int randomSkeleton() {
return Skeleton[(int) (Math.random() * Skeleton.length)];
}
Add this where you Add Item drops to Npcs, NpcHandler.java for Richscape sources, I think its the same.
Code:
if (npcs[NPCID].npcType == 90) {
ItemHandler.addItem(Item.randomSkeleton(), npcs[NPCID].absX, npcs[NPCID].absY, 1, GetNpcKiller(NPCID), false);
}
In client.java add this Above
Code:
case 2476:
if (starter == 2) {
sendMsg("You cant Enter Yet, Hint: Search for Porn DvDs.");
}
if (starter == 3) {
Teleport(3660, 3524, 0);
sendMsg("Talk to Jokul first,");
}
if (starter == 4) {
Teleport(3660, 3524, 0);
}
break
case 5282:
if(playerHasItem(526)) {
deleteItem(526, getItemSlot(526), 1);
addItem(995, misc.random(100000));
sendMsg("You Use the bones on the Ectofuntus And get some Money!");
} else {
sendMsg("You Got No Bones to give");
}
break;
Add this to globalObjects
Code:
makeGlobalObject(3090, 3507, 2476, 0, 10);
makeGlobalObject(3660, 3513, 2213, 0, 10);
makeGlobalObject(3659, 3513, 2213, 0, 10);
makeGlobalObject(3659, 3526, 2213, 0, 10);
makeGlobalObject(3660, 3526, 2213, 0, 10);
Search for
Code:
public void UpdateNPCChat() {
And under
Code:
switch (NpcDialogue) {
Add
Code:
case 6810:
npcDiag("Hello!","I tell you what you need to do.","This is So simple!","Ok listen",1810);
break;
case 6811:
npcDiag("Kill the Skeletons","Get their bones,","Then use it","On the Ectofuntus ",1810);
break;
case 6812:
npcDiag("You will get a reward from 0 - 100k Gp!","Per bone.","But thing is..","They hit extremely high",1810);
break;
case 6813:
playerDiag("Wow", "How do i Stop that?");
break;
case 6***:
npcDiag("You need a special type of Cape","its called the Master Prayer Cape","But to get this..","You have to do something for me",1810);
break;
case 6815:
npcDiag("You need to get me 100 Dragon bones","And i give it to you.","The cape.","Get to work please..",1810);
break;
case 6816:
RemoveAllWindows();
break;
In
Code:
case 6***:
npcDiag("You need a special type of Cape","its called the Master Prayer Cape","But to get this..","You have to do something for me",1810);
break;
change the 6***
to 68 1 4, No spaces.
Search for case 155:
and add
Code:
if (NPCID == 1810) {
skillX = server.npcHandler.npcs[NPCSlot].absX;
skillY = server.npcHandler.npcs[NPCSlot].absY;
NpcWanneTalk = 6810;
}
Now search for case 40:
and add
Code:
else if (NpcDialogue == 6810 || NpcDialogue == 6811 || NpcDialogue == 6812 || NpcDialogue == 6813 || NpcDialogue == 6*** || NpcDialogue == 6815 || NpcDialogue == 6816) {
NpcDialogue += 1;
NpcDialogueSend = false;
}
Open NpcHandler.java and declare this
Code:
else if (npcs[NPCID].npcType == 90) {
hitDiff = 10 + misc.random(80);
FacePlayerCB(NPCID, Player);
}
if (npcs[NPCID].npcType == 90 && (plr.playerEquipment[plr.playerCape] == 7645)) {
hitDiff = 0 + misc.random(8);
FacePlayerCB(NPCID, Player);
}
Now Close and Compile, Open up your client, And open class8.java
and add this.
Code:
if (i == 7645) {
class8.aStringArray189 = new String[5];
class8.aStringArray189[1] = "Wear";
class8.anIntArray156 = new int[3];
class8.anIntArray160 = new int [3];
class8.anInt174 = 6;
class8.anInt181 = 1100;
class8.anInt190 = 498;
class8.anInt198 = 500;
class8.anInt204 = 300;
class8.anInt169 = 0;
class8.anInt194 = -4;
class8.anInt165 = 6;
class8.anInt200 = 6;
class8.anInt175 = 100;
class8.anInt197 = 100;
class8.aString170 = "Master Prayer Cape";
class8.aByteArray178 = "Worn By Only the Masters Of Prayer".getBytes();
}
^ is different from normall prayer capes, So add it.
Download this model.
http://**********/O5LIM7
log ingame and say 'add model 6' without the ' or ::
If you want rest of the capes then do this,
http://www.rune-server.org/f307/skil...k-t103171.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
Video :
http://tinypic.com/player.php?v=15chicg&s=4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~
NOW DO THIS
http://www.rune-server.org/f10/updat...tml#post924565