Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- flags:spec(ADMIN_SECOND_LEVEL)
- cmd:spec(playerid, const params[])
- {
- new targetid;
- if(sscanf(params, "i", targetid))
- return SendHelp(playerid, !"Используйте: {"#cWhite"}/spec [id игрока]");
- if(!IsPlayerConnected(targetid))
- return SendError(playerid, !"Игрок не в сети!");
- if(!IsPlayerLogged(targetid))
- return SendError(playerid, !"Игрок не авторизован!");
- if(playerid == targetid)
- return SendError(playerid, !"Нельзя следить за собой.");
- if(GetPlayerData(targetid, P_SPECTATE) != INVALID_PLAYER_ID)
- return SendError(playerid, !"Игрок находится в наблюдении!");
- TogglePlayerSpectating(playerid, 1);
- if(GetPlayerData(playerid, P_SPECTATE) == INVALID_PLAYER_ID)
- {
- format(
- global_string,
- 145,
- "[A] %s %s[%d] начал следить за %s[%d]",
- GetPlayerAdminName(playerid), GetPlayerNameEx(playerid), playerid, GetPlayerNameEx(targetid), targetid
- );
- SendAdminMessage(ColorGray, global_string);
- global_string[0] = EOS;
- GetPlayerPos(playerid, GetPlayerData(playerid, P_SPECTATE_X), GetPlayerData(playerid, P_SPECTATE_Y), GetPlayerData(playerid, P_SPECTATE_Z));
- SetPlayerData(playerid, P_SPECTATE_INTERIOR, GetPlayerInterior(playerid));
- SetPlayerData(playerid, P_SPECTATE_VIRTUAL_WORLD, GetPlayerVirtualWorld(playerid));
- for(new idx; idx < sizeof Spec_TD; idx++)
- PlayerTextDrawShow(playerid, Spec_TD[idx][playerid]);
- SelectTextDraw(playerid, -1);
- }
- SetPlayerData(playerid, P_SPECTATE, targetid);
- if(IsPlayerInAnyVehicle(targetid))
- PlayerSpectateVehicle(playerid, GetPlayerVehicleID(targetid));
- else
- PlayerSpectatePlayer(playerid, targetid);
- format(
- string_64,
- 64,
- "%s (%i)",
- GetPlayerNameEx(targetid), targetid
- );
- PlayerTextDrawSetString(playerid, Spec_TD[1][playerid], string_64);
- string_64[0] = EOS;
- PlayerTextDrawSetString(playerid, Spec_TD[9][playerid], (GetPlayerData(targetid, P_CONTROLLABLE)) ? ("ЗАМОРОЗИТЬ") : ("РАЗМОРОЗИТЬ"));
- new Float: health;
- GetPlayerHealth(targetid, health);
- format(
- string_64,
- 64,
- "HP: %.0f",
- health
- );
- PlayerTextDrawSetString(playerid, Spec_TD[22][playerid], string_64);
- return string_64[0] = EOS;
- }
- alias:spec("sp")
- flags:specoff(ADMIN_SECOND_LEVEL)
- cmd:specoff(playerid, const params[])
- {
- if(GetPlayerData(playerid, P_SPECTATE) == INVALID_PLAYER_ID)
- return SendError(playerid, !"Вы ни за кем не следите!");
- format(
- global_string,
- 145,
- "[A] %s %s[%d] закончил слежку.",
- GetPlayerAdminName(playerid), GetPlayerNameEx(playerid), playerid
- );
- SendAdminMessage(ColorGray, global_string);
- global_string[0] = EOS;
- SetPlayerData(playerid, P_SPECTATE, INVALID_PLAYER_ID);
- CancelSelectTextDraw(playerid);
- for(new idx; idx < sizeof Spec_TD; idx++)
- PlayerTextDrawHide(playerid, Spec_TD[idx][playerid]);
- TogglePlayerSpectating(playerid, 0);
- return SpawnPlayerEx(playerid, GetPlayerData(playerid, P_SPECTATE_X), GetPlayerData(playerid, P_SPECTATE_Y), GetPlayerData(playerid, P_SPECTATE_Z),
- GetPlayerData(playerid, P_SPECTATE_VIRTUAL_WORLD), GetPlayerData(playerid, P_SPECTATE_INTERIOR));
- }
- alias:specoff("spoff")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement