Portal SAMP
[Ajuda] Sinais - 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] Sinais (/showthread.php?tid=4081)



Sinais - L10motos - 15/10/2023

Eu estou criando um sistema onde a colombia e a organização id 8 pode retirar mais de 50 gramas do cofre, só que o jeito que fiz não funciona, qual a logica correta? sendo que sendo da colombia e a organização id 8 o membro pode sacar mais que 50 gramas de uma só vez.

Código PHP:
    if((valor+drugs) > 50 && !TeamColombia(playerid) || (valor+drugs) > 50 && gTeam[playerid] != 8)
                            {
                                
SCM(playeridCOLOR_GREY"Você não pode pegar mais de 50 gramas de uma vez.");
                                return 
1;
                            }

                            if((
valor+drugs) > 50)
                            {
                                
SCM(playerid, -1"Você está com as drogas na maleta leve ao comprador.");
                                
                                
RemovePlayerAttachedObject(playerid4);
                                
SetPlayerAttachedObject(playerid4121050.30.10.00.0270.00.0);
                            } 



RE: Sinais - Cifra Modder - 15/10/2023

(15/10/2023 16:57)L10motos Escreveu: Eu estou criando um sistema onde a colombia e a organização id 8 pode retirar mais de 50 gramas do cofre, só que o jeito que fiz não funciona, qual a logica correta? sendo que sendo da colombia e a organização id 8 o membro pode sacar mais que 50 gramas de uma só vez.

Código PHP:
                            if((valor+drugs) > 50 && !TeamColombia(playerid) || (valor+drugs) > 50 && gTeam[playerid] != 8)
    
                        {
                    
            SCM(playeridCOLOR_GREY"Você não pode pegar mais de 50 gramas de uma vez.");
                    
            return 1;
                            }

                            if((
valor+drugs) > 50)
                            {
                        
        SCM(playerid, -1"Você está com as drogas na maleta leve ao comprador.");
                        
        
                                RemovePlayerAttachedObject
(playerid4);
                                SetPlayerAttachedObject(playerid4121050.30.10.00.0270.00.0);
                            } 


tente essa logica:
Código:
if ((valor + drugs) > 50) {
    if (TeamColombia(playerid) || gTeam[playerid] == 8) {
        SCM(playerid, -1, "Você está com as drogas na maleta. Leve-as ao comprador.");
        RemovePlayerAttachedObject(playerid, 4);
        SetPlayerAttachedObject(playerid, 4, 1210, 5, 0.3, 0.1, 0.0, 0.0, 270.0, 0.0);
    } else {
        SCM(playerid, COLOR_GREY, "Você não pode pegar mais de 50 gramas de uma vez.");
    }
}



RE: Sinais - L10motos - 15/10/2023

(15/10/2023 17:38)Cifra Modder Escreveu:
(15/10/2023 16:57)L10motos Escreveu: Eu estou criando um sistema onde a colombia e a organização id 8 pode retirar mais de 50 gramas do cofre, só que o jeito que fiz não funciona, qual a logica correta? sendo que sendo da colombia e a organização id 8 o membro pode sacar mais que 50 gramas de uma só vez.

Código PHP:
                            if((valor+drugs) > 50 && !TeamColombia(playerid) || (valor+drugs) > 50 && gTeam[playerid] != 8)
    
                        {
                    
            SCM(playeridCOLOR_GREY"Você não pode pegar mais de 50 gramas de uma vez.");
                    
            return 1;
                            }

                            if((
valor+drugs) > 50)
                            {
                        
        SCM(playerid, -1"Você está com as drogas na maleta leve ao comprador.");
                        
        
                                RemovePlayerAttachedObject
(playerid4);
                                SetPlayerAttachedObject(playerid4121050.30.10.00.0270.00.0);
                            } 

Não entendi muito bem a lógica desse seu projeto. mande mais informações sobre oque você está tentando fazer.

Exemplo, se o jogador pegar mais de 50 gramas manda a mensagem "SCM(playerid, COLOR_GREY, "Você não pode pegar mais de 50 gramas de uma vez.");", mais sendo da TeamColombia e gTeam[playerid] != 8 a mensagem não aparece para o jogador por que essa organização pode sacar mais que 50 gramas de drogas de uma só vez. Resumindo, se juntar valor+drugs e o valor for maior que 50 o return aparece com uma mensagem, sendo da colombia ou da organização id 8 esse return não devia se manifestar.


RE: Sinais - leonardos08bt - 15/10/2023

Código:
if ((valor + drugs) > 50)
{
    if (!TeamColombia(playerid) && gTeam[playerid] != 8)
    {
        SCM(playerid, COLOR_GREY, "Você não pode pegar mais de 50 gramas de uma vez.");
        return 1;
    }
    else
    {
        SCM(playerid, -1, "Você está com as drogas na maleta leve ao comprador.");

        RemovePlayerAttachedObject(playerid, 4);
        SetPlayerAttachedObject(playerid, 4, 1210, 5, 0.3, 0.1, 0.0, 0.0, 270.0, 0.0);
    }
}

Código otimizado, organizado e corrigido!


RE: Sinais - Cifra Modder - 15/10/2023

(15/10/2023 17:43)L10motos Escreveu:
(15/10/2023 17:38)Cifra Modder Escreveu:
(15/10/2023 16:57)L10motos Escreveu: Eu estou criando um sistema onde a colombia e a organização id 8 pode retirar mais de 50 gramas do cofre, só que o jeito que fiz não funciona, qual a logica correta? sendo que sendo da colombia e a organização id 8 o membro pode sacar mais que 50 gramas de uma só vez.

Código PHP:
                            if((valor+drugs) > 50 && !TeamColombia(playerid) || (valor+drugs) > 50 && gTeam[playerid] != 8)
    
                        {
                    
            SCM(playeridCOLOR_GREY"Você não pode pegar mais de 50 gramas de uma vez.");
                    
            return 1;
                            }

                            if((
valor+drugs) > 50)
                            {
                        
        SCM(playerid, -1"Você está com as drogas na maleta leve ao comprador.");
                        
        
                                RemovePlayerAttachedObject
(playerid4);
                                SetPlayerAttachedObject(playerid4121050.30.10.00.0270.00.0);
                            } 

Não entendi muito bem a lógica desse seu projeto. mande mais informações sobre oque você está tentando fazer.

Exemplo, se o jogador pegar mais de 50 gramas manda a mensagem "SCM(playerid, COLOR_GREY, "Você não pode pegar mais de 50 gramas de uma vez.");", mais sendo da TeamColombia e gTeam[playerid] != 8 a mensagem não aparece para o jogador por que essa organização pode sacar mais que 50 gramas de drogas de uma só vez. Resumindo, se juntar valor+drugs e o valor for maior que 50 o return aparece com uma mensagem, sendo da colombia ou da organização id 8 esse return não devia se manifestar.

entendi.

tente isso:
Código:
if ((valor + drugs) > 50) {
    if (!(TeamColombia(playerid) || gTeam[playerid] == 8)) {
        SCM(playerid, COLOR_GREY, "Você não pode pegar mais de 50 gramas de uma vez.");
        return 1;
    }
    SCM(playerid, -1, "Você está com as drogas na maleta. Leve-as ao comprador.");
    RemovePlayerAttachedObject(playerid, 4);
    SetPlayerAttachedObject(playerid, 4, 1210, 5, 0.3, 0.1, 0.0, 0.0, 270.0, 0.0);
}



RE: Sinais - L10motos - 15/10/2023

Vocês foram reputados!