I use:
- script Only1perIP -1,{
OnPCLoadMapEvent:
set .maps$, "bat_room";
set .@my_map$, strcharinfo(3);
if (compare(","+.maps$+"," , ","+.@my_map$+","))
{
query_sql "SELECT login.account_id FROM login LEFT JOIN `char` ON login.account_id=`char`.account_id " +
"WHERE login.last_ip=(SELECT last_ip FROM login WHERE account_id="+getcharid(3)+") " +
"AND `char`.online=1 AND login.account_id!="+getcharid(3), .@account_id;
for (set .@i,0; .@i<getarraysize(.@account_id); set .@i,.@i+1)
{
getmapxy .@map$,.@x,.@y, 0, rid2name(.@account_id[.@i]);
if (.@map$ == .@my_map$)
{
set .@name$, strcharinfo(0);
announce "Sorry, only 1 char per IP can be on this map at a time.", bc_self;
sleep 1000;
atcommand "@kick " + .@name$;
}
}
}
end;
}