SA-MP Forums Archive
[Ajuda] Como remover o Spawn depois do Spec? - 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: [Ajuda] Como remover o Spawn depois do Spec? (/showthread.php?tid=452019)



Como remover o Spawn depois do Spec? - NotKnowMyNick - 19.07.2013

Entгo pessoal. Dessa vez eu quero saber como faz pra remover o spawn depois do spec, se poderem me ajudar, eu agradeзo!

Ex:

O player "tal" usou o comando /spec ID e tб de spec em outro player, e depois ele deseja sair do spec, usando o /stopspec. Mas depois de usб-lo, ele dб respawn. Eu quero fazer um modo que nгo dк respawn, para se um player estiver caзando o outro, nгo precisar reiniciar do ponto inicial todas as vez que usar o spec. Entгo seria assim, usou o /spec... tб lб de spec no player tal... daн usou o /stopspec e continua do local de onde parou. Existe um modo que dк pra criar isso? Obrigado


Comando /spec:

Quote:

CMD: spec(playerid, params[])
{
if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "Use /spec [ID]"), SendClientMessage(playerid, CINZA, "Use the command to watch a player");
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, ID);
PlayerDados[playerid][Assistindo] = true;
SendClientMessage(playerid, VERDE_CLARO, "To stop watch use: /StopSpec");
return 1;
}

Comando /stopspec:

Quote:

CMD: stopspec(playerid, params[])
{
if(PlayerDados[playerid][Assistindo] == false) return SendClientMessage(playerid, AZUL, "You are not watching anyone!");
TogglePlayerSpectating(playerid, 0);
PlayerDados[playerid][Assistindo] = false;
return 1;
}




Re: Como remover o Spawn depois do Spec? - WLSF - 19.07.2013

pawn Код:
new Float:gPp[4][MAX_PLAYERS]; //[4] = 0, 1, 2, posiзхes x, y, z; [MAX_PLAYERS] = vai ser dividido por jogador, para que nгo haja conflitos no uso das vars

CMD: stopspec(playerid, params[])
{
    if(PlayerDados[playerid][Assistindo] == false) return SendClientMessage(playerid, AZUL, "You are not watching anyone!");
    TogglePlayerSpectating(playerid, 0);
    PlayerDados[playerid][Assistindo] = false;
   
    SetPlayerPos(playrid, gPp[0][playerid], gPp[1][playerid], gPp[2][playerid]);
    return 1;
}

CMD: spec(playerid, params[])
{
    if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "Use /spec [ID]"), SendClientMessage(playerid, CINZA, "Use the command to watch a player");
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, ID);
    PlayerDados[playerid][Assistindo] = true;
    SendClientMessage(playerid, VERDE_CLARO, "To stop watch use: /StopSpec");
   
    GetPlayerPos(playrid, gPp[0][playerid], gPp[1][playerid], gPp[2][playerid]);
    return 1;
}
O que eu fiz foi apenas salvar o valor da sua posiзгo temporariamente, e ai depois seto sua pos para o valor antigo.


Re: Como remover o Spawn depois do Spec? - NotKnowMyNick - 19.07.2013

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
pawn Код:
new Float:gPp[4][MAX_PLAYERS]; //[4] = 0, 1, 2, posiзхes x, y, z; [MAX_PLAYERS] = vai ser dividido por jogador, para que nгo haja conflitos no uso das vars

CMD: stopspec(playerid, params[])
{
    if(PlayerDados[playerid][Assistindo] == false) return SendClientMessage(playerid, AZUL, "You are not watching anyone!");
    TogglePlayerSpectating(playerid, 0);
    PlayerDados[playerid][Assistindo] = false;
   
    SetPlayerPos(playrid, gPp[0][playerid], gPp[1][playerid], gPp[2][playerid]);
    return 1;
}

CMD: spec(playerid, params[])
{
    if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "Use /spec [ID]"), SendClientMessage(playerid, CINZA, "Use the command to watch a player");
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, ID);
    PlayerDados[playerid][Assistindo] = true;
    SendClientMessage(playerid, VERDE_CLARO, "To stop watch use: /StopSpec");
   
    GetPlayerPos(playrid, gPp[0][playerid], gPp[1][playerid], gPp[2][playerid]);
    return 1;
}
O que eu fiz foi apenas salvar o valor da sua posiзгo temporariamente, e ai depois seto sua pos para o valor antigo.
Nгo funcionou. Continuou dando respawn!


Re: Como remover o Spawn depois do Spec? - WLSF - 19.07.2013

pawn Код:
new Float:gPp[4][MAX_PLAYERS]; //[4] = 0, 1, 2, posiзхes x, y, z; [MAX_PLAYERS] = vai ser dividido por jogador, para que nгo haja conflitos no uso das vars

CMD: stopspec(playerid, params[])
{
    if(PlayerDados[playerid][Assistindo] == false) return SendClientMessage(playerid, AZUL, "You are not watching anyone!");
    TogglePlayerSpectating(playerid, 0);
    PlayerDados[playerid][Assistindo] = false;

    SetPlayerPos(playerid, gPp[0][playerid], gPp[1][playerid], gPp[2][playerid]);
    return 1;
}

CMD: spec(playerid, params[])
{
    if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "Use /spec [ID]"), SendClientMessage(playerid, CINZA, "Use the command to watch a player");
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, ID);
    PlayerDados[playerid][Assistindo] = true;
    SendClientMessage(playerid, VERDE_CLARO, "To stop watch use: /StopSpec");

    GetPlayerPos(playerid, gPp[0][playerid], gPp[1][playerid], gPp[2][playerid]);
    return 1;
}
Aqui funcionou tranquilo, testa ai, se nгo der й porque tem algo empacando com o code.