GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Winklevows le 11 Décembre 2010, 15:03:31

Titre: Text qui ne s'affiche pas entièrement
Posté par: Winklevows le 11 Décembre 2010, 15:03:31
Bonjour,
J'ai un petit problème, oui de débutant je l'avoue, quoi qu'il en soit j'arrive pas à le régler.

Voici le code :
if(udb_Exists(PlayerName(playerid))) {
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
format(string, sizeof(string), "Bonjour %s,\nVous êtes inscrit sur ce serveur. Connectez-vous pour pouvoir jouer.\nPour cela, tapez votre mot de passe:", playername);
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Connexion", string, "Valider", "Quitter");
}
Et sa affiche :
Citer
Bonjour NOM,
Vous êtes inscrit sur ce serveur. Connectez-vous pour pouvoir jouer.
Pour cela, ta
(la fin de la phrase ne s'affiche pas)

Comment régler ce (petit) problème ?
Titre: Re : Text qui ne s'affiche pas entièrement
Posté par: cristab le 11 Décembre 2010, 15:29:27
Bonjour

enfaite a mon avis ta variable string est trop petite augmente la un peu
Titre: Re : Text qui ne s'affiche pas entièrement
Posté par: Winklevows le 11 Décembre 2010, 15:47:02
Effectivement, je ne savais pas qu'il y avait une limite de taille  :)

Merci ;)

Au départ j'avais sa:
new string[100];
J'ai remplacé 100 par 200 et sa fonctionne, je peux mettre le nombre que je veux ? Ou si je met un nombre trop grand il risque d'y avoir des problèmes ?
Titre: Re : Text qui ne s'affiche pas entièrement
Posté par: cristab le 11 Décembre 2010, 15:54:21
trop grand sa ne sert a rien tu lui met ce que tu as besoin
Titre: Re : Text qui ne s'affiche pas entièrement
Posté par: Xartrick le 11 Décembre 2010, 16:13:03
Salut,

La taille du tableau importe car le temps d’exécution est plus grand quand le tableau est plus grand.
Le mieux est d’essayer de simuler la taille maximum de ton tableau.

Voici ce que cela donne pour toi:


Citation de: Simulation
Pseudo: MAX_PLAYER_NAME = 24 caractères
Phrase: Bonjour , Vous êtes inscrit sur ce serveur. Connectez-vous pour pouvoir jouer. Pour cela, tapez votre mot de passe: = 115 caractères.

24 + 115 = 139 caractères

Tu dois mettre la taille du tableau à 140 (j'aime les nombres ronds en plus), car il faut toujours prévoir une place en plus pour le caractère null (/0).
Ensuite, tu peut être sûr que le reste ne sera jamais utilisé !

PS: Le caractère \n indique un retour à la ligne et se traduit en un seul caractère (merci à Sim !).

PS2: http://www.gtaonline.fr/forums/index.php/topic,7645.0.html (http://www.gtaonline.fr/forums/index.php/topic,7645.0.html) ;)
Titre: Re : Text qui ne s'affiche pas entièrement
Posté par: Winklevows le 11 Décembre 2010, 18:08:45
Merci Xartrick, j'avais déjà vu ce lien mais je ne savais pas ce qu'était un "tableau de chaine" donc je ne comprenais pas,

Maintenant grâce à vous je sais :)
J'aime beaucoup ce forum parce que les membres sont vraiment aidant et très sympa !

Merci