Portal SAMP
[Ajuda] Verificação de variável - 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] Verificação de variável (/showthread.php?tid=2156)



Verificação de variável - uyk - 02/03/2022

Então, o problema é o seguinte, quando o jogador está com a variável "TestandoV1[playerid] = true", o mesmo consegue pegar o veículo da variável "TestandoV2[playerid] = false", então, eu queria saber como posso fazer para não ocorrer este conflito, quando o jogador estiver com a variável "TestandoV1[playerid] = true" não consiga pegar o veículo da variável TestandoV2, vice-versa. 


Código PHP:
public OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
if(
IsPlayerInRangeOfPoint(playerid2.0, -1791.1034,1312.0164,59.4395) || IsPlayerInRangeOfPoint(playerid2.0, -1834.9242,1286.9408,59.4381))
{

if(
TestandoV1[playerid] <=|| TestantoV2[playerid] <=0)
{

if(
newkeys == KEY_YES)
{
new 
Float:Pos[3], Modelo;
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
Modelo CreateVehicle(411Pos[0], Pos[1], Pos[2], 360, -1, -1, -1);
PutPlayerInVehicle(playeridModelo0);
}
}
}
return 
1;




RE: Verificação de variável - CoelhaO_LokaO - 02/03/2022

Código:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){
    if(IsPlayerInRangeOfPoint(playerid, 2.0, -1791.1034,1312.0164,59.4395) || IsPlayerInRangeOfPoint(playerid, 2.0, -1834.9242,1286.9408,59.4381)){
        if(newkeys == KEY_YES){
            if(TestandoV1[playerid] == 0){
                if(TestandoV2[playerid] == 1){
                    SendClientMessage(playerid, 0xFFFFFFFF, "Você já possui a variavel 2.");
                }else{
                    new Float:Pos[3], Modelo;
                    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
                    Modelo = CreateVehicle(411, Pos[0], Pos[1], Pos[2], 360, -1, -1, -1);
                    PutPlayerInVehicle(playerid, Modelo, 0);
                    TestandoV1[playerid] = 1;
                }
            }
            else if(TestandoV1[playerid] == 1){
                SendClientMessage(playerid, 0xFFFFFFFF, "Você já possui a variavel 1.");
            }
            else if(TestandoV2[playerid] == 0){
                if(TestandoV1[playerid] == 1){
                    SendClientMessage(playerid, 0xFFFFFFFF, "Você já possui a variavel 1.");
                }else{
                    new Float:Pos[3], Modelo;
                    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
                    Modelo = CreateVehicle(411, Pos[0], Pos[1], Pos[2], 360, -1, -1, -1);
                    PutPlayerInVehicle(playerid, Modelo, 0);
                    TestandoV2[playerid] = 1;
                }
            }
            else if(TestandoV2[playerid] == 1){
                SendClientMessage(playerid, 0xFFFFFFFF, "Você já possui a variavel 2.");
            }
        }          
    }
    return 1;
}
Veja se ajuda.


RE: Verificação de variável - xbruno1000x - 02/03/2022

O operador para comparação é "==".

Código:
if(variavel[playerid] == false)

e quando o código for executado, deve ter variavel[playerid] = true; para inverter a booleana e não gerar a possibilidade de repetição.

Vale ressaltar que a new deve ser criado no formato abaixo.

Código:
new bool: variavel;



RE: Verificação de variável - DeviceBlack - 03/03/2022

Operadores relacionais
[Imagem: Operadores-relacionais.jpg]