• 05 Juin 2026, 23:08:44


Auteur Sujet: [Tuto] Crée un Textdraw  (Lu 6197 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
[Tuto] Crée un Textdraw
« le: 16 Septembre 2009, 12:59:13 »
Tutoriel sur les TextDraw




Déjà, pour ceux qui ne le savent pas... qu'est ce que c'est ?
Un Textdraw, c'est un texte affiché sur son écran quand on joue à GTA SA-MP, le plus souvent en gros.

Voici un exemple de textdraw :




Maintenant que vous savez ce que c'est, passons au scripting de la bette :


Définir une variable (en haut du FS ou GM) :

new Text:loading; // vous devez changer que le mot "loading" par le nom d'une variable de votre choix!

Choisir à quel moment l'afficher (dans mon exemple je l'affiche quand un joueur se connecte au serveur) :


public OnPlayerConnect(playerid)
{
loading=TextDrawCreate(350.0, 400.0,"Chargement en cours"); // choix de la position et du texte
TextDrawUseBox(loading, 0); // n'ajoute pas de boxe derrière le texte
TextDrawFont(loading, 2); // choix d'une police d'écriture
TextDrawSetShadow(loading,0); // Affiche aucune ombre au texte
TextDrawSetOutline(loading,1); // un petit contour noir du texte
TextDrawColor(loading,0xFFFFFFFF); // couleur du textdraw
TextDrawShowForPlayer(playerid, loading); // montrer le textdraw à UN joueur
return 1;
}


Explication détaillée du script ci-dessous :

* loading=TextDrawCreate(350.0, 400.0,"Chargement en cours");
- loading : On défini à la variable qu'elle vaut la création d'un TextDraw
- TextDrawCreate : Fonction pour créer un TextDraw
- 350.0, 400.0 : Position X et Y du TextDraw sur l'écran
- Chargement en cours : Texte que va afficher le Textdraw

* TextDrawUseBox(loading, 0);
- TextDrawUseBox : Fonction pour choisir si on veut ajouter une box au TextDraw
- 0 : 0 = sans et 1 = avec

* TextDrawFont(loading,  2);
- TextDrawFont : Fonction pour choisir le type d'écriture
- 2 : ID de l'écriture, les voici :


* TextDrawSetShadow(loading,  0);
- TextDrawSetShadow : Fonction pour afficher une ombre
- 0 : Choix de l'épaisseur de l'ombre

* TextDrawSetOutline(loading, 1);
- TextDrawSetOutline : Fonction pour afficher un contour autour des lettres
- 1 : Choix de l'épaisseur des contours

* TextDrawColor(loading, 0xFFFFFFFF);
- TextDrawColor : Fonction pour choisir la couleur du texte
- 0xFFFFFFFF : Choix de la couleur

* TextDrawShowForPlayer(playerid, loading);
- TextDrawShowForPlayer : Fonction pour afficher le TextDraw à un joueur. Vous pouvez aussi utiliser :  TextDrawShowForAll(loading); pour afficher le TextDraw à tout le monde


Et voici d'autres fonctions pour les textdraws :

* TextDrawTextSize (loading, 200.0, 200.0) ;
- TextDrawTextSize : Fonction pour définir la taille du texte du TextDraw
- 200.0, 200.0 : Tailles X et Y du Texte

* TextDrawBoxColor(loading, 0x00000066);
- TextDrawBoxColor : Fonction pour définir la couleur d'une box (si vous en avez mis une)
- 0x00000066 : Couleur de la Box

* TextDrawBackgroundColor(loading, 0x000000FF) ;
- TextDrawBackgroundColor : Fonction qui ajoute un fond au TextDraw[/color]
- 0x000000FF : Couleur du fond


Et pour finir si vous voulez enlever le TextDraw à un certain moment il faut faire comme ceci (je vais reprendre l'exemple de ci-dessus et choisir d'enlever le textdraw quand un joueur arrive à la selection de personnage (la callback : OnPlayerRequestClass) :


public OnPlayerRequestClass(playerid, classid)
{
TextDrawHideForPlayer(playerid,loading);
return 1;
}

Explication du script ci-dessous :

* TextDrawHideForPlayer(playerid,loading); : fonction qui sert à effacer le TextDraw sur l'écran d'un joueur, si vosu avez choisir de montrer un TextDraw à tout les joueurs vous pouvez aussi utiliser : TextDrawHideForAll(loading);, cela servira à effacer le TextDraw pour tout le monde !


Vous voici arrivez à la fin du tutoriel, en espérant qu'il vous aura apporté des connaissances supplémentaires ;).

Bon scripting !



Metrakit, du groupe E-sky.fr.
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : [Tuto] Crée un Textdraw
« Réponse #1 le: 16 Septembre 2009, 13:19:14 »
Slt

GG, ce tutorial est très bien fait, moi qui cherchais les différentes polices d'écritures, les voilà ^^

A+ ;)

Hors ligne Dark4ng3L

  • *
  • Bandit
  • Messages: 480
    • Voir le profil
    • DecaWeb.ch - L'informatique comme vous ne l'avez jamais vu!
