GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Tutoriels et références SA:MP => Discussion démarrée par: Xolokos le 09 Juillet 2011, 13:43:32

Titre: [TUTORIEL] 3DTextLabel !
Posté par: Xolokos le 09 Juillet 2011, 13:43:32
Les 3DTextLabel ?



Les 3DTextLabel c'est quoi au juste ?

Un 3DTextLabel c'est quoi voyons !
Un 3DTextLabel est un Texte en 3D qui peut être ou non attaché a un objet mouvant telle qu'une voiture ou un joueur tout comme il peut être attaché au sol a une position X-Y-Z donné !

Ce texte bouge suivant la position du joueur qui le vois pour être affiché correctement.

PHOTO :

(http://i.imgur.com/SrMmI.png)

Maintenant que vous savez ce que c'est ?! TP !

Voici les fonctions qui nous permettrons de touché aux 3DTexteLabel :

  • Create3DTextLabel Permet de créer un 3DTextLabel simple.
  • Delete3DTextLabel Permet de le détruire.
  • Attach3DTextLabelToPlayer Permet d'attaché un 3DTextLabel a un joueur.
  • Attach3DTextLabelToVehiclePermet d'attaché un 3DTextLabel a un véhicule.
  • Update3DTextLabelText Permet de mettre a jour un 3DTextLabel de le rafraichir si vous voulez.
  • CreatePlayer3DTextLabel Permet de créer un 3DTextLabel pour un joueur.
  • DeletePlayer3DTextLabel Permet de le détruire.
  • UpdatePlayer3DTextLabelText Permet de le mettre a jour !

Commençon !

Dans l'ordre donc ! Create3DTextLabel(text[], color, Float:X, Float:Y, Float:Z, Float:DrawDistance, virtualworld, testLOS) suivant Wikipedia SA:MP la bible SA:MP.

Text[] le texte que vous voulez mettre avec des "", color la couleur en hexadécimal, Cordonné X, Y, Z, DrawDistance la distance a la quelle vous voyer le texte, le Virtual World (VW) ou vous voulez qu'il sois 0 a la base, testLOS si on peut le voir a travers les murs 0 non, 1 oui.

Citer
Remarque sur color de Ssk :

Citer
Par exemple pour faire du rouge, on fais 0xFF0000FF en hexadécimal mais on peut très bien entrer 4278190335 en nombre base 10 vu que 0xFF0000FF vaut 4278190335.

Donc tu devrai dire, qu'il faut entrer la couleur au forme Rouge, vert, bleu, alpha ( transparence ) comme ça tout le monde comprend.

N'oublier pas qu'il y a des logiciels pour les couleurs Hexadécimal de la forme 0xFFFFFFFF seconde remarque : les 2 derniers FF représente la transparence (Alpha) de la couleur en exemple 0xFFFFFF00 la vous ne verrais rien 100 % transparent; AA 50 % transparent et FF Opaque 0 % transparent vous verrez la couleur a 100 %.

Résumé 2 dernières lettres Hexadécimal transparence :
00 Transparent.
AA Semi-Transparent.
FF Opaque.

En exemple dans OnGameModeInit() :

Create3DTextLabel("Repose en paix\nPote Kenny",0xFFFFFFFF,0,0,0,25,0);
Ce code créé un 3DTexteLabel avec le Texte Repose en paix (\n passe une ligne) Pote Kenny avec la couleur blanche au coordonnées 0 , 0 , 0 qui peut être vu a 25 mètre au alentour et qui ne peut être vu a travers les murs.

Comme dirais un pote a moi :
Il est mort.

Delete3DTextLabel(Text3D:id)
Vous avez compris l'utilité de la fonction j'espère ! Hein ? Non !

Exemple :
Qui sert a rien tu le créé tu le détruis mais c'est a vous de savoir ou le mettre !

new Text3D:Amen;
Amen = Create3DTextLabel("Repose en paix\nPote Kenny",0xFFFFFFFF,0,0,0,25,0);
Delete3DTextLabel(Amen);

Attach3DTextLabelToPlayer(Text3D:id, playerid, Float:OffsetX, Float:OffsetY, Float:OffsetZ)
A un truc utile !
Text3D:id et oui il faut un Text créer pour l'attaché, playerid personne sur la quelle vous voulez la mettre, coordonné X, Y, Z la faut juste ajouté du Z en exemple 0, 0, 1 le reste ne sert presque a rien a part si vous voulez que le Texte sois a 5 mètre a gauche du joueur.

Exemple :

Avec ça le mec ce tape la honte !

new Text3D:Amen;
Amen = Create3DTextLabel("Kenny re-vie !\n South Park fan !",0xFFFFFFFF,0,0,0,25,0);
Attach3DTextLabelToPlayer(Amen, playerid, 0.0, 0.0, 0.7);

Attach3DTextLabelToVehicle(Text3D:id, vehicleid, Float:OffsetX, Float:OffsetY, Float:OffsetZ)
Même principe sauf que la faut que vous créez un véhicule et le stocké dans une variable ! Un peut plus long certes !

new Text3D:Amen;
new VehicleID;
Amen = Create3DTextLabel("J't'écrasse !",0xFFFFFFFF,0,0,0,25,0);
VehicleID = CreateVehicle( 475, 0.0. 0.0, 5.0, 5, 0, 120 );
Attach3DTextLabelToVehicle(Amen, VehicleID , 0.0, 0.0, 0.7);

Update3DTextLabelText(Text3D:id, color, text[])
Je pense que vous avez compris non bon je ne demande plus... Le principe mettre a jour un 3DTexteLabel !
Text3D:id ID du Texte stocké dans une variable (new), color la couleur, text[] le nouveau texte a mettre !

new Text3D:Amen;
Amen = Create3DTextLabel("Je vie moi le 3DText !",0xFFFFFFFF,0,0,0,25,0);
Update3DTextLabelText(Amen, 0xFFFFFFFF, "En faite tu ne vie plus !")

CreatePlayer3DTextLabel(playerid, text[], color, Float:X, Float:Y, Float:Z, Float:DrawDistance, attachedplayer, attachedvehicle, testLOS)
Piouf ! Mamamia ! Celui qui a codé cette fonction a pété son string ! C'est pour créer un 3DText uniquement a 1 seul joueur spécifiquement il seras le seul a le voir.
playerid suis qui vas voir le 3DText, text[] le texte a mettre avec des "", color la couleur, les coordonné X,Y,Z, la distance d'affichage, la personne a attaché le 3DText INVALID_PLAYER_ID pour ne pas en mettre un, le Véhicule pour ne pas en mettre un INVALID_VEHICLE_ID, si on le vois a travers les murs.

(Remarque les attachedplayer et attachedvehicle peuvent êtres zappé.)

new Float:X, Float:Y, Float:Z;
GetPlayerPos( playerid, X, Y, Z );
CreatePlayer3DTextLabel(playerid,"Kenny est mort ici.",0xFFFFFFFF,X,Y,Z,40.0);

DeletePlayer3DTextLabel
Même principe que le Delete3DTextLabel.

UpdatePlayer3DTextLabelText
Même principe que le Update3DTextLabelText.



Avec la participation de : Cartman et Xolokos.


Pas vraie Mr Toc ?
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Xolokos le 09 Juillet 2011, 14:41:38
Je peut toujours le delete.
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: MrToinou le 09 Juillet 2011, 14:45:27
Il voulais peut être donner une dose d'humour au tuto.

Merci du TuTo :)
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Gilux le 09 Juillet 2011, 16:50:26
Jerry de Cartman  :D

