SA-MP Forums Archive
Help which option is better? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Help which option is better? (/showthread.php?tid=660539)



Help which option is better? - darkHero - 05.11.2018

Option 1:

Code:
stock vehicle_getBoot(vehicleid) {
	new engine, lights, alarm, doors, bonnet, boot, objective;
	GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
	return boot == 1;
}
stock vehicle_setBoot(vehicleid, boot) {
	new engine, lights, alarm, doors, bonnet, ParamNone, objective;
	GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, ParamNone, objective);
	SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
stock veh_getEngine(vehicleid) {
	new engine, lights, alarm, doors, bonnet, boot, objective;
	GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
	return engine == 1;
}
stock vehicle_setEngine(vehicleid, engine) {
	new ParamNone, lights, alarm, doors, bonnet, boot, objective;
	GetVehicleParamsEx(vehicleid, ParamNone, lights, alarm, doors, bonnet, boot, objective);
	SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
stock vehicle_getBonnet(vehicleid) {
	new engine, lights, alarm, doors, bonnet, boot, objective;
	GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
	return bonnet == 1;
}
stock vehicle_setBonnet(vehicleid, bonnet) {
	new engine, lights, alarm, doors, ParamNone, boot, objective;
	GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, ParamNone, boot, objective);
	SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
stock vehicle_getLights(vehicleid) {
	new engine, lights, alarm, doors, bonnet, boot, objective;
	GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
	return lights == 1;
}
stock vehicle_setLights(vehicleid, lights) {
	new engine, ParamNone, alarm, doors, bonnet, boot, objective;
	GetVehicleParamsEx(vehicleid, engine, ParamNone, alarm, doors, bonnet, boot, objective);
	SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
stock vehicle_getDoors(vehicleid) {
	new engine, lights, alarm, doors, bonnet, boot, objective;
	GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
	return doors == 1;
}
stock vehicle_setDoors(vehicleid, doors) {
	new engine, lights, alarm, ParamNone, bonnet, boot, objective;
	GetVehicleParamsEx(vehicleid, engine, lights, alarm, ParamNone, bonnet, boot, objective);
	SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
or Option 2:
Code:
enum Global_Vehicle{
	global_vehicle_ENGINE,
	global_vehicle_LIGHTS,
	global_vehicle_DOORS,
	global_vehicle_BONNET,
	global_vehicle_BOOT,
	global_vehicle_OBJECTIVE,
	global_vehicle_ALARM
};
new GlobalVehicle[MAX_VEHICLES][Global_Vehicle];

VehicleParamsUpdate(vehicleid)
{
	SetVehicleParamsEx(vehicleid, GlobalVehicle[vehicleid][global_vehicle_ENGINE], GlobalVehicle[vehicleid][global_vehicle_LIGHTS], GlobalVehicle[vehicleid][global_vehicle_ALARM], GlobalVehicle[vehicleid][global_vehicle_DOORS], GlobalVehicle[vehicleid][global_vehicle_BONNET], GlobalVehicle[vehicleid][global_vehicle_BOOT], GlobalVehicle[vehicleid][global_vehicle_OBJECTIVE]);
	return 1;
}
In option 2 the status would be checked directly from the variables, example:
Code:
if(GlobalVehicle[vehicleid][global_vehicle_ENGINE] == value) { // Code }



Re: Help which option is better? - lollypap54 - 05.11.2018

If you will use these functions a lot, option 2, if not then option 1, because those variables are not worth it then, also i suggest testing speed in both cases


Re: Help which option is better? - darkHero - 05.11.2018

Actually I think it will be used a lot, in checks, for example if the engine is running or not.


Re: Help which option is better? - lollypap54 - 05.11.2018

I would use option 2 then, but I suggest not trusting me and testing the speed of those scripts youraelf If the speed difference is very small, there’s no point in using memory for vehicle params in option 2


Re: Help which option is better? - darkHero - 05.11.2018

Thanks, I'll wait for more answers to be sure.


Re: Help which option is better? - darkHero - 06.11.2018

help


Re: Help which option is better? - cSharp - 06.11.2018

you do realize pawn is a scripting language?