Jump to content
  • 0

Find the Mushroom Tweak Please


Question

Posted

//Created by marikitangakak
//Edited and Revised by Lunar from MoonlightRO
//Original Link: http://www.eathena.ws/board/index.php?showtopic=243601
//Edited and Revised Script Link: http://www.eathena.ws/board/index.php?showtopic=243753
//Please do not take this script as your own.
dicastes01,233,177,4 script Find the Mushroom 1084,{
mes "[ Find The Mushroom ]";
if(getgmlevel() < 50) {
if(.Event==0) mes "There is no Find the Mushroom event.";
else {
 mes "There is a Find the Mushroom event on now!";
 mes "Location: "+ .Map$;
 mes "Prize: " + getitemname(.ItemID);
 mes "Number of Mushrooms: " + .Mushrooms;
}
close;
}
mes "Hello "+strcharinfo(0)+"! Please customize this event:";
Main:
next;
mes "[ Find The Mushroom ]";
switch(select("Item [" + getitemname(.ItemID) + "]:Start Event:End Event")) {
 case 1:
  mes "Which item would you like the Mushroom to drop?";
  mes "Please input the item ID:";
  input .ItemID;
  goto Main;
 case 2:
  mes "Starting the event now...";
  set .Event,1;
  close2;
  goto OnStart;

 case 3:
  mes "Ending the event now...";
  if(.Event) announce ""+strcharinfo(0)+" ended Find the Mushroom Event!",bc_all;
  killmonster  .Map$,"All";
  set .Event,0;
 close;
}
OnMinute51: //CHANGE THIS TO THE MINUTE YOU WOULD LIKE THIS EVENT TO LOAD!
OnMinute20:
OnStart:
announce "Find the Mushroom : It's time to play Find the Mushroom!",0;
sleep2 1000;
set $@ran, rand(1,11);
if ($@ran == 11) set .Map$,"dicastes01";
if ($@ran == 10) set .Map$,"hugel";
if ($@ran == 9) set .Map$,"yuno";
if ($@ran == 8) set .Map$,"comodo";
if ($@ran == 7) set .Map$,"xmas";
if ($@ran == 6) set .Map$,"aldebaran";
if ($@ran == 5) set .Map$,"izlude";
if ($@ran == 4) set .Map$,"payon";
if ($@ran == 3) set .Map$,"geffen";
if ($@ran == 2) set .Map$,"morocc";
if ($@ran == 1) set .Map$,"prontera";
sleep2 1000;
set $@ran2, rand(1,5);
if ($@ran2 == 5) set .Mushrooms,"5";
if ($@ran2 == 4) set .Mushrooms,"4";
if ($@ran2 == 3) set .Mushrooms,"3";
if ($@ran2 == 2) set .Mushrooms,"2";
if ($@ran2 == 1) set .Mushrooms,"1";
announce "Find the Mushroom : The Mushroom has spawned in "+ .Map$ +"!",0;
sleep2 10000;
announce "Find the Mushroom : " + .Mushrooms + " Mushrooms have spawned in "+ .Map$ +"!",0;
sleep2 10000;
monster .Map$,0,0,"Don't kill me please!",1084,.Mushrooms,"Find the Mushroom::OnMobKilled";
end;
OnMobKilled:
mapannounce .Map$,"BriceRO Mushroom: Killed a Mushroom!: " + strcharinfo(0) + " Congrats,!",0;
set zeny,zeny+10000000;
getitem .ItemID,50;
set .Event,0;
end;
}

Hi, Emistry help , because every time they will kill a mushroom it says we have a winner, and some players stop searching so i changed it to Killed a mushroom but the problem now is they keep searching and searching they didnt know that the mushrooms were out, i know that it announces how many mushrooms are there but can i request that after the event in the certain map they will warp back to the main town?

8 answers to this question

Recommended Posts

Posted

this is great one thank you Mysterious.

and how to add warp after kill? is it like this?

OnMobKilled:

set .Spawn,.Spawn - 1;

getitem 7711,1;

warp "dicastes01",193,175; // <<< am i correct or wrong input/place

if( .Spawn ) announce "[ "+strcharinfo(0)+" ] has killed 1 Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;

else {

announce "Find the Mushroom Event has ended. All the Mushrooms have been Killed.",0;

set .Status,0;

}

end;

}

Posted (edited)

No, because if you do that, you're still putting it under

monster .Map$,0,0,"Please don't kill me!",1084,.Spawn,strnpcinfo(0)+"::OnMobKilled";

Which leads to

OnMobKilled:
set .Spawn,.Spawn - 1;
getitem 7711,1;

Meaning everytime a player kills a mushroom, they'll warp back to that town.. unless you wanted it like that? But I think you want only the winner to warp back, no? If so,

Try it like this:

OnMobKilled:

set .Spawn,.Spawn - 1;

getitem 7711,1;

if( .Spawn ) announce "[ "+strcharinfo(0)+" ] has killed 1 Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;

else {

announce "Find the Mushroom Event has ended. All the Mushrooms have been Killed.",0;

warp "dicastes01",193,175;

set .Status,0;

}

end;

}

So that when they do kill the final Mushroom, they'll warp.

Edited by Mysterious
Posted

ohh i see, ill try what you said. and, how about getting more items?

OnMobKilled:

set .Spawn,.Spawn - 1;

getitem 7711,1;

getitem idnumber,amount; like that?

if( .Spawn ) announce "[ "+strcharinfo(0)+" ] has killed 1 Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;

else {

Posted

ohh i see, ill try what you said. and, how about getting more items?

OnMobKilled:

set .Spawn,.Spawn - 1;

getitem 7711,1;

getitem idnumber,amount; like that?

if( .Spawn ) announce "[ "+strcharinfo(0)+" ] has killed 1 Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;

else {

Just add more:

getitem ID,AMOUNT;

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...