whiplk

[CODE] - SpawnMultiPlayers

Jul 3rd, 2013
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.80 KB | None | 0 0
  1. /*
  2.     (c) - 2013, Willian Luigi
  3.     - idealizado para futura inc.
  4.    
  5.     1ºupdate[03/07/2013]
  6.    
  7.     ------------
  8.    
  9.     função: Spawnar 1 ou mais players para um mesmo local e com o mesmo motivo.
  10.     exemplo aplicado: Eventos de em que o admin precisa remover mais de 1 pessoa do local.
  11.  
  12.     funções:
  13.  
  14. -   selectSpawnPos, parâmetros: x, y, z(floats).
  15.     objetivo: Selecionar um padrão de posição para o spawn.
  16.    
  17. -   updatePlayer, parâmetros: motivo(string), players(inteiros, 1 ou mais)
  18.     objetivo: Enviar todos os jogadores aplicados no parâmetro para o spawn padrão determinado
  19.     na função selectSpawnPos.
  20.  
  21.     Exemplos de uso:
  22.  
  23. public OnPlayerText(playerid, text[]) (Utilizando selectSpawnPos)
  24. {
  25.     if (!strcmp(text, "ir"))
  26.     {
  27.         selectSpawnPos(1958.3783, 1343.1572, 15.3746);
  28.         updatePlayer("Você voltou para um determinado spawn.", playerid);
  29.     }
  30.     return 1;
  31. }
  32.  
  33. public OnPlayerText(playerid, text[]) (Utilizando as vars de auxílio)
  34. {
  35.     if (!strcmp(text, "ir"))
  36.     {
  37.         gCallSpawn[E_SPAWN_POSX] = 1958.3783;
  38.         gCallSpawn[E_SPAWN_POSY] = 1343.1572;
  39.         gCallSpawn[E_SPAWN_POSZ] = 15.3746;
  40.         updatePlayer("Você voltou para um determinado spawn.", playerid);
  41.     }
  42.     return 1;
  43. }
  44. */
  45.  
  46. enum NATIVE_SPAWNS
  47. {
  48.     Float:E_SPAWN_POSX,
  49.     Float:E_SPAWN_POSY,
  50.     Float:E_SPAWN_POSZ
  51. };
  52. new
  53.     gCallSpawn[NATIVE_SPAWNS] = {-1.0, ...}
  54. ;
  55.  
  56. stock selectSpawnPos(Float:x, Float:y, Float:z) return _:(gCallSpawn[E_SPAWN_POSX]=x,gCallSpawn[E_SPAWN_POSY]=y,gCallSpawn[E_SPAWN_POSZ]=z);
  57. stock updatePlayer(msg[], ...)
  58. {
  59.     new
  60.         sValue = numargs(),
  61.         Float: sPosX = gCallSpawn[E_SPAWN_POSX],
  62.         Float: sPosY = gCallSpawn[E_SPAWN_POSY],
  63.         Float: sPosZ = gCallSpawn[E_SPAWN_POSZ]
  64.     ;
  65.     while (sValue--)
  66.     {
  67.         SetPlayerPos(getarg(sValue), sPosX, sPosY, sPosZ);
  68.         SendClientMessage(getarg(sValue), -1, msg);
  69.     }
  70.     return 1;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment