Help with /spec command
#2

pawn Код:
COMMAND:spec(playerid, params[])
{
    new id;// This will hold the ID of the player you are going to be spectating.
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1, "You are not authorized to use this command.");
    if(!IsPlayerAdmin(playerid))return 0;// This checks if the player is logged into RCON, if not it will return 0; (Showing "SERVER: Unknown Command") You can replace it with your own admin check.
    if(sscanf(params,"u", id))return SendClientMessage(playerid, Grey, "Usage: /spec [id]");// Now this is where we use sscanf to check if the params were filled, if not we'll ask you to fill them
    if(id == playerid)return SendClientMessage(playerid,Grey,"You cannot spec yourself.");// Just making sure.
    if(id == INVALID_PLAYER_ID)return SendClientMessage(playerid, Grey, "Player not found!");// This is to ensure that you don't fill the param with an invalid player id.
    if(IsSpecing[playerid] == 1)return SendClientMessage(playerid,Grey,"You are already specing someone.");// This will make you not automatically spec someone else by mistake.
    GetPlayerPos(playerid,SpecX[playerid],SpecY[playerid],SpecZ[playerid]);// This is getting and saving the player's position in a variable so they'll respawn at the same place they typed '/spec'
    Inter[playerid] = GetPlayerInterior(playerid);// Getting and saving the interior.
    vWorld[playerid] = GetPlayerVirtualWorld(playerid);//Getting and saving the virtual world.
    TogglePlayerSpectating(playerid, true);// Now before we use any of the 3 functions listed above, we need to use this one. It turns the spectating mode on.
    if(IsPlayerInAnyVehicle(id))//Checking if the player is in a vehicle.
    {
     if(GetPlayerInterior(id) > 0)//If the player's interior is more than 0 (the default) then.....
     {
         SetPlayerInterior(playerid,GetPlayerInterior(id));//.....set the spectator's interior to that of the player being spectated.
     }
     if(GetPlayerVirtualWorld(id) > 0)//If the player's virtual world is more than 0 (the default) then.....
     {
         SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));//.....set the spectator's virtual world to that of the player being spectated.
     }
     PlayerSpectateVehicle(playerid,GetPlayerVehicleID(id));// Now remember we checked if the player is in a vehicle, well if they're in a vehicle then we'll spec the vehicle.
    }
    else// If they're not in a vehicle, then we'll spec the player.
    {
     if(GetPlayerInterior(id) > 0)
     {
         SetPlayerInterior(playerid,GetPlayerInterior(id));
     }
     if(GetPlayerVirtualWorld(id) > 0)
     {
         SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));
     }
     PlayerSpectatePlayer(playerid,id);// Letting the spectator spec the person and not a vehicle.
    }
    GetPlayerName(id, Name, sizeof(Name));//Getting the name of the player being spectated.
    format(String, sizeof(String),"You have started to spectate %s.",Name);// Formatting a string to send to the spectator.
    SendClientMessage(playerid,0x0080C0FF,String);//Sending the formatted message to the spectator.
    IsSpecing[playerid] = 1;// Just saying that the spectator has begun to spectate someone.
    IsBeingSpeced[id] = 1;// Just saying that a player is being spectated (You'll see where this comes in)
    spectatorid[playerid] = id;// Saving the spectator's id into this variable.
    return 1;// Returning 1 - saying that the command has been sent.
}
Reply


Messages In This Thread
Help with /spec command - by robertforyou - 09.02.2014, 20:02
Re: Help with /spec command - by Private200 - 09.02.2014, 20:39
Re: Help with /spec command - by robertforyou - 10.02.2014, 11:28
Re: Help with /spec command - by robertforyou - 10.02.2014, 12:16
Re: Help with /spec command - by Kyance - 10.02.2014, 12:27
Re: Help with /spec command - by robertforyou - 10.02.2014, 13:36
Re: Help with /spec command - by CuervO - 10.02.2014, 13:58
Re: Help with /spec command - by rakshith122 - 10.02.2014, 14:01
Re: Help with /spec command - by robertforyou - 10.02.2014, 16:47
Re: Help with /spec command - by Kyance - 10.02.2014, 17:04

Forum Jump:


Users browsing this thread: 1 Guest(s)