Portal SAMP
[Ajuda] Checkpoint verificação da gangue - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Checkpoint verificação da gangue (/showthread.php?tid=1983)



Checkpoint verificação da gangue - kush - 26/12/2021

Boa rapaziada? Tenho esse sistema de dominar so q e o seguinte, quando o territorio já está em posse da gangue local, n tem uma verificação da gangue, então a propria gangue pode dominar seu proprio territorio varias vezes. Poderia me ajudar? sou novatão ks, fico no aguerde...

CMD:d(playerid, params[]) return cmd_dominar(playerid, params);
CMD:dominar(playerid, params[])
{
if(IsPlayerInAnyVehicle(playerid)) {return SendClientMessage(playerid, 0xFF000096, "[ERRO]: Você deve sair de seu veículo pra que possa usar este comando!");}
if(BlockCMD[playerid] == true) return SendClientMessage(playerid,0xFF000096,"[INFO] - Você está em arena. Para sair, Use[Imagem: sad.png] /Sair ).");
  if(!IsPlayerInCheckpoint(playerid))
return SendClientMessage(playerid, 0xFFFFFFFF,"{FF0000}[ERRO]: Você não está em nenhum checkpoint.");
if(dTimer[playerid] > 0)
return SendClientMessage(playerid, 0xFFFFFFFF,"{FF0000}[ERRO]: Você já está dominando este território!");
new string[400], ppnome[MAX_PLAYER_NAME];
        GetPlayerName(playerid, ppnome, sizeof(ppnome));
        format(string, sizeof(string),"{FF0000}[TERRITÓRIO] - {FFFFFF}' %s ' está invadindo o Território do %s {FFFFFF}!", ppnome, GetPlayerCheckpointName(playerid));
SendClientMessageToAll(0xFFFFFFFF, string);
Contagem_(playerid);
GangZoneFlashForAll(checkpoli[playerid], GetPlayerColor(playerid));
for(new i; i < MAX_PLAYERS; ++i)
{
    if(IsPlayerConnected(i))
    {
if(Team[i]  == Dominando[playerid])
{
GameTextForPlayer(playerid, "~r~Seu Territorio esta sendo Dominado", 4000, 3);
}
    }
}
    return 1;
}


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

public Contagem_(playerid)
{
    if(!IsPlayerInCheckpoint(playerid))
    {
        dTimer[playerid] = 0;
        GangZoneStopFlashForAll(checkpoli[playerid]);
        checkId[playerid] = 0;
        return false;
    }
    if(dTimer[playerid] == 20)
    {
        new stringw[800];
        GameTextForPlayer(playerid, "~r~Territorio Dominado~n~ ~g~1+ ~w~Score + ~g~$1200", 4000, 3);
        PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
        format(stringw, sizeof(stringw),"{FF0000}[TERRITÓRIO] - {FFFFFF} A Gangue %s {FFFFFF}acabou de dominar Território do %s {FFFFFF}!",GetTeamName(playerid),GetPlayerCheckpointName(playerid));
        SendClientMessageToAll(0xFFFFFFFF, stringw);
        GivePlayerMoney(playerid, 1200);
        SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
        SendClientMessage(playerid, 0xA9A9A9AA, "{32CD32}[RECOMPENSA] - {ADFF2F}Você ganhou {32CD32}1 score + $1.200 {ADFF2F}por dominar este território!");
        dTimer[playerid] = 0;
        GangZoneStopFlashForAll(checkpoli[playerid]);
        GangZoneShowForAll(checkpoli[playerid],GetPlayerColor(playerid));
        return 1;
    }
    new stringq[800];
    SetTimerEx("Contagem_", 1000, false, "d", playerid);
    format(stringq, sizeof(stringq),"~r~Dominando...~n~~w~%i/20", dTimer[playerid]);
    PlayerPlaySound(playerid, 1138, 0.0, 0.0, 10.0);
    GameTextForPlayer(playerid, stringq, 1200, 4);
    return dTimer[playerid]++;
}


RE: Checkpoint verificação da gangue - SrBlue - 26/12/2021

faça uma verificação

if(GetTeamName(playerid) == GetPlayerCheckpointName(playerid)){
return SendClientMessage(playerid,-1, "você não pode dominar um território cujo seja da mesma gangue...");
}


porem tens que ver qual retorno da o GetPlayerCheckpointName e qual retorno da o GetTeamName, para que os ambos possa dar true