• 05 Juillet 2025, 11:19:59


Auteur Sujet: [résolu][QUESTION] La Syrene sur une sultan  (Lu 2313 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne angelrider

  • Scripteur
  • *
  • Bandit
  • Messages: 299
    • Voir le profil
[résolu][QUESTION] La Syrene sur une sultan
« le: 02 Décembre 2011, 11:29:49 »
Bonjours à tous,
Je suis en ce moment sur un bout de script pour ajouter une syrene sur mes vehicules mais le seul trucs c'est que ça me créer un autre vehicule ..

Voici un bout de mon script qui me pose problème:
       
                                                new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
               PutPlayerInVehicle(playerid, vehicleid, 0);
               SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
               LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
light[vehicleid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
Lamp[vehicleid] = 1;
IsSpu[vehicleid] = 1;  


Voila donc ça sa a été testé juste comme sa sans etre mis sur un serveur maintenant je voudrais le mettre sur un Game mode RP,
Donc tout ce qui concerne que seul les Policier puisse les mettres la commande pour les éteindre .... tout ça marche,

Moi ce que je voudrais c'est au lieux que cela créer un vehicule avec la syrene bleu rouge je voudrais que sa l'incorpore dans le vehicule dans lequel on est.

Voila si vous pourriez m'aider sur ce petit point.
Amicalement.
« Modifié: 04 Décembre 2011, 14:24:32 par angelrider »
Nouveau Site de Mods San Andreas:
http://lcdacreation.fr

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : [QUESTION] La Syrene sur une sultan
« Réponse #1 le: 02 Décembre 2011, 11:43:44 »
new VehicleID;
VehicleID = GetPlayerVehicleID(playerid);//Récupère ID du vehicule.
Light[VehicleID] = CreateObject(18646,0, 0, 0, 0.0, 0.0, 96.0);
AttachObjectToVehicle(Light[VehicleID], VehicleID, X, Y, Z, 0.0, 0.0, 0.0);

Le Light doit être créer en variable global. les position X Y et Z de AttachObjectToVehicle sont a déterminer pour que ça s'accroche au toit.
Et éventuellement tu peut faire une bool pour savoir ou non si la sirène est déjà mise.

NB, Tu peut très bien faire Light[GetPlayerVehicleID(playerid)] mais c'est moins courant.
Nippah !

Hors ligne angelrider

  • Scripteur
  • *
  • Bandit
  • Messages: 299
    • Voir le profil
Re : [QUESTION] La Syrene sur une sultan
« Réponse #2 le: 03 Décembre 2011, 10:13:02 »
Bin le truc c'est que tout ça est fait ^^,
La syrene s'enclenche même quant le joueur appuie sur "H",
le truc c'est par quoi remplacer le

new vehicleid=CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);
Car actuellement le joueur rentre dans une sultan,
il fais sa commande et la une autre sultan spawn avec le pinpon qui marche nickel,
moi ce que je veux c'est que sa rajoute le pinpon directement dans le véhicule ou est le joueur.

Et j'ai un autre petit soucis qui n'a aucun rapport aussi j'ai certains véhicules qui sont la mais qui sont invisible je suis obliger de monter dedans et de les mettre dans l’intérieur 0 pour qu'ils réapparaissent quelqu'un aurait il déjà eu ce soucis?

Amlicalement.

« Modifié: 03 Décembre 2011, 10:14:37 par angelrider »
Nouveau Site de Mods San Andreas:
http://lcdacreation.fr

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [QUESTION] La Syrene sur une sultan
« Réponse #3 le: 03 Décembre 2011, 10:40:07 »
new vehicleid = GetPlayerVehicleID(playerid); // new vehicleid = CreateVehicle(Offsets[i][VehicleID], x, y, z, angle, 0, 0, -1);

// PutPlayerInVehicle(playerid, vehicleid, 0);
// SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
// LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));

light[vehicleid] = CreateObject(18646, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);

AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);

Lamp[vehicleid] = 1;
IsSpu[vehicleid] = 1;

Il se trouve que tu ne veux pas créer de véhicule mais tu le créé !
Dans le code précédent, j'ai changé ce qui ne va pas en laissant ce qui n'allait pas.

Hors ligne angelrider

  • Scripteur
  • *
  • Bandit
  • Messages: 299
    • Voir le profil
