À propos de ce fichier
Bonjours j'ai coder diverse fonction/appel de callback a différant événement a propos des véhicule qui peuvent faciliter la vie de tout développeur.
Voici comment cela fonctionne est se qui comporte :
CALLBACK:
public OnVehicleUpdate(vehicleid) //appeler toute les 50ms par véhicule public OnVehicleCreated(vehicleid) //Appeler a la création du véhicule via la foncione CreateVehicleEx public UpdateVehicleCarDoors(vehicleid, door, status) //appeler quand on modifie le status des porte d'un véhicule public UpdateVehicleCarWindows(vehicleid, win, status) //pareille qu'au dessus mais pour les fenêtres
FONCTION:
native CreateVehicleEx(model, Float:x, Float:y, Float:z, Float:rot, color1, color2, respawn_delay, addsirene = 0, plate[] = "",virtualworld = -1, lock = 0); //créer un véhicule avec des syntaxe supplémentaire a l'original || retourne l'id du véhicule créer native GenerateNumberPlate(plate[], size, dest[]); //Permet de générer des plaque d'imatriculation avec un format || retourne aucune valeur spécifique native GetVehicleCarDoor(vehicleid, door); //permet de voir le status d'une porte || retourne le status de la porte native SetVehicleCarDoor(vehicleid, door, bool:status); //permet de modifier le status d'une porte || retourne aucune valeur spécifique native GetVehicleCarWindows(vehicleid, win); //permet de voir le status d'une fenètre || retourne le status de la fenètre native SetVehicleCarWindows(vehicleid, win, bool:status); //permet de modifier le status d'une fenètre. || ne retourne aucune valeur spécifique native InitVehicleUpdate(vehicleid); //permet de lancée le timer d'update (valide qui si la callback OnVehicleUpdate(vehicleid) est présente || retourne l'id du timer lancée
A utiliser dans les syntaxe door et win :
VEH_DRIVER //coter conducteur VEH_PASSENGERS //coter passager VEH_BACK_LEFT //coter arrière gauche VEH_BACK_RIGHT //coter arrière droit VEH_UP //place avant (conducteur et passager avant) VEH_DOWN //place arrière (passager arrière) VEH_ALL //tout le véhicule
Exemple
La logique est la même pour les porte.
CMD:fenetre(playerid, params[]) { if(GetPlayerVehicleID(playerid) == INVALID_VEHICLE_ID) return false; SetVehicleCarWindows(GetPlayerVehicleID(playerid), VEH_ALL, 0); //ouvrir la fenetre }
Génération de plaque formater :
la fonction GenerateNumberPlate fonctionne ainsi :
public OnFilterScriptInit() { new newplate[12], frmplate[12] = "ss<iisii>ss"; //s = lettre || i = chiffre || les autre caractère que i et s seront recopier. print(frmplate); for(new i;i < 50;i++) { GenerateNumberPlate(frmplate, sizeof(frmplate), newplate); print(newplate); strdel(newplate, 0, strlen(newplate)); } }
Cette fonction ma générer 50 plaque différante :
[02:27:23] AQ<67H67>JS
[02:27:23] YV<22X58>PN
[02:27:23] DL<90W18>FV
[02:27:23] HC<69Y97>VS
[02:27:23] VG<90Z34>IG
[02:27:23] JF<23E72>GS
[02:27:23] KF<55X78>UC
[02:27:23] ZI<07H80>EH
[02:27:23] FR<47C43>HG
[02:27:23] YE<91W00>UD
[02:27:23] ZN<89A86>DP
[02:27:23] BU<71T48>OB
[02:27:23] SY<10F50>VW
[02:27:23] PP<37D22>DW
[02:27:23] EB<28O80>NI
[02:27:23] AX<09B17>ZW
[02:27:23] TH<05J10>HS
[02:27:23] GT<49Y36>DY
[02:27:23] XC<13N51>NC
[02:27:23] FK<33Z79>RE
[02:27:23] LP<71R96>VO
[02:27:23] BD<09R13>AN
[02:27:23] PU<07R07>XT
[02:27:23] IM<38V99>OG
[02:27:23] OK<76E66>CS
[02:27:23] EB<81J55>SL
[02:27:23] JF<21P78>GA
[02:27:23] DP<73F80>PD
[02:27:23] FE<23X34>PP
[02:27:23] LH<38T40>EK
[02:27:23] PB<35C32>PU
[02:27:23] RK<52N33>MA
[02:27:23] BB<36S33>NV
[02:27:23] HO<24M02>EM
[02:27:23] KR<36H28>LS
[02:27:23] VC<88T92>AP
[02:27:23] IN<56Q56>VX
[02:27:23] ET<78X22>AE
[02:27:23] UP<90S88>TQ
[02:27:23] EB<21Y92>VX
[02:27:23] UX<68R46>PV
[02:27:23] II<10K33>YW
[02:27:23] KD<56Z61>FZ
[02:27:23] GO<80Q53>IH
[02:27:23] NE<15A53>VC
[02:27:23] RU<79P25>KE
[02:27:23] AL<92Q95>PT
[02:27:23] FD<54H49>JM
[02:27:23] KN<19A53>KH
[02:27:23] AD<92V74>PX
BUG:
Je n'est pas tout tester car sur certaine chose je suis assez confiant, mais au moindre bug merci de le partagée dans le sujet support ![]()