Re : [Tuto] Crée un Textdraw
« Réponse #2 le: 16 Septembre 2009, 13:34:28 »
Très Très Très Bon tuto!
ca vas en aider plus d'un
Gg a toi !

++ D4 ++
 8) 8)
Cordialement Dark4ng3L aussi connu sous le nom de Mathias_Martinez, Matthias_Angelo et lugia !




Hors ligne xEagl3Zx

  • *
  • Grand Banditisme
  • drift ...
  • Messages: 504
    • Voir le profil
Re : [Tuto] Crée un Textdraw
« Réponse #3 le: 16 Septembre 2009, 14:45:11 »
Euh salut ...
Mais comment tu connais la position du text ?? ... je veut dire genre je ve le foutre a droite et un autres text endessou euh ... comment on connait la position ...
..:: Vive le drift ... ::..[/u]



++TZ++

Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
Re : [Tuto] Crée un Textdraw
« Réponse #4 le: 16 Septembre 2009, 15:48:09 »
Salut, ben tu fais des tests... Déjà entraine toi a déplacer le Textdraw que j'ai mis en exemple ;).


Cordialement, MK.
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==

Hors ligne Mr_C30

  • *
  • Gangster
  • souvent conquise jamais soumise
  • Messages: 1937
    • Voir le profil
Re : [Tuto] Crée un Textdraw
« Réponse #5 le: 16 Septembre 2009, 18:26:40 »
spycker avait dis la reolution sur laqu'elle il fait prend la possiton javais esayer et sa marche niquelle par contre me rapellle  plus de celle si  :ninja



Radis du soir bonsoir !


Hors ligne Xoss

  • Xoss | Alexandre Bocquet
  • *
  • Grand Banditisme
  • Xoss | Alexandre Bocquet
  • Messages: 847
    • Voir le profil
    • UnderWeb
Re : [Tuto] Crée un Textdraw
« Réponse #6 le: 16 Septembre 2009, 19:22:58 »
GG faudrait le passer partie tuto ^^
Alexandre Bocquet Xoss

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [Tuto] Crée un Textdraw
« Réponse #7 le: 17 Septembre 2009, 02:24:33 »
Salut,

Bravo, c'est un beau tutoriel.
Par ailleurs, essai de réduire légèrement les erreurs flagrantes. (à déplacer dans la section tuto à ce moment je crois...)

Aussi il existe un fs tr;es pratique particulièrement pour placer les TextDraw, il se nomme TextDraw Editor et est disponible sur le forum de sa-mp.com

++Sim++





Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
Re : [Tuto] Crée un Textdraw
« Réponse #8 le: 17 Septembre 2009, 11:00:50 »
Citer
Par ailleurs, essai de réduire légèrement les erreurs flagrantes

Tu peux m'éclairer sur les erreurs ? S'il te plait.
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==

Hors ligne xEagl3Zx

  • *
  • Grand Banditisme
  • drift ...
  • Messages: 504
    • Voir le profil
Re : [Tuto] Crée un Textdraw
« Réponse #9 le: 17 Septembre 2009, 18:57:40 »
Oki les mec merci ...
..:: Vive le drift ... ::..[/u]



++TZ++

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [Tuto] Crée un Textdraw
« Réponse #10 le: 18 Septembre 2009, 00:08:35 »
Salut,

je peut te donner un exemple:

[quote author=jonjon link=topic=8501.msg140474#msg140474 date=1253098753]
Maintenant que vous savez ce que c'est, passons au scripting de la [color=red]bette[/color] :
[/quote]


Sinon i y a de petits détails qui pourraient être améliorer...
[quote author=jonjon link=topic=8501.msg140474#msg140474 date=1253098753]
TextDrawUseBox(loading, 0); // n'ajoute pas de boxe derrière le texte
Ici l'utilisation du terme "boxe" dans le commentaire ne donne pas vraiment d'information sur ce que c'est malheureusement (mais c'est un détail)

Explication détaillée du script ci-dessous :
en fait si tu parle du script, je crois que tu devrais dire le script ci-dessus...

* TextDrawTextSize (loading, 200.0, 200.0) ;
- TextDrawTextSize : Fonction pour définir la taille du texte du TextDraw
- 200.0, 200.0 : Tailles X et Y du Texte
Il faudrait spécifier que l'on parle de la "plage" dans laquelle le texte se trouve (cela correspond à la taille du fond que l'on peut y mettre (TextDrawUseBox)

* TextDrawBackgroundColor(loading, 0x000000FF) ;
- TextDrawBackgroundColor : Fonction qui ajoute un fond au TextDraw[/color]
- 0x000000FF : Couleur du fond
En fait cette fonction ne devrait pas ajouter un fond, mais bien en choisir la couleur...

Il y a encore 2 ou 3 petits éléments, mais bon, ce n'est pas vraiment important

Dans les choses que tu devrais ajouter :

 - le fs que j'ai déjà cité
 - Les coordonnées pour placer les texte sont basés sur un écran 640 * 480, le client fais l'ajustement pour la résolution utilisée.

++Sim++





Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
Re : [Tuto] Crée un Textdraw
« Réponse #11 le: 18 Septembre 2009, 10:51:29 »
La flemme j'y ferais quand j'aurais le temps et l'envie ;).


Cordialement, Jon.
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==