//===== 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;
}
^ This is the whole script. Can we have an option to set time limit for this quest? Because it wont re start until all the mushroom has been slain. I am thinking to have 30 minutes for every event. Thanks!
//===== 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; }
^ This is the whole script. Can we have an option to set time limit for this quest? Because it wont re start until all the mushroom has been slain. I am thinking to have 30 minutes for every event. Thanks!
Share this post
Link to post
Share on other sites