can you fixed the script below which is mvp wave event automatically every 1hr. there is 5 round, every round there is 25 mvp monster to be killed. if the player is die, he will warp to a certain map where there is a npc. he need to claim the prize if he killed an mvp atleaset 1 which the prize is 1 poring coin. after that he will warp back to his current position before he joined the mvp wave event. if he still keep alive in the first round, he will still play for the second round, soon and so forth.
//By Skorm v1.5prontera,102,102,5 script MvP Warper 100,{ if(countitem(.item)<.amount) { mes "I'm sorry you need at least "+.amount+" "+getitemname(.item)+"(s)."; close; } for(set .@b,1; .@b < getarraysize(.maps$); set .@b,.@b + 1) { set .@menu$, .@menu$ + "Room["+(.@b-1)+"]- "+((getmapusers(""+.maps$[.@b]+""))?"^CD0000Closed^000000("+getmapusers(.maps$[.@b])+")":"^007700Open^000000("+getmapusers(.maps$[.@b])+")")+":"; } if(select(.@menu$)) { if(getmapusers(.maps$[@menu])){ mes "This room is currently occupied."; close; } set @menu,@menu; killmonsterall .maps$[@menu]; if(countitem(.item)>=.pamount){ if(select("Warp:PartyWarp requires- "+getitemname(.item)+"x"+.pamount)-1) { delitem .item,.pamount; set @id,getcharid(1); warpparty .maps$[@menu],0,0,@id; } else { delitem .item,.amount; warp .maps$[@menu],0,0; } } else { delitem .item,.amount; warp .maps$[@menu],0,0; } sleep2 3000; Onround: setd ".mob"+@menu, .mamount; areamonster .maps$[@menu],34,67,67,34,"--ja--",-3,.mamount,"MvP Warper::OnroundDeath"; end; Onround2: for(set .@t,1;.@t<=getarraysize(.maps$);set .@t,.@t+1) if(strcharinfo(3)==.maps$[.@t]) break; setd ".mob"+.@t, .mamount; areamonster .maps$[.@t],34,67,67,34,"--ja--",-3,.mamount,"MvP Warper::OnroundDeath2"; end; Onround3: for(set .@t,1;.@t<=getarraysize(.maps$);set .@t,.@t+1) if(strcharinfo(3)==.maps$[.@t]) break; setd ".mob"+.@t, .mamount; areamonster .maps$[.@t],34,67,67,34,"--ja--",-3,.mamount,"MvP Warper::OnroundDeath3"; end; Onround4: for(set .@t,1;.@t<=getarraysize(.maps$);set .@t,.@t+1) if(strcharinfo(3)==.maps$[.@t]) break; setd ".mob"+.@t, .mamount; areamonster .maps$[.@t],34,67,67,34,"--ja--",-3,.mamount,"MvP Warper::OnroundDeath4"; end; Onround5: for(set .@t,1;.@t<=getarraysize(.maps$);set .@t,.@t+1) if(strcharinfo(3)==.maps$[.@t]) break; setd ".mob"+.@t, .mamount; areamonster .maps$[.@t],34,67,67,34,"--ja--",-3,.mamount,"MvP Warper::OnroundDeath5"; end; OnroundDeath: for(set .@t,1;.@t<=getarraysize(.maps$);set .@t,.@t+1) if(strcharinfo(3)==.maps$[.@t]) break; setd ".mob"+.@t,getd(".mob"+.@t) - 1; setd ".kmob"+.@t,getd(".kmob"+.@t) + 1; if(getmapusers(.maps$[.@t])){ set .tmp, getd(".mob"+.@t); if(.tmp == 25) mapannounce .maps$[.@t],"Mvper: 25 MvPs remaining!",0; if(.tmp == 5) mapannounce .maps$[.@t],"Mvper: 5 MvPs remaining!",0; if(.tmp == 0){ mapannounce .maps$[.@t],"Round 1 complete! Round 2 has started!",0; goto Onround2; } } end; OnroundDeath2: //set $@mob,$@mob - 1; for(set .@t,1;.@t<=getarraysize(.maps$);set .@t,.@t+1) if(strcharinfo(3)==.maps$[.@t]) break; setd ".mob"+.@t,getd(".mob"+.@t) - 1; setd ".kmob"+.@t,getd(".kmob"+.@t) + 1; if(getmapusers(.maps$[.@t])){ set .tmp, getd(".mob"+.@t); if(.tmp == 25) mapannounce .maps$[.@t],"Mvper: 25 MvPs remaining!",0; if(.tmp == 5) mapannounce .maps$[.@t],"Mvper: 5 MvPs remaining!",0; if(.tmp == 0){ mapannounce .maps$[.@t],"Round 2 complete! Round 3 has started!",0; goto Onround3; } } end; OnroundDeath3: for(set .@t,1;.@t<=getarraysize(.maps$);set .@t,.@t+1) if(strcharinfo(3)==.maps$[.@t]) break; setd ".mob"+.@t,getd(".mob"+.@t) - 1; setd ".kmob"+.@t,getd(".kmob"+.@t) + 1; if(getmapusers(.maps$[.@t])){ set .tmp, getd(".mob"+.@t); if(.tmp == 25) mapannounce .maps$[.@t],"Mvper: 25 MvPs remaining!",0; if(.tmp == 5) mapannounce .maps$[.@t],"Mvper: 5 MvPs remaining!",0; if(.tmp == 0){ mapannounce .maps$[.@t],"Round 3 complete! Round 4 has started!",0; goto Onround4; } } end; OnroundDeath4: for(set .@t,1;.@t<=getarraysize(.maps$);set .@t,.@t+1) if(strcharinfo(3)==.maps$[.@t]) break; setd ".mob"+.@t,getd(".mob"+.@t) - 1; setd ".kmob"+.@t,getd(".kmob"+.@t) + 1; if(getmapusers(.maps$[.@t])){ set .tmp, getd(".mob"+.@t); if(.tmp == 25) mapannounce .maps$[.@t],"Mvper: 25 MvPs remaining!",0; if(.tmp == 5) mapannounce .maps$[.@t],"Mvper: 5 MvPs remaining!",0; if(.tmp == 0){ mapannounce .maps$[.@t],"Round 4 complete! Round 5 has started!",0; goto Onround5; } } end; OnroundDeath5: for(set .@t,1;.@t<=getarraysize(.maps$);set .@t,.@t+1) if(strcharinfo(3)==.maps$[.@t]) break; setd ".mob"+.@t,getd(".mob"+.@t) - 1; setd ".kmob"+.@t,getd(".kmob"+.@t) + 1; if(getmapusers(.maps$[.@t])){ set .tmp, getd(".mob"+.@t); if(.tmp == 25) mapannounce .maps$[.@t],"Mvper: 25 MvPs remaining!",0; if(.tmp == 5) mapannounce .maps$[.@t],"Mvper: 5 MvPs remaining!",0; if(.tmp == 0){ mapannounce .maps$[.@t],"You Win!",0; mapwarp .maps$[.@t],"prontera",156,212; end; } } end; } close; OnInit: set .item, 501; //Item required to warp. set .amount, 1; //Amount required for single person warp. set .pamount, 10; //Amount required for party warp. set .mamount, 1; //Amount of mvps spawned. setarray .rewards[0], // ID , Amount, Range Low, Range High, 501, 10 , 0 , 5 , 502, 20 , 6 , 10 , 503, 30 , 11 , 12 ; setarray .maps$[1], "guild_vs2", "guild_vs2-1", "guild_vs2-2"; //Array of maps used. end; OnPCDieEvent: for(set .@t,1;.@t<=getarraysize(.maps$);set .@t,.@t+1) if(strcharinfo(3)==.maps$[.@t]) break; for(set .@a,0;.@a<=getarraysize(.maps$);set .@a,.@a+1) { if(strcharinfo(3)==.maps$[.a]) { announce strcharinfo(3)+" has Just become available.",bc_all; for(set .@b,0;.@b<getarraysize(.rewards);set .@b,.@b+4) { if(getd(".kmob"+.@t)>=.rewards[.@b+2]&&getd(".kmob"+.@t)<=.rewards[.@b+3]) { getitem .rewards[.@b], .rewards[.@b+1]; } } warp "prontera",156,212; end; } } end; OnPCLogoutEvent: for(set .@a,0;.@a<=getarraysize(.maps$);set .@a,.@a+1) { if(strcharinfo(3)==.maps$[.a]) { announce strcharinfo(3)+" has Just become available.",bc_all; warp "prontera",156,212; end; } }}
thanks for helping