Jump to content
  • 0

NPC summons/warps


Mr BrycE

Question


  • Group:  Members
  • Topic Count:  125
  • Topics Per Day:  0.03
  • Content Count:  595
  • Reputation:   23
  • Joined:  02/23/12
  • Last Seen:  

I want to request an npc that..

After talking to him

with some story line and with the required item(s) or/and zeny

after 5 - 10 seconds

A monster will be summoned...

in the 1st five seconds that Monster will shout in that map like..

"RAWR, who dares to enter my sacred Dungeon!?"

2nd 5-10 seconds

"Prepare to be Pulverize!?"

and then the monster will be summon

and after killing it...

there's an announce bc all that tells

"(Custom Monster Name) has been Exterminated!"

and

Those who are in that map will be warped back to town or somewhere else...

thanks in advance /no1

Link to comment
Share on other sites

8 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

http://pastebin.com/UU3u0ZX3

- report if theres a bug so we can fix it..

Edited by GM Takumirai
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  125
  • Topics Per Day:  0.03
  • Content Count:  595
  • Reputation:   23
  • Joined:  02/23/12
  • Last Seen:  

ok, i will test it 1st and see what happens..

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

//===== rAthena Script =======================================
//= Custom Revival Quest
//===== By: ==================================================
//= GM Takumira - please don't remove.
//============================================================

// Reward ID / Amount Initiating ( Check db/Item_db.txt || db/Item_db2.txt )						
setarray .Reward[0],
		607,10,				// Reward 1 + Amount
		608,5,				// Reward 2 + Amount
		501,3,				// etc......
		512,1;				// Last Reward 1 ( Max. ~64 Items )


set .@npcname$,"^0000FF[ Takumirai ]^000000";

