Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (strcmp(cmd, "/tv", true) == 0)
- {
- if (IsPlayerConnected(playerid))
- {
- if (PlayerInfo[playerid][pAdmin] >= 1)
- {
- tmp = strtok(cmdtext, idx);
- if (!strlen(tmp))
- {
- if (TVInfo[playerid][istv] == 1)
- {
- EndSpectate(playerid);
- format(string, sizeof(string), "> %s hat das Beobachten beendet.", FullName(playerid));
- ABroadCast(COLOR_ADMINBLUE, string, PlayerInfo[playerid][pAdmin]);
- UCBroadCast(COLOR_ADMINBLUE, string, 1);
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_GRAD2, "Befehl: /tv [playerid]");
- return 1;
- }
- }
- new pid;
- pid = ReturnUser(tmp);
- if (!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_GREY, "Der angegebene Spieler ist nicht verbunden.");
- if (!gPlayerLogged[pid]) return SendClientMessage(playerid, COLOR_GREY, "Der angegebene Spieler ist nicht eingeloggt.");
- if (pid == playerid) return SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst beobachten.");
- if (GetPlayerState(pid) == PLAYER_STATE_SPECTATING)
- {
- if (PlayerInfo[pid][pUCAdmin] == 1)
- {
- SendClientMessage(playerid, COLOR_WHITE, " ");
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, "Der Spieler beobachtet aktuell jemanden.");
- return 1;
- }
- }
- TVInfo[playerid][tvdeath] = 0;
- TVInfo[playerid][tvplayer] = pid;
- TVInfo[playerid][tvadmin] = playerid;
- TVInfo[playerid][tvint] = GetPlayerInterior(pid);
- TVInfo[playerid][tvvir] = GetPlayerVirtualWorld(pid);
- if (TVInfo[playerid][istv] != 1)
- {
- new Float:pos[3];
- GetPlayerPos(playerid, pos[0],pos[1],pos[2]);
- new Float:health, Float:armour;
- GetPlayerHealth(playerid, health);
- GetPlayerArmour(playerid, armour);
- TVInfo[playerid][tvhp] = health;
- TVInfo[playerid][tvam] = armour;
- TVInfo[playerid][tvx] = pos[0];
- TVInfo[playerid][tvy] = pos[1];
- TVInfo[playerid][tvz] = pos[2];
- TVInfo[playerid][tvoldint] = GetPlayerInterior(playerid);
- TVInfo[playerid][tvoldvir] = GetPlayerVirtualWorld(playerid);
- for (new i; i < 13; i++)
- {
- SpectateWeaponID[playerid][i] = 0;
- SpectateWeaponAMMO[playerid][i] = 0;
- GetPlayerWeaponData(playerid, i, SpectateWeaponID[playerid][i], SpectateWeaponAMMO[playerid][i]);
- }
- SetPlayerInterior(playerid, GetPlayerInterior(pid));
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(pid));
- TogglePlayerSpectating(playerid, 1);
- if (IsPlayerInAnyVehicle(pid))
- {
- TVInfo[playerid][tvstate] = 1;
- PlayerSpectateVehicle(playerid, GetPlayerVehicleID(pid));
- }
- else
- {
- TVInfo[playerid][tvstate] = 0;
- PlayerSpectatePlayer(playerid, pid);
- }
- format(string, sizeof(string), "> %s beobachtet nun %s.", FullName(playerid), FullName(pid));
- ABroadCast(COLOR_ADMINBLUE, string, PlayerInfo[playerid][pAdmin]);
- UCBroadCast(COLOR_ADMINBLUE, string, 1);
- for (new i; i < MAX_PLAYERS; i ++)
- {
- if (!gPlayerLogged[i]) continue;
- if (!PlayerInfo[i][pAdmin]) continue;
- if (!TVInfo[i][istv]) continue;
- if (playerid == TVInfo[i][tvplayer])
- {
- EndSpectate(i);
- }
- }
- TVInfo[playerid][istv] = 1;
- }
- else
- {
- SetPlayerInterior(playerid, GetPlayerInterior(pid));
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(pid));
- TogglePlayerSpectating(playerid, 1);
- if (IsPlayerInAnyVehicle(pid))
- {
- TVInfo[playerid][tvstate] = 1;
- PlayerSpectateVehicle(playerid, GetPlayerVehicleID(pid));
- }
- else
- {
- TVInfo[playerid][tvstate] = 0;
- PlayerSpectatePlayer(playerid, pid);
- }
- format(string, sizeof(string), "> %s beobachtet nun %s.", FullName(playerid), FullName(pid));
- ABroadCast(COLOR_ADMINBLUE, string, PlayerInfo[playerid][pAdmin]);
- UCBroadCast(COLOR_ADMINBLUE, string, 1);
- for (new i; i < MAX_PLAYERS; i ++)
- {
- if (!gPlayerLogged[i]) continue;
- if (!PlayerInfo[i][pAdmin]) continue;
- if (!TVInfo[i][istv]) continue;
- if (playerid == TVInfo[i][tvplayer])
- {
- EndSpectate(i);
- }
- }
- TVInfo[playerid][istv] = 1;
- }
- }
- return 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement