vitespirite

Vehicle Function

1 message dans ce sujet

Vehicle Function

Voir le 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 :

Révélation

[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 ;)


 

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant