toribio

toribio

Sep 22nd, 2008
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.47 KB | None | 0 0
  1. //topo:
  2. #define TEMPO_PRESO 10 //segundos preso
  3.  
  4. forward PrenderJogador(playerid);
  5. forward SoltarJogador(playerid);
  6.  
  7. new preso[MAX_PLAYERS];
  8.  
  9. //OnPlayerCommandText:
  10. if(preso[playerid])return SendClientMessage(playerid, 0xFFFFFFAA, "Sem comandos na pris�o!");
  11.  
  12. //OnPlayerSpawn:
  13. if(preso[playerid])
  14. {
  15.     SetPlayerInterior(playerid, 3);
  16.     SetTimer("SoltarJogador", TEMPO_PRESO*60, 0);
  17. }
  18.  
  19. //OnPlayerKeyStateChange:
  20. if(newkeys == 0x80 && (GetPlayerSkin(playerid) >= 280 && GetPlayerSkin(playerid) <= 288))
  21. {
  22.     if(GetPlayerWeapon(playerid) >= 28 && GetPlayerWeapon(playerid) <= 38)
  23.     {
  24.         new Float:prevdist = 4.0, Float:coord[2][3], plid;
  25.         for(new i; i < MAX_PLAYERS; i++)
  26.         {
  27.             if(IsPlayerConnected(i))
  28.             {
  29.                 GetPlayerPos(playerid, coord[0][0], coord[0][1], coord[0][2]);
  30.                 GetPlayerPos(i, coord[1][0], coord[1][1], coord[0][2]);
  31.                 new Float:dist = floatsqroot(
  32.                 floatpower(floatabs(floatsub(coord[1][0], coord[0][0])), 2) +
  33.                 floatpower(floatabs(floatsub(coord[1][1], coord[0][1])), 2) +
  34.                 floatpower(floatabs(floatsub(coord[1][2], coord[0][2])), 2));
  35.                 if(dist <= prevdist)
  36.                 {
  37.                     prevdist = dist;
  38.                     plid = i;
  39.                 }
  40.             }
  41.         }
  42.         if(prevdist <= 4.0 && !preso[plid])
  43.         {
  44.             preso[plid] = true;
  45.             new string[256];
  46.             GetPlayerName(plid, string, sizeof string);
  47.             format(string, sizeof string, "Voc� prendeu %s.", string);
  48.             SendClientMessage(playerid, 0xFFF000AA, string);
  49.             SetPlayerSpecialAction(plid, SPECIAL_ACTION_HANDSUP);
  50.             GameTextForPlayer(plid, "Busted", 3000, 2);
  51.             SetTimerEx("PrenderJogador", 3000, 0, "i", plid);
  52.             TogglePlayerControllable(plid, 0);
  53.         }
  54.     }
  55. }
  56.  
  57. //final do mode:
  58. public PrenderJogador(playerid)
  59. {
  60.     preso[playerid] = true;
  61.     SetSpawnInfo(playerid, GetPlayerTeam(playerid), GetPlayerSkin(playerid),
  62.     193.6751, 175.0777, 1003.023, 0.0,0, 0, 0, 0, 0, 0);
  63.     SendClientMessage(playerid, 0xFFFFFFAA, "Voc� foi preso, e ficar� na pris�o" #TEMPO_PRESO "segundos!");
  64.     SpawnPlayer(playerid);
  65. }
  66.  
  67. public SoltarJogador(playerid)
  68. {
  69.     preso[playerid] = false;
  70.     SpawnPlayer(playerid);
  71.     SetPlayerInterior(playerid, 0);
  72.     SendClientMessage(playerid, 0xFFFFFFAA, "Solto da pris�o, n�o cometa mais crimes!");
  73. }
Add Comment
Please, Sign In to add comment