SA-MP Forums Archive
[PEDIDO] spectate para qualquer player - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [PEDIDO] spectate para qualquer player (/showthread.php?tid=212062)



[PEDIDO] spectate para qualquer player - @ReeF - 16.01.2011

eu tenho um server de drift
queria boar o comando /ver [id]
ai quando a pessoa quizesse voltar /ver off

algem pode me passar ? obrigado !


Re: [PEDIDO] spectate para qualquer player - H1g0r - 16.01.2011

No sa-mp nos filterscripts que vem no server, tem um com esse comando, nгo me lembro o nome dele.


Re: [PEDIDO] spectate para qualquer player - @ReeF - 16.01.2011

sim e o adminspec mais e so se o player for admin vou tentar editar o filter script e passar pro game mode


Re: [PEDIDO] spectate para qualquer player - CyNiC - 16.01.2011

pawn Код:
CMD:spec(playerid,params[])
{
    new playr;

    if(!IsPlayerAdmin(playerid)) return 0;

    if(strfind(params,"off",false) != -1) {
    TogglePlayerSpectating(playerid,false);
    SpawnPlayer(playerid);
    SendClientMessage(playerid,0xFFFFFFAA,"[INFO] Spec desligado.");
    return 1;
    }

    if(sscanf(params,"d",playr)) return SendClientMessage(playerid,0xFF4040AA,"[INFO] Use /spec [id] ou /spec off");

    if(!IsPlayerConnected(playr)) return SendClientMessage(playerid,0xFF4040AA,"[INFO] O Jogador estб desconectado.");

    TogglePlayerSpectating(playerid,true);

    if(IsPlayerInAnyVehicle(playr)) return PlayerSpectateVehicle(playerid,GetPlayerVehicleID(playr));
    else {
    PlayerSpectatePlayer(playerid,playr);
    return 1;
    }
}



Re: [PEDIDO] spectate para qualquer player - @ReeF - 16.01.2011

aaaaaaaaaa


Re: [PEDIDO] spectate para qualquer player - ASDF - 16.01.2011

Cara, da pra vocк usar o AdminSpec. Se vocк quer que qualquer player espie qualquer jogador, basta retirar IsPlayerAdmin(playerid))
Um cуdigo completo logo abaixo! (Retirado do AdminSpec)
pawn Код:
new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];

//------------------------------------------------------------------------------------------------------

public OnFilterScriptInit()
{
}

//------------------------------------------------------------------------------------------------------

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    // IF ANYONE IS SPECTATING THIS PLAYER, WE'LL ALSO HAVE
    // TO CHANGE THEIR INTERIOR ID TO MATCH
    new x = 0;
    while(x!=MAX_PLAYERS) {
        if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
            gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_PLAYER )
        {
            SetPlayerInterior(x,newinteriorid);
        }
        x++;
    }
}

//------------------------------------------------------------------------------------------------------

public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[256];
    new specplayerid, idx;

    // WE ONLY DEAL WITH COMMANDS FROM ADMINS IN THIS FILTERSCRIPT

    cmd = strtok(cmdtext, idx);

    // SPECTATE A PLAYER
    if(strcmp(cmd, "/specplayer", true) == 0) {
        new tmp[256];
        tmp = strtok(cmdtext, idx);

        if(!strlen(tmp)) {
            SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specplayer [playerid]");
            return 1;
        }
        specplayerid = strval(tmp);
       
        if(!IsPlayerConnected(specplayerid)) {
            SendClientMessage(playerid, COLOR_RED, "specplayer: that player isn't active.");
            return 1;
        }
       
        TogglePlayerSpectating(playerid, 1);
        PlayerSpectatePlayer(playerid, specplayerid);
        SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
        gSpectateID[playerid] = specplayerid;
        gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
       
        return 1;
        }

    // STOP SPECTATING
    if(strcmp(cmd, "/specoff", true) == 0) {
        TogglePlayerSpectating(playerid, 0);
        gSpectateID[playerid] = INVALID_PLAYER_ID;
        gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
        return 1;
    }

    return 0;
}
Agora й com vocк. Sу mudar os comandos e passar pro GM do jeito que vocк falou.


Re: [PEDIDO] spectate para qualquer player - @ReeF - 16.01.2011

vlw asdf jaja eu vou testar ...