[AYUDA]Problema(Sin soluciуn aun) -
Fluid016 - 14.12.2011
Hola forum samp, bueno mi problema es que cuando puse el crashdetect para ver que me largaba en su log me puso esto
[20:17:22]: The server has been crashed by 'gamemodes\DM.amx'.
[20:17:22]: Call stack (most recent call first):
[20:17:22]: 0x0001E5B4 => native format()
Que tengo que solucionar para no causar ese crash??
Gracias de ante mano
Respuesta: [AYUDA]Problema -
Jovanny - 14.12.2011
estas dandole un mal uso a la funciуn "format" busca en todo tu script esta funciуn con el buscador de pawn y analizala
Respuesta: [AYUDA]Problema -
Fluid016 - 14.12.2011
Si eso creнa pero me das un ejemplo de que mal uso puede ser??
Respuesta: [AYUDA]Problema -
Jovanny - 14.12.2011
Puede ser que estes incluyendo una variable que no estes mostrando el especificador en el formato, la verdad no se si esto crashearia el servidor pero aqui tienes el ejemplo para que veas y busques
pawn Код:
new string[32],name[24];
GetPlayerName(playerid,24,name);
format(string,32,"Hola %s tu id es: ",name,playerid);// no puse %d para mostrar el playerid, podria causar crash, la verdad no lo se
Respuesta: [AYUDA]Problema -
Fluid016 - 15.12.2011
Ya me fije todo y no encontrй ninguno
EDIT:Puede ser otra cosa
Re: [AYUDA]Problema -
Daniel-92 - 15.12.2011
Seguramente estas usando mal el parametro que indica el tamaсo en la funciуn format
pawn Код:
new string[128]; //arrar de 128 celdas
format(string,256,"Cualquier texto que sobre pase el tamaсo de 128 caracteres harian que el server se cierre")
//El 256 que lleva el format indica el tamaсo que puede tener el array
//este nъmero nunca debe ser mayor al del array que en este ejemplo es de 128
La soluciуn es aumetar el tamaсo del array al que pusistes en el format quedando asн.
pawn Код:
new string[256]; //array 256 celdas
format(string,256,"Ahora el server no se cerraria aunque se pasen los 256 caracteres");
Respuesta: Re: [AYUDA]Problema -
TheChaoz - 15.12.2011
Quote:
Originally Posted by Daniel-92
Seguramente estas usando mal el parametro que indica el tamaсo en la funciуn format
pawn Код:
new string[128]; //arrar de 128 celdas format(string,256,"Cualquier texto que sobre pase el tamaсo de 128 caracteres harian que el server se cierre") //El 256 que lleva el format indica el tamaсo que puede tener el array //este nъmero nunca debe ser mayor al del array que en este ejemplo es de 128
La soluciуn es aumetar el tamaсo del array al que pusistes en el format quedando asн.
pawn Код:
new string[256]; //array 256 celdas format(string,256,"Ahora el server no se cerraria aunque se pasen los 256 caracteres");
|
Por mas q lo que dices paresca correcto, no lo es. La funcion "format" esta diseсada para evitar un overflow por lo que el servidor no crasheara. Mi sugerencia es mirar cuando crashea y comenzar a aislar codigo hasta que encuentres la linea exacta, en ese punto si no puedes resolver el crash editas y nos avisas y te podremos ayudar mucho mas facilmente.
Re: [AYUDA]Problema -
Daniel-92 - 15.12.2011
En realidad la funciуn format no estб preparada para eso
pawn Код:
new string[5];
format(string,64,"Cualquier texto que no alcanse en el array");
print(string);
si se intenta hacer eso, posiblemente en la consola se muestre todo el texto que estб en el format,
pero donde alcanzу todo ese texto si el array apenas tiene 5 espacios? lo que pasу es que hubo un desbordamiento de buffer y el texto que no alcanzу se almacenу en otras variables que al final esto puede acabar cerrando en servidor.
Respuesta: Re: [AYUDA]Problema -
TheChaoz - 15.12.2011
Quote:
Originally Posted by Daniel-92
En realidad la funciуn format no estб preparada para eso
pawn Код:
new string[5]; format(string,64,"Cualquier texto que no alcanse en el array"); print(string);
si se intenta hacer eso, posiblemente en la consola se muestre todo el texto que estб en el format,
pero donde alcanzу todo ese texto si el array apenas tiene 5 espacios? lo que pasу es que hubo un desbordamiento de buffer y el texto que no alcanzу se almacenу en otras variables que al final esto puede acabar cerrando en servidor.
|
en realidad probe en windows y linux (varias veces de diferentes formas) y por eso afirme que no se causa el crash.
Respuesta: [AYUDA]Problema -
Fluid016 - 15.12.2011
No no pude solucionar el problema ese error me lo larga cuando crashea el servidor y el servidor crashea cuando ahy mucha gente y se conecta uno mas
EDIT: Entonces que es lo que hace el crash porque el servidor crashea cuando se conecta alguien (si ahн mucha gente si no no crashea mas) y en el log del crashdetect me larga eso nomas