[Problema] Y_INI - INI_WriteInt -
LiMPiTo - 30.01.2015
Bien, tengo un problema al guardar un numero entero en Y_INI, el problema es que el valor de la variable
NegociosDatos[BizzID][nBeenRobbed] es 1422644434 (1.422.644.434) debido a que uso
gettime, creo yo que al ser demaciados nъmeros no se puede guardar. Al intentar guardarlo con un comando salta automбticamente
SERVER: Unknown command. (yo creo que es porque el nъmero es muy grande), їalguna soluciуn? lo ъnico que se me ocurriу es guardarlo en dos variables separadas (en una "14226" y en otra "44434") y despuйs juntarlas haciendo el valor real.
Код:
INI_WriteInt(BizzDataAll, "BeenRobbed", NegociosDatos[BizzID][nBeenRobbed]);
PD: Estб demбs decir que eliminando el guardado de esta variable el guardado funciona correctamente.
EDIT: Creo que tambiйn puedo hacerlo en string y luego convertirlo en valor con
strval, pero si alguien tiene una mejor soluciуn por favor...!
Respuesta: [Problema] Y_INI - INI_WriteInt -
jotajeda - 30.01.2015
Tienes que sanitizar esa variable antes de usarla, debe de aceptar un numero de -2147483648 al 2147483647, se debe guardar correctamente porque apenas tienes 1422644434, prueba haciendo lo siguiente.
Condicional ternaria.
pawn Код:
INI_WriteInt(BizzDataAll, "BeenRobbed", NegociosDatos[BizzID][nBeenRobbed] = (0 >= NegociosDatos[BizzID][nBeenRobbed] < 2147483600) ? (NegociosDatos[BizzID][nBeenRobbed]) : (print("NUMERO INCORRECTO PARA ALMACENAR")) );
Re: Respuesta: [Problema] Y_INI - INI_WriteInt -
LiMPiTo - 30.01.2015
Quote:
Originally Posted by jotajeda
Tienes que sanitizar esa variable antes de usarla, debe de aceptar un numero de -2147483648 al 2147483647, se debe guardar correctamente porque apenas tienes 1422644434, prueba haciendo lo siguiente.
Condicional ternaria.
pawn Код:
INI_WriteInt(BizzDataAll, "BeenRobbed", NegociosDatos[BizzID][nBeenRobbed] = (0 >= NegociosDatos[BizzID][nBeenRobbed] < 2147483600) ? (NegociosDatos[BizzID][nBeenRobbed]) : (print("NUMERO INCORRECTO PARA ALMACENAR")) );
|
Gracias por responder, no sale el unknown cmd pero de todas formas sale el warning del NUMERO INCORRECTO PARA ALMACENAR en la consola, por ende no guarda el tiempo dentro del archivo.
Respuesta: Re: Respuesta: [Problema] Y_INI - INI_WriteInt -
jotajeda - 30.01.2015
Quote:
Originally Posted by LiMPiTo
Gracias por responder, no sale el unknown cmd pero de todas formas sale el warning del NUMERO INCORRECTO PARA ALMACENAR en la consola, por ende no guarda el tiempo dentro del archivo.
|
A entonces te imprime de que el numero es imvalido, entonces simplemente estбs almacenando un numero mayor del permitido en sistema de 32bit, tienes que ver que no supere ese numero, o talvez tengas alguna funcion mal hecha que lo que hace es darle esa tremenda cantidad de numeros en esa variable
Re: [Problema] Y_INI - INI_WriteInt -
LiMPiTo - 30.01.2015
Ya estб lo solucione guardandolo con texto y usando strval. Gracias de todas formas
Respuesta: [Problema] Y_INI - INI_WriteInt -
Zume - 30.01.2015
Pudiste convertirlo a string con strval? podrнas mostrarme el cуdigo?
Re: Respuesta: [Problema] Y_INI - INI_WriteInt -
LiMPiTo - 31.01.2015
Quote:
Originally Posted by _Zume
Pudiste convertirlo a string con strval? podrнas mostrarme el cуdigo?
|
Ejemplo:
pawn Код:
if(strval(NegociosDatos[BizzID][nBeenRobbedSave]) > 0) // uso de if
pawn Код:
format(NegociosDatos[MyNearBizz][nBeenRobbedSave], MAX_TEXTOS_CORTOS, "%i", gettime() + MAX_TIME_ROB); // cambiarle el valor / texto
pawn Код:
INI_WriteString(BizzDataAll, "BeenRobbed", NegociosDatos[BizzID][nBeenRobbedSave]); // guardado