Re : [QUESTION] La Syrene sur une sultan
« Réponse #4 le: 03 Décembre 2011, 10:50:08 »
GetPlayerVehicleID(playerid);

 ;D Jme sent bien con tout a coups ..
je savais pas par quoi remplacer alors qu'en fait c'été .......   :jesors
Nouveau Site de Mods San Andreas:
http://lcdacreation.fr

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [QUESTION] La Syrene sur une sultan
« Réponse #5 le: 03 Décembre 2011, 10:51:49 »
Xolokos avait déjà donné la réponse à ton problème.

Hors ligne angelrider

  • Scripteur
  • *
  • Bandit
  • Messages: 299
    • Voir le profil
Re : [QUESTION] La Syrene sur une sultan
« Réponse #6 le: 03 Décembre 2011, 11:06:25 »
Mh mh .... sa ne fonctionne pas avec le:

VehicleID = GetPlayerVehicleID(playerid);

Pour mes positions de la lampe j'ai fais ça:

new Offsets[33][Coords] = {
{1, 560, 0.398071289,0.75390625,0.43879509},
{2, 560, -0.35644531250, 0.0388183593, 0.863788605},
{3, 415, 0.409729004, 0.526367188, 0.206963539},
{4, 415, -0.290039062, -0.284179688, 0.631957054},
{5, 421, 0.421691895, 0.804931641, 0.256482124},
{6, 421, -0.323303223, 0.0207519532, 0.731482506},
{7, 426, 0.575378418, 0.786132812, 0.361483574},
{8, 426, -0.455505371, -0.143066406, 0.861475945},
{9, 579, 0.454345703, 0.575683594, 0.645122528},
{10, 579, -0.442626953, -0.269042969, 1.27014542},
{11, 402, 0.53515625, 0.562988281, 0.278743744},
{12, 402, -0.412841797, -0.474365234, 0.778804779},
{13, 596, 0.53515625, 0.771728516, 0.373809814},
{14, 596, -0.0048828125, -0.860107422, 0.848770142},
{15, 597, 0.53515625, 0.771728516, 0.373809814},
{16, 597, -0.0048828125, -0.860107422, 0.848770142},
{17, 598, 0.406738281, 0.696777344, 0.398208618},
{18, 598, -0.0048828125, -0.860107422, 0.848770142},
{19, 544, 0.522338867, 2.5925293, 1.46867275},
{20, 528, 0.563842773, 0.754882812, 0.487258911},
{21, 525, -0.0089111328, 0.273193359, 1.4037838},
{22, 409, 0.420776367, 1.80236816, 0.368680954},
{23, 409, -0.439941406, 0.824829102, 0.842817307},
{24, 461, 0.00000000, -0.932861328, 0.494509697},
{25, 521, 0.00000000, -0.928955078, 0.558652878},
{26, 586, 0.00000000, -1.20178223, 0.671886444},
{27, 506, 0.541137695, 0.282714844, 0.272130013},
{28, 482, 0.493530273, 1.39465332, 0.442443848},
{29, 482, -0.392211914, 0.565551758, 0.941601753},
{30, 424, -0.624511719, 0.139648438, 0.918135643},
{31, 470, -0.617797851, 0.056640625, 1.10928631},
{32, 433, -0.577392578, 1.23217773, 1.70311642},
{33, 432, -1.21105957, -3.84765625, 1.17495251}
};

