Jump to content

Recommended Posts

Posted (edited)

Do not do the following:

  • Re-edit my work and Claim it as yours
  • Re-edit my work and upload it to eAthena without my permission
  • Re-edit my work, upload it, and not adding credits
  • Use it for selling purposes

// ~ Information ~ \\

  • Customize the event
  • Input any Item ID you want
  • Type in any Map you want the Mushroom to spawn
  • Added a OnMinute option
  • Whole script is shorter than Original
  • And, is a lot easier to edit

// ~ Your Customizations~ \\

  • Change the OnMinute time to what you want
  • Basically change the getitem option if you dont like the Input ID I added
  • Change the getitem .ItemID,2; to how much you want the players to gain

// ~ Map Change ~ \\

  • If you want to change the maps the Mushroom will spawn, look at:
    	set $@ran, rand(1,10);
    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";


Change the 10 in here set $@ran, rand(1,10) to the amount of maps being set. If you wanna add a new map, you have to add a new if ($@ran == ) set .Map$,""; So, I want lets say.. gonryun. I would do: if ($@ran == 11) set .Map$,"gonryun"; right above hugel and I will change set $@ran, rand(1,10) to set $@ran, rand(1,11).

// ~ Mushrooms ~ \\

	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";

This is basically the same function as for the Maps, but this is for the amount of Mushrooms spawned. "Number" in the quotes stand for the amount of Mushrooms that will spawn.

Suggestions? Comments? Post em :o!

// ~ Download ~ \\

In order to download my Find the Mushroom event, you must head to my SVN: http://mysterious-pr....com/svn/trunk/

Edited by Mysterious
  • Upvote 1
Posted

some suggestion ^^


set $@ran, rand(1,11);
if ($@ran == 11) set .Map$,"splendide";
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";

you can simple change to this ^^

Setting :

setarray .Map$[0],"splendide","hugel","yuno","comodo",",xmas","aldebaran";
set .Mushrooms, rand(1,5);

To Summon :

monster .Map$[ rand( getarraysize( .Map$ )) ],0,0,"Don't kill me please!",1084,.Mushrooms,"Find the Mushroom::OnMobKilled";

Posted

in the OnMobKilled

set $@ran2, $@ran2-1;

if (!$@ran2) {
 announce "All Mushrooms Killed - Awesome Job Guys!",0;
 end;
}

  • 1 month later...
Posted

when i @reloadscript

i need set back the prize

can help me make no need setup the prize everytimes i @reloadscript

change all

.ItemID

into this

$ItemID

Posted (edited)

after i kill the mushroom, I didnt get the prize, there's a mapserv error

npc_event : event not found [find the mushroom::onmobkilled]

//Created by Mysterious
//Topic: http://eathena.net/board/topic/53564-find-the-mushroom/#entry55172
//Please do not take this script as your own.
prontera,149,205,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$,"splendide";
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$,"We've got a winner: " + strcharinfo(0) + " Congrats!",0;
set zeny,zeny+1000000;
getitem $ItemID,1;
set .Event,0;
end;
}

Edited by maynard
Posted

Did you renamed the Script before ???

Otherwise...try this if cant....

chane this

monster .Map$,0,0,"Don't kill me please!",1084,.Mushrooms,"Find the Mushroom::OnMobKilled";

into this

monster .Map$,0,0,"Don't kill me please!",1084,.Mushrooms,strnpcinfo(0)+"::OnMobKilled";

Posted

its working now sir, thank you for the fast fix... it broadcast the name of the player who kill the mushroom and I get the prize..

Sir it is possible if there's a another broadcast, example: 5 mushroom, I kill 1 and it broadcast my name, after that it will broadcast again that there's another 4 remaining mushroom. and so on.Its a nice script. thank you to the maker of this script and to all who support.

Posted

its working now sir, thank you for the fast fix... it broadcast the name of the player who kill the mushroom and I get the prize..

Sir it is possible if there's a another broadcast, example: 5 mushroom, I kill 1 and it broadcast my name, after that it will broadcast again that there's another 4 remaining mushroom. and so on.Its a nice script. thank you to the maker of this script and to all who support.

try this

mapannounce .Map$,"We've got a winner: " + strcharinfo(0) + " Congrats!",0;

into

