GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: RaiDeN le 07 Février 2009, 18:12:08
-
Bonsoir a tous !,
Voila je retourne sur SA:MP depuis un moments et j'ai repris gout a refaire mes deux serveur mais j'ai vu sur un serveur assez bien connu
donc je ne citerais pas le nom qu'il avait placé les piece de voiture tuning les pare choc comme sa sur un mur j'aimerais savoir comment faire et quelle en son leur ID,
J'aimerais aussi avoir des voiture tuning de base (( Sultan XFLOW )) spawné sans avoir a utulisée le garage de Wheel Arch Angels si quelqu'un a la solution merci de m'en faire part.
++
Raiden
-
voila un petit exemple
var1 = CreateVehicle(562, -1700.7021, -195.3097, 13.8199, 235.1264, -1, -1, 20000);
AddVehicleComponent(var1, 1035);
AddVehicleComponent(var1, 1146);
AddVehicleComponent(var1, 1148);
AddVehicleComponent(var1, 1172);
ChangeVehiclePaintjob(var1, 3);
-
Merci Rambo ! alors la si j'arrive a comprendre le petit bout de code c'est une voiture tuning avec c'est composant ? :)
++
Raiden
-
oui et avec un paintjob ;)
-
Je go essayé ceci ! je t'en remercie beaucoup Rambo ;)
++
Raiden
-
Salut j'avait oublié de demandé si il fallait une include pour '' Varl '' car j'ai sa comme erreur:
C:\Users\red\Desktop\stunt2.pwn(270) : error 017: undefined symbol "var1"
C:\Users\red\Desktop\stunt2.pwn(270) : warning 202: number of arguments does not match definition
C:\Users\red\Desktop\stunt2.pwn(271) : error 017: undefined symbol "var1"
C:\Users\red\Desktop\stunt2.pwn(272) : error 017: undefined symbol "var1"
C:\Users\red\Desktop\stunt2.pwn(273) : error 017: undefined symbol "var1"
C:\Users\red\Desktop\stunt2.pwn(274) : error 017: undefined symbol "var1"
C:\Users\red\Desktop\stunt2.pwn(275) : error 017: undefined symbol "var1"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
6 Errors.
Désolé du UP d'un moi :P
++
Raiden
-
Salut,
Sa veut dire que ton Var1, il te manque peut être un forward.
-
exemple
new var0 = 0;
var0 = AddStaticVehicle(441, -1399.6769, -244.2726, 1043.3958, 341.9562, -1, -1);
ChangeVehiclePaintjob(var0, 3);
AddVehicleComponent(var0, 1010);
;
-
Cimer Rambo :)
++
Raiden
-
Pour mieu comprendre va voir le tuto de Urban dans la section tutoriaux ;) ca t'aidera ;)
++
nikko
-
Salut,
si tu veut que tout soit parfait,
tu dois également ajouter un truc du genre dans OnVehicleSpawn:
if(vehicleid == var1)//si le véhicule respawné est bien celui qui est tunné
{
AddVehicleComponent(vehicleid, 1035);
AddVehicleComponent(vehicleid, 1146);
AddVehicleComponent(vehicleid, 1148);
AddVehicleComponent(vehicleid, 1172);
ChangeVehiclePaintjob(vehicleid, 3);
}
quand un véhicule respawn, il perd toutes les composantes qui lui étaient ajoutées
EDIT: par contre il faudra que tes variables soient globales, donc elles sont déclarées (new ...) dans le haut de ton script (avec les define et include)
++Sim++
-
Merci a vous deux j'essayerais sa dès demain !
Encore merci :p
++
Raiden
-
Je ne sais pas si ça fonctionne Sim.
Sur une des versions précédentes, j'avais fait ce genre de chose et les ajouts faits dans OnVehicleSpawn n'étaient pas fait.
De plus, lors d'un gmx du mode, tous les client plantaient.
A l'époque j'étais passé par un timer de 500 ms pour temporiser l'ajout de composants sur un véhicule.
Peut-être que ta solution marche avec la version 0.2X mais j'en doute car le problème venait du fait que lors de l'appel à OnVehicleSpawn, le véhicule n'est pas encore spawné et il ne le sera qu'à la fin de la callback (chose qui est valable avec la plupart des callbacks de SAMP).
Voici la solution que j'avais mise en place (si celle de Sim ne fonctionne pas en 0.2X).
La seule différence avec la solution de Sim c'est que les appels à AddVehicleComponent sont fait 500 ms après la création ou le respawn du véhicule.
forward TimerTuning (vehicle, component);
new IDTunedVehicle;
public OnGameModeInit ()
{
/* Vehicule tuné au skate park de Los Santos */
IDTunedVehicle = AddStaticVehicle (411, 1952.8768, -1401.5701, 13.2974, 74.6119, 100, 49);
/* On colle de la nitro (1008) a notre vehicule tuné (avec un timer pour éviter les plantages au redémarrage) */
SetTimerEx ("TimerTuning", 500, 0, "ii", IDTunedVehicle, 1008);
}
public OnVehicleSpawn (vehicleid)
{
/* Si le vehicule qui respawn est le vehicule tuné */
if (vehicleid == IDTunedVehicle)
{
/* On passe par un timer sinon ça marche pas */
SetTimerEx ("TimerTuning", 500, 0, "ii", IDTunedVehicle, 1008);
}
return 1;
}
public TimerTuning (vehicle, component)
{
/* On ajoute le composant au vehicule */
AddVehicleComponent (vehicle, component);
}
++
Syg
-
Salut,
j'y avais pas penser mais maintenant que tu le mentionne, c'est évident.......
juste comme ça, es-ce que la valeur retournée par cette callback vient changer quelque chose dans le spawn du véhicule (si on retourne 0 aucun respawn? je vais tester....)
++Sim++