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

Titre: [Resolu!]rassemblement de donné
Posté 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 :
Code: (pawn) [Sélectionner]
New VehiculeClass1; ou New VehiculeClass1[50]; [50 Pour 49 ou 48 Vehicules par exemple].
Donc aprés je designe le new

Exemple
Code: (pawn) [Sélectionner]
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    
Code: (pawn) [Sélectionner]
SetVehicleVirtualWorld(VehiculesClass1,3);
                Ou Bien ; setVehicleVirtualWorld(Vehiculesclass1[1],3); etc..

J'ai essayer de bidouiller un truque comme sa :
Code: (pawn) [Sélectionner]
   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
Titre: Re : [Aide]rassemblement de donné
Posté par: Boomerkuigi le 04 Janvier 2011, 20:38:56
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..
Titre: Re : [Aide]rassemblement de donné
Posté par: Street le 04 Janvier 2011, 20:52:49
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 :)
Titre: Re : [Aide]rassemblement de donné
Posté par: Pixect le 04 Janvier 2011, 21:05:36
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
Titre: Re : [Aide]rassemblement de donné
Posté par: Xartrick le 04 Janvier 2011, 21:07:44
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.
Titre: Re : [Aide]rassemblement de donné
Posté par: Street le 05 Janvier 2011, 08:20:20
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


Code: (pawn) [Sélectionner]
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 :)
Titre: Re : [Aide]rassemblement de donné
Posté par: Boomerkuigi le 05 Janvier 2011, 11:51:54
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 ?
Titre: Re : [Aide]rassemblement de donné
Posté par: Street le 05 Janvier 2011, 12:03:43
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
Titre: Re : [Aide]rassemblement de donné
Posté par: Boomerkuigi le 05 Janvier 2011, 12:07:12
Par ta fonction tu veux créer un vehicule et le placer dans le Virtual World 3 ?
Titre: Re : [Aide]rassemblement de donné
Posté par: Street le 05 Janvier 2011, 12:13:32
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
Titre: Re : [Aide]rassemblement de donné
Posté par: Boomerkuigi le 05 Janvier 2011, 12:25:45
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
Titre: Re : [Aide]rassemblement de donné
Posté par: Street le 05 Janvier 2011, 15:47:58
Donc alors je fait un tableau
Code: (pawn) [Sélectionner]
new vehcicle[50];
                                    vehicle[1] = addstaticvehicle
                                    ou vehicle = addstaticvehicle ?
boucle plus action signifie ?
Code: (pawn) [Sélectionner]
     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 :)
Titre: Re : [Aide]rassemblement de donné
Posté par: spiirou le 05 Janvier 2011, 15:58:30
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
++
Titre: Re : [Aide]rassemblement de donné
Posté par: Street le 05 Janvier 2011, 16:08:08
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
Code: (pawn) [Sélectionner]
veh[Random] = AddStaticVehicle(...);
                                          veh[Random] = AddStaticVehicle(...);
                             Olieu de veh[1] = AddStaticVehicle(...);
                                         veh[2] = AddStaticVehicle(...); etc
Merci d'avance :)
Titre: Re : [Aide]rassemblement de donné
Posté par: cristab le 05 Janvier 2011, 16:19:53
#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;
}
Titre: Re : [Aide]rassemblement de donné
Posté par: Street le 05 Janvier 2011, 16:24:57
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
Titre: Re : [Aide]rassemblement de donné
Posté par: cristab le 05 Janvier 2011, 17:00:29
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;
}
Titre: Re : [Aide]rassemblement de donné
Posté par: Street le 05 Janvier 2011, 17:09:31
c'est parfait merci beaucoup votre aide ma beaucoup aidé est instruit  :-* !

Bonne soirée a tous :) ! merci encore ! Sujet Clos.