Help which option is better?
#1

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 }
Reply
#2

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
Reply
#3

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

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
Reply
#5

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

help
Reply
#7

you do realize pawn is a scripting language?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)