• 04 Juillet 2025, 03:54:06


Auteur Sujet: Text draw  (Lu 1959 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Dark_revan

  • Serveur RPG : *¤REAL DREAM¤*
  • *
  • Bandit
  • Script Serveur RolePlay.
  • Messages: 338
    • Voir le profil
Text draw
« le: 24 Novembre 2008, 10:20:22 »
Bonjour voila j'ai un problème avec mon text draw il ne s'affiche pas du tout j'ai essayer avec une commandes et avec onplayerconnect mais rien n'y fait je pense que j'ai des erreurs mais je ne les trouve pas. si vous pourrier m'aider  :)


forward barreInventaire(playerid,targetid);
public barreInventaire(playerid,targetid)
{
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
{

    barinventaire = TextDrawCreate(503.000000,111.000000,"Charge");
        TextDrawAlignment(barinventaire,0);
        TextDrawBackgroundColor(barinventaire,COLOR_BLUE);
        TextDrawFont(barinventaire,3);
        TextDrawLetterSize(barinventaire,1.000000,1.000000);
        TextDrawColor(barinventaire,COLOR_RED);
        TextDrawSetOutline(barinventaire,1);
        TextDrawSetProportional(barinventaire,1);
        TextDrawSetShadow(barinventaire,1);
    }
    return 1;
}

sa ses mon public et ensuite y a les commandes

if (strcmp(cmd, "/chargeon", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
if (gPlayerLogged[playerid] != 0)
{
TextDrawShowForPlayer(playerid,barinventaire);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "   Vous n'êtes pas connecté !");
}
}
return 1;
}
if (strcmp(cmd, "/chargeoff", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
if (gPlayerLogged[playerid] != 0)
{
TextDrawHideForPlayer(playerid,barinventaire);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "   Vous n'êtes pas connecté !");
}
}
return 1;
}

Merci de m'aider.

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Text draw
« Réponse #1 le: 24 Novembre 2008, 19:07:33 »
Faut pas mettre en haut du script un

new TEXT: textdraw balbla

??  :blink (je demande parce que je ne suis pas sur ^^ )

^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Dark_revan

  • Serveur RPG : *¤REAL DREAM¤*
  • *
  • Bandit
  • Script Serveur RolePlay.
  • Messages: 338
    • Voir le profil
Re : Text draw
« Réponse #2 le: 24 Novembre 2008, 20:35:07 »
j'ai oublier de le mettre sr mon poste si je les mits.
new Text: barinventaire;

Hors ligne » Lukubi™

  • *
  • Soy el bico loco
  • Messages: 3282
    • Voir le profil
Re : Text draw
« Réponse #3 le: 24 Novembre 2008, 20:51:40 »
tu veut faire un text draw quand le joueur tape une commande ?
ou un texte genre sous la map ?

“Si la Terre est un endroit dangereux ce n’est pas à cause des hommes mauvais mais à cause des hommes bons qui ne font rien pour les empêcher.” (Albert Einstein).

Hors ligne Dark_revan

  • Serveur RPG : *¤REAL DREAM¤*
  • *
  • Bandit
  • Script Serveur RolePlay.
  • Messages: 338
    • Voir le profil
Re : Text draw
« Réponse #4 le: 24 Novembre 2008, 21:05:04 »
En faite je  veut que mon texte cache la barre d'argent dans gta masi j'ai deja essayer sans commandes sa ne marche pas  ni avec commandes alors j'ai demender de l'aide

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Text draw
« Réponse #5 le: 26 Novembre 2008, 12:08:37 »
Je viens de tester ton TextDraw dans mon mode à tout faire.
Il s'affiche correctement (il est illisible mais je le vois).

Vérifie que ton TextDraw est bien créé.
Je pense que le problème vient du test
if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))dans ta fonction barreInventaire.

Pour être sûr, crée ton TextDraw directement dans OnGameModeInit et fais un commande simple qui l'affiche :
if (strcmp(cmd, "/afftest", true) == 0)
{
   TextDrawShowForPlayer(playerid,barinventaire);
   return 1;
}

++
Syg
Courtesy of GtaManiac

Hors ligne Dark_revan

  • Serveur RPG : *¤REAL DREAM¤*
  • *
  • Bandit
  • Script Serveur RolePlay.
  • Messages: 338
    • Voir le profil
Re : Text draw
« Réponse #6 le: 26 Novembre 2008, 16:22:24 »
ok merci syg de m'aider :)

Hors ligne Dark_revan

  • Serveur RPG : *¤REAL DREAM¤*
  • *
  • Bandit
  • Script Serveur RolePlay.
  • Messages: 338
    • Voir le profil
Re : Text draw
« Réponse #7 le: 30 Novembre 2008, 16:45:53 »
Bonsoir alors voila je vient de tester quand j'ai eu un peu de temps et j'ai voulu afficher mon text draw il marcher avec textdraw create et le text dedans mais quand j'ai voulu rajouter ceci:

    format(string, sizeof(string), "%s a: %d/%d en charge ",sendername, PlayerInfo[playerid][pCharge],PlayerInfo[playerid][pCapacite]);
    barinventaire = TextDrawCreate(530.000000,120.000000,string);

Si vous pourriez me dire comment le faire afficher et fontionner.

Merci d'avance :)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Text draw
« Réponse #8 le: 01 Décembre 2008, 11:32:43 »
Pour mettre à jour la chaîne (texte) affichée par un TextDraw, il y a deux solutions :

1) -> Ancienne solution utilisée avant que la fonction TextDrawSetString existe
- Detruire le TextDraw précédent (TextDrawDestroy)
- Créer un nouveau TextDraw avec le nouveau texte (TextDrawCreate, ...)
- Affiché le TextDraw au(x) joueur(s) (TextDrawShowForPlayer ou TextDrawShowForAll)

2) -> La meilleure solution, certainement plus efficace que l'ancienne
- Cacher le TextDraw au(x) joueur(s) (TextDrawHideForPlayer ou TextDrawHideForAll)
- Utiliser la fonction TextDrawSetString pour mettre à jour le texte à afficher
- Affiché le TextDraw au(x) joueur(s) (TextDrawShowForPlayer ou TextDrawShowForAll)

++
Syg
Courtesy of GtaManiac

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Text draw
« Réponse #9 le: 02 Décembre 2008, 01:27:05 »
Salut,

petite question juste comme ça, pourquoi le cacher pour le montrer environ 5ms plus tard...

sur mon serveur je ne me suis pas donné cette peine, ex-ce que ça cause des crash??J'imaginerais pas Syg se tromper lol

++Sim++





Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Text draw
« Réponse #10 le: 02 Décembre 2008, 10:03:11 »
Je le cache, je change la chaîne et je le re-affiche.
Si je fais comme ça, c'est parce que sinon ça ne marchait pas (en version 0.2.2).
J'ai essayé de ne changé que la chaîne et elle n'a pas été mise à jour. La seule façon que j'avais trouvé pour que ça marche est celle que j'ai donnée.

Maintenant, il se peut qu'avec la version 0.2.X, le TextDrawSetString suffise, je n'ai pas refait le test.
Je vais donc le refaire pour l'occasion.

EDIT Syg : Effectivement, en 0.2.X, le TextDrawSetString suffit.

++
Syg
« Modifié: 02 Décembre 2008, 10:17:18 par Syg »
Courtesy of GtaManiac

Hors ligne Dark_revan

  • Serveur RPG : *¤REAL DREAM¤*
  • *
  • Bandit
  • Script Serveur RolePlay.
  • Messages: 338
    • Voir le profil
Re : Text draw
« Réponse #11 le: 02 Décembre 2008, 19:16:27 »
Merci j'ai trouver sa marche merci a vous les gars :)