Guest User

code

a guest
Aug 16th, 2015
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.87 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSF>
  3. new static bool: Visible[MAX_PLAYERS] = true;
  4.  
  5. public OnPlayerConnect(playerid)
  6. {
  7.     Visible[playerid] = true;
  8.     CallLocalFunction("HOOK_OnPlayerConnect", "i", playerid);
  9.     return 1;
  10. }
  11.  
  12. #if defined _ALS_OnPlayerConnect
  13.   #undef OnPlayerConnect
  14. #else
  15. #define _ALS_OnPlayerConnect
  16. #endif
  17.  
  18. #define OnPlayerConnect HOOK_OnPlayerConnect
  19.  
  20. forward HOOK_OnPlayerConnect(playerid);
  21.  
  22. stock IsPlayerVisible(playerid)
  23. {
  24.     if(Visible[playerid] == true)
  25.         return 1;
  26.    
  27.     return 0;
  28. }
  29.  
  30. stock SetPlayerVisible(playerid, bool: visible_)
  31. {
  32.     if(visible_)
  33.     {
  34.         if(Visible[playerid])
  35.         {
  36.             SyncPlayerVisible(playerid); // player is already visible, so sync it just in case
  37.             return 1;
  38.         }
  39.        
  40.         else
  41.         {
  42.             Visible[playerid] = true;
  43.             SyncPlayerVisible(playerid);
  44.         }
  45.     }
  46.    
  47.     else
  48.     {
  49.         Visible_[playerid] = false;
  50.         SyncPlayerVisable(playerid);
  51.         return 1;
  52.     }
  53. }
  54.  
  55. static stock SyncPlayerVisible(playerid)
  56. {
  57.     if(IsPlayerConnected(playerid))
  58.     {
  59.         if(Visible[playerid])
  60.         {
  61.             for(new i; i < MAX_PLAYERS; i++)
  62.             {
  63.                 if(!IsPlayerConnected(i)) continue;
  64.                
  65.                 ShowPlayerForPlayer(i, playerid);
  66.             }
  67.         }
  68.         else
  69.         {
  70.             for(new i; i < MAX_PLAYERS; i++)
  71.             {
  72.                 if(!IsPlayerConnected(i)) continue;
  73.                 ShowPlayerForPlayer(i, playerid);
  74.             }
  75.         }
  76.     }
  77.    
  78.     return 1;
  79. }
  80.  
  81. public OnPlayerStreamIn(playerid, forplayerid)
  82. {
  83.     if(Visible[playerid])
  84.     {
  85.         ShowPlayerForPlayer(forplayerid, playerid);
  86.     }
  87.     else HidePlayerForPlayer(forplayerid, playerid);
  88.     CallLocalFunction("HOOK_OnPlayerStreamIn", "ii", playerid, forplayerid);
  89.     return 1;
  90. }
  91.  
  92. #if defined _ALS_OnPlayerStreamIn
  93.   #undef OnPlayerStreamIn
  94. #else
  95. #define _ALS_OnPlayerStreamIn
  96. #endif
  97.  
  98. #define OnPlayerStreamIn HOOK_OnPlayerStreamIn
  99.  
  100. forward HOOK_OnPlayerStreamIn(playerid, forplayerid);
Advertisement
Add Comment
Please, Sign In to add comment