Bon tuto, merci  ;)
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Ssk le 09 Juillet 2011, 18:37:37
Sympa comme tuto, corrige les fautes d'orthographe et je déplacerai ce post dans les tutos
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: GtaManiac le 09 Juillet 2011, 18:48:34
Après avoir supprimer les mots vulgaires et autre mots familiers.
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Xolokos le 09 Juillet 2011, 18:54:17
J'espère que tu vien pas de le faire je vien de re-modifier !

NB, Sinon je supprime moi même.
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Hector le 10 Juillet 2011, 01:00:19
Beaux tuto et les mot vulgaire ne sont pas génent .
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: herq le 10 Juillet 2011, 04:33:22
Bon tuto pour débutant. (PS: t'en a oublié un accoté du logo cartman :p )
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Syg le 11 Juillet 2011, 10:23:06
Si, les mots vulgaires et les insultes sont gênantes.
Les débutants (et les autres d'ailleurs) ne sont pas là pour se faire insulter et ce, dès les premières phrases.
Quand on lit le passage qui dit "Si vous ne savez pas ça vous êtes un 0 un raté !", on risque d'arrêter de lire.
De plus, ce genre de remarques risque de vous faire passer pour des gens qui se croient au dessus des autres et considèrent ceux qui ne savent pas comme des moins que rien. Ce n'est pas une attitude correcte quand on veut être lu.

Dans un tuto, il ne faut pas prendre à partie le lecteur, il faut se contenter d'expliquer. Mais on peut tout à fait le faire avec humour (les grossièretés n'en font pas forcément partie).

Donc corrige ta copie.

++
Syg
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Ssk le 11 Juillet 2011, 11:27:41
Si ce n'est pas corrigé très bientôt, je serai dans l'obligation de supprimer le post ;)

ça fais la troisième fois qu'on te le dis ^^


Sinon, une petit ambiguïté tu dis que les couleurs doivent être entrées en Hexadécimal, mais par exemple pour faire du rouge, on fais 0xFF0000FF en hexadécimal mais on peut très bien entrer 4278190335 en nombre base 10 vu que 0xFF0000FF vaut 4278190335 ^^

Donc tu devrai dire, qu'il faut entrer la couleur au forme Rouge, vert, bleu, alpha ( transparence ) comme ça tout le monde comprend ^^
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Xolokos le 11 Juillet 2011, 12:06:29
Après j'ai dis "J'exagère un peut !" c'est pour rire mais bon si on trouve ça gênant, [PUSH DELETE] voilà c'est fait pour les couleurs je le fait now.
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: ShaDowxx™ le 12 Juillet 2011, 16:58:54
Salut,

Nice Work !

Cordialement Julien62430.
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Xolokos le 15 Juillet 2011, 10:49:25
Voilà j'ai essayé d'évité les fautes d'orthographes... Et supprimé les familiarités.
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Ssk le 15 Juillet 2011, 10:55:38
Il en reste pas mal, mais elles ne sont pas grave, je déplace.
Titre: Re : [TUTORIEL] 3DTextLabel !
Posté par: Xolokos le 15 Juillet 2011, 10:59:08
Je vais révisé mes cours d'orthographes ^^*
Titre: Re : Re : [TUTORIEL] 3DTextLabel !
Posté par: Ssk le 15 Juillet 2011, 11:53:52
Je vais réviser mes cours d'orthographe ^^*
:p