[AYUDA]Problema
#1

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

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
Reply
#3

Si eso creнa pero me das un ejemplo de que mal uso puede ser??
Reply
#4

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
Reply
#5

Ya me fije todo y no encontrй ninguno

EDIT:Puede ser otra cosa
Reply
#6

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

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

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

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

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
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)