[AYUDA]Comando
#1

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!
Reply
#2

pero no entiendo, el comando te tira error? o lo keres agregar a ti sist de administracion?
se mas especifico
Reply
#3

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.
Reply
#4

No usйs udb_hash para convertir el texto que serнa las kills a numйrico, usб strval
Reply
#5

Podrias darme un ejemplo porfavor *.*
Esque estoy algo Noob con Dini, y pues la verdad nunca me habia hecho falta
Reply
#6

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");
}
Reply
#7

Muchas gracias ^^ Funciono correctamente.
Reply
#8

De nada.
Reply
#9

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)