Can different checks be converted into single check?
#3

Make a function that returns a value (a number: 0 for success, anything else for an error code) and use it as a validator across your commands. Example:

Код:
TeleportDisabled(playerid) {
	if(InDM[playerid] == 1) {
		return 12;
	}
	// Etc.
	return 0;
}

CMD:teleport(playerid, params[]) {
	if(TeleportDisabled(playerid)) return ErrorMessage(playerid, TeleportDisabled(playerid));
	
	// Teleport the player
	return 1;
}
You can also create optional parameters to check for extra circumstances. For example:
Код:
TeleportDisabled(playerid, vehiclesOnly = 0) {
	if(InDM[playerid] == 1) {
		return 12;
	}
	if(!IsPlayerInAnyVehicle(playerid)) && vehiclesOnly == 1) {
		return 24;
	}
	// Etc.
	return 0;
}
When calling that function, you won't be required always to specify a value for vehiclesOnly. You can then use it as this:
Код:
CMD:teleportcar(playerid, params[]) {
	if(TeleportDisabled(playerid, .vehiclesOnly = 1)) return ErrorMessage(playerid, TeleportDisabled(playerid));
	
	// Teleport the car
	return 1;
}
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)