07.02.2013, 11:26
fixed
//Global declaration
new weapons[13][2];
CMD:spec(playerid, params[])
{
if(PlayerInfo[playerid][aLevel] < 1) return SendClientMessage(playerid, RED, "Invalid command. Type /cmds to see a list of available commands.");
new targetid, string[64];
if(sscanf(params,"u", targetid)) return SendClientMessage(playerid, RED, "[USAGE]: /spec [name/id]");
if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, RED, "Player not found.");
if(HasSpawned{targetid} == false) return SendClientMessage(playerid, RED, "The player must be spawned before you can spectate them.");
if(targetid == playerid) return SendClientMessage(playerid, RED,"You cant spectate yourself.");
if(IsOnduty{playerid} == 1)
{
IsOnduty{playerid} = 0;
SetPlayerHealth(playerid, 100.0);
}
IsAdminSpectating{playerid} = true;
IsPlayerBeingSpectated{targetid} = true;
PlayerBeingSpectatedBy[targetid] = playerid;
SpecInfo[playerid][IsSpectating] = targetid;
TogglePlayerSpectating(playerid, true);
for (new i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
}
if(IsPlayerInAnyVehicle(targetid))
{
SetPlayerInterior(playerid, GetPlayerInterior(targetid));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(targetid));
PlayerSpectateVehicle(playerid, GetPlayerVehicleID(targetid));
format(fstr, sizeof(fstr), "{FFFFFF}%s (%d) Total Wealth", GetName(targetid), targetid);
format(fstr2, sizeof(fstr2), "{FFFFFF}Holding: $%d\nBank: $%d\nCredit: $%d\nEarnings: $%d", GetPlayerCash(targetid), BankInfo[targetid][Balance], BankInfo[targetid][Credit], GetPlayersBizEarnings(targetid));
ShowPlayerDialog(playerid, WEALTH_DIALOG, DIALOG_STYLE_MSGBOX, fstr, fstr2, "Ok", "");
return 1;
}
else
{
SetPlayerInterior(playerid, GetPlayerInterior(targetid));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(targetid));
PlayerSpectatePlayer(playerid, targetid);
format(fstr, sizeof(fstr), "{FFFFFF}%s (%d) Total Wealth", GetName(targetid), targetid);
format(fstr2, sizeof(fstr2), "{FFFFFF}Holding: $%d\nBank: $%d\nCredit: $%d\nEarnings: $%d", GetPlayerCash(targetid), BankInfo[targetid][Balance], BankInfo[targetid][Credit], GetPlayersBizEarnings(targetid));
ShowPlayerDialog(playerid, WEALTH_DIALOG, DIALOG_STYLE_MSGBOX, fstr, fstr2, "Ok", "");
}
format(string, sizeof(string), "[SPEC]: You are now spectating %s (%d)", GetName(targetid), targetid);
SendClientMessage(playerid, YELLOW, string);
return true;
}
CMD:specoff(playerid, params[])
{
if(PlayerInfo[playerid][aLevel] < 1) return SendClientMessage(playerid, RED, "Invalid command. Type /cmds to see a list of available commands.");
IsPlayerBeingSpectated{SpecInfo[playerid][IsSpectating]} = false;
PlayerBeingSpectatedBy[SpecInfo[playerid][IsSpectating]] = -1;
SpecInfo[playerid][IsSpectating] = -1;
IsAdminSpectating{playerid} = false;
TogglePlayerSpectating(playerid, false);
SendClientMessage(playerid, YELLOW, "[SPEC]: Spectating mode turned OFF.");
for (new i = 0; i < 13; i++)
{
GivePlayerWeapon(playerid, weapons[i][0], weapons[i][1]);
}
return true;
}