19.09.2015, 11:53
[CENTER]Bonjour а tous et а toutes !
Voici un tutoriel permettant la crйation d'un textdraw sйlectionnable permettant l'affichage de la date.
[COLOR="Red"]Pour avoir un rйsultat parfait, veuillez bien suivre le tutoriel. Si vous avez encore un problиme au rйsultat final contacter moi en privй.
Sachez qu'apprendre sans COPIER/COLLER n'est pas une chose aisйe, mais essayer tout de mкme. [/COLOR][/CENTER]
Йtape 1 :
Pour commencer il va falloir dйclarer plusieurs variables :
Йtape 2 :
Une fois les variables dйclarйes, il faut afficher notre textdraw statique а l'йcran.
Placer donc ce code dans la callback OnPlayerConnect :
N'oubliez pas de dйtruire le textdraw а la dйconnexion du joueur dans OnPlayerDisconnect :
Йtape 3 :
Voici la derniиre йtape.
А ce stade, nous avons nos variables dйclarйes ainsi qu'un textdraw statique а l'йcran. Il nous reste plus qu'а rendre l’aperзu du curseur de notre souris а l'йcran et de cliquer sur le textdraw.
Sans plus attendre dans OnPlayerKeyStateChange :
Et enfin la partie la plus importante du tutoriel :
Le tutoriel est terminй, maintenant vous avez tout sous la main pour crйer plein de textdraw cliquable.
Les explications sous toutes expliquйes en commentaire dans le CODE SOURCE.
Voici un tutoriel permettant la crйation d'un textdraw sйlectionnable permettant l'affichage de la date.
[COLOR="Red"]Pour avoir un rйsultat parfait, veuillez bien suivre le tutoriel. Si vous avez encore un problиme au rйsultat final contacter moi en privй.
Sachez qu'apprendre sans COPIER/COLLER n'est pas une chose aisйe, mais essayer tout de mкme. [/COLOR][/CENTER]
Йtape 1 :
Pour commencer il va falloir dйclarer plusieurs variables :
Code:
new PlayerText:Heure[MAX_PLAYERS]; [COLOR="Red"]// Dйclaration de la variable de type PlayerText.[/COLOR]
new jour, mois, ans; [COLOR="red"]// Dйclaration des 3 variables pour afficher la date[/COLOR].
Йtape 2 :
Une fois les variables dйclarйes, il faut afficher notre textdraw statique а l'йcran.
Placer donc ce code dans la callback OnPlayerConnect :
Code:
Heure[playerid] = CreatePlayerTextDraw(playerid, 300.0000, 300.5000, "Tutoriel par Scozor (Scol-Ben)"); [COLOR="Red"]// Assigne la crйation du textdraw а la variable.[/COLOR]
PlayerTextDrawAlignment(playerid, Heure[playerid], 0); [COLOR="red"]// Gиre la mise en forme du textdraw.[/COLOR]
PlayerTextDrawFont(playerid, Heure[playerid], 2); [COLOR="red"]// Gиre la mise en forme du textdraw.[/COLOR]
PlayerTextDrawLetterSize(playerid, Heure[playerid], 0.2999,1.4000); [COLOR="red"]// Gиre la mise en forme du textdraw.[/COLOR]
PlayerTextDrawColor(playerid, Heure[playerid], -1); [COLOR="red"]// Gиre la mise en forme du textdraw.[/COLOR]
PlayerTextDrawSetOutline(playerid, Heure[playerid], 0); [COLOR="red"]// Gиre la mise en forme du textdraw.[/COLOR]
PlayerTextDrawSetProportional(playerid, Heure[playerid], 1); [COLOR="red"]// Gиre la mise en forme du textdraw.[/COLOR]
PlayerTextDrawSetShadow(playerid, Heure[playerid], 1); [COLOR="red"]// Gиre la mise en forme du textdraw.[/COLOR]
PlayerTextDrawSetSelectable(playerid, Heure[playerid], true); [COLOR="red"]// Permets de rendre le textdraw sйlectionnable.[/COLOR]
PlayerTextDrawShow(playerid, PlayerText:Heure[playerid]); [COLOR="red"]// Affiche le textdraw а l'йcran du joueur.[/COLOR]
N'oubliez pas de dйtruire le textdraw а la dйconnexion du joueur dans OnPlayerDisconnect :
Code:
PlayerTextDrawDestroy(playerid, Heure[playerid]); [COLOR="Red"]// Dйtruit le textdraw heure.[/COLOR]
Йtape 3 :
Voici la derniиre йtape.
А ce stade, nous avons nos variables dйclarйes ainsi qu'un textdraw statique а l'йcran. Il nous reste plus qu'а rendre l’aperзu du curseur de notre souris а l'йcran et de cliquer sur le textdraw.
Sans plus attendre dans OnPlayerKeyStateChange :
Code:
if(newkeys == KEY_YES) [COLOR="Red"]// Lorsque le joueur presse la touche Y de son clavier.[/COLOR]
{
SendClientMessage(playerid, 0xFFCC99FF, "Vous pouvez dйsormer cliquer sur un texte а l'йcran pour l'utiliser.");
SelectTextDraw(playerid, 0xD70000FF);
return 1;
}
Et enfin la partie la plus importante du tutoriel :
Code:
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
if(_:playertextid != 65535) [COLOR="Red"]// La condition vйrifie si l'id du textdraw est diffйrent de 65535.[/COLOR]
{
if(playertextid == Heure[playerid]) [COLOR="red"]// Lorsque le joueur sйlectionne le textdraw heure.[/COLOR]
{
new string[64]; [COLOR="red"]// Variable pour afficher le texte.[/COLOR]
new mtext[20]; [COLOR="red"]// Dйclaration d'une nouvelle variable permettant d'afficher un texte selon le mois.[/COLOR]
getdate(ans, mois, jour); [COLOR="red"]// On stock la date de l'ordinateur dans nos 3 variables.[/COLOR]
if(mois == 1) { mtext = "Janvier"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 2) { mtext = "Fevrier"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 3) { mtext = "Mars"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 4) { mtext = "Avril"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 5) { mtext = "Mai"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 6) { mtext = "Juin"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 7) { mtext = "Juillet"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 8) { mtext = "Aout"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 9) { mtext = "Septembre"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 10) { mtext = "Octobre"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 11) { mtext = "Novembre"; } [COLOR="red"]// Condition et attribution.[/COLOR]
else if(mois == 12) { mtext = "Decembre"; } [COLOR="red"]// Condition et attribution.[/COLOR]
format(string, sizeof(string), "~w~%02d %s %d", jour, mtext, ans);
GameTextForPlayer(playerid, string, 5000, 1); [COLOR="red"]// Texte а l'йcran pendant 5 secondes.[/COLOR]
}
CancelSelectTextDraw(playerid); [COLOR="red"]// Annule la sйlection du textdraw avec la souris.[/COLOR]
}
return 1;
}
Le tutoriel est terminй, maintenant vous avez tout sous la main pour crйer plein de textdraw cliquable.
Les explications sous toutes expliquйes en commentaire dans le CODE SOURCE.