((Sa pourrais d'ailleurs en aider certains :) ))


Et pour la variable Allumé ON - OFF j'ai ça:
                        
 VehicleLightSwitch(playerid);  

et sa:

Lamp[vehicleid] = 0;
Je cherche un peut plus je crois avoir vu je vous tiens informer,
merci de votre aide.
amicalement Angel.


J'Edit:

Le problème ne viendrais t'il pas de la ou aucunement on ne retrouve le vehicleid du joueur?

VehicleLightSwitch(playerid)
{
new vid = GetPlayerVehicleID(playerid);
if(vid == INVALID_VEHICLE_ID) return 1;
if(IsSpu[vid] != 0)
{
  if(Lamp[vid] == 1)
  {
DestroyObject(light[vid]);
Lamp[vid] = 0;
return 1;
}
if(Lamp[vid] == 0)
  {
  for(new i=0; i<sizeof(Offsets); i++)
                {
if(Offsets[i][SPU] == IsSpu[vid])
{
light[vid] = CreateObject(18646,Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);
AttachObjectToVehicle(light[vid], vid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);
Lamp[vid] = 1;
}
}
return 1;
}
    }
    return 1;
}
« Modifié: 03 Décembre 2011, 11:15:27 par angelrider »
Nouveau Site de Mods San Andreas:
http://lcdacreation.fr

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [QUESTION] La Syrene sur une sultan
« Réponse #7 le: 03 Décembre 2011, 12:05:34 »
new vehicleid = GetPlayerVehicleID(playerid);

light[vehicleid] = CreateObject(18646, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 96.0);

AttachObjectToVehicle(light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z], 0.0, 0.0, 0.0);

Lamp[vehicleid] = 1;
IsSpu[vehicleid] = 1;

printf("\nCALL:      GetPlayerVehicleID(%i);", playerid);
printf("VARIABLE: vehicleid: %i;", vehicleid);
printf("CALL:     CreateObject(18646, %i, %i, %i, 0.0, 0.0, 96.0);", Offsets[i][X], Offsets[i][Y], Offsets[i][Z]);
printf("CALL:     AttachObjectToVehicle(%i, %i, %i, %i, %i, 0.0, 0.0, 0.0);\n", light[vehicleid], vehicleid, Offsets[i][X], Offsets[i][Y], Offsets[i][Z]);

Montre moi ce que cela donne s'il te plaît.

Hors ligne angelrider

  • Scripteur
  • *
  • Bandit
  • Messages: 299
    • Voir le profil
Re : [QUESTION] La Syrene sur une sultan
« Réponse #8 le: 03 Décembre 2011, 13:10:18 »
Mnon toujours rien .. je teste plein de possibilité .. mais je ne vois pas..

Tien il s'agit de se FS a la base de Geso;

http://forum.sa-mp.com/showthread.php?t=200372

je continue les recherches si sa interesse quelqu'un d'autre :)
Nouveau Site de Mods San Andreas:
http://lcdacreation.fr

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [QUESTION] La Syrene sur une sultan
« Réponse #9 le: 03 Décembre 2011, 13:34:20 »
Montre moi ce que cela donne s'il te plaît.

Hors ligne Pallanas

  • *
  • Nouveau
  • Messages: 7
    • Voir le profil
Re : [QUESTION] La Syrene sur une sultan
« Réponse #10 le: 03 Décembre 2011, 14:03:21 »
Pourquoi n'utilise-tu pas le SPU de base, vu que c'est sur ça que tu t'appuies grandement ?
Ça serait plus simple non ?

Hors ligne angelrider

  • Scripteur
  • *
  • Bandit
  • Messages: 299
    • Voir le profil
Re : [QUESTION] La Syrene sur une sultan
« Réponse #11 le: 03 Décembre 2011, 17:27:04 »
Te montrer ce que cela donne?
Sa ne donne rien si je change par ce que tu m'as donner le Giro ne s'affiche même pas ..
L'utiliser tel quel .. mnon je l'ai intégré a mon gm et fait tout un tat de choses pour que seul les vehicules de policier puisse marcher ..
amicalement.
Nouveau Site de Mods San Andreas:
http://lcdacreation.fr

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [QUESTION] La Syrene sur une sultan
« Réponse #12 le: 04 Décembre 2011, 00:45:46 »
Je te demande de me montrer ce qui affiché dans ta console, s'il n'y a rien, ta fonction n'est même pas appelé !

Hors ligne angelrider

  • Scripteur
  • *
  • Bandit
  • Messages: 299
    • Voir le profil
Re : [QUESTION] La Syrene sur une sultan
« Réponse #13 le: 04 Décembre 2011, 14:24:19 »
Bin je le sais qu'elle n'est pas appeler ma fonction ..  :bangin je m'y suis bien péter le cerveau sur ça je peut te le dire ^^.
J'ai essayer de créer des véhicules qui spawn directement avec la syrème et garder la touche pour Allumer Eteindre,
Pour l'instant sa m'a l'air de marcher en integrant au GM je cherche a améliorer un peut le système,
Merci de ton aide Xartrick.
amicalement.
Nouveau Site de Mods San Andreas:
http://lcdacreation.fr

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [résolu][QUESTION] La Syrene sur une sultan
« Réponse #14 le: 04 Décembre 2011, 16:56:16 »
Il faut ce dire que si la fonction n'est jamais appelé, c'est normal que cela ne fonctionne pas.