Here's a fixed one..
//
// Author Goddameit
// Version 2013/12/03
// Web__ http://goo.gl/igS14r
//
- script gd_pk_title -1,{
function SETTILE ;
function GETTILE {
switch(getarg(0,0))
{
case 1: return "[MVP]";
default: return "";
}
}
OnPCLoginEvent:
for(set .@i,0; .@i<.SP_RANK; set .@i,.@i+1 )
{
if( getcharid(0) == .SP_RN_CID[.@i] )
{
set .@N$,GETTILE(.@i+1);
if( .@N$ != "" )
{
atcommand "@fakename "+.@N$+""+strcharinfo(0);
set @PK_TITL_BOOL,1;
}
break;
}
}
end;
OnPCKillEvent:
if( killedrid == getcharid(3) || !isloggedin(killedrid) )
end;
set @GDCID,getcharid(0);
query_sql "SELECT `char_id` FROM `gd_pk_title` WHERE `char_id` = "+@GDCID+"",@GDTID;
if( !@GDTID )
query_sql "INSERT `gd_pk_title` VALUES("+@GDCID+",1)";
else
query_sql "UPDATE `gd_pk_title` SET `var` = `var`+1 WHERE `char_id` = "+@GDCID+"";
set @GDTID,0;
set @GDCID,0;
end;
OnInit:
bindatcmd "delpktitle","gd_pk_title::OnGMFActive1",99,99;
bindatcmd "refhpktile","gd_pk_title::OnGMFActive3",99,99;
set .SP_RANK,2;
OnGMFActive3:
if( playerattached() )
{
dispbottom "All date was refresh.";
detachrid;
}
OnTimer60000:
stopnpctimer;
deletearray .TMP_SP_RN_CID[0],128;
query_sql "SELECT `char_id` FROM `gd_pk_title` ORDER BY `var` DESC LIMIT "+.SP_RANK,.TMP_SP_RN_CID;
SETTILE(0);
deletearray .SP_RN_CID[0],128;
deletearray .SP_RN_VAR[0],128;
query_sql "SELECT `char_id`,`var` FROM `gd_pk_title` ORDER BY `var` DESC LIMIT "+.SP_RANK,.SP_RN_CID,.SP_RN_VAR;
SETTILE(1);
deletearray .TMP_SP_RN_CID[0],128;
initnpctimer;
end;
OnGMFActive1:
query_sql "TRUNCATE TABLE `gd_pk_title`";
dispbottom "All date was cleaned.";
end;
function SETTILE {
for(set .@i,0; .@i<.SP_RANK; set .@i,.@i+1 )
{
query_sql "SELECT `account_id` FROM `char` WHERE `char_id` = "+.SP_RN_CID[.@i]+"",.@SP_RN_AID;
if( attachrid(.@SP_RN_AID) )
{
if( .TMP_SP_RN_CID[.@i] == .SP_RN_CID[.@i] && @PK_TITL_BOOL )
{
detachrid;
continue;
}
if( getarg(0,0) == 1 )
{
set .@N$,GETTILE(.@i+1);
if( .@N$ != "" )
{
atcommand "@fakename "+.@N$+""+strcharinfo(0);
set @PK_TITL_BOOL,1;
}
}else
if( @PK_TITL_BOOL )
{
atcommand "@fakename";
set @PK_TITL_BOOL,0;
}
detachrid;
}
}
return;
}
}
prontera,150,180,4 script Rank 100,{
mes "[Rank]";
set .@SP_RANK,getvariableofnpc(.SP_RANK,"gd_pk_title");
for(set .@i,0; .@i<.@SP_RANK; set .@i,.@i+1 )
{
set .@SP_RN_CID,getvariableofnpc(.SP_RN_CID[.@i],"gd_pk_title");
set .@SP_RN_VAR,getvariableofnpc(.SP_RN_VAR[.@i],"gd_pk_title");
if( !.@SP_RN_CID || !.@SP_RN_VAR )
break;
query_sql "SELECT `name` FROM `char` WHERE `char_id` = "+.@SP_RN_CID+"",.@SP_RN_NAME$;
mes "[#"+(.@i+1)+"] "+.@SP_RN_NAME$+" "+.@SP_RN_VAR+"p";
}
close;
}