mapannounce .Map$,"["+strcharinfo(0)+"] killed a Mushroom, Left "+( mobcount( strcharinfo(3),strnpcinfo(0)+"::OnMobKill" )+" Mushroom now..!",0;


player hunt mushroom at town. what if player running to field hunting outside mushroom @@" how this game suppose to play?

this will never happen....those normal mushroom / monsters spawn usually didnt attached with a custom "OnKill" event or whatever custom things upon killed....

unless you did attach a same OnKill Label with it...

  • Upvote 1
Posted

mapannounce .Map$,"["+strcharinfo(0)+"] killed a Mushroom, Left "+( mobcount( strcharinfo(3),strnpcinfo(0)+"::OnMobKill" )+" Mushroom now..!",0;

I got error in line 75, parse_simpleexpr: unmatch ')'

Posted

change this

mapannounce .Map$,"["+strcharinfo(0)+"] killed a Mushroom, Left "+( mobcount( strcharinfo(3),strnpcinfo(0)+"::OnMobKill" )+" Mushroom now..!",0;

into this

mapannounce .Map$,"["+strcharinfo(0)+"] killed a Mushroom, Left "+( mobcount( strcharinfo(3),strnpcinfo(0)+"::OnMobKill" ))+" Mushroom now..!",0;

Posted

[player]killed a mushroom. Left 0 mushroom now. its is zero even there's a 5 mushroom that respawn.And I killed 1 it announce zero left then I killed the other 4 but it still announce 0 left.

  • 1 month later...
Posted

Bump

Same problem

[player]killed a mushroom. Left 0 mushroom now. its is zero even there's a 5 mushroom that respawn.And I killed 1 it announce zero left then I killed the other 4 but it still announce 0 left.

Posted

aw..change this line

setarray .Message$[0],
"Total of "+.Spawn+" Mushroom has been Spawned in map "+.Map$[ .RandMap ];
"Find all the Mushroom and kill it",
"Every single Mushroom you will will gain you "+.Quantity+" x "+getitemname( .ItemID )",
Hurry up and go now";

into to this

setarray .Message$[0],
"Total of "+.Spawn+" Mushroom has been Spawned in map "+.Map$[ .RandMap ],
"Find all the Mushroom and kill it",
"Every single Mushroom you will will gain you "+.Quantity+" x "+getitemname( .ItemID ),
"Hurry up and go now";

Posted (edited)

-    script    Finding NPC    757,{

   OnInit:
   set .itemid,7539;
   set .quantity,1;
   end;

   OnWhisperGlobal:
   if( getgmlevel() < 80 ) end;
   OnMinute00:
   set .spawn,rand(1,10);
   set .mob,rand(1078,1085);
   killmonster .maps$[.s],"All";
   // -- You can add or chance maps and IDs with a maximum of 127 each.    
   setarray .maps$[0],"prontera","geffen","payon","alberta","morocc","aldebaran","izlude","comodo","umbala","yuno","hugel","rachel","veins","einbroch";
   set .s,rand(getarraysize(.maps$));        
   monster .maps$[.s],0,0,"Plz don't kill me!",.mob,.spawn,strnpcinfo(0)+"::OnMobKilled";
   // -- Message to Announce when Event start
   setarray .message$[0],"Total of "+.spawn+" "+getmonsterinfo(.mob,0)+" has been Spawned in map "+strtoupper(.maps$[.s]),
   "Find all the "+getmonsterinfo(.mob,0)+" and kill it","Every single "+getmonsterinfo(.mob,0)+" you will will gain you "+.quantity+" x "+getitemname( .itemid ),
   "Hurry up and go now";    
   for( set .i,0; .i < getarraysize( .message$ ); set .i,.i + 1 )
   {

   announce .message$[.i],0;
   sleep 1000;

   }
   end;

   OnMobKilled:
   set .spawn,.spawn-1;
   getitem .itemid,.quantity;    
   if( .spawn )
   announce "[ "+strcharinfo(0)+" ] Killed 1 "+getmonsterinfo(.mob,0)+", Left "+.spawn+" "+getmonsterinfo(.mob,0)+"",bc_map;
   else
   announce "Event End, all the "+getmonsterinfo(.mob,0)+" has been Killed.",bc_map;
   end;
}

try this one >0< ( rebuild sample script of Emistry to full working now )

Edited by Gennosuke Kouga

Join the conversation

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

Guest
Reply to this topic...

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