// Emistry script
// simple pvp system
- script pvp system 757,{
OnStart:
switch( select("Death Match:Normal Mode:Party Mode:GVG Mode") ){
Case 1: // Death Match
setarray .@MapName$[0],"Izlude","Morroc Ruins","The Laphine Village","Wootan Tribe's Village","Thor Camp";
setarray .@Map$[0],"pvp_y_4-2","moc_ruins","mora","umbala","thor_camp";
break;
Case 2: // Normal Mode
setarray .@MapName$[0],"Prontera","Alberta","Izlude","Payon","Morroc";
setarray .@Map$[0],"pvp_y_1-1","pvp_y_1-4","pvp_y_1-2","pvp_y_1-3","pvp_y_1-5";
break;
Case 3: // Party Mode
if( !getcharid(1) ){
mes "Sorry, you dont have a Party with you.";
close;
}
setarray .@MapName$[0],"Prontera","Alberta","Izlude","Payon","Morroc";
setarray .@Map$[0],"pvp_y_2-1","pvp_y_2-4","pvp_y_2-2","pvp_y_2-3","pvp_y_2-5";
break;
Case 4: // GVG Mode
if( !getcharid(2) ){
mes "Sorry, you dont have a Guild with you.";
close;
}
setarray .@MapName$[0],"Guild 1","Guild 2","Guild 3","Guild 4","Guild 5";
setarray .@Map$[0],"guild_vs1","guild_vs2","guild_vs3","guild_vs4","guild_vs5";
break;
default: close;
}
set .@Map,( select( implode( .@MapName$,":" ) ) - 1 );
warp .@Map$[.@Map],0,0;
close;
OnInit:
// your WAV file name.
setarray .SoundEffect1$[0],"doublekill","triplekill","ultrakill";
setarray .SoundEffect2$[0],"killingspree","dominating","megakill","unstoppable","wickedsick","monsterkill","godlike","holyshit";
end;
OnPCKilLEvent:
// Disable if GM Level >= 80
if( getgmlevel() >= 100 ) end;
// Disable on these maps ( if any )
set .@RestrictedMap$[0],"prontera";
if( getarraysize( .@RestrictedMap$ ) )
for( set .@i,0; .@i < getarraysize( .@RestrictedMap$ ); set .@i,.@i + 1 )
if( strcharinfo(3) == .@RestrictedMap$[.@i] ) end;
if( killerrid != getcharid(3) && ( getmapflag( strcharinfo(3),mf_pvp ) || getmapflag( strcharinfo(3),mf_gvg ) ) && !getmapflag( strcharinfo(3),mf_gvg_castle ) ){
set @MultiKillCount,@MultiKillCount + 1;
set @StreakKillCount,@StreakKillCount + 1;
deltimer strnpcinfo(0)+"::OnResetCount";
addtimer 18000,strnpcinfo(0)+"::OnResetCount";
announce "Player "+strcharinfo(0)+" killed "+rid2name(killedrid)+" in "+strcharinfo(3),bc_map;
switch( @StreakKillCount ){
Case 0: Case 1: break;
Case 2: announce "Player "+strcharinfo(0)+" achieved Double Kills.",bc_map,0x776600; break;
Case 3: announce "Player "+strcharinfo(0)+" achieved Triple Kills.",bc_map,0x776600; break;
default:
announce "Player "+strcharinfo(0)+" achieved Ultra Kills.",bc_map,0x776600;
set @StreakKillCount,4;
break;
}
if( @StreakKillCount > 1 ) soundeffectall .SoundEffect1$[@StreakKillCount-2]+".wav",0,strcharinfo(3);
sleep2 2000;
switch( @MultiKillCount ){
Case 0: Case 1: Case 2: break;
Case 3: announce "Player "+strcharinfo(0)+" is on Killing Spree.",bc_map,0x0055FF; break;
Case 4: announce "Player "+strcharinfo(0)+" is on Dominating.",bc_map,0x0055FF; break;
Case 5: announce "Player "+strcharinfo(0)+" is on Mega Kill.",bc_map,0x0055FF; break;
Case 6: announce "Player "+strcharinfo(0)+" is on UnStoppable.",bc_map,0x0055FF; break;
Case 7: announce "Player "+strcharinfo(0)+" is on Wicked Sick.",bc_map,0x0055FF; break;
Case 8: announce "Player "+strcharinfo(0)+" is on M-m-m-m....Monster Kill.",bc_map,0x0055FF; break;
Case 9: announce "Player "+strcharinfo(0)+" is on Godlike.",bc_map,0x0055FF; break;
default:
announce "Player "+strcharinfo(0)+" is on Beyond Godlike. ( Somebody kill him! )",bc_map,0x0055FF;
set @MultiKillCount,10;
break;
}
if( @MultiKillCount > 2 ) soundeffectall .SoundEffect2$[@MultiKillCount-3]+".wav",0,strcharinfo(3);
}
end;
OnPCDieEvent:
set @MultiKillCount,0;
OnResetCount:
set @StreakKillCount,0;
deltimer strnpcinfo(0)+"::OnResetCount";
end;
}
malangdo,162,146,4 script Pvp Arena 651,{
doevent "pvp system::OnStart";
close;
}
//prontera,155,171,5 duplicate(Pvp Arena) PVP NPC#1 757