GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Jcvag44800 le 04 Janvier 2011, 19:00:32

Titre: [RESOLU] TextDrawForPlayer reste affiché
Posté par: Jcvag44800 le 04 Janvier 2011, 19:00:32
Salut à tous !

Voila, je vais bientôt m'appreter à partager mon script & j'ai une question

J'ai fait ce code

        new Text:text = TextDrawCreate(5.0, 400.0,Text_Minimap);
   TextDrawUseBox(text, 0);
TextDrawFont(text, 3);
TextDrawSetShadow(text,0);
TextDrawSetOutline(text,1);
TextDrawBackgroundColor(text,0xDFDFDFFF);
TextDrawColor(text,0xFF0000FF);
TextDrawShowForPlayer(playerid, text);

J'ai mit le forward bref pas de problème de ce côté
Mais quand je fait la commande qui execute ce TextDrawForPlayer & que je refait une autre commande qui affiche à ce tour un autre TextDrawForPlayer, le TextDrawForPlayer de la première commande reste affiché & les 2 textdrawforplayers sont donc
collés oO

Merci à vous

PS : Résolu http://wiki.sa-mp.com/wiki/TextDrawDestroy (http://wiki.sa-mp.com/wiki/TextDrawDestroy)
Titre: Re : [RESOLU] TextDrawForPlayer reste affiché
Posté par: Xartrick le 04 Janvier 2011, 21:04:49
Si tu met les deux TextDraw à la même position, c'est tout à fait normal.
Titre: Re : [RESOLU] TextDrawForPlayer reste affiché
Posté par: Brian Turner le 05 Janvier 2011, 08:51:16
Salut,

J'ai deja expliquer sa sur un poste recent qui avait le meme probleme, fais une recherche sa tue pas.

Bref, tu doit mettre ton new Text:text; en haut de ton script, et apres dans ta cmd, tu fait un TextDrawDestroy(text); (mais avant de le recreer le textdraw) puis tu recreer ton textdraw comme sa:
Code: (pawn) [Sélectionner]
text = TextDrawCreate(5.0, 400.0,Text_Minimap);
   TextDrawUseBox(text, 0);
TextDrawFont(text, 3);
TextDrawSetShadow(text,0);
TextDrawSetOutline(text,1);
TextDrawBackgroundColor(text,0xDFDFDFFF);
TextDrawColor(text,0xFF0000FF);
TextDrawShowForPlayer(playerid, text);

J'espere avoir été clair.

++ Brian
Titre: Re : [RESOLU] TextDrawForPlayer reste affiché
Posté par: Ssk le 05 Janvier 2011, 09:01:11
Pas besoin de recréer le textdraw à chaque fois ^^

J'explique, alors tu met new Text:text; en variable Globale ( en haut du script ), ensuite dans OnGameModeInit( )

Tu fait ton

text = TextDrawCreate(5.0, 400.0,Text_Minimap);
    TextDrawUseBox(text, 0);
TextDrawFont(text, 3);
TextDrawSetShadow(text,0);
TextDrawSetOutline(text,1);
TextDrawBackgroundColor(text,0xDFDFDFFF);
TextDrawColor(text,0xFF0000FF);

Et dans OnPlayerConnect( playerid ), tu met

TextDrawShowForPlayer(playerid, text);
ensuite dans ta commande, ne met surtout pas TextDrawDestroy, mais met TextDrawHideForPlayer qui cache le textdraw à tout les joueurs présents ^^
Titre: Re : [RESOLU] TextDrawForPlayer reste affiché
Posté par: Jcvag44800 le 05 Janvier 2011, 14:21:11
Merci à vous mais

C'était écris résolu  :)
J'avais trouvé mon bonheur  8)

Merci comme même avous