Ajuda com comando -
MakillesBr - 26.12.2014
Bom,olб a todos,tenho uma GM que tem um comando para pegar materiais para ORGs criminosas comprarem,etc em um local especifico porйm se digitarmos o valor com '' - '' vc ganha dinheiro,porem se fizer o comando normalmente fica normal.
Ex: /pegarmateriais -1000 = vocк ganha 10000de dinheiro
/pegarmateriais 1000 = Vocк ganha 1000 materiais normalmente
Tem um geito de corrigir isso?
Script:
CMD

egarmateriais(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, -4481.1582, 5710.4150, 14.8167)) return SendClientMessage(playerid, SERVER_INFO, "{00FF00}[Erro]: {FFFFFF}Vocк nгo esta no Barco.");
if(GetPlayerOrg(playerid) != 16 && GetPlayerOrg(playerid) != 17 && !IsATerror(playerid)) return SendClientMessage(playerid, SERVER_INFO, "{00FF00}[Erro]: {FFFFFF}Vocк nгo й da Mбfia/Terrorista.");
new quantidade;
if(sscanf(params, "d", quantidade))
{
SendClientMessage(playerid, SERVER_INFO, "{00FF00}[Uso]: {FFFFFF}/PegarMateriais <Quantidade>");
return 1;
}
else if(quantidade > 1000) return SendClientMessage(playerid, SERVER_INFO, "{00FF00}[Erro]: {FFFFFF}Vocк so pode pegar 1000 materiais por vez.");
else if(quantidade + Player[playerid][pMats] > 1000) return SendClientMessage(playerid, SERVER_INFO, "{00FF00}[Erro]: {FFFFFF}Vocк so pode carregar 1000 Materiais.");
new Preco = quantidade * 2;
if(GetPlayerGP(playerid) < Preco)
{
format(thestring, 256, "{00FF00}[Erro]: {FFFFFF}Vocк nгo tem R$%d para Pagar.", Preco);
SendClientMessage(playerid, SERVER_INFO, thestring);
return 1;
}
GivePlayerGP(playerid, -Preco);
Player[playerid][pMats] += quantidade;
format(thestring, 256, "{00FF00}[Info]: {FFFFFF}Vocк pagou R$%d em %d Materiais.", Preco, quantidade);
SendClientMessage(playerid, SERVER_INFO, thestring);
format(thestring, sizeof(thestring), " %s comprou Materiais.", PlayerGetName(playerid));
ProxDetector(20.0, playerid, thestring,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,C OLOR_PURPLE,COLOR_PURPLE);
return 1;
}
Re: Ajuda com comando -
MultiKill - 26.12.2014
faz a verificaзгo:
Se vocк estudou matemбtica vocк deve saber que o 0 fica entre os valores positivos e negativos.
Ilustaзгo
Re: Ajuda com comando -
MakillesBr - 27.12.2014
Irei testar,logo trarei a resposta.
Re: Ajuda com comando -
MakillesBr - 30.12.2014
Nгo deu
Re: Ajuda com comando -
Artista - 30.12.2014
Coloque os cуdigos entre [*pawn] e [/pawn]
sem o "*"
Como vocк estб fazendo? Poste como vocк fez por favor. Porque o que o MultiKill disse estб correto.
Re: Ajuda com comando -
MakillesBr - 31.12.2014
pawn Код:
CMD:pegarmateriais(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, -4481.1582, 5710.4150, 14.8167)) return SendClientMessage(playerid, SERVER_INFO, "{00FF00}[Erro]: {FFFFFF}Vocк nгo esta no Barco.");
if(GetPlayerOrg(playerid) != 16 && GetPlayerOrg(playerid) != 17 && !IsATerror(playerid)) return SendClientMessage(playerid, SERVER_INFO, "{00FF00}[Erro]: {FFFFFF}Vocк nгo й da Mбfia/Terrorista.");
new quantidade;
if(sscanf(params, "d", quantidade))
{
SendClientMessage(playerid, SERVER_INFO, "{00FF00}[Uso]: {FFFFFF}/PegarMateriais <Quantidade>");
return 1;
}
else if(quantidade > 1000) return SendClientMessage(playerid, SERVER_INFO, "{00FF00}[Erro]: {FFFFFF}Vocк so pode pegar 1000 materiais por vez.");
else if(quantidade + Player[playerid][pMats] > 1000) return SendClientMessage(playerid, SERVER_INFO, "{00FF00}[Erro]: {FFFFFF}Vocк so pode carregar 1000 Materiais.");
new Preco = quantidade * 2;
if(quantidade < 0)
if(GetPlayerGP(playerid) < Preco)
{
format(thestring, 256, "{00FF00}[Erro]: {FFFFFF}Vocк nгo tem R$%d para Pagar.", Preco);
SendClientMessage(playerid, SERVER_INFO, thestring);
return 1;
}
GivePlayerGP(playerid, -Preco);
Player[playerid][pMats] += quantidade;
format(thestring, 256, "{00FF00}[Info]: {FFFFFF}Vocк pagou R$%d em %d Materiais.", Preco, quantidade);
SendClientMessage(playerid, SERVER_INFO, thestring);
format(thestring, sizeof(thestring), " %s comprou Materiais.", PlayerGetName(playerid));
ProxDetector(20.0, playerid, thestring,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
Na Realidade sou um pouco novato em Pawn,ainda estou aprendendo com tutoriais,etc mais me diz onde coloco o que o MultiKill mencionou neste CMD para corrigir akele erro.
Re: Ajuda com comando -
Artista - 31.12.2014
Erro aqui:
Vocк apenas copiou e colou no comando o que o MultiKill disse.
Vamos traduzir esta linha, para sabermos onde estб o erro:
se quantidade
й menor que 0
Incompleto, nгo acha? Nгo deveria ser...
se quantidade
й menor que 0, vocк deve digitar um valor maior!
Assim?
ou seja, transformando isto em pawn...
if(quantidade
< 0) return
SendClientMessage(playerid, -1, "vocк deve digitar um valor maior!");
Re: Ajuda com comando -
MakillesBr - 31.12.2014
Obrigado,agradeзo a compreensгo de vocкs ao me ajudar jб que ainda estou aprendendo,deu certo,atй mais
Re: Ajuda com comando -
LucasAllexandre - 31.12.2014
kibando gm do bls ,
que vergonha
Re: Ajuda com comando -
HaydeK - 31.12.2014
Pois й Copiando a Gamemode do BLS , ainda tem muito mais bug que vocк pensa Makilles!