SA-MP Forums Archive
[Ajuda] Comando no lugar correto. - 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] Comando no lugar correto. (/showthread.php?tid=616131)



Comando no lugar correto. - FernandoDutra - 31.08.2016

RESOLVIDO!

Obrigado a quem tentou ajudar.


Re: Comando no lugar correto. - DiegoLeo - 31.08.2016

Tente trocar para isso amigo:

Код:
if(EntranceInfo[id][Type] != 3) return SendClientMessage(playerid, COLOR_WHITE, "SERVER: Vocк nгo estб dentro de uma auto escola.");



Re: Comando no lugar correto. - DiegoLeo - 31.08.2016

Tente trocar para isso amigo:

Код:
if(EntranceInfo[id][Type] != 3) return SendClientMessage(playerid, COLOR_WHITE, "SERVER: Vocк nгo estб dentro de uma auto escola."
);


Re: Comando no lugar correto. - FernandoDutra - 31.08.2016

Entгo, fiz isso ai, deu o retorno da mensagem de erro, sу que dentro da auto escola, ele dб errado. Nгo retorna a mensagem de /comprarlicenca [nome] e etc.


Re: Comando no lugar correto. - Andinho - 31.08.2016

"s[256]" deixa sу "s" ver se da certo e fala


Re: Comando no lugar correto. - arakuta - 31.08.2016

Quote:
Originally Posted by Andinho
Посмотреть сообщение
"s[256]" deixa sу "s" ver se da certo e fala
Estб forзando o cara a fazer errado? SSCANF requer que o placeholder "s" tenha um tamanho prй-definido senгo ele vai assumir um valor de tamanho que pode nгo ser o ideal e ainda vai apitar erros no console.


Re: Comando no lugar correto. - Andinho - 31.08.2016

Quote:
Originally Posted by arakuta
Посмотреть сообщение
Estб forзando o cara a fazer errado? SSCANF requer que o placeholder "s" tenha um tamanho prй-definido senгo ele vai assumir um valor de tamanho que pode nгo ser o ideal e ainda vai apitar erros no console.
eu uso

if(sscanf(params, "s",opcao))

e tudo pega perfeitamente '-' pelomenos aki nunca deu pau..


Re: Comando no lugar correto. - F1N4L - 01.09.2016

Pra que sscanf? Estб usando apenas valores do parвmetro digitado pelo jogador, logo apenas comparar o parвmetro com outra string й mais otimizado.

Outro detalhe й que nгo estб a verificar se o jogador tem dinheiro. Desta forma vai negativar o money do mesmo.

Код:
CMD:comprarlicenca(playerid, params[]) 
{ 
    for(new id; id < MAX_ENTRANCE; id++) 
    { 
        /*new eid = GetEntrance();*/ 
        new string[128]; 
        if(EntranceInfo[id][Type] == 3) return SendClientMessage(playerid, COLOR_WHITE, "SERVER: Vocк nгo estб dentro de uma auto escola."); 
        { 
            if(IsPlayerInRangeOfPoint(playerid, 3, EntranceInfo[id][EnterX], EntranceInfo[id][EnterY],EntranceInfo[id][EnterZ])) 
            { 
                if(!strcmp(params, "motorista", true, 2)) 
                { 
                    new driverprice = 500; 
                    GivePlayerMoney(playerid, -driverprice); 
                    format(string, 128, "SERVER: Vocк comprou sua licenзa de motorista, digite /minhaslicencas para ve-lб."); 
                    SendClientMessage(playerid, COLOR_WHITE, string); 
                    PlayerInfo[playerid][DriverLicense] = 1; 
                    return 1; 
                } 
            } 
        } 
    } 
    return 1; 
}



Re: Comando no lugar correto. - FernandoDutra - 01.09.2016

Vou testar F1N4L, se funcionar lhe digo.

@Edit

Entгo, nгo funcionou, entгo vou pedir uma coisa para vocкs.

Alguйm poderia fazer uma stock para que pegasse o tipo da entrada que o player estб?


Re: Comando no lugar correto. - F1N4L - 01.09.2016

Perceba que hб duas condicionais antes de realizar a comparaзгo de string (strcmp).
Se fazer um debug, vai ver que nгo funciona pq alguma destas condicionais estб barrando....