// https://rathena.org/board/topic/108888-request-a-gold-room-drop-gold-point/
prontera,155,181,5 script Sample#goldroom 4_F_KAFRA1,{
doevent "gold_room_main::OnTalk";
}
// warp portal back prontera
ordeal_3-2,123,123,0 warp gold_room_back_prt 1,1,prontera,155,181
// peco peco summon
ordeal_3-2,0,0,0,0 monster Peco Peco 1019,200,60000,0,"gold_room_main::OnKill"
- script gold_room_main -1,{
OnInit:
// gold room map
.map$ = "ordeal_3-2";
// entrance fee
.zeny_cost = 200000;
// rate to get gold
.rate = 50;
// gold random amount
setarray .gold_amount,1,5;
setmapflag .map$,mf_noteleport;
setmapflag .map$,mf_pvp;
setmapflag .map$,mf_pvp_noguild;
setmapflag .map$,mf_pvp_noparty;
setmapflag .map$,mf_nobranch;
setmapflag .map$,mf_nosave;
setmapflag .map$,mf_nomemo;
setmapflag .map$,mf_noreturn;
setmapflag .map$,mf_nowarp;
setmapflag .map$,mf_nowarpto;
end;
OnTalk:
mes "Enter Gold Room ?";
if ( .zeny_cost )
mes F_InsertComma( .zeny_cost ) + " Zeny";
switch ( select(
"Enter Gold Room",
"Exchange Gold Point",
"Cancel"
)) {
case 1:
if ( Zeny < .zeny_cost ) {
mes "Not enough Zeny.";
}
else {
Zeny -= .zeny_cost;
warp .map$,0,0;
}
break;
case 2:
mes "You got "+F_InsertComma( #GOLDPOINTS )+" Points";
input .@value,0,#GOLDPOINTS;
if ( checkweight( 969, .@value ) ) {
#GOLDPOINTS -= .@value;
getitem 969,.@value;
mes "Gained "+.@value+" Gold.";
}
else {
mes "You overweight.";
}
default:
break;
}
close;
OnKill:
if ( .rate < rand( 100 ) ) {
.@point = rand( .gold_amount[0],.gold_amount[1] );
#GOLDPOINTS += .@point;
dispbottom "Gained "+.@point+" Point. You got "+F_InsertComma( #GOLDPOINTS )+" Points now.";
}
end;
OnPCDieEvent:
.@killerrid = killerrid;
if ( strcharinfo(3) == .map$ && .@killerrid != getcharid(3) && getmonsterinfo( .@killerrid,MOB_NAME ) != "null" ) {
#GOLDPOINTS = 0;
dispbottom "You died, you lost all the point.";
}
end;
}
Comments
0 B
|👍
/👎