this is the original code from M1dN1ght & Denner @ eAthena
Script original link : http://www.eathena.w...howtopic=237956
prontera,150,150,3 script Zeny Room 741,{
Mes "[Zeny Room]";
Mes "Hi "+((Sex) ? "Mr. " : "Ms. ")+StrCharInfo(0);
Mes "Do you wanna get in the Zeny Room?";
If (Select("Yes:No:Informations")==3)
{
Next;
Mes "[Zeny Room]";
Mes "Commands avaiables in the Zeny Room:";
Mes " !q - Show you how much monsters is alive in the Zeny Room.";
Mes " !next - Show you how much time remainder to the Zeny Room's monsters relive.";
Mes " !exit - Warp you to your save point.";
Mes "Obs: You only can use these comands if you are in the Zeny Room";
Mes " !go - Warp you to the Zeny Room, if you are alright there, warp you randomicly into it.";
Mes "To use it, you need to send PM to 'npc:Zeny Room' with the command.";
Mes "When you kill an Zeny Room's monster you got an amount of zeny between "+$zeny_room_z[0]+" and "+$zeny_room_z[1];
}
Close2;
If (@menu == 1)
{
If ($zeny_room_open)
{
Warp $zeny_room_map$, 0, 0;
} Else
{
Announce "The Zeny Room is closed!", bc_blue|bc_self;
}
}
End;
OnInit:
If ($zeny_room_map$ == "")
{
Set $zeny_room_map$, "morocc";
}
If ($zeny_room_mob == 0)
{
Set $zeny_room_mob, 1002;
}
If ($zeny_room_amount == 0)
{
Set $zeny_room_amount, 150;
}
If ($zeny_room_z[1] <= 0)
{
SetArray $zeny_room_z, 0, 10000;
}
If ($zeny_room_dellay <= 0)
{
Set $zeny_room_dellay, 10;
}
If ($zeny_room_msg$ == "")
{
Set $zeny_room_msg$, "Zeny Room";
}
Monster $zeny_room_map$, 0, 0, GetMonsterInfo($zeny_room_mob, MOB_NAME) , $zeny_room_mob, $zeny_room_amount, StrNpcInfo(0)+"::OnMobDied";
Set $@zeny_next_wave, GetTimeTick(0) + $zeny_room_dellay*1000;
DelWaitingRoom;
WaitingRoom $zeny_room_msg$, 0;
OnMFAdd:
SetMapFlag $zeny_room_map$, mf_nomobloot;
SetMapFlag $zeny_room_map$, mf_nomemo;
SetMapFlag $zeny_room_map$, mf_noteleport;
SetMapFlag $zeny_room_map$, mf_nosave;
SetMapFlag $zeny_room_map$, mf_nobranch;
SetMapFlag $zeny_room_map$, mf_nowarp;
SetMapFlag $zeny_room_map$, mf_nogo;
SetMapFlag $zeny_room_map$, mf_nobaseexp;
SetMapFlag $zeny_room_map$, mf_nojobexp;
SetMapFlag $zeny_room_map$, mf_noreturn;
SetMapFlag $zeny_room_map$, mf_nowarpto;
End;
OnDelMF:
RemoveMapFlag $zeny_room_map$, mf_nomobloot;
RemoveMapFlag $zeny_room_map$, mf_nomemo;
RemoveMapFlag $zeny_room_map$, mf_noteleport;
RemoveMapFlag $zeny_room_map$, mf_nosave;
RemoveMapFlag $zeny_room_map$, mf_nobranch;
RemoveMapFlag $zeny_room_map$, mf_nowarp;
RemoveMapFlag $zeny_room_map$, mf_nogo;
RemoveMapFlag $zeny_room_map$, mf_nobaseexp;
RemoveMapFlag $zeny_room_map$, mf_nojobexp;
RemoveMapFlag $zeny_room_map$, mf_noreturn;
RemoveMapFlag $zeny_room_map$, mf_nowarpto;
End;
OnWhisperGlobal:
If (GetTimeTick(0) >= $@zeny_next_wave)
{
KillMonster $zeny_room_map$, StrNpcInfo(0)+"::OnMobDied";
DoNpcEvent "::OnInit";
}
GetMapXY(.@map$, .@x, .@y, 0);
If (GetGMLevel() >= 60)
{
If (Compare(@whispervar0$, "!map"))
{
KillMonster $zeny_room_map$, StrNpcInfo(0)+"::OnMobDied";
DoNpcEvent "::OnDelMF";
MapWarp $zeny_room_map$, @whispervar1$, 0, 0;
Set $zeny_room_map$, @whispervar1$;
Monster $zeny_room_map$, 0, 0, GetMonsterInfo($zeny_room_mob, MOB_NAME) , $zeny_room_mob, $zeny_room_amount, StrNpcInfo(0)+"::OnMobDied";
DoNpcEvent "::OnMFAdd";
DispBottom "Novo mapa: "+$zeny_room_map$;
End;
} Else If (Compare(@whispervar0$, "!open") || Compare(@whispervar0$, "!close"))
{
Set $zeny_room_open, Compare(@whispervar0$, "!open");
DispBottom "Zeny Room "+(Compare(@whispervar0$, "!open") ? "aberta" : "fechada");
If (Compare(@whispervar0$, "!open"))
{
Announce "The Zeny Room now is openned!", 0;
DoNpcEvent "::OnInit";
} Else
{
KillMonster $zeny_room_map$, StrNpcInfo(0)+"::OnMobDied";
MapAnnounce $zeny_room_map$, "The Zeny Room is closed!", bc_map;
MapRespawnGuildID $zeny_room_map$, NULL, 2;
End;
}
} Else If (Compare(@whispervar0$, "!mob"))
{
Set .@MID, AtoI(@whispervar1$);
If ( GetMonsterInfo(.@MID, MOB_NAME) == "null")
{
Message StrCharInfo(0), "Usage: !mob#id";
End;
}
KillMonster $zeny_room_map$, StrNpcInfo(0)+"::OnMobDied";
Set $zeny_room_mob, .@MID;
Monster $zeny_room_map$, 0, 0, GetMonsterInfo($zeny_room_mob, MOB_NAME) , $zeny_room_mob, $zeny_room_amount, StrNpcInfo(0)+"::OnMobDied";
DispBottom "New monster: "+GetMonsterInfo(.@MID, MOB_NAME);
End;
} Else If (Compare(@whispervar0$, "!amount"))
{
Set .@Q, AtoI(@whispervar1$);
If (.@Q <= 0)
{
Message StrCharInfo(0), "Usage: !amount#new_amount";
End;
}
KillMonster $zeny_room_map$, StrNpcInfo(0)+"::OnMobDied";
Set $zeny_room_amount, .@Q;
Monster $zeny_room_map$, 0, 0, GetMonsterInfo($zeny_room_mob, MOB_NAME) , $zeny_room_mob, $zeny_room_amount, StrNpcInfo(0)+"::OnMobDied";
DispBottom "New amount: "+$zeny_room_amount;
End;
} Else If (Compare(@whispervar0$, "!zeny"))
{
If (@whispervar1$ == "" || @whispervar2$ == "")
{
Message StrCharInfo(0), "Usage: !zeny#min_amount#max_amount";
End;
}
If (AtoI(@whispervar1$) > AtoI(@whispervar2$))
{
Message StrCharInfo(0), "The second value must be bigger than the first!";
End;
}
SetArray $zeny_room_z, AtoI(@whispervar1$), AtoI(@whispervar2$);
DispBottom "Minimun amount: "+$zeny_room_z[0];
DispBottom "Maximun amount: "+$zeny_room_z[1];
End;
} Else If (Compare(@whispervar0$, "!delay"))
{
If (@whispervar1$ == "")
{
Message StrCharInfo(0), "Usage: !delay#new_delay.";
End;
}
Set $zeny_room_dellay, AtoI(@whispervar1$);
DispBottom "Novo delay:"+$zeny_room_dellay;
End;
} Else If (Compare(@whispervar0$, "!chat"))
{
If (@whispervar1$ == "")
{
Message StrCharInfo(0), "Usage: !chat#new_message";
End;
}
Set $zeny_room_msg$, @whispervar1$;
DelWaitingRoom;
WaitingRoom $zeny_room_msg$, 0;
End;
} Else If (Compare(@whispervar0$, "!reload"))
{
KillMonster $zeny_room_map$, StrNpcInfo(0)+"::OnMobDied";
Monster $zeny_room_map$, 0, 0, GetMonsterInfo($zeny_room_mob, MOB_NAME) , $zeny_room_mob, $zeny_room_amount, StrNpcInfo(0)+"::OnMobDied";
Message StrCharInfo(0), "Zeny Room's monsters reloadeds!!";
End;
}
}
If (Compare(@whispervar0$, "!q"))
{
If (.@map$ == $zeny_room_map$)
{
Message StrCharInfo(0), "Monster's amount: "+MobCount($zeny_room_map$, StrNpcInfo(0)+"::OnMobDied");
} Else
{
Message StrCharInfo(0), "You need to be in the Zeny Room to use this command.";
}
} Else If (Compare(@whispervar0$, "!next"))
{
If (.@map$ == $zeny_room_map$)
{
Message StrCharInfo(0), "Remaining time to the monsters be reloaded: "+(($@zeny_next_wave- GetTimeTick(0))/ 1000)+" segundos";
} Else
{
Message StrCharInfo(0), "You need to be in the Zeny Room to use this command.";
}
} Else If (Compare(@whispervar0$, "!go"))
{
If (GetMapFlag(.@map$, mf_nowarp))
{
Message StrCharInfo(0), "You can't warp in this map!";
}
If ($zeny_room_open)
{
Message StrCharInfo(0), "Warped.";
Warp $zeny_room_map$, 0, 0;
}
{
Message StrCharInfo(0), "The Zeny Room is closed right now.";
}
} Else If (Compare(@whispervar0$, "!exit"))
{
If (.@map$ == $zeny_room_map$)
{
Message StrCharInfo(0), "Warped.";
Warp "SavePoint", 0, 0;
} Else
{
Message StrCharInfo(0), "You only can use this command if you are in the Zeny Room";
}
} Else
{
Message StrCharInfo(0), StrNpcInfo(0)+": Unknown command.";
}
End;
OnMobDied:
Set Zeny, Zeny + Rand($zeny_room_z[0], $zeny_room_z[1]);
If (GetTimeTick(0) >= $@zeny_next_wave || MobCount($zeny_room_map$, StrNpcInfo(0)+"::OnMobDied") == 0)
{
KillMonster $zeny_room_map$, StrNpcInfo(0)+"::OnMobDied";
DoNpcEvent "::OnInit";
}
End;
}
okay for the first thing, im requesting a code change from this script , or maybe a complete overhaul from this script
things that's to change / what are not / additional idea :
keep the random zeny gained ~ example 100k & 50k randomly gained.
keep the changeable map , the original script, i tried to change the map, but everytime i restart the map server still goes to morroc. ( maybe i have mistakes there. )
have instance for say each level have thier hardness on the mob and increased gained zeny still random , like :
keep the delay of each monster to spawn on the map, as in on 1mins, the mob killed and spawned back.
if can, try set the mob for high rate level 255 server
p/s : i hope Emistry can help