Advertisement
Guest User

Untitled

a guest
Jun 14th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.19 KB | None | 0 0
  1. flags:spec(ADMIN_SECOND_LEVEL)
  2. cmd:spec(playerid, const params[])
  3. {
  4.     new targetid;
  5.     if(sscanf(params, "i", targetid))
  6.         return SendHelp(playerid, !"Используйте: {"#cWhite"}/spec [id игрока]");
  7.     if(!IsPlayerConnected(targetid))
  8.         return SendError(playerid, !"Игрок не в сети!");
  9.     if(!IsPlayerLogged(targetid))
  10.         return SendError(playerid, !"Игрок не авторизован!");
  11.     if(playerid == targetid)
  12.         return SendError(playerid, !"Нельзя следить за собой.");
  13.     if(GetPlayerData(targetid, P_SPECTATE) != INVALID_PLAYER_ID)
  14.         return SendError(playerid, !"Игрок находится в наблюдении!");
  15.     TogglePlayerSpectating(playerid, 1);
  16.     if(GetPlayerData(playerid, P_SPECTATE) == INVALID_PLAYER_ID)
  17.     {
  18.         format(
  19.             global_string,
  20.             145,
  21.             "[A] %s %s[%d] начал следить за %s[%d]",
  22.             GetPlayerAdminName(playerid), GetPlayerNameEx(playerid), playerid, GetPlayerNameEx(targetid), targetid
  23.         );
  24.         SendAdminMessage(ColorGray, global_string);
  25.         global_string[0] = EOS;
  26.         GetPlayerPos(playerid, GetPlayerData(playerid, P_SPECTATE_X), GetPlayerData(playerid, P_SPECTATE_Y), GetPlayerData(playerid, P_SPECTATE_Z));
  27.         SetPlayerData(playerid, P_SPECTATE_INTERIOR, GetPlayerInterior(playerid));
  28.         SetPlayerData(playerid, P_SPECTATE_VIRTUAL_WORLD, GetPlayerVirtualWorld(playerid));
  29.         for(new idx; idx < sizeof Spec_TD; idx++)
  30.             PlayerTextDrawShow(playerid, Spec_TD[idx][playerid]);
  31.         SelectTextDraw(playerid, -1);
  32.     }
  33.     SetPlayerData(playerid, P_SPECTATE, targetid);
  34.     if(IsPlayerInAnyVehicle(targetid))
  35.         PlayerSpectateVehicle(playerid, GetPlayerVehicleID(targetid));
  36.     else
  37.         PlayerSpectatePlayer(playerid, targetid);
  38.     format(
  39.         string_64,
  40.         64,
  41.         "%s (%i)",
  42.         GetPlayerNameEx(targetid), targetid
  43.     );
  44.     PlayerTextDrawSetString(playerid, Spec_TD[1][playerid], string_64);
  45.     string_64[0] = EOS;
  46.     PlayerTextDrawSetString(playerid, Spec_TD[9][playerid], (GetPlayerData(targetid, P_CONTROLLABLE)) ? ("ЗАМОРОЗИТЬ") : ("РАЗМОРОЗИТЬ"));
  47.     new Float: health;
  48.     GetPlayerHealth(targetid, health);
  49.     format(
  50.         string_64,
  51.         64,
  52.         "HP: %.0f",
  53.         health
  54.     );
  55.     PlayerTextDrawSetString(playerid, Spec_TD[22][playerid], string_64);
  56.     return string_64[0] = EOS;
  57. }
  58. alias:spec("sp")
  59.  
  60. flags:specoff(ADMIN_SECOND_LEVEL)
  61. cmd:specoff(playerid, const params[])
  62. {
  63.     if(GetPlayerData(playerid, P_SPECTATE) == INVALID_PLAYER_ID)
  64.         return SendError(playerid, !"Вы ни за кем не следите!");
  65.     format(
  66.         global_string,
  67.         145,
  68.         "[A] %s %s[%d] закончил слежку.",
  69.         GetPlayerAdminName(playerid), GetPlayerNameEx(playerid), playerid
  70.     );
  71.     SendAdminMessage(ColorGray, global_string);
  72.     global_string[0] = EOS;
  73.     SetPlayerData(playerid, P_SPECTATE, INVALID_PLAYER_ID);
  74.     CancelSelectTextDraw(playerid);
  75.     for(new idx; idx < sizeof Spec_TD; idx++)
  76.         PlayerTextDrawHide(playerid, Spec_TD[idx][playerid]);
  77.     TogglePlayerSpectating(playerid, 0);
  78.     return SpawnPlayerEx(playerid, GetPlayerData(playerid, P_SPECTATE_X), GetPlayerData(playerid, P_SPECTATE_Y), GetPlayerData(playerid, P_SPECTATE_Z),
  79.         GetPlayerData(playerid, P_SPECTATE_VIRTUAL_WORLD), GetPlayerData(playerid, P_SPECTATE_INTERIOR));
  80. }
  81. alias:specoff("spoff")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement