Jump to content
  • 0

Hello Again.


Dokie

Question


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  36
  • Reputation:   0
  • Joined:  12/21/12
  • Last Seen:  

Uhmm, can i request for a NPC for Quest Bloody Branch?

Steps to Quest.

1. All jobs are accepted but base level must be 255.

2. Need to pay 300m Zeny.

3. You need to kill a Poring that would be summoned in map of Prontera City.

4. The Questor who is registered can only one who can kill that poring. ( If the poring was killed by another player it'll announce ( "name" accidentally killed the poring ) 

5. Else the Quest will reset until the real player killed their corresponding poring. ( In other words, Each questor have their own poring to be summoned )

6. After doing that back to the NPC and get their reward. ( 2 Bloody Branch )

7. 3 Hours Cool Down.

Link to comment
Share on other sites

9 answers to this question

Recommended Posts


  • Group:  Forum Moderator
  • Topic Count:  33
  • Topics Per Day:  0.01
  • Content Count:  1268
  • Reputation:   382
  • Joined:  02/03/12
  • Last Seen:  

Semi-tested thanks for all the info.

function	script	timeleft__	{
	set .@left, getarg(0);
	if ( .@left <= 0 ) return getarg(0);
	set .@day, .@left / 86400;
	set .@hour, .@left % 86400 / 3600;
	set .@min, .@left % 3600 / 60;
	set .@sec, .@left % 60;
	return ( ( .@day )?.@day +" day ":"" )+( ( .@day || .@hour )?.@hour +" hour ":"" )+( ( .@day == 0 && ( .@hour || .@min ) )?.@min +" min ":"" )+( ( .@day || .@hour )?"":.@sec +" sec" );
}
prontera,95,96,2	script	Bloody Branch Quest	76,{
if(!Bloody_b_Q){ set .QNPC$,"[^0000FF???^000000]"; } else { set .QNPC$,"[^0000FFAlice^000000]"; }
if(Bloody_b_Q==2){ npctalk "Thanks again, come back in 3 hours and I'm sure another one will slip through!"; getitem 12103,2; set Bloody_b_Q,(gettimetick(0)+(3*60*60*1000)); end; }
if(Bloody_b_Q>gettimetick(0)){ mes .QNPC$; mes strcharinfo(0)+" you have "+callfunc("timeleft__",((Bloody_b_Q-gettimetick(0))/1000))+"left."; close; }
if(!mobcount("prontera","Bloody Branch Quest::OnPoringDead")&&Bloody_b_Q==1){ npctalk "Hmm... *looks around* Ahh, I see one over there!"; monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead"; emotion e_gasp; end; }
if(Bloody_b_Q==1) { mes .QNPC$; mes "There's already a Poring out there with your name on it!"; close; }
if(BaseLevel<255){ mes .QNPC$; mes "I'm sorry, but only the truly strong can do this quest. Come back with a base level of 255 or higher."; close; }
mes .QNPC$;
mes "Hello I need your help, Porings from the surounding feilds slip past our lazy guards, and I'm to cute to hunt them down now they're running a muk!";
next;
mes "Would you like to participate in our daily Poring Hunt?";
mes "Oh- I almost forgot to mention, we need 300m to cover any casualities.";
if(select("Yes:No")-1){ next; mes .QNPC$; mes "What!- You expect me to just kill all these porings bymyself?!"; emotion e_sob; close; }
if(Zeny<3000000) { next; mes .QNPC$; mes "Look I can't just let you loose swinging a sword at everything you think is a poring without some funding!"; mes "Come back when you get some more cash!"; close; }
emotion e_no1;
set Zeny,Zeny-3000000;
next;
if(!Bloody_b_Q){
	mes "[^0000FFAlice^000000]";
	mes "Thanks for your patronage.";
	mes "You can call me ^0000FFAlice^000000 from now on...";
	mes "Now get to work rookie!";
} else {
	mes .QNPC$;
	mes "Welcome back!";
	mes "Good luck on your hunt!";
}
set Bloody_b_Q,1;
monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead";
close;
OnPoringDead:
if(!Bloody_b_Q){
	mapannounce strcharinfo(0)+" accidentally killed the poring!",bc_map,"0xFFCE00";
	monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead";
} else if(Bloody_b_Q<2){ set Bloody_b_Q,2; }
end;
}
Edited by Skorm
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  36
  • Reputation:   0
  • Joined:  12/21/12
  • Last Seen:  

2 Errors!

 

1. If the Questor  summoned the poring, but killed by another player that player will recieved the 2 BB's and will have a 3hours cool down too. ( And the questor will be stucked up on quest  )

2. Map announce for "accidentally killed the poring!" don't pop up if killed by another player(s).

 

Uhh, Can you add this too.?

 

1. If the Questor killed him/her poring It'all announce "Name" has founded the poring"

2. this npc will only work for 1 account, not all characters on same account.

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  33
  • Topics Per Day:  0.01
  • Content Count:  1268
  • Reputation:   382
  • Joined:  02/03/12
  • Last Seen:  

function	script	timeleft__	{

set .@left, getarg(0);

if ( .@left <= 0 ) return getarg(0);

set .@day, .@left / 86400;

set .@hour, .@left % 86400 / 3600;

set .@min, .@left % 3600 / 60;

set .@sec, .@left % 60;

return ( ( .@day )?.@day +" day ":"" )+( ( .@day || .@hour )?.@hour +" hour ":"" )+( ( .@day == 0 && ( .@hour || .@min ) )?.@min +" min ":"" )+( ( .@day || .@hour )?"":.@sec +" sec" );

}

prontera,95,96,2 script Bloody Branch Quest 76,{

if(!#Bloody_b_Q){ set .QNPC$,"[^0000FF???^000000]"; } else { set .QNPC$,"[^0000FFAlice^000000]"; }

if(!mobcount("prontera","Bloody Branch Quest::OnPoringDead")&Bloody_b_Q==1){ npctalk "Hmm... *looks around* Ahh, I see one over there!"; monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead"; emotion e_gasp; end; }

if(#Bloody_b_Q==2){ npctalk "Thanks again, come back in 3 hours and I'm sure another one will slip through!"; getitem 12103,2; set #Bloody_b_Q,(gettimetick(0)+(3*60*60*1000)); end; }

if(((#Bloody_b_Q-gettimetick(0))/1000)>0&Bloody_b_Q){ mes .QNPC$; mes strcharinfo(0)+" you have "+callfunc("timeleft__",((#Bloody_b_Q-gettimetick(0))/1000))+"left."; close; }

if(#Bloody_b_Q==1) { mes .QNPC$; mes "There's already a Poring out there with your name on it!"; close; }

if(BaseLevel<150){ mes .QNPC$; mes "I'm sorry, but only the truly strong can do this quest. Come back with a base level of 255 or higher."; close; }

mes .QNPC$;

mes "Hello I need your help, Porings from the surounding feilds slip past our lazy guards, and I'm to cute to hunt them down now they're running a muk!";

next;

mes .QNPC$;

mes "Would you like to participate in our daily Poring Hunt?";

mes "Oh- I almost forgot to mention, we need 300m to cover any casualities.";

if(select("Yes:No")-1){ next; mes .QNPC$; mes "What!- You expect me to just kill all these porings bymyself?!"; emotion e_sob; close; }

if(Zeny<3000000) { next; mes .QNPC$; mes "Look I can't just let you loose swinging a sword at everything you think is a poring without some funding!"; mes "Come back when you get some more cash!"; close; }

emotion e_no1;

set Zeny,Zeny-3000000;

next;

if(!#Bloody_b_Q){

mes "[^0000FFAlice^000000]";

mes "Thanks for your patronage.";

mes "You can call me ^0000FFAlice^000000 from now on...";

mes "Now get to work rookie!";

} else {

mes .QNPC$;

mes "Welcome back!";

mes "Good luck on your hunt!";

}

set #Bloody_b_Q,1;

monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead";

close;

OnPoringDead:

if(!#Bloody_b_Q||#Bloody_b_Q>=2){

mapannounce "prontera",strcharinfo(0)+" accidentally killed the poring!",bc_map,"0xFFCE00";

monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead";

end;

}

if(#Bloody_b_Q<2){

mapannounce "prontera",strcharinfo(0)+" has found the poring!",bc_map,"0xFFCE00";

set #Bloody_b_Q,2;

}

end;

}

Edited by Skorm
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  36
  • Reputation:   0
  • Joined:  12/21/12
  • Last Seen:  

Same errors, Skormy. ): ( I tested it 3x ) 

1. The questor stuck up when anther player killed the poring summoned, and that player will received 2BB's and 3 hours waiting instead of resetting the QUEST again.

2. Map announce for "accidentally killed the poring!" don't pop up if killed by another player(s).

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  33
  • Topics Per Day:  0.01
  • Content Count:  1268
  • Reputation:   382
  • Joined:  02/03/12
  • Last Seen:  

Sorry about that gettimetick(0) is weird it goes into negative values.

Right now it's setup to automatically spawn a new poring if someone else kills it. If you want them to have to go back to the quest npc to spawn a new one just remove monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead"; fourth line from the bottom.

function	script	timeleft__	{
	set .@left, getarg(0);
	if ( .@left <= 0 ) return getarg(0);
	set .@day, .@left / 86400;
	set .@hour, .@left % 86400 / 3600;
	set .@min, .@left % 3600 / 60;
	set .@sec, .@left % 60;
	return ( ( .@day )?.@day +" day ":"" )+( ( .@day || .@hour )?.@hour +" hour ":"" )+( ( .@day == 0 && ( .@hour || .@min ) )?.@min +" min ":"" )+( ( .@day || .@hour )?"":.@sec +" sec" );
}
prontera,95,96,2	script	Bloody Branch Quest	76,{
if(!#Bloody_b_Q){ set .QNPC$,"[^0000FF???^000000]"; } else { set .QNPC$,"[^0000FFAlice^000000]"; }
if(!mobcount("prontera","Bloody Branch Quest::OnPoringDead")&Bloody_b_Q==1){ npctalk "Hmm... *looks around* Ahh, I see one over there!"; monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead"; emotion e_gasp; end; }
if(#Bloody_b_Q==2){ npctalk "Thanks again, come back in 3 hours and I'm sure another one will slip through!"; getitem 12103,2; set #Bloody_b_Q,(gettimetick(0)+(3*60*60*1000)); end; }
if(#Bloody_b_Q==1) { mes .QNPC$; mes "There's already a Poring out there with your name on it!"; close; }
if(((#Bloody_b_Q-gettimetick(0))/1000)>0&Bloody_b_Q){ mes .QNPC$; mes strcharinfo(0)+" you have "+callfunc("timeleft__",((#Bloody_b_Q-gettimetick(0))/1000))+"left."; close; }
if(BaseLevel<255){ mes .QNPC$; mes "I'm sorry, but only the truly strong can do this quest. Come back with a base level of 255 or higher."; close; }
mes .QNPC$;
mes "Hello I need your help, Porings from the surounding feilds slip past our lazy guards, and I'm to cute to hunt them down now they're running a muk!";
next;
mes .QNPC$;
mes "Would you like to participate in our daily Poring Hunt?";
mes "Oh- I almost forgot to mention, we need 300m to cover any casualities.";
if(select("Yes:No")-1){ next; mes .QNPC$; mes "What!- You expect me to just kill all these porings bymyself?!"; emotion e_sob; close; }
if(Zeny<3000000) { next; mes .QNPC$; mes "Look I can't just let you loose swinging a sword at everything you think is a poring without some funding!"; mes "Come back when you get some more cash!"; close; }
emotion e_no1;
set Zeny,Zeny-3000000;
next;
if(!#Bloody_b_Q){
	mes "[^0000FFAlice^000000]";
	mes "Thanks for your patronage.";
	mes "You can call me ^0000FFAlice^000000 from now on...";
	mes "Now get to work rookie!";
} else {
	mes .QNPC$;
	mes "Welcome back!";
	mes "Good luck on your hunt!";
}
set #Bloody_b_Q,1;
monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead";
close;
OnPoringDead:
if(#Bloody_b_Q==1){
	mapannounce "prontera",strcharinfo(0)+" has found the poring!",bc_map,"0xFFCE00";
	set #Bloody_b_Q,2;
	end;
}
if(!#Bloody_b_Q||((#Bloody_b_Q-gettimetick(0))/1000)>0&Bloody_b_Q&&Bloody_b_Q!=1){
	mapannounce "prontera",strcharinfo(0)+" accidentally killed the poring!",bc_map,"0xFFCE00";
	monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead";
	end;
}
}
Edited by Skorm
Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  

Sorry about that gettimetick(0) is weird it goes into negative values.

Use Gettimetick type 2 instead of type 0

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  36
  • Reputation:   0
  • Joined:  12/21/12
  • Last Seen:  

Sorry about that gettimetick(0) is weird it goes into negative values.

Right now it's setup to automatically spawn a new poring if someone else kills it. If you want them to have to go back to the quest npc to spawn a new one just remove monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead"; fourth line from the bottom.

function	script	timeleft__	{	set .@left, getarg(0);	if ( .@left <= 0 ) return getarg(0);	set .@day, .@left / 86400;	set .@hour, .@left % 86400 / 3600;	set .@min, .@left % 3600 / 60;	set .@sec, .@left % 60;	return ( ( .@day )?.@day +" day ":"" )+( ( .@day || .@hour )?.@hour +" hour ":"" )+( ( .@day == 0 && ( .@hour || .@min ) )?.@min +" min ":"" )+( ( .@day || .@hour )?"":.@sec +" sec" );}prontera,95,96,2	script	Bloody Branch Quest	76,{if(!#Bloody_b_Q){ set .QNPC$,"[^0000FF???^000000]"; } else { set .QNPC$,"[^0000FFAlice^000000]"; }if(!mobcount("prontera","Bloody Branch Quest::OnPoringDead")&Bloody_b_Q==1){ npctalk "Hmm... *looks around* Ahh, I see one over there!"; monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead"; emotion e_gasp; end; }if(#Bloody_b_Q==2){ npctalk "Thanks again, come back in 3 hours and I'm sure another one will slip through!"; getitem 12103,2; set #Bloody_b_Q,(gettimetick(0)+(3*60*60*1000)); end; }if(#Bloody_b_Q==1) { mes .QNPC$; mes "There's already a Poring out there with your name on it!"; close; }if(((#Bloody_b_Q-gettimetick(0))/1000)>0&Bloody_b_Q){ mes .QNPC$; mes strcharinfo(0)+" you have "+callfunc("timeleft__",((#Bloody_b_Q-gettimetick(0))/1000))+"left."; close; }if(BaseLevel<255){ mes .QNPC$; mes "I'm sorry, but only the truly strong can do this quest. Come back with a base level of 255 or higher."; close; }mes .QNPC$;mes "Hello I need your help, Porings from the surounding feilds slip past our lazy guards, and I'm to cute to hunt them down now they're running a muk!";next;mes .QNPC$;mes "Would you like to participate in our daily Poring Hunt?";mes "Oh- I almost forgot to mention, we need 300m to cover any casualities.";if(select("Yes:No")-1){ next; mes .QNPC$; mes "What!- You expect me to just kill all these porings bymyself?!"; emotion e_sob; close; }if(Zeny<3000000) { next; mes .QNPC$; mes "Look I can't just let you loose swinging a sword at everything you think is a poring without some funding!"; mes "Come back when you get some more cash!"; close; }emotion e_no1;set Zeny,Zeny-3000000;next;if(!#Bloody_b_Q){	mes "[^0000FFAlice^000000]";	mes "Thanks for your patronage.";	mes "You can call me ^0000FFAlice^000000 from now on...";	mes "Now get to work rookie!";} else {	mes .QNPC$;	mes "Welcome back!";	mes "Good luck on your hunt!";}set #Bloody_b_Q,1;monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead";close;OnPoringDead:if(#Bloody_b_Q==1){	mapannounce "prontera",strcharinfo(0)+" has found the poring!",bc_map,"0xFFCE00";	set #Bloody_b_Q,2;	end;}if(!#Bloody_b_Q||((#Bloody_b_Q-gettimetick(0))/1000)>0&Bloody_b_Q&&Bloody_b_Q!=1){	mapannounce "prontera",strcharinfo(0)+" accidentally killed the poring!",bc_map,"0xFFCE00";	monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead";	end;}
I've found a bug.

Scenario:

~ Questor 1 summoned the poring, and Questor 2 summoned also the poring at the same time this bug will comes in.

~ If Questor 1 already killed the poring then he/she accidentally killed the poring of Questor 2. ( Questor 2 will be stuck up on quest ) but Questor 1 is not. ( Can you add if other questor killed their poring by another questor they can also reset it or lets say spawn it again by talking to the NPC until they finish the quest. )

-------------------

* Right now it's setup to automatically spawn a new poring if someone else kills it. If you want them to have to go back to the quest npc to spawn a new one just remove monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead"; fourth line from the bottom.

^ Like you said here, if i erase this line, the quest will not reset until the player who accidentally killed the poring talk the to npc can we just make it. ( You can also reset it by talking to the NPC again and spawn it again but only registered Questor can access it. )

Thanks for the help guys.<3:

Edited by Dokie
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  33
  • Topics Per Day:  0.01
  • Content Count:  1268
  • Reputation:   382
  • Joined:  02/03/12
  • Last Seen:  

I just tested there is no bug, whenever "accidentally killed the poring!" is announced a new poring is spawned I even mentioned in my previous post how to change that.

Anyways I removed that so now they have to go back to the npc to spawn a new one, but because character specific monsters summoned on the map would be... a pain... if 3 people summon porings and 1 person kills 2 and the third person just left the map reguardless of whatever porings the first guy killed there will still be 1 poring left on the map for the second player.

Do @mobsearch poring and you'll see.

function	script	timeleft__	{
	set .@left, getarg(0);
	if ( .@left <= 0 ) return getarg(0);
	set .@day, .@left / 86400;
	set .@hour, .@left % 86400 / 3600;
	set .@min, .@left % 3600 / 60;
	set .@sec, .@left % 60;
	return ( ( .@day )?.@day +" day ":"" )+( ( .@day || .@hour )?.@hour +" hour ":"" )+( ( .@day == 0 && ( .@hour || .@min ) )?.@min +" min ":"" )+( ( .@day || .@hour )?"":.@sec +" sec" );
}
prontera,95,96,2	script	Bloody Branch Quest	76,{
if(!#Bloody_b_Q){ set .QNPC$,"[^0000FF???^000000]"; } else { set .QNPC$,"[^0000FFAlice^000000]"; }
if(!mobcount("prontera","Bloody Branch Quest::OnPoringDead")&Bloody_b_Q==1){ npctalk "Hmm... *looks around* Ahh, I see one over there!"; monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead"; emotion e_gasp; end; }
if(#Bloody_b_Q==2){ npctalk "Thanks again, come back in 3 hours and I'm sure another one will slip through!"; getitem 12103,2; set #Bloody_b_Q,(gettimetick(0)+(3*60*60*1000)); end; }
if(#Bloody_b_Q==1) { mes .QNPC$; mes "There's already a Poring out there with your name on it!"; close; }
if(((#Bloody_b_Q-gettimetick(0))/1000)>0&Bloody_b_Q){ mes .QNPC$; mes strcharinfo(0)+" you have "+callfunc("timeleft__",((#Bloody_b_Q-gettimetick(0))/1000))+"left."; close; }
if(BaseLevel<255){ mes .QNPC$; mes "I'm sorry, but only the truly strong can do this quest. Come back with a base level of 255 or higher."; close; }
mes .QNPC$;
mes "Hello I need your help, Porings from the surounding feilds slip past our lazy guards, and I'm to cute to hunt them down now they're running a muk!";
next;
mes .QNPC$;
mes "Would you like to participate in our daily Poring Hunt?";
mes "Oh- I almost forgot to mention, we need 300m to cover any casualities.";
if(select("Yes:No")-1){ next; mes .QNPC$; mes "What!- You expect me to just kill all these porings bymyself?!"; emotion e_sob; close; }
if(Zeny<3000000) { next; mes .QNPC$; mes "Look I can't just let you loose swinging a sword at everything you think is a poring without some funding!"; mes "Come back when you get some more cash!"; close; }
emotion e_no1;
set Zeny,Zeny-3000000;
next;
if(!#Bloody_b_Q){
	mes "[^0000FFAlice^000000]";
	mes "Thanks for your patronage.";
	mes "You can call me ^0000FFAlice^000000 from now on...";
	mes "Now get to work rookie!";
} else {
	mes .QNPC$;
	mes "Welcome back!";
	mes "Good luck on your hunt!";
}
set #Bloody_b_Q,1;
monster "prontera",0,0,"Poring",1002,1,"Bloody Branch Quest::OnPoringDead";
close;
OnPoringDead:
if(#Bloody_b_Q==1){
	mapannounce "prontera",strcharinfo(0)+" has found the poring!",bc_map,"0xFFCE00";
	set #Bloody_b_Q,2;
	end;
}
if(!#Bloody_b_Q||((#Bloody_b_Q-gettimetick(0))/1000)>0&Bloody_b_Q&&Bloody_b_Q!=1){
	mapannounce "prontera",strcharinfo(0)+" accidentally killed the poring!",bc_map,"0xFFCE00";
	end;
}
}
^ this version the player has to go back and summon a new poring if "There's already a Poring out there with your name on it!" is announced there is a poring on the map already.
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  36
  • Reputation:   0
  • Joined:  12/21/12
  • Last Seen:  

Hi Skormy,

I get it yeah false alarm its working well! i just did't see that line. Thank you very much for the BIG HELP!

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...