No es necesario comprobar si es o no numйrico, la funciуn ReturnUser siempre devuelve la ID del jugador, lo que hace es comprobar si es un nombre conectado devolverte la ID. Asн:
pawn Код:
dcmd_transferir(playerid,params[])
{
new Index;
new tmp[256]; tmp = strtok(params,Index);
new tmp2[256]; tmp2 = strtok(params,Index);
new player1 = ReturnUser(tmp);;
new cash = strval(tmp2);
if(player1 == playerid) return SendClientMessage(playerid,COLOR_RED,"No te puedes transferir a ti mismo");
if(!IsRangeToBank(playerid)) return SendClientMessage(playerid,COLOR_RED,"No estas en un banco");
if(pInfo[playerid][Balance] < cash) return SendClientMessage(playerid,COLOR_RED,"No tienes esa cantidad en el banco");
if(!strlen(tmp) || !strlen(tmp2) || !IsNumeric(tmp2)) return SendClientMessage(playerid,COLOR_RED,"Usa: /transferir [ID/Nombre] [Cantidad]");
pInfo[playerid][Balance] -= cash;
pInfo[player1][Balance] += cash;
new string[128];
format(string,sizeof(string),"Transferiste %d$ a %s ",cash, pName(player1));
SendClientMessage(playerid,COLOR_YELLOW,string);
new file[100];
dini_IntSet(file,"Deposit",pInfo[playerid][Balance]);
new string2[128]; format(string2,128,"Tu nuevo balance es %d$",pInfo[playerid][Balance]);
SendClientMessage(playerid,color,string2);
new string3[128]; format(string3,128,"%s (%d) te transfiriу $%d a tu cuenta",pName(playerid),playerid,cash);
SendClientMessage(player1,COLOR_YELLOW,string3);
new string4[128]; format(string4,128,"Tu nuevo balance es: %d$",pInfo[chosenpid][Balance]);
SendClientMessage(player1,color,string4);
return 1;
}