prontera,152,192,3 script Farm Zone 954,{
function RandomizeItem;
while( 1 ){
mes "How can i help you ?";
switch( select( "Information:Farm Items" )){
case 1:
mes "This is a Farm Zone.";
mes "You are able to Hunt Monster inside this Room.";
mes "Every Monster will award you random items.";
next;
mes "But there is some Condition..";
mes "You can only go in ^FF0000once every "+.RoomCleanMin+" minutes for 1 times.^000000";
mes "And Maximum of ^FF0000"+.MaxPlayers+" Players per "+.RoomCleanMin+" Minutes.^000000";
mes "Maximum Hunting Limit ^FF0000"+.MaxItemLimit+"^000000";
next;
mes "There will be a ^FF0000Room Cleaning^000000 from time to time...";
mes "All players will be kicked out, it is your bad luck if you meet this.";
mes "Delay will still apply even though you just go in for 1 Seconds..";
next;
break;
case 2:
if( #HuntRoomDelay > gettimetick(2) ){
set .last,#HuntRoomDelay - gettimetick(2);
set .@min, .last % ( 24 * 3600 ) % 3600 / (60);
mes "Wait for ^FF0000"+.@min+" Minutes^000000.";
close;
}else if( getarraysize( .Hunter ) >= .MaxPlayers ){
mes "Currently the Room is Full. Please try again later.";
close;
}else{
warp .Map$,0,0;
set .Hunter[getarraysize( .Hunter )],strcharinfo(0);
set #HuntRoomDelay,gettimetick(2) + ( .DelayMin * 60 );
set #FarmHunt,0;
end;
}
}
}
OnInit:
// Maximum Player can join per X Minutes.
set .MaxPlayers,3;
// Adding X Minutes of Delay before can go in again.
set .DelayMin,1;
// Maximum Hunt Limit per round inside the Zone.
set .MaxItemLimit,100;
// Map that will be used in those Zone.
set .Map$,"guild_vs5";
// Clear Map Every X Minutes.
set .RoomCleanMin,15;
// Mapflag Initialization
//setmapflag .Map$,mf_nogo;
setmapflag .Map$,mf_nomobloot;
setmapflag .Map$,mf_nomvploot;
setmapflag .Map$,mf_nowarpto;
setmapflag .Map$,mf_nochat;
setmapflag .Map$,mf_novending;
setmapflag .Map$,mf_nocommand,60;
setmapflag .Map$,mf_nogo;
setmapflag .Map$,mf_nojobexp;
setmapflag .Map$,mf_nobaseexp;
while( 1 ){
killmonster .Map$,"All";
mapwarp .Map$,"prontera",154,212;
monster .Map$, 0, 0,"[ Farm Zone ] Resident", 1750, 80, strnpcinfo(0)+"::OnNormalKill";
monster .Map$, 0, 0,"[ Farm Zone ] Guardian", 1565, 5, strnpcinfo(0)+"::OnBossKill";
deletearray .Hunter,getarraysize( .Hunter );
announce "[ Farm Zone ] : Farming Zone has been Cleaned up, another 5 Players may go in now.",bc_blue;
sleep ( .RoomCleanMin * 60000 );
mapannounce .Map$,"[ Farm Zone ] : Room Clean Up now...All Users will be warped Out.",0;
killmonster .Map$,"All";
sleep 3000;
}
end;
OnNormalKill:
RandomizeItem( 0,rand(1,3) );
monster .Map$,0,0,"--ja--",-1,1,strnpcinfo(0)+"::OnNormalKill";
end;
OnBossKill:
RandomizeItem( 1,rand(1,4) );
monster .Map$,0,0,"--ja--",-3,1,strnpcinfo(0)+"::OnBossKill";
end;
// Function that used to Generate Random Items
function RandomizeItem {
set #FarmHunt,#FarmHunt + getarg(1);
// Normal Monster in Zone Drops Lists
if( getarg(0) == 0 ) setarray .ItemList[0],607,12016,673;
// Normal Boss in Zone Drops Lists
if( getarg(0) == 1 ) setarray .ItemList[0],14536,7608,607,673;
for( set .@i,1; .@i <= getarg(1); set .@i,.@i + 1 ){
getitem .ItemList[ rand( getarraysize( .ItemList ) ) ],1;
}
deletearray .ItemList,getarraysize( .ItemList );
dispbottom "[ Farm Zone ] : Farmed "+#FarmHunt+" / "+.MaxItemLimit+" Items";
if( #FarmHunt >= .MaxItemLimit ){
message strcharinfo(0),"Limit Reach , you may join again later.";
sleep2 2000;
warp "prontera",154,212;
}
return;
}
}
- Viewing Profile: Topics: butasro
Community Stats
- Group Members
- Active Posts 34
- Profile Views 2455
- Member Title Advanced Member
- Age Age Unknown
- Birthday Birthday Unknown
-
Gender
Not Telling
-
Github
ButasRO
Topics I've Started
Please Help No MOb is being respawned in map
26 February 2016 - 10:58 AM
@charwipe any one?
29 January 2016 - 05:17 PM
how do i add @charwipe command, thanks
Royal Rumble with Que
26 January 2016 - 09:47 PM
any one can convert this or tried this here in herc?
//===== eAthena Script =======================================
//= Royal Rumble Event
//===== By: ==================================================
//= Masao
//===== Current Version: =====================================
//= 2.0
//===== Compatible With: =====================================
//= Any Athena Version
//===== Description: =========================================
//= Starts an little PvP Event when a total of 10 Players
//= have Signed Up. After that every 30 seconds
//= a new Player will be warped onto the PvP Map until
//= all 10 Players have been warped.
//===== Additional Comments: =================================
//= Version 1.0 [Masao]
//= Verison 1.1 added GM Control Panel & Autostart [Masao]
//= Version 2.0 complete re-script [Masao]
//============================================================
prontera,182,207,4 script Royal Rumble 946,{
set .@n$,"[Royal Rumble]";
if (getgmlevel() >= 40) goto L_GMCP;
mes .@n$;
mes "Hello "+strcharinfo(0)+",";
mes "I'm the Royal Rumble NPC, you can Sign Up here for the Royal Rumble Event!";
mes "";
mes "So, would you like to Sign Up?";
next;
menu "Yes, please!",-,"Royal Rumble?!",L_R,"No, thanks.",L_E;
if(.rrp == 10)
{
mes .@n$;
mes "I'm sorry but the Event already begun!";
close;
}
set .@myaid, getcharid(3);
for ( set .@i, 1; .@i <= .rrp; set .@i, .@i +1 )
if ( .rra[.@i] == .@myaid ) break;
if ( .@i > .rrp ) {
set .rrp,.rrp+1;
set .rra[.rrp],getcharid(3);
}
set @rre,1;
set @rre2,1;
if(.rrp < 10)
{
mes .@n$;
mes "Allright, you have been signed up. As soon as the Event begins you'll see an Broadcast.";
close;
}
mes .@n$;
mes "Allright, you have been signed up. The Event begins now!";
close2;
initnpctimer;
disablenpc "Royal Rumble";
announce "The Royal Rumble Event begins now! The first 2 players will now be warped into the Royal Rumble Arena!",bc_all;
end;
L_R:
mes .@n$;
mes "The Rules are very easy!";
mes "Just Sign Up to the Game and then wait until a total of 10 Players have Signed Up, as soon as this happens the Game will start.";
mes "When the Event starts 2 Players will be warped onto an PvP Map, then they fight each other, the loser get warped out and the Winner stays.";
mes "And after the first 2 Players have been warped in, every 30 Seconds a new Player will be warped onto the Map.";
mes "As soon as the last player is killed on the Map the Game will end and the last survivor is the Winner!";
mes "And that's all, have Fun and good Luck!";
close;
L_E:
mes .@n$;
mes "Ok, bye.";
close;
L_GMCP:
mes .@n$;
mes "Hello "+strcharinfo(0)+",";
mes "what can i do for you?";
switch(select("Start Event!:End Event.:Set Prize:Cancel")) {
case 1:
next;
mes .@n$;
mes "Allright, the Event starts now!";
close2;
enablenpc "Royal Rumble";
for(set .@i,1;.@i<=.rrp;set .@i,.@i+1)
{
if(attachrid(.rra[.@i])){
if (@rre == 1) {
set @rre,0;
set @rre2,0;
detachrid;
}
}
}
set .rrp,0;
deletearray .rra[0],128;
mapwarp "guild_vs3","prontera",155,185;
announce "The Royal Rumble Event is Open now!",bc_all;
end;
case 2:
next;
mes .@n$;
mes "Allright, the Event ends now!";
close2;
disablenpc "Royal Rumble";
for(set .@i,1;.@i<=.rrp;set .@i,.@i+1)
{
if(attachrid(.rra[.@i])){
if (@rre == 1) {
set @rre,0;
set @rre2,0;
detachrid;
}
}
}
set .rrp,0;
deletearray .rra[0],128;
mapwarp "guild_vs3","prontera",155,185;
announce "The Royal Rumble Event has been ended by an GM!",bc_all;
end;
case 3:
next;
mes .@n$;
mes "The current Prize is "+getitemname($rr_id)+", would you like to change it?";
switch(select("No:Yes")) {
case 1:
next;
mes .@n$;
mes "Ok, bye.";
close;
case 2:
next;
mes .@n$;
mes "Ok, then please insert now the new Item ID";
input $rr_id;
next;
mes .@n$;
mes "And now the Amount please.";
input $rr_amount;
next;
mes .@n$;
mes "Allright, so the Prize now is ^008000"+$rr_amount+" "+getitemname($rr_id)+"^000000";
close;
}
case 4:
next;
mes .@n$;
mes "Ok, bye";
close;
}
OnPCDieEvent:
getmapxy .@m$,.@x,.@y,0;
if(.@m$ == "guild_vs3")
{
for(set .@i,1;.@i<=.rrp;set .@i,.@i+1)
{
if(attachrid(.rra[.@i])){
if (@rre == 1) {
set @rre,0;
warp "prontera",155,185;
}
detachrid;
}
}
set .rrp,.rrp-1;
}
end;
OnPCLogoutEvent:
getmapxy .@m$,.@x,.@y,0;
if(.@m$ == "guild_vs3")
{
for(set .@i,1;.@i<=.rrp;set .@i,.@i+1)
{
if(attachrid(.rra[.@i])){
if (@rre == 1) {
set @rre,0;
save "prontera",155,185;
}
detachrid;
}
}
set .rrp,.rrp-1;
}
end;
OnPCKillEvent:
getmapxy .@m$,.@x,.@y,0;
if(.@m$ == "guild_vs3")
{
if(.rrp <= 1)
{
for(set .@i,1;.@i<=.rrp;set .@i,.@i+1)
{
if(attachrid(.rra[.@i])){
if (@rre == 1)
{
dispbottom "Congratulations "+strcharinfo(0)+"!";
dispbottom "You won the Royal Rumble Event!";
dispbottom "Here is your Prize, and see you next time!";
getitem $rr_id,$rr_amount;
set @rre,0;
warp "prontera",155,185;
}
detachrid;
announce strcharinfo(0)+" won this Game of Royal Rumble! Congratulations!",bc_all;
}
}
deletearray .rra[0],128;
}
}
end;
OnTimer1000:
for(set .@i,1;.@i<=.rrp;set .@i,.@i+1)
{
if(attachrid(.rra[.@i])){
if (@rre2 == 1) {
set @rre2,0;
warpchar "guild_vs3",0,0,.rra[.@i];
}
end;
}
}
end;
OnTimer1100:
for(set .@i,1;.@i<=.rrp;set .@i,.@i+1)
{
if(attachrid(.rra[.@i])){
if (@rre2 == 1) {
set @ree2,0;
warpchar "guild_vs3",0,0,.rra[.@i];
}
end;
}
}
end;
OnTimer30000:
OnTimer60000:
OnTimer90000:
OnTimer120000:
OnTimer150000:
OnTimer180000:
OnTimer210000:
OnTimer240000:
OnTimer270000:
OnTimer300000:
for(set .@i,1;.@i<=.rrp;set .@i,.@i+1)
{
if(attachrid(.rra[.@i])){
if (@rre2 == 1) {
set @rre2,0;
warpchar "guild_vs3",0,0,.rra[.@i];
}
end;
}
}
end;
OnClock0108:
OnClock0808:
OnClock1208:
OnClock1608:
OnClock2008:
OnClock0008:
enablenpc "Royal Rumble";
for(set .@i,1;.@i<=.rrp;set .@i,.@i+1)
{
if(attachrid(.rra[.@i])){
if (@rre == 1) {
set @rre,0;
set @rre2,0;
}
detachrid;
}
}
set .rrp,0;
deletearray .rra[0],128;
mapwarp "guild_vs3","prontera",155,185;
announce "The Royal Rumble Event starts now! You have 3 Minutes to Sign Up!",bc_all;
end;
OnClock0403:
OnClock0803:
OnClock1203:
OnClock1603:
OnClock2003:
OnClock0003:
if(.rrp < 10)
{
disablenpc "Royal Rumble";
announce "The Royal Rumble Event is closed now! Since there were not 10 Players the Event will not take place.",bc_all;
for(set .@i,1;.@i<=.rrp;set .@i,.@i+1)
{
if(attachrid(.rra[.@i])){
if (@rre == 1) {
set @rre,0;
set @rre2,0;
}
detachrid;
}
}
set .rrp,0;
deletearray .rra[0],128;
}
end;
OnInit:
disablenpc "Royal Rumble";
end;
}
//============== Mapflags ====================
//guild_vs3 mapflag nogo
guild_vs3 mapflag pvp_noguild
guild_vs3 mapflag pvp_noparty
guild_vs3 mapflag nobranch
guild_vs3 mapflag nomemo
guild_vs3 mapflag nopenalty
guild_vs3 mapflag noreturn
guild_vs3 mapflag noteleport
guild_vs3 mapflag nowarp
guild_vs3 mapflag nowarpto
guild_vs3 mapflag noicewall
Requesting for @BGM
26 January 2016 - 04:19 PM
commands to play BGM on specific map ^^ like Radio NPC
commands for GM @bgm is it possible?
Requesting E-Inquiry for leaving a msg on GM's
19 January 2016 - 06:10 PM
- Viewing Profile: Topics: butasro
- Privacy Policy
- Hercules Forum Rules ·