Spec Problem
#3

Quote:
Originally Posted by clarencecuzz
Посмотреть сообщение
Try this:
pawn Код:
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(AccInfo[i][SpecID] == playerid)
            {
                if(AccInfo[i][SpecType] == ADMIN_SPEC_TYPE_PLAYER)
                {
                    if(i != playerid)
                    {
                        SetPlayerInterior(i, newinteriorid);
                        SetPlayerVirtualWorld(i, GetPlayerVirtualWorld(playerid));
                        PlayerSpectatePlayer(i, playerid, SPECTATE_MODE_NORMAL);
                    }
                }
            }
        }
    }
    return 1;
}
NOTE: Untested
Thanks man but nothing change. Anyway should I define PlayerVirtualWorld in my Spec command??

pawn Код:
dcmd_spec(playerid,params[])
{
    if(AccInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid) || AccInfo[playerid][pVip] >= 1)
    {
        if(AccInfo[playerid][pGps] != -1)
        return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}>> First Disable the Gps System! (/gps off)");

        if(!strlen(params) || !IsNumeric(params)) return
        SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Usage: /spec [PlayerID]") &&
        SendClientMessage(playerid, 0xFFFFFFFF, "{FF9900}Function: Will spec a specified Player");

        new specplayerid = ReturnUser(params);
        if(AccInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
        return SendClientMessage(playerid,0xFFFFFFFF,"{FF0000}>> You cannot use this command on this admin");

        if(IsPlayerConnected(specplayerid) && specplayerid != INVALID_PLAYER_ID)
        {
            if(specplayerid == playerid)
            return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}>> You cannot spectate Yourself");

            if(GetPlayerState(specplayerid) == PLAYER_STATE_SPECTATING && AccInfo[specplayerid][SpecID] != INVALID_PLAYER_ID)
            return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}>> Player spectating someone else");

            if(GetPlayerState(specplayerid) != 1 && GetPlayerState(specplayerid) != 2 && GetPlayerState(specplayerid) != 3)
            return SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}>> Player not Spawned");

            if((AccInfo[specplayerid][Level] != ServerInfo[MaxAdminLevel]) || (AccInfo[specplayerid][Level] == ServerInfo[MaxAdminLevel] && AccInfo[playerid][Level] == ServerInfo[MaxAdminLevel]))
            {
                new string[128];
                format(string, sizeof(string), "[Spec] %s (ID:%d) is testing %s (ID:%d)", PlayerName2(playerid), playerid, PlayerName2(specplayerid), specplayerid);
                for(new i;i < MAX_PLAYERS; i++) if(AccInfo[i][Level] >= 1) SendClientMessage(i, grey, string);
                GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
                GetPlayerFacingAngle(playerid,Pos[playerid][3]);
                SendCommandToAdmins(playerid,"LSpec");
                SendClientMessage(playerid,blue,"Spectating On");
                return StartSpectate(playerid, specplayerid);
            }
            else return SendClientMessage(playerid, 0xFFFFFFFF,"{FF0000}>> You cannot spectate the highest level admin");
        }
        else return ErrorMessages(playerid, 2);
    }
    else return ErrorMessages(playerid, 1);
}
Reply


Messages In This Thread
Spec Problem - by kbalor - 12.09.2012, 06:33
Re: Spec Problem - by clarencecuzz - 12.09.2012, 06:41
Re: Spec Problem - by kbalor - 12.09.2012, 06:48

Forum Jump:


Users browsing this thread: