[AYUDA]Comando -
Lobo - 01.09.2010
Hola, necesito que me ayuden con un comando, es este:
pawn Код:
dcmd_setkills(playerid,params[]) {
if(PlayerInfo[playerid][Level] == 5) {
new string[128], tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USA: /setkills [playername] [kills]");
if(strlen(tmp2) < 1 || strlen(tmp2) > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: No puedes poner un Score tan corto");
if(udb_Exists(tmp)) {
dUserSetINT(tmp).("kills",udb_hash(tmp2));
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(string, sizeof(string),"ACCOUNT: Haz cambiado la cantidad de kills a \"%s\", Cantidad:\"%s\"", tmp, tmp2);
return SendClientMessage(playerid,yellow,string);
} else return SendClientMessage(playerid,red, "ERROR: Este jugador no esta registrado o no tiene una cuenta");
} else return SendClientMessage(playerid,red,"ERROR: Tu no puedes cambiarle la cantidad de KILLS a alguien");
}
Quiero que la cantidad que ponga en los parametros sea igual, lo que pasa esque comienzo a usar el DINI y este comando lo saque del LADMIN, necesito ayuda, porfavor!
Respuesta: [AYUDA]Comando -
laborgward - 02.09.2010
pero no entiendo, el comando te tira error? o lo keres agregar a ti sist de administracion?
se mas especifico
Re: [AYUDA]Comando -
Lobo - 02.09.2010
El error esta aquн
pawn Код:
dUserSetINT(tmp).("kills",udb_hash(tmp2));
Quiero que esa parte en lugar de cambiar los datos numericos los deje asн, pero no se usar el Dini, y ahн lo que hace es esa fincion que dice "udb_hash" y cambia los caracteres que pongo de parametro, como lo hace con las password
Y quiero saber que funcion del dini me permite cambiarlo sin que se altere el dato que yo ingrese.
Ese comando lo uso para el Ladmin4v2, fue una ocurrencia

Ojala alguien me pueda ayudar.
Re: [AYUDA]Comando -
MrDeath537 - 02.09.2010
No usйs udb_hash para convertir el texto que serнa las kills a numйrico, usб strval
Re: [AYUDA]Comando -
Lobo - 02.09.2010
Podrias darme un ejemplo porfavor *.*
Esque estoy algo Noob con Dini, y pues la verdad nunca me habia hecho falta
Re: [AYUDA]Comando -
MrDeath537 - 02.09.2010
pawn Код:
dcmd_setkills(playerid,params[]) {
if(PlayerInfo[playerid][Level] == 5) {
new string[128], tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, "USA: /setkills [playername] [kills]");
if(strlen(tmp2) < 1 || strlen(tmp2) > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,"ERROR: No puedes poner un Score tan corto");
if(udb_Exists(tmp)) {
dUserSetINT(tmp).("kills",strval(tmp2));
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
format(string, sizeof(string),"ACCOUNT: Haz cambiado la cantidad de kills a \"%s\", Cantidad:\"%s\"", tmp, tmp2);
return SendClientMessage(playerid,yellow,string);
} else return SendClientMessage(playerid,red, "ERROR: Este jugador no esta registrado o no tiene una cuenta");
} else return SendClientMessage(playerid,red,"ERROR: Tu no puedes cambiarle la cantidad de KILLS a alguien");
}
Re: [AYUDA]Comando -
Lobo - 03.09.2010
Muchas gracias ^^ Funciono correctamente.
Re: [AYUDA]Comando -
MrDeath537 - 03.09.2010
De nada.
Re: [AYUDA]Comando -
Miguel - 03.09.2010
Para los que no saben, tmp2 era una "string", y para que fuera un nъmero en vez de un string se necesitaba usar
strval(string[]).
їComo?
pawn Код:
("kills", strval(tmp2)) // tmp2 se pasa a un numero entero.