Advertisement
Guest User

Map Checker (No Multi Map)

a guest
Apr 16th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.56 KB | None | 0 0
  1. -   script  NO_MULTI_MAP    FAKE_NPC,{
  2.  
  3. OnPCLoadMapEvent:
  4.     if(getgmlevel() >= .gm_id){
  5.         end;
  6.     }
  7.     query_sql("SELECT `last_unique_id` FROM `login` WHERE `account_id` = "+getcharid(3)+"",@lud);
  8.     getmapxy @map$,@x,@y,0;
  9.     for (set .@i,0; .@i < getarraysize(.restrictMaps$); set .@i,.@i+1){
  10.         if ( @map$ == .restrictMaps$[.@i] ){
  11.             set @nmp, query_sql "SELECT * FROM `no_multi_map` WHERE `u_id` = `"+ @lud +" AND `hasClient` = 1 AND `mapname` = `"+ @map$+"";
  12.             if(@nmp > 0){
  13.                 warp "new_3-1",53,111;
  14.                 dispbottom( "[Notice] Multi-Client is not allowed on "+ @map$ +" ", 0xFF6600 );
  15.                 end;
  16.             }else if(@nmp == 0){
  17.                 query_sql "UPDATE TABLE `no_multi_map` SET `hasClient` = 1, `mapname` = `"+ @map$ +"` WHERE `u_id` = `"+ @lud +";";
  18.                 end;
  19.             }else{
  20.                 dispbottom( "[Notice] Unknown Error Occured! Please Report this to Administrator.", 0xFF6600 );
  21.                 end;
  22.             }
  23.         }
  24.     }
  25.     query_sql "UPDATE TABLE `no_multi_map` SET `hasClient` = 0 WHERE `u_id` = `"+ @lud +" AND `mapname` = `"+ @map$+"";
  26. end;
  27.  
  28. OnPCLogOutEvent:
  29.     query_sql("SELECT `last_unique_id` FROM `login` WHERE `account_id` = "+getcharid(3)+"",@lud);
  30.     set @nmp, query_sql "SELECT * FROM `no_multi_map` WHERE `u_id` = `"+ @lud +" AND `hasClient` = 1";
  31.     query_sql "UPDATE TABLE `no_multi_map` SET `hasClient` = 0 WHERE `u_id` = `"+ @lud +" AND `mapname` = `"+ @map$+"";
  32. end;
  33.  
  34. OnInit:
  35.     .gm_id  = 99;
  36.     setarray .restrictMaps$[0],"prontera","geffen";
  37.     query_sql "CREATE TABLE IF NOT EXIST `no_multi_map` (`mapname` TEXT NOT NULL, `u_id` TEXT NOT NULL, `hasClient` UNSIGNED INT NOT NULL) ENGINE=MyISAM";
  38.     end;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement