GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Axemyboss le 30 Mai 2010, 20:13:51
-
Bonsoir , j'aimerais savoir comme crée un text 3d au dessu d'un véhicule , j'utilise gveh.inc pour le vehicule
Merci de v'autre aide
-
Mais je vaut metre un text diférend sur chaque véhicule
Double post
Car j'ai 300 veh et si je doit faire 300 code dure dure
-
C'est quoi exactement le texte que tu veux mettre ?
-
Genre un text comme plauqe d'imtriculation ou un truc du genre
-
Tu veux générer une plaque d'immatriculation à chaque fois ou toujours la même?
-
Jamais la meme
-
Tu peux utiliser une boucle à chaque fois que le serveur se lance. Tu définie un nombre aléatoire et tu l'attribue au véhicule. Ca doit prendre je pense maxi 15 lignes.
Si tu n'y arrive pas je t'aiderais.
-
Euuuh , sa sera toujour le meme ou pas ? tu peut me montrer comme metre s'il te plait ?
-
Tu utilise quel GM? Et quel system de gestion de veh?
-
Jutilise un LARP , et pour le vehicule jutilise gveh.inc et pour ajouiter les vehicules ces vehinfo.cfg
-
Essaye ça:
for(new v=1;v<NbVeh;v++)
{
new Plaque = random(999999);
new string[10];
new Text3D:vehicle3Dtext;
format(string,sizeof(string), "Plaque: %d", Plaque);
vehicle3Dtext = Create3DTextLabel(string, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle(vehicle3Dtext, v, 0.0, 0.0, 2.0);
}
Place le juste après le chargement des véhicules.
On peut aussi faire comment ça dans la fonction qui charge les véhicules:
new Plaque = random(999999);
new TextePlaque[10];
new Text3D:vehicle3Dtext;
format(TextePlaque,sizeof(TextePlaque), "Plaque: %d", Plaque);
vehicle3Dtext = Create3DTextLabel(TextePlaque, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle(vehicle3Dtext, v, 0.0, 0.0, 2.0);
Dit moi si ça marche ou pas.
-
Cela marche mais sa bug . des vehicules on la meme plaque
-
Oui mais on l'ajoute où dans le GM ou le gveh?
-
Ah ça je peux rien y faire, c'est des nombres aléatoires. Tu peux essayer de mettre plus de nombre genre 999999999 ou plus difficile de créer un tableau avec le nombre totalement de véhicules et de faire une condition. (si la plaque est déjà crée, alors ça en génère une autre). Mais ça je te laisse faire, je t'ai assez aidé je pense. Si tu n'y arrive pas je t'aiderai mais je veux que tu essaye.
Pour répondre à Romeo, tu peux le mettre soit dans le "OnGameModeInit" pour le premier code avec la boucle ou dans la fonction qui charge les véhicules dans le gveh pour le deuxième code.
-
et une question au lieu de mettre des nombres aléatoire il met l'id de la voiture en haut sa évitera la répétition.
Et si vous savez comment je vous pris de nous donner le code.
-
Il peut faire un truc genre: 00%d00 (le %d correspond à l'id du véhicule).
-
for(new v=1;v<NbVeh;v++)
{
new Plaque = je met quoi ici pour que j'aurai l'id de la voiture?!;
new string[10];
new Text3D:vehicle3Dtext;
format(string,sizeof(string), "Plaque: %d", Plaque);
vehicle3Dtext = Create3DTextLabel(string, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle(vehicle3Dtext, v, 0.0, 0.0, 2.0);
}
new Plaque = je met quoi ici pour que j'aurai l'id de la voiture?!;
-
for(new v=1;v<NbVeh;v++)
{
new string[10];
new Text3D:vehicle3Dtext;
format(string,sizeof(string), "Plaque: AZ%dRT", v);
vehicle3Dtext = Create3DTextLabel(string, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle(vehicle3Dtext, v, 0.0, 0.0, 2.0);
}
Voila je t'ai un peu modifié ça, maintenant tu aura une plaque qui sera par exemple AZ77RT.
Tu n'as plus besoin de plaque vu que tu ne génère plus de nombre. Tu n'as besoin que de l'id du véhicule.
-
Oui mais il y a une limite de text pck je vois que la 1ere lettre que le A svp je change où pour ajouter la limite
-
Comment ça, je ne comprends pas.
-
Tu remplaces new string[10]; par new string[20];
-
Ah sayé merci tous marche bien :)