SA-MP Forums Archive
[Ajuda] Dъvida comando de ID veнculo - 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] Dъvida comando de ID veнculo (/showthread.php?tid=586805)



Dъvida comando de ID veнculo - Stean - 25.08.2015

E aн galera.. Muito bom dia!

Estou com uma pequena dъvida num pequeno comando que fiz para meu servidor.
A funзгo dele й mostrar o ID do veнculo pesquisado..

Ex1: /idcarro infer
Ex2: /idcarro shamal

Ao digitar uma parte do nome do veнculo ou o nome inteiro ( tanto faz ), apareceria o ID do veнculo do lado.
O Comando Funciona perfeitamente, porйm, quando o jogador escreve o nome errado (ex: /idcarro infernos) ele retorna como comando desconhecido..
Alguйm poderia me ajudar a por uma mensagem tipo isso aqui: "Veнculo nгo encontrado, tente novamente" por exemplo.. Nгo estou conseguindo, acredito que seja algo muito simples, mas me deu um branco..

Agradeзo desde ja, um abraзo a todos.

Pequena Ilustraзгo:



Code:

PHP код:
CMD:idcarro(playeridparams[])
{
    new 
carid strval(params);
    new 
string[256];
    new 
veiculo[15];
    if(
sscanf(params"s[15]"veiculo)) return scm(playerid, -1"{FF0000}Uso correto: /idcarro [Parte do nome do veнculo]");
    
carid GetVehicleModelIDFromName(veiculo);
    
format(stringsizeof(string), "{FFF000}Veнculo pesquisado: {FFFFFF}%s {FFF000}e seu ID й: {FFFFFF}%d"NomeVeiculo[carid-400], carid);
    
scm(playerid, -1string);
    
printf("\n\tJogador %s [ID:%d] pesquisou pelo veнculo %s.\n"PnameplayeridNomeVeiculo[carid-400]);
    return 
1;




Re: Dъvida comando de ID veнculo - iReflesh - 25.08.2015

Se nгo me engano, essa funзгo sу retorna o ID(modelo) quando o nome й digitado corretamente se nгo irб retornar -1.


Re: Dъvida comando de ID veнculo - Lуs - 25.08.2015

PHP код:
if(carid == -1)
{
    if(
carid 400 || carid 611)
        return 
scm(playerid, -1"Veнculo invбlido.");




Re: Dъvida comando de ID veнculo - Nixtren - 25.08.2015

Eu acho que ocorre um erro a executar a funзгo GetVehicleModelIDFromName quando alguйm digita um nome incorreto, ao em vez de retornar por exemplo -1. Posta aqui a essa funзгo para nуs vermos. Tambйm recomendo a utilizaзгo do plugin CrashDetect, muito ъtil para identificar erros como por exemplo o famoso "SERVER: Unknown error".


Re: Dъvida comando de ID veнculo - Stean - 25.08.2015

Lуs, tambйm jб tentei a sua forma, mas felizmente nгo funcionou..
O ID do veнculo estб correto, o problema й quando o jogador digita o nome do veiculo errado..

Ex: Veнculo Hydra >> /idcarro hidra

Tentei outros dois meios apartir do que vocк me mostrou, mas tambйm nгo funcionou.
Da mesma forma, muito obrigado pela resposta.


Quote:
Originally Posted by Lуs
Посмотреть сообщение
PHP код:
if(carid == -1)
{
    if(
carid 400 || carid 611)
        return 
scm(playerid, -1"Veнculo invбlido.");




Re: Dъvida comando de ID veнculo - Stean - 25.08.2015

Quote:
Originally Posted by Nixtren
Посмотреть сообщение
Eu acho que ocorre um erro a executar a funзгo GetVehicleModelIDFromName quando alguйm digita um nome incorreto, ao em vez de retornar por exemplo -1. Posta aqui a essa funзгo para nуs vermos. Tambйm recomendo a utilizaзгo do plugin CrashDetect, muito ъtil para identificar erros como por exemplo o famoso "SERVER: Unknown error".
Aqui estб:

PHP код:
stock GetVehicleModelIDFromName(VeiculoN[])
{
    for(new 
0211i++)
    {
        if(
strfind(NomeVeiculo[i], VeiculoNtrue) != -1)
        return 
400;
    }
    return -
1;

Muito obrigado pela dica, irei utiliza-la sim! (CrashDetect)


Re: Dъvida comando de ID veнculo - Nixtren - 25.08.2015

Quote:
Originally Posted by Stean
Посмотреть сообщение
Aqui estб:

PHP код:
stock GetVehicleModelIDFromName(VeiculoN[])
{
    for(new 
0211i++)
    {
        if(
strfind(NomeVeiculo[i], VeiculoNtrue) != -1)
        return 
400;
    }
    return -
1;

Muito obrigado pela dica, irei utiliza-la sim! (CrashDetect)
Agora o CrashDetect dб jeito neste caso. Coloca ele em execuзгo e diz se aparece algum erro na consola quando vocк faz esse comando com o nome de veнculo incorreto. Eu aposto que vai dar "Array out of bounds " (mas isso sou eu que aposto, nгo tenho certeza) xD


Re: Dъvida comando de ID veнculo - Stean - 25.08.2015

Quote:
Originally Posted by Nixtren
Посмотреть сообщение
Agora o CrashDetect dб jeito neste caso. Coloca ele em execuзгo e diz se aparece algum erro na consola quando vocк faz esse comando com o nome de veнculo incorreto. Eu aposto que vai dar "Array out of bounds " (mas isso sou eu que aposto, nгo tenho certeza) xD
Aconteceu o seguinte:

Ao digitar o comando com o nome correto, ficou tudo certo..
Quando digitei "Inferns", nome errado, aн jб pegou..




Mesmo assim, apesar de enteder o fato, nгo sei o que fazer para arrumar..


Re: Dъvida comando de ID veнculo - Nixtren - 25.08.2015

Quote:
Originally Posted by Stean
Посмотреть сообщение
Aconteceu o seguinte:

Ao digitar o comando com o nome correto, ficou tudo certo..
Quando digitei "Inferns", nome errado, aн jб pegou..




Mesmo assim, apesar de enteder o fato, nгo sei o que fazer para arrumar..
Vamos primeiro arranjar o seu CrashDetect para dar algumas informaзхes mais ъteis, e a seguir eu explico o resto.
Vб na sua pasta "pawno" e crie um ficheiro chamado "pawn.cfg" com os seguintes conteъdos:
Код:
-r -O0 -d3
Compile, (re)inicie o server e faзa novamente o comando que causa o erro. De seguida, posta aqui a print com as novas informaзхes do CrashDetect