guild_vs5,39,51,5	script	Dead Takumirai	849,{

if(gettimetick(2) - helped1 < (60 * 60 * 20)) {
mes .@npcname$;
mes "........";
mes "There's a Note in his arm!";
next;
mes "[Note:]";
mes "You must wait";
mes "Until 20 Hours are over!";
close;
}
mes "Legendary Takumirai is lying on the floor.";
mes ".....";
next;
mes "there was a Note in his chest.";
mes "Here is the list to Revive this Legendary Man.";
next;
mes "^cc000015x Poison Bottle";
mes "150x Poison Spores";
mes "50x Green Herbs";
mes "and 20x Karvodailnirol.^000000";
next;
switch(select("-Cancel:-Yes, Lets Give it")) {
case 1:
close;
}
case 2:
if (countitem(678) < 15 || countitem(7033) < 150 || countitem(511) < 50 || countitem(972) < 20){
mes "You haven't all the Items.";
mes "Here is the list from the Note again.";
next;
mes "^cc000015x Poison Bottle";
mes "150x Poison Spores";
mes "50x Green Herbs";
mes "and 20x Karvodailnirol.^000000";
close;
} else {
mes .@npcname$;
mes "Ok thanks for the items.";
delitem 678, 15;	// Poison Bottle
delitem 7033, 150;	// Poison Spore
delitem 511, 50;	// Green Herb
delitem 972, 20;	// Karvodailnirol
next;
mes .@npcname$;
mes ".....";
mes "Something is happening";
next;
mes ".....";
next;
mes .@npcname$;
mes "Who dares awake me..";
setnpcdisplay("Dead Takumirai",980);
sleep2 5000;
next;
mes .@npcname$;
mes "Arrrgggg..";
next;
mes "My body is transforming to monster again..";
setnpcdisplay("Dead Takumirai",999);
mes .@npcname$;
mes "You will die for this..";
killmonsterall "guild_vs5";
donpcevent "Room of Life::OnEnable";
end;




//	Room of Life
//	======================================
guild_vs5,1,1,0	script	Room of Life	66,{
OnEnable:
enablenpc "Room of Life";
set .MyMobs,10;
monster "guild_vs5",47,75,"Ancient Mimic",1699,5,"Room of Life::OnMyMobDead";
monster "guild_vs5",47,44,"Anubis",1098,5,"Room of Life::OnMyMobDead";
end;

OnDisable:
killmonsterall "guild_vs5";
disablenpc "Room of Life";
end;

OnMyMobDead:
set .MyMobs,.MyMobs-1;
if (.MyMobs < 1) {
	mapannounce "guild_vs5",strcharinfo(0)+" has succeeded in eliminating the monsters.",bc_map;
	sleep2 3000;
	mapannounce "guild_vs5",strcharinfo(0)+" Legendary Dead Takumirai Again Sleeping.",bc_map;
    donpcevent "Room of Life::OnDisable";
	set BaseExp,+160000;
	set JobExp,+100000;
	set helped1,gettimetick(2);
	setnpcdisplay("Dead Takumirai",849);
	warp "prontera",120,110;
	for( set .@a,0; .@a < getarraysize( .Reward ); set .@a,.@a + 2 ){
					getitem .Reward[.@a],.Reward[.@a+1], $@partymemberaid[.@i];
					}
			dispbottom "Gained those items as Reward for Finishing Stage Game";
	warp "prontera",120,110;

}
end;
}

donpcevent "Room of Life::OnDisable";

- forgot to put this

Edited by GM Takumirai
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  125
  • Topics Per Day:  0.03
  • Content Count:  595
  • Reputation:   23
  • Joined:  02/23/12
  • Last Seen:  

can you explain this to me..

if(gettimetick(2) - helped1 < (60 * 60 * 20)) {

i want it every 3 days xD

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

try this

if(gettimetick(2) - helped1 < (60 * 60 * 72)) {

http://rathena.org/wiki/Gettimetick

- is the script work?

Edited by GM Takumirai
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  125
  • Topics Per Day:  0.03
  • Content Count:  595
  • Reputation:   23
  • Joined:  02/23/12
  • Last Seen:  

there's an error

somewhere in this line

setarray .Reward[0],

607,10, // Reward 1 + Amount

608,5, // Reward 2 + Amount

501,3, // etc......

512,1; // Last Reward 1 ( Max. ~64 Items )

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  592
  • Reputation:   31
  • Joined:  11/14/11
  • Last Seen:  

what line? because the emulator can say what line is getting error?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  125
  • Topics Per Day:  0.03
  • Content Count:  595
  • Reputation:   23
  • Joined:  02/23/12
  • Last Seen:  

line 8.

i tried commenting out those lines, but...

im having an error after that next line...

can you give me another script..its not working at all hmm...

bump


// Reward ID / Amount Initiating ( Check db/Item_db.txt || db/Item_db2.txt ) 
//setarray .Reward[0],
// 607,10, // Reward 1 + Amount
// 608,5, // Reward 2 + Amount
// 501,3, // etc......
// 512,1; // Last Reward 1 ( Max. ~64 Items )


//set .@npcname$,"^0000FF[ Brice ]^000000";

1@ma_b,78,80,5 script Dead Bryce 849,{

if(gettimetick(2) - helped1 < (60 * 60 * 72)) {
mes "^0000FF[ Bryce ]^000000";
mes "........";
mes "There's a Note in his arm!";
next;
mes "[Note:]";
mes "You must wait";
mes "Until its 3 Days Rest is over!";
close;
}
mes "Legendary Bryce is lying on the floor.";
mes ".....";
next;
mes "there was a Note in his chest.";
mes "Here is the list to Revive this Legendary Man.";
next;
mes "^cc000050x Poison Bottle";
mes "150x Bravery Bagde ";
mes "150x Valor Badge";
mes "3000x Special Exhange Ticket";
mes "and 1x Leak Card.^000000";
next;
switch(select("-Cancel:-Yes, Lets Give it")) {
case 1:
close;
break;
case 2:
if (countitem(678) < 50 || countitem(7828) < 150 || countitem(7829) < 150 || countitem(6153) < 3000 || countitem(4520) < 1){
mes "You don't have all the Items.";
mes "Here is the list from the Note again.";
next;
mes "^cc000050x Poison Bottle";
mes "250x Bravery Bagde ";
mes "250x Valor Badge";
mes "3000x Special Exhange Ticket";
mes "and 1x Leak Card.^000000";
close;
} else {
mes "^0000FF[ Bryce ]^000000";
mes "Ok thanks for the items.";
delitem 678, 50; // Poison Bottle
delitem 7828, 250; // Bravery Badge
delitem 7829, 250; // Valor Badge
delitem 6153, 3000 // Special Exhange Ticket
delitem 4520, 1; // Leak Card
next;
mes "^0000FF[ Bryce ]^000000";
mes ".....";
mes "Something is happening";
next;
mes ".....";
next;
mes "^0000FF[ Bryce ]^000000";
mes "Who dares to disturb my Rest and awaken me!!.";
setnpcdisplay("Dead Bryce",980);
sleep2 5000;
next;
mes "^0000FF[ Bryce ]^000000";
mes "Arrrgggghhh..";
next;
mes "My body is transforming into monster again..";
setnpcdisplay("Dead Bryce",999);
mes "^0000FF[ Bryce ]^000000";
mes "You will die for this..";
close;
killmonsterall "1@ma_b";
donpcevent "Room of Life::OnEnable";
end;
}
}
}


// Room of Life
// ======================================
1@ma_b,1,1,0 script Room of Life 66,{
OnEnable:
enablenpc "Room of Life";
set .MyMobs,1;
monster "1@ma_b",64,88,"Pugde the Butcher",3000,1,"Room of Life::OnMyMobDead";
end;

OnDisable:
killmonsterall "1@ma_b";
disablenpc "Room of Life";
end;

OnMyMobDead:
set .MyMobs,.MyMobs-1;
if (.MyMobs < 1) {
announce " "strcharinfo(0)+" has successfully in Exterminate the Horrible Butcher, Pudge.",bc_all;
sleep2 3000;
announce " "strcharinfo(0)+" Legendary Dead Bryce is Asleep for 3 Days.",bc_all;
donpcevent "Room of Life::OnDisable";
set BaseExp,+160000;
set JobExp,+100000;
set helped1,gettimetick(2);
setnpcdisplay("Dead Rodz",849);
warp "dicastes01",193,173;
for( set .@a,0; .@a < getarraysize( .Reward ); set .@a,.@a + 2 ){
getitem .Reward[.@a],.Reward[.@a+1], $@partymemberaid[.@i];
}
dispbottom "Pudge Extermination Quest will be available again in 3 days after you kill Pudge";
warp "dicastes01",193,173;

}
end;
}

its working now, i just removed the rewards and set npc name, and added "break" on the cases...

thanks /no1

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...