GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: yah00078 le 01 Octobre 2007, 18:11:32
-
Bonjour chere amis,
J'ai un enorme probleme :'(
Mon serveur a toujours bien marchr , no problem
et comme ca sans que je ne touche a rien, il a planter, depuis il pante puit s'éteint assez regulierement.
Que faire, car pou rmoi c'est un véritable probleme aidez moi merci
Merci beaucoup a vous tous
-
Moi personnelement, Depuis que SA-MP 0.2.2 est sortie je me méfit beaucoup des TextDraw, Fais pareil ;)
-
Pour savoir où plante un serveur, rien de plus facile, il suffit de mettre des printf un peu partout et de voir le dernier qui s'affiche (ou plutôt, le dernier enregistré dans le fichier log du serveur), l'erreur se trouve à une des lignes situé entre ce dernier printf et le suivant.
Tu peux ensuite affiner la recherche de la ligne incriminée en rajoutant des printf dans la zone où ça plante.
Exemple :
public OnGameModeInit ()
{
printf ("Debut OnGamModeInit");
UsePlayerPedAnim();
....
printf ("Avant ajout de véhicules");
AddStaticVehicle (.....);
...
printf ("Fin OnGameModeInit");
}
Voilà, c'est très empirique comme solution mais crois en un vieux brisquard de la programmation, c'est infaillible.
++
Syg
-
merci syg je ves tester sa parce que moi mon server crash pour rien tout est parfai tout est bien compiler et sa crash
-
Tiens nous au courant de ce que tu as trouvé, ça intéresse tout le monde.
++
Syg
-
Merci jve tester aussi :)
-
re :)
le probleme c'est pas qu'il plante au début c'est k'en plein de jeu (il reste allumer 3h kan ya du monde et otant kon veu kan y a personne )
et pui poum il plante et seteint
-
Et ben tu mets des traces dans la totalité de ton script.
L'exemple que je t'ai donné ne concernait que la fonction OnGameModeInit mais tu peux faire ça dans toutes les fonctions.
Avec des traces éprouvées qui reprennent le nom de la fonction dans laquelle elles se trouvent :
printf ("{OnGameModeinit} - Ajout des véhicules");
ou
printf ("{OnPlayerConnect} - Connexion du joueur %d", playerid);
etc etc ...
++
Syg
-
Jve le faire mais je voi pas pourquoi tous d'un coup il se met a planter alors que je nest rien changer depui 2semaine :s
-
voila j'ai installer les print mais il j'ai aps trouver lerreur pourtant il y a des printf partou Mais le serveur plante tjs quand ya beaucoup de monde et rien qui s'affiche , que faire????:'(:'(:'(:'(
merci
-
Ce qui est important, c'est la dernière trace de ton serveur.
Tu peux la trouver dans le fichier server_log.txt à la dernière ligne (ou juste un peu avant car des fois le serveur trace de lui-même).
A partir de cette denière trace, tu auras une idée de l'endroit où ton serveur plante.
++
Syg