Jump to content
  • 0

Farm Zone by Emistry


Hyoru

Question


  • Group:  Members
  • Topic Count:  45
  • Topics Per Day:  0.01
  • Content Count:  122
  • Reputation:   11
  • Joined:  01/30/12
  • Last Seen:  

Hi,

Im trying to change the time delay to enter in the Farm Zone again

I need one time per day '24hours delay', i've tried to set .DelayMin,?; 1440 mins but it shows 59 mins

But Its just the info when you try to enter in the Farm Zone, appears 59 mins and when finish, it back to 59 min, someone know how to fix that? maybe to show in hours...

Thanks Adv.

Emistry Script:

prontera,155,181,5 script Farm Zone 718,{
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,5;
// Adding X Minutes of Delay before can go in again.
set .DelayMin,15;
// Maximum Hunt Limit per round inside the Zone.
set .MaxItemLimit,200;
// Map that will be used in thos 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",155,181;
monster .Map$,0,0,"[ Farm Zone ] Resident",-1,80,strnpcinfo(0)+"::OnNormalKill";
monster .Map$,0,0,"[ Farm Zone ] Guardian",-3,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,5) );
monster .Map$,0,0,"--ja--",-1,1,strnpcinfo(0)+"::OnNormalKill";
end;
OnBossKill:
RandomizeItem( 1,rand(1,3) );
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],13989,14232,13517,7139,12033,12016,14534;
// Normal Boss in Zone Drops Lists
if( getarg(0) == 1 ) setarray .ItemList[0],14536,12912,12267,12266,14601,13830,13831,13832,13833;
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",155,181;
}
return;
}

}

Thanks Adv.

Edited by Emistry
Please use [CODEBOX] for long contents.
Link to comment
Share on other sites

2 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  81
  • Reputation:   14
  • Joined:  08/17/12
  • Last Seen:  

hmm , try this

prontera,155,181,5 script Farm Zone 718,{
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+" Mins for 1 times.^000000";
mes "And Maximum of ^FF0000"+.MaxPlayers+" Players per "+.RoomCleanMin+" Mins.^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+" Mins^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) + ( .DelayHour * 3600 );
 set #FarmHunt,0;
 end;
 }
}
}
OnInit:
// Maximum Player can join per X Minutes.
set .MaxPlayers,5;
// Adding X Minutes of Delay before can go in again.
set .DelayHour,10;
// Maximum Hunt Limit per round inside the Zone.
set .MaxItemLimit,200;
// Map that will be used in thos 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",155,181;
monster .Map$,0,0,"[ Farm Zone ] Resident",-1,80,strnpcinfo(0)+"::OnNormalKill";
monster .Map$,0,0,"[ Farm Zone ] Guardian",-3,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,5) );
monster .Map$,0,0,"--ja--",-1,1,strnpcinfo(0)+"::OnNormalKill";
end;
OnBossKill:
RandomizeItem( 1,rand(1,3) );
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],13989,14232,13517,7139,12033,12016,14534;
// Normal Boss in Zone Drops Lists
if( getarg(0) == 1 ) setarray .ItemList[0],14536,12912,12267,12266,14601,13830,13831,13832,13833;
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",155,181;
}
return;
}
}

not tested yet , report bug here if you found something

Edited by Emistry
Please use [CODEBOX] for long contents.
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

lol...how come i didnt saw this topic ?? i must be blind last time....>.<

it is because of the remaining time display....i didnt make it to display more than 1 hours..

 set .last,#HuntRoomDelay - gettimetick(2);
 set .@min,  .last % ( 24 * 3600 ) % 3600 / (60);
 mes "Wait for ^FF0000"+.@min+" Minutes^000000.";

Link to comment
Share on other sites

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.

×
×
  • Create New...