GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Street le 04 Janvier 2011, 19:58:28
-
Bonsoir a tous bonne année !
Voici ma question je voudrais rassemblé des vehicules dans un new
donc par exemple : New VehiculeClass1; ou New VehiculeClass1[50]; [50 Pour 49 ou 48 Vehicules par exemple].
Donc aprés je designe le new
Exemple New vehiculesClass1 Ou(Vehiculesclass1[1] = AddStaticVehicle(519,1806.1066,-2406.8108,14.4731,220.1901,1,1);
New vehiculesClass1 Ou Vehiculesclass1[2] = AddStaticVehicle(519,1851.0873,-2397.0818,14.4738,221.0776,1,1) ;
New vehiculesClass1 Ou Vehiculesclass1[3] = AddStaticVehicle(519,1881.2903,-2364.6726,14.4760,231.6925,1,1) ;
New vehiculesClass1 Ou Vehiculesclass1[4] = AddStaticVehicle(593,1990.4940,-2400.4700,14.0069,126.8314,58,8) ;
Mintenan L'action!
Exemple SetVehicleVirtualWorld(VehiculesClass1,3);
Ou Bien ; setVehicleVirtualWorld(Vehiculesclass1[1],3); etc..
J'ai essayer de bidouiller un truque comme sa :
for(new car= 0 < 50; c++)
{
L'action
}
Mais bon :s c pas du tout sa j'ai besoin de votre aide pour rassemblé dans un seul New tout les AddStaticVehicle
donc se qui ferait que le new serai par exemple Car donc j'aurai seulement a faire setVehicleVirtualWorld(car,3);
J'esper avoir etait asser clair :s bonne soirée merci d'avance
-
Si je comprend bien tu veut rassembler toute les vehicules dans une seule variable genre "new VehiculeClass1"
Je pense pas que sa soit possible vu que le AddStaticVehicle() retourne l'id de la voiture créer donc par deduction logique tu ne peut stocker plus d'une variable dans une variable :blink
Le tableau "new VehiculeClass1[]" reste la meilleur solution ... si je dit pas de bêtises..
-
je pence aussi que tu a raison mais le soucis c'est que je ne parviens pas a faire la fonction
for(new car= 0 < 50; c++)
{
SetVehicleVirtualWorld(VehiculesClass1[car],3);
}
sinon après a mon avis sa doit fonctionné comme sur des roulette :)
-
Salut,
Le tableau semble pour moi la fonction la plus appropriée.
Pour ton for, tu as juste à remplacé la valeur par "car" (ou "c", d'après ce que je vois).
++
Lloyd
-
Il serait plus judicieux de stocker seulement les positions du véhicule (angle compris), les couleurs et le modèle.
Ensuite, tu parcourt ta variable avec une boucle.
-
Re , Bonjour.
*
le soucis c'est que j'ai aussi besoin des id surtout est vu qu'il sont demender pour le setvirtualworld
j'ai essayer de faire une petite fonction mais je suis vraiment pas au point pouveé vous m'eclaircir pourquoi cela ne fonctionne pas
public AddStaticVehicleA(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2)
{ new A;
A = AddStaticVehicleA(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2);
for(new slot = 0; slot < 15; slot++)
{
SetVehicleVirtualWorld(A,3);
}
{
AddStaticVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2);
}
return 1;
}
Merci bonne journée a tous :)
-
Pourquoi tu fait une boucle for() ?
Et apres t'appelles ta fonction dans ta fonction, pour quel interet ?
Ta fonction elle a pour but de faire quoi exactement ?
-
Pour appliquer l'action a tout les new
c'été pour rassembler les donné donc facilité la boucle :s
Mon action a pour but de placer des véhicules dans un virtual world
-
Par ta fonction tu veux créer un vehicule et le placer dans le Virtual World 3 ?
-
Plusieur enféte je veux rasembler plusieur vehicule dans un seul new et faire la boucle pour que sa aplique genre a 50 vehciule du new le Virtualworld
-
Comme on te l'as dit plus haut fait un tableau pour sa
new Vehicle[50];
et fait une boucle pour creer chaque vehicule et ensuite le placer dans le virtualworld 3, ce qui n'est pas dur a realiser
-
Donc alors je fait un tableau
new vehcicle[50];
vehicle[1] = addstaticvehicle
ou vehicle = addstaticvehicle ?
boucle plus action signifie ?
for(new slot = vehicle[50]; slot < 50; slot++)
{
SetVehicleVirtualWorld(slot,3);
}
Ceci est un brouillon que j'ai fait sur place ^^ je ne c'est pas crée la boucle justement après pour le tableau bah j'ésite entre les deux possibilité :s merci d'avance bonne aprem :)
-
Salut,
Je vais te donner un petit coup de main.
#define MAX_VEH 50
new veh[MAX_VEH];
veh[0] = AddStaticVehicle(...);
for( new i = 0; i < MAX_VEH; i++)
{
SetVehicleVirtualWorld(veh[i], 3);
}
Je n'ai pas testé, ma ca devrait être bon.
Spiirou
++
-
Spiiiirouu! Merci beaucoup :o toujours a la rescousse :p fidèle ami :)!
c'est perfecto merci beaucoup :)
Petite edit: esque il y aurai une solution pour que aulieu de devoir tapé tout les numero du tableau je puisse faire un genre de random tableau pour leur donner tous un chiffre ?? est donc juste avoir par exemple a faire veh[Random] = AddStaticVehicle(...);
veh[Random] = AddStaticVehicle(...);
Olieu de veh[1] = AddStaticVehicle(...);
veh[2] = AddStaticVehicle(...); etc
Merci d'avance :)
-
#define MAX_VEH 50
new veh[MAX_VEH];
new cid=-1;
veh[cid++] = AddStaticVehicle(...);
for( new i = 0; i < MAX_VEH; i++)
{
SetVehicleVirtualWorld(veh[i], 3);
}
quoi que il y a bien plus simple
new carpremier;
new cardernier:
public OnGameModeInit()
{
carpremier = addstatic...../le premier a changer de VW
addstatic.....
addstatic.....
cardernier=addstatic.....//le dernier a changer de VW
for( new i = carpremier ; i < cardernier; i++)
{
SetVehicleVirtualWorld(i, 3);
}
return 1;
}
-
Merci cristab !
c'été exactement se que je voulez faire :p
Edit*
il y a un petit soucis la première qui a le cp= est dans le virtual 0 au lieu du 3 et la dernière qui a le cd = pareille :s
Help me please
-
dans ce cas tu change la valeur de la boucle
new carpremier;
new cardernier:
public OnGameModeInit()
{
carpremier = addstatic...../le premier a changer de VW
addstatic.....
addstatic.....
cardernier=addstatic.....//le dernier a changer de VW
for( new i = carpremier-1 ; i < cardernier+1; i++)
{
SetVehicleVirtualWorld(i, 3);
}
return 1;
}
-
c'est parfait merci beaucoup votre aide ma beaucoup aidé est instruit :-* !
Bonne soirée a tous :) ! merci encore ! Sujet Clos.