Advertisement
Guest User

Untitled

a guest
Jun 18th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "_macros.fos"
  2.  
  3. ServerInvisiblePlayers@ serverInvisiblePlayers;
  4.  
  5. class ServerInvisiblePlayers
  6. {
  7.     int[] ip;
  8.  
  9.     ServerInvisiblePlayers()
  10.     {
  11.         Log("Initializing server invisible table");
  12.         this.ip.resize(0);
  13.         Log("Server invisible players table size: "+ip.length());
  14.     }
  15.  
  16.     void addPlayer(int id)
  17.     {
  18.         Log("Adding player to invisible table");
  19.         this.ip.resize(ip.length()+1);
  20.         ip[ip.length()-1]=id;
  21.         for(uint i=0; i<ip.length();i++)
  22.         {
  23.             Log("+ invisible id: "+ip[i]);
  24.         }
  25.     }
  26.    
  27.     void removePlayer(int id)
  28.     {
  29.         Log("Attempting to remove players from invisible payers table");
  30.         for(uint i=0; i<ip.length();i++)
  31.         {
  32.             Log("-- invisible id: "+ip[i]);
  33.         }
  34.         int counter=0;
  35.         int[] ip_tmp = ip;
  36.         ip.resize(ip_tmp.length()-1);
  37.         for(uint i=0; i<ip_tmp.length();i++)
  38.         {
  39.             if(ip_tmp[i]!=id)
  40.             {
  41.                 ip[counter]=ip_tmp[i];
  42.                 counter++;
  43.             }
  44.         }
  45.     }
  46.  
  47.     void sendListOfInvisiblePlayersOnLogIn(Critter& player)
  48.     {
  49.         CreateTimeEvent(__FullSecond + REAL_SECOND(1), "cte_runscript", player.Id, false);
  50.     }
  51.    
  52.     void getAndSetInvisiblePlayers(Critter& player)
  53.     {
  54.         Log("======: get and set invisible players from server, ip size: "+ip.length());
  55.         for(uint i=0; i<ip.length();i++)
  56.         {
  57.             Log("++ invisible id: "+ip[i]);
  58.         }
  59.         Log("Executing client scrit: getAndSetInvisiblePlayers");
  60.         player.RunClientScript("client_main@setInvisiblePlayersFromServerExecute", 0, 0, 0, "", @ip);
  61.         Log("Script exectuted.");
  62.        
  63.        
  64.     }
  65. }
  66.  
  67. uint cte_runscript(uint[]@ values)
  68. {
  69.     Log("Time Event exectuted.");
  70.     Critter@ player = GetCritter(values[0]);
  71.     serverInvisiblePlayers.getAndSetInvisiblePlayers(player);
  72.     return 0;
  73. }
  74.  
  75. void InitServerInvisiblePlayers()
  76. {
  77.         @serverInvisiblePlayers = ServerInvisiblePlayers();
  78. }
  79.  
  80. void addPlayer(int id)
  81. {
  82.     serverInvisiblePlayers.addPlayer(id);
  83. }
  84.    
  85. void removePlayer(int id)
  86. {
  87.     serverInvisiblePlayers.removePlayer(id);
  88. }
  89.  
  90. void getAndSetInvisiblePlayersFromServer(Critter& player)
  91. {
  92.     serverInvisiblePlayers.getAndSetInvisiblePlayers(player);
  93. }
  94.  
  95. void clientLogIn_SendHimInfoAboutInvisiblePlayers(Critter& player)
  96. {
  97.     serverInvisiblePlayers.sendListOfInvisiblePlayersOnLogIn(player);
  98. }
  99.  
  100. void getInvisiblePlayersFromServer(Critter& player, int playerID, int firstTime, int p2, string@ commandString, int[]@ param4)
  101. {
  102.         serverInvisiblePlayers.getAndSetInvisiblePlayers(player);
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement