15/05/2024 12:16
(Esta mensagem foi modificada pela última vez a: 15/05/2024 12:16 por RamossFx.)
Código:
CMD:daritem(playerid, params[]){
if(sscanf(params, "us[30]d", params[0], params[1], params[2])) return SendClientMessage(playerid, -1, "Uso: /daritem [playerid] [item] [quantidade]");
printf("Debug [1]");
if(!IsPlayerConnected(params[0])) return 1;
printf("Debug [2]");
printf("playerid: %d | item: %s | quantidade: %d", params[0], params[1], params[2]);
new itemName[30];
for(new i = 0; i < sizeof(ItensArray); i++){
if(strcmp(params[1], ItensArray[i][item_name]) == 0){
format(itemName, sizeof(itemName), "%s", ItensArray[i][item_name]);
break;
}
}
if(isnull(itemName)){
SendClientMessage(playerid, -1, "{FFFFFF}* Item nao encontrado.");
return 1;
}
SendClientMessagef(playerid, -1, "{FFFFFF}* Voce deu {E84F33}%d{FFFFFF} unidades do item {E84F33}%s{FFFFFF} para o(a) {E84F33}%s(%d)", params[2], itemName, PegarNome(params[0]), params[0]);
givePlayerItem(params[0], params[1], params[2]);
return 1;
}
A intenção desse comando é dar um item a um player, mas não está achando o nome correto na lista (Array), fui printar os parâmetros passados, quando passei como parametro item o nome "Mochila". Mas me retornou isso: "M☺chila".
No segundo caractere, está retornando esse caractere aleatório. E no jogo, o caractere não aparece, fica vazio.