You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.6 KiB
Plaintext
74 lines
2.6 KiB
Plaintext
//===== rAthena Script =======================================
|
|
//= Find the Mushroom
|
|
//===== By: ==================================================
|
|
//= Mysterious
|
|
//===== Current Version: =====================================
|
|
//= 3.6a
|
|
//===== Compatible With: =====================================
|
|
//= rAthena Project
|
|
//===== Description: =========================================
|
|
//= Find the Mushroom - random amount of Mushrooms spawns in random maps.
|
|
//= Players need to find these mushrooms and kill them to gain prizes!
|
|
//===== Additional Comments: =================================
|
|
//= 3.0 Fully Functional with Rewritten script. [Mysterious]
|
|
//= 3.6a Slightly edited. [Euphy]
|
|
//============================================================
|
|
|
|
prontera,142,228,6 script Find the Mushroom 1084,{
|
|
mes "[ Find The Mushroom ]";
|
|
if (.status == 1) {
|
|
.@count = mobcount( .event_map$, strnpcinfo(0) + "::OnMobKilled" );
|
|
if (.@count > 0) {
|
|
mes "There are " + .@count + " Mushrooms left in " + .event_map$ + "!";
|
|
mes "Find and kill the mushrooms to gain " + getitemname(.prize) + "!";
|
|
close;
|
|
}
|
|
.event_map$ = "";
|
|
.status = 0;
|
|
mes "All the mushrooms are killed?";
|
|
}
|
|
mes "There is no event at the moment!";
|
|
if (.status || getgmlevel() < .GM) close;
|
|
mes "Start the event?";
|
|
next;
|
|
if (select("- No:- Yes") == 1) close;
|
|
donpcevent strnpcinfo(0) + "::OnMinute10";
|
|
mes "[ Find The Mushroom ]";
|
|
mes "Event started!";
|
|
close;
|
|
|
|
OnInit:
|
|
.prize = 512; // Reward item ID
|
|
.amount = 10; // Reward item amount
|
|
.GM = 60; // GM level required to access NPC
|
|
setarray .maps_list$[0],"izlude","geffen","morocc","prontera"; // Possible maps
|
|
end;
|
|
|
|
OnMinute10: // Start time (every hour)
|
|
if (.status) end;
|
|
.status = 1;
|
|
.@spawn = rand(1,10); // How many Mushrooms should spawn?
|
|
.event_map$ = .maps_list$[ rand(getarraysize(.maps_list$)) ];
|
|
.@label$ = strnpcinfo(0) + "::OnMobKilled";
|
|
killmonster .event_map$, .@label$;
|
|
monster .event_map$,0,0,"Please don't kill me!",1084,.@spawn, .@label$;
|
|
announce "Find the Mushroom : Total of " + .@spawn + " Mushrooms have been spawned in " + .event_map$ + "!",0;
|
|
sleep 2500;
|
|
announce "Find the Mushroom : Every Mushroom you kill will give you " + getitemname(.prize) + "!",0;
|
|
end;
|
|
|
|
OnMobKilled:
|
|
if (playerattached() == 0)
|
|
end;
|
|
getitem .prize, .amount;
|
|
.@spawn = mobcount( .event_map$, strnpcinfo(0) + "::OnMobKilled" );
|
|
if (.@spawn > 0)
|
|
announce "[ " + strcharinfo(0) + " ] has killed a Mushroom. There are now " + .@spawn + " Mushroom(s) left.",bc_map;
|
|
else {
|
|
announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0;
|
|
.status = 0;
|
|
.event_map$ = "";
|
|
}
|
|
end;
|
|
}
|