Advertisement
nVidiaX

[INC] RandomSpawns

Jun 26th, 2012
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.03 KB | None | 0 0
  1. ////////////////////////////////////////////////////////////////////////////////
  2. /*
  3.  
  4.                         Random Spawns v1.0
  5.                                             By nVidiaX
  6.                                            
  7.     Last Update: 25.6.2012
  8.    
  9.  
  10.     Reason: 1# - Překročen limit spawnů.
  11.  
  12. */
  13. ////////////////////////////////////////////////////////////////////////////////
  14. #include <a_samp>
  15. ////////////////////////////////////////////////////////////////////////////////
  16. //#define OnPlayerSpawnFreeze
  17. ////////////////////////////////////////////////////////////////////////////////
  18. #define MAX_SPAWNS      (100)
  19. #define MAX_PLAYERS_EX  (20)
  20. ////////////////////////////////////////////////////////////////////////////////
  21. enum Spawn_Info
  22. {
  23.     Float: sX,
  24.     Float: sY,
  25.     Float: sZ,
  26.     Float: sA
  27. };
  28. ////////////////////////////////////////////////////////////////////////////////
  29. new SpawnInfo[MAX_SPAWNS][Spawn_Info];
  30. ////////////////////////////////////////////////////////////////////////////////
  31. new SpawnsCount = -1;
  32. ////////////////////////////////////////////////////////////////////////////////
  33. new bool:Spawned[MAX_PLAYERS_EX];
  34. ////////////////////////////////////////////////////////////////////////////////
  35. forward UnfreezePlayer(playerid);
  36. forward Spawn_OnPlayerSpawn(playerid);
  37. forward Spawn_OnPlayerDeath(playerid, killerid, reason);
  38. ////////////////////////////////////////////////////////////////////////////////
  39. stock AddRandomSpawn(Float:X, Float:Y, Float:Z, Float:A)
  40. {
  41.     if(SpawnsCount < MAX_SPAWNS)
  42.     {
  43.         SpawnsCount ++;
  44.         SpawnInfo[SpawnsCount][sX] = X;
  45.         SpawnInfo[SpawnsCount][sY] = Y;
  46.         SpawnInfo[SpawnsCount][sZ] = Z;
  47.         SpawnInfo[SpawnsCount][sA] = A;
  48.     }else{
  49.         printf("AddRandomSpawn: Další Spawn nemohl být přidán. (Reason: 1#).");
  50.     }
  51. }
  52. ////////////////////////////////////////////////////////////////////////////////
  53. public Spawn_OnPlayerSpawn(playerid)
  54. {
  55.     Spawned[playerid] = true;
  56.     #if defined OnPlayerSpawnFreeze
  57.     TogglePlayerControllable(playerid, false);
  58.     SetTimerEx("UnfreezePlayer", 2000, 0, "i", playerid);
  59.     #endif
  60.     return 1;
  61. }
  62. ////////////////////////////////////////////////////////////////////////////////
  63. public Spawn_OnPlayerDeath(playerid, killerid, reason)
  64. {
  65.     Spawned[playerid] = false;
  66.     new s = random(SpawnsCount+1);
  67.     SetSpawnInfo(playerid, 0, GetPlayerSkin(playerid), SpawnInfo[s][sX], SpawnInfo[s][sY], SpawnInfo[s][sZ], SpawnInfo[s][sA], 0, 0, 0, 0, 0, 0);
  68.     return 1;
  69. }
  70. ////////////////////////////////////////////////////////////////////////////////
  71. public UnfreezePlayer(playerid)
  72. {
  73.     if(IsPlayerConnected(playerid))
  74.     {
  75.         TogglePlayerControllable(playerid, true);
  76.     }
  77. }
  78. ////////////////////////////////////////////////////////////////////////////////
  79. stock Jmeno(playerid)
  80. {
  81.     new Name[20];
  82.     GetPlayerName(playerid, Name, 20);
  83.     return Name;
  84. }
  85. ////////////////////////////////////////////////////////////////////////////////
  86. /*
  87.  
  88.                         Random Spawns v1.0
  89.                                             By nVidiaX
  90.  
  91.     Last Update: 25.6.2012
  92.  
  93. */
  94. ////////////////////////////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement