I merged my custom PVP warper script(with the board from emistry's script) with PVP Ladder script from Stolao
I tried to give two oninit and also oninit2 but it doesn't work. For now i've set it like one OnCharIfInit and one Oninit but is there any other way to make it work like two oninit, or any other way?
prontera,154,169,4 script Pvp_Ladder 837,{
mes "~Sign Reads~";
OnPvpLadder:
mes "Pvp Ladder";
if(getgmlevel() >= .GM){ set .@i,select("Warp to PVP Room:Veiw PVP Records:Leave:Reset PVP Stats");
} else { set .@i,select("Warp to PVP Room:Veiw PVP Records:Leave"); }
switch(.@i){
case 1:
next; {
mes "[ ^0000ffPVP Warper^000000 ]";
mes "Hello!";
mes "Do you want me to warp you to PVP Room?";
menu "^398315Sure, Bring it on!",warppvp,"^d95353No, thanks.",cancel;
warppvp:
warp "prt_pvp",0,0;
end;
}
cancel: {
next;
mes "[ ^0000ffPVP Warper^000000 ]";
mes "One should be courageous, not a coward.";
end;
}
case 4:
mes "Are you sure you want to delete ALL pvp records?";
if(select("No:Yes")==1) close;
next;
mes "Wait one Moment...";
mes ".....";
cleararray $TOPPK$[0],0,127;
cleararray $TOPPK[0],0,127;
query_sql("DELETE FROM `global_reg_value` WHERE `str` = 'PKCOUNT'");
set .@self, getcharid(3);
set .@size, query_sql("select account_id from `char` where online = 1", .@aid);
for(set .@i,0; .@i<.@size; set .@i,.@i+1) {
if(attachrid(.@aid[.@i])){
set PKCOUNT,0;
}
}
attachrid(.@self);
mes "Cleared pvp data.";
close;
case 2:
for(set .@i,0; .@i < getarraysize($TOPPK$); set .@i,.@i+1){
mes (.@i+1)+": "+ $TOPPK$[.@i] +" with "+ $TOPPK[.@i] +" kills";
if(.@i % 10 == 0){
if(select("Read More:Leave") == 1){ next; } else { close; }
}
}
case 3: close;
}
close;
OnPCKillEvent:
if(.Options&2 && (agitcheck() || agitcheck2())){
if(getgmlevel() < .GmLvl || .Options&8){
if(.Options&1 || strcharinfo(3) == .Map$){
if(.Options&32){
for(set .@i,.RepeatCount; .@i > 0; set .@i, .@i-1){
set @PKedID[.@i+1], @PKedID[.@i];
}
set @PKedID,killedrid;
}
for(set .@i,1; .@i < .RepeatCount; set .@i,.@i + 1){
if(@PKedID[0] == @PKedID[.@i]){ set .@s, .@s + 1;
} else { set .@i, .RepeatCount + 1; }
}
if(.@s < .RepeatCount){
set PkCount,PkCount+1;
if(.Options&16) setd getd(.PointType$),getd(.PointType$) + .PvpEarned;
for(set .@i,0; .@i < .MaxPlayers; set .@i, .@i + 1){
if(PKCOUNT > $TOPPK[.@i]){
if($TOPPK$[.@i] != strcharinfo(0)){
setarray $TOPPK$[.@i + 1], $TOPPK$[.@i];
setarray $TOPPK[.@i + 1], $TOPPK[.@i];
}
setarray $TOPPK$[.@i],strcharinfo(0);
setarray $TOPPK[.@i],PKCOUNT;
if(.Options&4) Announce ""+strcharinfo(0)+" Now Holds the The number "+.@i+" spot on the Pvp Ladder",bc_all;
}
sleep 1;
}
} else { if(.Options&64) warp "Save",0,0; }
}
}
}
end;
OnCharIfInit:
while( 1 ){
delwaitingroom;
waitingroom "PVP Warper [ "+getmapusers("prt_pvp")+" Players ]",0;
sleep 1000;
}
end;
OnInit:
set .GM,99;
set .MaxPlayers,10; // Number of Players held in Records
set .GmLvl,99; // Highest GM level Able to Hold a Record, if Option 8 is Disabled
set .Map$,"prt_pvp"; // Map Pvp Must Take Place on in order to Count, if Option 1 is Disabled
set .RepeatCount,5; // Number of kills on same person before it detects abuse, max of 128
set .PointType$,"#PvpPoints"; // Name of points earned, E.G. #Cash Points
set .PvpEarned,1; // Number of Pvp Points Earned
set .Options,7; // Bitwise Variable
// 1: Only Counts Kills on .Map$ if Disabled
// 2: Disables Record Holding during WOE
// 4: Announce When Someone Takes a Rank
// 8: Allow Gms Above level .GmLvl To Be on Ladder
// 16: Gain PvP Points on Kills (#PvpPoints)
// 32: Repeat Kill Protection
// 64: Warp to Save on abuse
// Example: "1+2+4 = 7" No Forced Map, Disables Record Holding during WOE and Announces New Record Holders
bindatcmd("PvpLadder" ,"Pvp_Ladder::OnPvpLadder",0,99);
end;
}
Question
Veracious
I merged my custom PVP warper script(with the board from emistry's script) with PVP Ladder script from Stolao
I tried to give two oninit and also oninit2 but it doesn't work. For now i've set it like one OnCharIfInit and one Oninit but is there any other way to make it work like two oninit, or any other way?
Edited by VeraciousLink to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.