All pastes #440590 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-04-15 03:59 UTC
rendered paste body
#if !defined _sinc_
#define _sinc_

// ------------------
// Sacky's Mod
// v0.1a INC
// ------------------

// ^ Symbolises complete

// ------------------
// Includes
// ------------------

#include <amxdll>
#include <args>
#include <console>
#include <core>
#include <datagram>
#include <file>
#include <fixed>
#include <float>
#include <process>
#include <rational>
#include <string>
#include <time>

// ------------------
// Defines
// ------------------

#define MOTION_IDLE 					1
#define MOTION_MOVE_MOUTH				2
#define MOTION_FALL_DOWN				3
#define MOTION_JUMP						4
#define MOTION_TIRED					5
#define MOTION_DIES						6
#define MOTION_FINGER					7
#define MOTION_HANDS_UP					8
#define MOTION_COWER					9
#define MOTION_ATM						10
#define MOTION_LOOK_AROUND				11
#define MOTION_ONGUARD					12
#define MOTION_ROLL_SIDEWAYS			13

#define TYPE_PLAYER						1
#define TYPE_ACTOR						2
#define TYPE_VEHICLE					3
#define TYPE_OBJECT						4
#define TYPE_FIRE						5
#define TYPE_PICKUP						6
#define TYPE_MARKER						7
#define TYPE_LIGHT						8
#define TYPE_MENU						9
#define	TYPE_FS							10


#define GARAGE_STATE_CLOSED				0
#define GARAGE_STATE_OPEN				1
#define GARAGE_STATE_OPENING			2
#define GARAGE_STATE_CLOSING			3

#define STATE_STILL						1
#define STATE_STARTING					2
#define STATE_RUNNING					3
#define STATE_SPRINTING					4
#define STATE_LEAVING_VEHICLE			5
#define STATE_ENTERING_VEHICLE			6
#define STATE_BUSTED					7
#define STATE_TARGETING					8
#define STATE_CROUCHING					9
#define STATE_AIRBOURNE					10
#define STATE_LANDING					11
#define STATE_LANDED					12
#define STATE_MELEE						13
#define STATE_WHEELIE					14
#define STATE_STOPPIE					15
#define STATE_DRIVEBY_DRIVER			16
#define STATE_DRIVEBY_PASS				17
#define STATE_WASTED					18
#define STATE_FALLING					19
#define STATE_DRIVING					20
#define STATE_SWIMMING					21
#define STATE_DIVING_WATER				22
#define STATE_DIVING_AIR				23
#define STATE_ABSAIL					24

#define SLOT_NOWEAPON					0
#define SLOT_MELEE						1
#define SLOT_HANDGUNS					2
#define SLOT_SHOTGUNS					3
#define SLOT_SUBMACHINEGUNS				4
#define SLOT_MACHINEGUNS				5
#define SLOT_RIFLES						6
#define SLOT_HEAVYWEAPONS				7
#define SLOT_PROJECTILES				8
#define SLOT_SPECIAL1					9
#define SLOT_GIFTS						10
#define SLOT_SPECIAL2					11
#define SLOT_DETONATORS					12

#define CONTROL_MOUSE					1
#define CONTROL_JOYSTICK				2

#define REASON_LEAVING					1
#define REASON_TIMEOUT					2
#define REASON_KICKED					3
#define REASON_BANNED					4

#define IMMUNITY_BULLET					1
#define IMMUNITY_FIRE					2
#define IMMUNITY_COLLISION				3
#define IMMUNITY_EXPLOSION				4

#define	SKILL_DRIVING					1
#define	SKILL_FLYING					2
#define	SKILL_BIKE						3
#define	SKILL_BICYCLE					4

#define	CHEAT_MEGA_JUMP					1
#define	CHEAT_MEGA_PUNCH				2
#define	CHEAT_FLYING_CAR				3
#define	CHEAT_INFINITE_RUN				4
#define CHEAT_INFINITE_AIR				5

// ------------------
// Callbacks
// ------------------

forward OnPlayerConnect(playerid);
forward OnPlayerDisconnect(playerid,reason);
forward OnPlayerText(playerid,text[]);
forward OnStateChange(type,id,newstate,oldstate);
forward OnDeath(type,id,type2,id2,reason);
forward OnTarget(type,id,typ2,id2);
forward OnRconCommand(cmd[],ip[]);
forward OnAdminLoginAttempt(ip[],success);
forward OnEnterInterior(type,id,interiorid);
forward OnLeaveInterior(type,id,interiorid);
forward OnEnterCheckpoint(type,id);
forward OnLeaveCheckpoint(type,id);
forward OnWeaponUse(type,id);
forward OnGetShot(type,id);
forward OnGameModeInit();
forward OnGameModeExit();
forward OnFilterScriptInit(fsid);
forward OnFilterScriptExit(fsid);
forward OnCollision(type,id,type2,id2);
forward OnEnterEnex(type,id,enexid);
forward OnSpawn(type,id);
forward OnPlayerRequestClass(playerid,classid);
forward OnPlayerSelectMenu(playerid,itemid);
forward OnTrailerAttach(trailerid,vehicleid);
forward OnTrailerDetach(trailerid,vehicleid);
forward OnVehicleNitro(vehicleid);
forward OnPickup(type,id,pickupid);
forward OnPlayerKey(playerid,key,keystate);
forward recievepacket(const packet[], size, const source[]);
forward receivestring(const message[], const source[]);
forward timer();
forward OnSpot(type,id,type,id);
forward OnPlayerClick(playerid,button,clickstate);

// ------------------
// Functions
// ------------------

// Players

native 	bool:	Wait(playerid,ms); 																// ^
native 	bool:	TogglePlayerControllable(playerid,bool:toggle); 								// ^
native 	bool:	IsPlayerControllable(playerid); 												// ^

native 	bool:	CreateClass(skin,Float:x,Float:y,Float:z,Float:rotation,...); 					// ^
native 	bool:	DestroyClass(classid); 															// ^
native 	bool:	GetClassInfo(classid,&skin,&Float:x,&Float:y,&Float:z,&Float:rotation); 		// ^
native	bool:	SetClassInfo(classid,skin,Float:x,Float:y,Float:z,Float:rotation,...); 			// ^
native			GetClassWeaponAmmo(classid,weaponid,ammo); 										// ^
native	bool:	SetClassWeaponAmmo(classid,weaponid,ammo); 										// ^
native	bool:	GetSpawnInfo(playerid,&skin,&Float:x,&Float:y,&Float:z,&Float:rotation); 		// ^
native 	bool:	SetSpawnInfo(playerid,skin,Float:x,Float:y,Float:z,Float:rotation,...); 		// ^
native			GetSpawnWeaponAmmo(playerid,weaponid); 											// ^
native	bool:	SetSpawnWeaponAmmo(playerid,weaponid,ammo); 									// ^
native 			GetPlayerClass(playerid); 														// ^
native 	bool:	SetPlayerClass(playerid,classid); 												// ^
native 			GetPlayerSkin(playerid); 														// ^
native 	bool:	SetPlayerSkin(playerid,skinid); 												// ^
native 	bool:	IsPlayerSpawned(playerid); 														// ^
native 	bool:	IsPlayerHeadless(playerid); 													// ^
native 	bool:	SpawnPlayer(playerid); 															// ^
native	Float:	GetPlayerSize(playerid); 														// ^
native 	bool:	SetPlayerSize(playerid,Float:size);												// ^
native 	bool:	SetPlayerVisibility(playerid,playerid2,bool:on);								// ^
native 	bool:	GetActorVisibility(playerid,playerid2);											// ^
native 	bool:	IsClassValid(classid);															// ^

native 	bool:	ShakeCamera(playerid,ms);
native	bool:	GetPlayerCameraFollow(playerid,&type,&id,&cameramode);
native	bool:	SetPlayerCameraFollow(playerid,type,id,cameramode);
native	bool:	ResetPlayerCamera(playerid);
native	bool:	GetPlayerCameraPos(playerid,&Float:x,&Float:y,&Float:z);
native	bool:	SetPlayerCameraPos(playerid,Float:x,Float:y,Float:z);
native	bool:	GetPlayerCameraRot(playerid,&Float:rX,&Float:rY,&Float:rZ);
native	bool:	SetPlayerCameraRot(playerid,Float:rX,Float:rY,Float:rZ);
native	bool:	GetPlayerCameraPoint(playerid,&Float:x,&Float:y,&Float:z);
native	bool:	SetPlayerCameraPoint(playerid,Float:x,Float:y,Float:z);
native	bool:	Drunk(playerid,ms);
native	bool:	Jiggle(playerid,time,intensity);

native	bool:	GetPlayerTime(playerid,&hours,&minutes);
native	bool:	SetPlayerTime(playerid,hours,minutes);
native			GetPlayerDay(playerid);
native	bool:	SetPlayerDay(playerid,day);
native			GetPlayerWeather(playerid);
native	bool:	SetPlayerWeather(playerid,weatherid);
native	Float:	GetPlayerWaterHeight(playerid);
native	bool:	SetPlayerWaterHeight(playerid,Float:height);
native	Float:	GetPlayerWaveHeight(playerid);
native	bool:	SetPlayerWaveHeight(playerid,Float:height);
native	bool:	GetPlayerSolidWater(playerid);
native	bool:	SetPlayerSolidWater(playerid,bool:solid);
native	bool:	IsPlayerTouchingWater(playerid);
native	Float:	GetPlayerCloudDensity(playerid);
native	bool:	SetPlayerCloudDensity(playerid,Float:density);
native	Float:	GetPlayerMaxFlyingHeight(playerid);
native	bool:	SetPlayerMaxFlyingHeight(playerid,Float:height);
native	bool:	GetPlayerWorldBounds(playerid,&Float:minx,&Float:maxx,&Float:miny,&Float:maxy,&Float:minz,&Float:maxz);
native	bool:	SetPlayerWorldBounds(playerid,Float:minx,Float:maxx,Float:miny,Float:maxy,Float:minz,Float:maxz);
native			GetPlayerVehicleID(playerid);
native	bool:	IsPlayerInAnyVehicle(playerid);
native	bool:	IsPlayerInVehicle(playerid,vehicleid);
native	bool:	IsPlayerHonking(playerid);
native	bool:	TogglePlayerTrapped(playerid,bool:trapped);
native	bool:	GetPlayerTrapped(playerid);
native	bool:	PutPlayerInVehicle(playerid,vehicleid,seatid);
native	bool:	RemovePlayerFromVehicle(playerid);
native			GetPlayerRC(playerid);
native	bool:	SetPlayerRC(playerid,vehicleid,bool:rc);
native			GetPlayerSkill(playerid,skillid);
native	bool:	SetPlayerSkill(playerid,skillid,skill);
native	bool:	GetPayNSpray(playerid);
native	bool:	ToggleFreePayNSpray(playerid,bool:free);
native			GetPlayerSeat(playerid);

native	bool:	GetPlayerPos(playerid,&Float:x,&Float:y,&Float:z);
native	bool:	SetPlayerPos(playerid,Float:x,Float:y,Float:z);
native	bool:	GetPlayerRot(playerid,&Float:rX,&Float:rY,&Float:rZ);
native	bool:	SetPlayerRot(playerid,Float:rX,Float:rY,Float:rZ);
native	bool:	GetPlayerTargetPos(playerid,&Float:x,&Float:y,&Float:z);
native	bool:	SetPlayerTargetPos(playerid,Float:x,Float:y,Float:z);
native			GetPlayerState(playerid);
native	bool:	SetPlayerState(playerid,stateid);
native	bool:	PlayerSpotted(playerid,type,id);
native			GetPlayerAnim(playerid);
native	bool:	SetPlayerAnim(playerid,anim);

native			GetPlayerMoney(playerid);
native	bool:	GivePlayerMoney(playerid,money);
native	bool:	ResetPlayerMoney(playerid);

native			GetPlayerWanted(playerid);
native	bool:	SetPlayerWanted(playerid,wanted);
native	bool:	ResetPlayerWanted(playerid);
native	bool:	PlayPoliceReport(playerid,Float:x,Float:y,Float:z);

native			GetPlayerAmmo(playerid);
native	bool:	GivePlayerAmmo(playerid,ammo);
native			GetPlayerWeapon(playerid);
native	bool:	GivePlayerWeapon(playerid,weaponid,ammo);
native	bool:	GetPlayerWeaponData(playerid,slot,&weapon,&ammo);
native	bool:	SetPlayerWeaponData(playerid,slot,weapon,ammo);
native			GetPlayerMeleeStyle(playerid);
native	bool:	SetPlayerMeleeStyle(playerid,style);
native	bool:	GetPlayerWeaponParams(playerid,&bool:shootable,&bool:scrollable);
native	bool:	SetPlayerWeaponParams(playerid,bool:shootalbe,bool:scrollable);
native	bool:	IsPlayerOnJetpacket(playerid);
native	bool:	GivePlayerJetpack(playerid);
native			GetPlayerWeaponSlot(playerid);
native	bool:	SetPlayerWeaponSlot(playerid,slot);
native	bool:	GetPlayerCheat(playerid,cheatid);
native	bool:	SetPlayerCheat(playerid,cheatid,bool:on);
native	bool:	IsPlayerImmune(playerid,immunityid);
native	bool:	SetPlayerImmunity(playerid,immunityid,bool:on);
native	bool:	IsPlayerConstantlyBleeding(playerid);
native	bool:	ToggleConstantBleeding(playerid,bool:on);
native	bool:	ResetPlayerWeapons(playerid);
native	bool:	GetPlayerTargetable(playerid,type,id);
native	bool:	SetPlayerTargetable(playerid,type,id,bool:targetable);
native	bool:	GetPlayerWeaponSync(playerid,weaponid);
native	bool:	SetPlayerWeaponSync(playerid,weaponid,bool:synced);
native	Float:	GetPlayerWeaponDamage(playerid,weaponid);
native	bool:	SetPlayerWeaponDamage(playerid,weaponid,Float:damage);
native	bool:	GetPlayerInvincible(playerid,type,id);
native	bool:	SetPlayerInvincible(playerid,type,id,bool:invincible);
native	bool:	IsPlayerOnFire(playerid);

native	Float:	GetPlayerGravity(playerid);
native	bool:	SetPlayerGravity(playerid,Float:gravity);
native	Float:	GetPlayerSpeed(playerid);

native 	bool:	GetPlayerFade(playerid);
native 	bool:	SetPlayerFade(playerid,colour,bool:out,ms);

native	bool:	GetPlayerArrow(playerid,&type,&id);
native	bool:	SetPlayerArrow(playerid,type,id,bool:on);

native	bool:	GetPlayerCheckpoint(playerid,&Float:x,&Float:y,&Float:z,&Float:radius,&colour);
native	bool:	SetPlayerCheckpoint(playerid,Float:x,Float:y,Float:z,Float:radius,colour);
native	bool:	GetPlayerRacingCheckpoint(playerid,&Float:x,&Float:y,&Float:z,&Float:radius,&Float:x2,&Float:y2,&Float:z2,&colour);
native	bool:	SetPlayerRacingCheckpoint(playerid,Float:x,Float:y,Float:z,Float:radius,Float:x2,Float:y2,Float:z2,colour);
native	bool:	DisablePlayerCheckpoint(playerid);

native	bool:	PlaySoundForPlayer(playerid,soundid,Float:x,Float:y,Float:z);
native	bool:	StopSoundForPlayer(playerid);

native	bool:	GetPlayerRaderGrey(playerid);
native	bool:	SetPlayerRadarGrey(playerid,bool:grey);
native	bool:	IsPlayerRadioOn(playerid);
native	bool:	SetPlayerRadio(playerid,bool:on);
native	bool:	IsPlayerHudVisible(playerid);
native	bool:	SetPlayerHudVisible(playerid,bool:on);
native	bool:	GetPlayerResolution(playerid,&Float:x,&Float:y);
native	bool:	GameText(playerid,const string[],time,style);
native	bool:	ClearGameText(playerid);
native	bool:	GetPlayerHudColour(playerid,hudid);
native	bool:	SetPlayerHudColour(playerid,hudid,colour);

native			GetPlayerInterior(playerid);
native	bool:	SetPlayerInterior(playerid,interiorid);

native			GetPlayerControl(playerid);
native	bool:	SetPlayerControl(playerid,controlid);
native	bool:	BindKey(playerid,key,keystate);
native	bool:	UnbindKey(playerid,key,keystate);
native	bool:	IsKeyBound(playerid,key,keystate);
native	bool:	BindClick(playerid,button,clickstate);
native	bool:	UnbindClick(playerid,button,clickstate);
native	bool:	IsClickBound(playerid,button,clickstate);

native	Float:	GetPlayerAir(playerid);
native	bool:	SetPlayerAir(playerid,Float:air);
native	Float:	GetPlayerHealth(playerid);
native	bool:	SetPlayerHealth(playerid,Float:health);
native	Float:	GetPlayerArmour(playerid);
native	bool:	SetPlayerArmour(playerid,Float:armour);
native	bool:	KillPlayer(playerid);

native	bool:	IsPlayerAdmin(playerid);
native	bool:	SetPlayerAdmin(playerid,bool:admin);
native	bool:	Kick(playerid);
native	bool:	Ban(playerid);
native	String:	GetPlayerIP(playerid);
native			GetPlayerPing(playerid);
native			GetPlayerScore(playerid);
native	bool:	SetPlayerScore(playerid,score);
native	String:	GetPlayerName(playerid);
native	bool:	SetPlayerName(playerid,const name[]);
native			GetPlayerColourForPlayer(playerid,playerid2);
native	bool:	SetPlayerColourForPlayer(playerid,playerid2,colour);
native	bool:	Say(playerid,const text[]);
native	bool:	ClearChat(playerid);
native	bool:	IsChatVisible(playerid);
native	bool:	ToggleChatVisible(playerid,bool:visible);
native	bool:	SendPlayerMessage(playerid,colour,const msg[]);
native			GetPlayerHWID(playerid);
native	bool:	IsPlayerMarkerVisible(playerid);
native	bool:	ShowPlayerMarker(playerid,bool:show);
native	bool:	IsPlayerTagVisible(playerid);
native	bool:	ShowPlayerTag(playerid,bool:show);
native	bool:	IsPlayerConnected(playerid);
native	bool:	Disconnect(playerid,reason);
native	bool:	Detour(playerid,const hostip[],port,const name[],const pass[] = "");

native	bool:	IsPlayerInMenu(playerid);
native	bool:	GetPlayerMenuInfo(playerid,name[],op1[],op2[],op3[],op4[],op5[],op6[]);
native 	bool:	SetupPlayerMenu(playerid,const name[],const op1[] = "",const op2[] = "",const op3[] = "",const op4[] = "",const op5[] = "",const op6[] = "");
native	bool:	DestroyMenu(menuid);

// Actors

native			CreateActor(model,Float:x,Float:y,Float:z,Float:rotation);
native	bool:	DestroyActor(actorid);
native			GetActorSkin(actorid);
native	bool:	SetActorSkin(actorid,skin);
native	bool:	GetActorVisibility(actorid,playerid);
native	bool:	SetActorVisibility(actorid,playerid,bool:visible);
native	bool:	GetActorSpawnInfo(actorid,&skin,&Float:x,&Float:y,&Float:z,&Float:rotation);
native	bool:	SetActorSpawnInfo(actorid,skin,Float:x,Float:y,Float:z,Float:rotation);
native			GetActorSpawnWeaponAmmo(actorid,weaponid);
native	bool:	SetActorSpawnWeaponAmmo(actorid,weaponid,ammo);
native			GetActorClass(actorid);
native	bool:	SetActorClass(actorid,classid);
native	bool:	IsActorSpawned(actorid);
native	bool:	IsActorHeadless(actorid);
native	bool:	SpawnActor(actorid);
native	Float:	GetActorSize(actorid);
native	bool:	SetActorSize(actorid,Float:size);
native	bool:	IsActorValid(actorid);
native			GetActorHost(actorid);
native	bool:	SetActorHost(actorid,playerid);

native	bool:	GetActorSolidWater(actorid);
native	bool:	SetActorSolidWater(actorid);
native	bool:	IsActorTouchingWater(actorid);
native	bool:	GetActorWorldBounds(actorid,&Float:minx,&Float:maxx,&Float:miny,&Float:maxy,&Float:minz,&Float:maxz);
native	bool:	SetPlayerWorldBounds(actorid,Float:minx,Float:maxx,Float:miny,Float:maxy,Float:minz,Float:maxz);

native			GetActorVehicleID(actorid);
native	bool:	IsActorInAnyVehicle(actorid);
native	bool:	IsActorInVehicle(actorid,vehicleid);
native	bool:	IsActorHonking(actorid);
native	bool:	ToggleActorTrapped(actorid,bool:trapped);
native	bool:	GetActorTrapped(actorid);
native	bool:	PutActorInVehicle(actorid,vehicleid,seatid);
native	bool:	RemoveActorFromVehicle(actorid);
native			GetActorSeat(actorid);

native	bool:	GetActorPos(actorid,&Float:x,&Float:y,&Float:z);
native	bool:	SetActorPos(actorid,Float:x,Float:y,Float:z);
native	bool:	GetActorRot(actorid,&Float:rX,&Float:rY,&Float:rZ);
native	bool:	SetActorRot(actorid,Float:rX,Float:rY,Float:rZ);
native	bool:	GetActorTargetPos(actorid,&Float:x,&Float:y,&Float:z);
native	bool:	SetActorTargetPos(actorid,Float:x,Float:y,Float:z);
native			GetActorState(actorid);
native	bool:	SetActorState(actorid,stateid);
native	bool:	ActorSpotted(actorid,type,id);
native			GetActorAnim(actorid);
native	bool:	SetActorAnim(actorid,anim);
native	bool:	SetActorLookAt(actorid,Float:x,Float:y,Float:z);
native	bool:	SetActorRotateToPos(actorid,Float:x,Float:y,Float:z,time);
native	bool:	SetActorHoldObject(actorid,playerid,objectid);
native	bool:	SetActorMotion(actorid,motionid);

native	bool:	GetActorObjectivePos(actorid,&Float:x,&Float:y,&Float:z);
native	bool:	SetActorObjectivePos(actorid,Float:x,Float:y,Float:z);
native			GetActorDriveBehaviour(actorid);
native	bool:	SetActorDriveBehaviour(actorid,behaviourid);
native	Float:	GetActorMaxSpeed(actorid);
native	bool:	SetActorMaxSpeed(actorid,Float:speed);
native			GetActorAccuracy(actorid);
native	bool:	SetActorAccuracy(actorid,accuracy);
native			GetActorDefence(actorid);
native	bool:	SetActorDefence(actorid,defenceid);
native	bool:	ActorSpotted(actorid,type,id);
native	bool:	IsActorIgnoring(actorid,type,id);
native	bool:	SetActorIgnore(actorid,type,id);'
native	bool:	GetActorFleeing(actorid,&Float:x,&Float:y,&Float:z);
native	bool:	SetActorFlee(actorid,Float:x,Float:y,Float:z,time);
native	bool:	IsActorWandering(actorid);
native	bool:	SetActorWandering(actorid,bool:wandering);
native	bool:	GetActorObjective(actorid,&type,&id,&objectiveid);
native	bool:	SetActorObjective(actorid,type,id,objectiveid);
native	bool:	ClearActorObjective(actorid);
native	bool:	SetActorJumpAway(actorid,Float:x,Float:y);
native			GetActorTemper(actorid);
native	bool:	SetActorTemper(actorid,temper);
native			GetActorPedType(actorid);
native	bool:	SetActorPedType(actorid,pedtype);

native			GetActorMoney(actorid);
native	bool:	GiveActorMoney(actorid,money);
native	bool:	ResetActorMoney(actorid);

native			GetActorWanted(actorid);
native	bool:	SetActorWanted(actorid,wanted);
native	bool:	ResetActorWanted(actorid);

native			GetActorAmmo(actorid);
native	bool:	GiveActorAmmo(actorid,ammo);
native			GetActorWeapon(actorid);
native	bool:	GiveActorWeapon(actorid,weaponid,ammo);
native	bool:	GetActorWeaponData(actorid,slot,&weapon,&ammo);
native	bool:	SetActorWeaponData(actorid,slot,weapon,ammo);
native			GetActorMeleeStyle(actorid);
native	bool:	SetActorMeleeStyle(actorid,style);
native	bool:	IsActorOnJetpack(actorid);
native	bool:	GiveActorJetpack(actorid);
native			GetActorWeaponSlot(actorid);
native	bool:	SetActorWeaponSlot(actorid,slot);
native	bool:	IsActorImmune(actorid,immunityid);
native	bool:	SetActorImmunity(actorid,immunityid,bool:immune);
native	bool:	IsActorConstantlyBleeding(actorid);
native	bool:	ToggleActorConstantlyBleeding(actorid,bool:on);
native	bool: 	ResetActorWeapons(actorid);
native	bool:	GetActorTargetable(actorid,type,id);
native	bool:	SetActorTargetable(actorid,type,id,bool:targetable);
native	bool:	GetActorWeaponSync(actorid,weaponid);
native	bool:	SetActorWeaponSync(actorid,weaponid,bool:synced);
native	bool:	GetActorInvincible(actorid,type,id);
native	bool:	SetActorInvincible(actorid,type,id,bool:invincible);
native	bool:	IsActorOnFire(actorid);

native	Float:	GetActorSpeed(actorid);

native			GetActorInterior(actorid);
native	bool:	SetActorInterior(actorid,interiorid);

native	Float:	GetActorAir(actorid);
native	bool:	SetActorAir(actorid,Float:air);
native	Float:	GetActorHealth(actorid);
native	bool:	SetActorHealth(actorid,Float:health);
native	Float:	GetActorArmour(actorid);
native	bool:	SetActorArmour(actorid,Float:armour);
native	bool:	KillActor(actorid);

native	bool:	IsActorTagVisible(actorid);
native	bool:	ShowActorTag(actorid,bool:show);

// Vehicles

native	bool:	IsGarageActiveForVehicle(vehicleid,garageid);
native	bool:	ToggleGarageActiveForVehicle(vehicleid,garageid,bool:active);

native			CreateVehicle(model,Float:x,Float:y,Float:z,Float:a,col1,col2,respawn_time);
native	bool:	DestroyVehicle(vehicleid);
native	bool:	GetVehicleSpawnInfo(vehicleid,&model,&Float:x,&Float:y,&Float:z,&Float:a,&col1,&col2,&respawn_time);
native	bool:	SetVehicleSpawnInfo(vehicleid,model,Float:x,Float:y,Float:z,Float:a,col1,col2,respawn_time);
native	bool:	GetVehicleColour(vehicleid,&col1,&col2);
native	bool:	SetVehicleColour(vehicleid,col1,col2);
native			GetVehicleModel(vehicleid);
native	bool:	SetVehicleModel(vehicleid,model);
native	bool:	IsVehicleVisible(vehicleid,playerid);
native	bool:	SetVehicleVisibility(vehicleid,playerid,bool:visible);
native	bool:	GiveVehicleMod(vehicleid,modid);
native	bool:	DoesVehicleHaveMod(vehicleid,modid);
native	bool:	StripVehicleMod(vehicleid,modid);
native	bool:	ToggleVehicleVisibleDamage(vehicleid,bool:toggle);
native	String:	GetVehicleLicensePlate(vehicleid);
native	bool:	SetVehicleLicensePlate(vehicleid,const plate[]);

native	bool:	GetVehiclePos(vehicleid,&Float:x,&Float:y,&Float:z);
native	bool:	SetVehiclePos(vehicleid,Float:x,Float:y,Float:z);
native	bool:	GetVehicleRot(vehicleid,&Float:rX,&Float:rY,&Float:rZ);
native	bool:	SetVehicleRot(vehicleid,Float:rX,Float:rY,Float:rZ);
native	Float:	GetVehicleWeight(vehicleid);
native	bool:	SetVehicleWeight(vehicleid,Float:weight);
native	Float:	GetVehicleTurnMass(vehicleid);
native	bool:	SetVehicleTurnMass(vehicleid,Float:mass);
native	Float:	GetVehicleHealth(vehicleid);
native	bool:	SetVehicleHealth(vehicleid,Float:health);
native	Float:	GetVehicleHandling(vehicleid);
native	bool:	SetVehicleHandling(vehicleid,Float:handling);

native			GetVehiclePassengers(vehicleid);
native	bool:	IsAirbourne(vehicleid);
native	bool:	IsFlipped(vehicleid);
native	bool:	IsVehicleOnFire(vehicleid);

native	bool:	IsVehicleLocked(vehicleid,playerid);
native	bool:	LockVehicle(vehicleid,playerid,bool:locked);
native	bool:	ExplodeVehicle(vehicleid);
native	bool:	IsVehicleImmune(vehicleid,immunityid);
native	bool:	SetVehicleImmunities(vehicleid,immunityid,bool:immune);
native	bool:	StopVehicle(vehicleid);
native	bool:	IsSirenOn(vehicleid);
native	bool:	ToggleVehicleSiren(vehicleid,bool:on);
native	bool:	SetVehicleAction(vehicleid,action);
native	bool:	FireVehicleGuns(vehicleid);
native	bool:	AreHeadlightsOn(vehicleid);
native	bool:	ToggleHeadlights(vehicleid,bool:on);
native	bool:	GetLandingGearStatus(vehicleid);
native	bool:	ToggleLandingGear(vehicleid,bool:up);

native	Float:	GetVehicleSpeed(vehicleid);
native	bool:	SetVehicleInstantSpeed(vehicleid,Float:speed);
native	Float:	GetTrainAcceleration(vehicleid);
native	bool:	SetTrainAcceleration(vehicleid,Float:acceleration);
native	Float:	GetTrainSpeed(vehicleid);
native	bool:	SetTrainSpeed(vehicleid,Float:speed);

native 	bool:	GetVehicleTires(vehicleid,&tire1,&tire2,&tire3,&tire4);
native 	bool:	SetVehicleTires(vehicleid,tire1,tire2,tire3,tire4);
native 	bool:	GetVehicelDoors(vehicleid,&door1,&door2,&door3,&door4);
native 	bool:	SetVehicleDoors(vehicleid,door1,door2,door3,door4);

native			GetTrailerAttached(vehicleid);
native	bool:	AttachTrailerToVehicle(trailerid,vehicleid);
native	bool:	DetachTrailerFromVehicle(vehicleid);
native	bool:	IsMagnetAttached(vehicleid);
native	bool:	ToggleMagnetAttached(vehicleid,bool:attached);
native	bool:	MagnetRelease(vehicleid);
native			GetMagnetVehicle(vehicleid);

native			GetVehicleInterior(vehicleid);
native	bool:	SetVehicleInterior(vehicleid,interior);

// Objects

native 			CreateObject(playerid,model,Float:x,Float:y,Float:z,Float:rX,Float:rY,Float:rZ);
native 	bool:	DestroyObject(playerid,objectid);
native	bool:	IsObjectVisible(playerid,objectid);
native 	bool:	SetObjectVisibility(playerid,objectid,bool:toggle);
native	bool:	IsObjectMovable(playerid,objectid);
native 	bool:	ToggleObjectMovable(playerid,objectid,bool:toggle);
native 	bool:	IsObjectIndestructible(playerid,objectid);
native 	bool:	SetObjectIndestructible(playerid,objectid,bool:toggle);
native 	bool:	IsObjectLiftable(playerid,objectid);
native 	bool:	SetObjectLiftable(playerid,objectid,bool:liftable);

native 	bool:	GetObjectPos(playerid,objectid,&Float:x,&Float:y,&Float:z);
native 	bool:	SetObjectPos(playerid,objectid,Float:x,Float:y,Float:z);
native 	bool:	GetObjectRot(playerid,objectid,&Float:rX,&Float:rY,&Float:rZ);
native 	bool:	SetObjectRot(playerid,objectid,Float:rX,Float:rY,Float:rZ);

native	bool:	GetObjectMotion(playerid,objectid,&Float:x,&Float:y,&Float:z,&Float:speed);
native 	bool:	SetObjectMotion(playerid,objectid,Float:x,Float:y,Float:z,Float:speed);
native 	bool:	StopObjectMotion(playerid,objectid);
native	bool:	GetObjectMotionEx(playerid,objectid,&Float:rX,&Float:rY,&Float:rZ,&Float:speed);
native 	bool:	SetObjectMotionEx(playerid,objectid,Float:rX,Float:rY,Float:rZ,Float:speed);
native 	bool:	ThrowObject(playerid,objectid,Float:x,Float:y,Float:z);
native			GetObjectAnimation(playerid,objectid);
native 	bool:	SetObjectAnimation(playerid,objectid,animation);

native 	bool:	IsObjectInWater(playerid,objectid);

native 			GetObjectInterior(playerid,objectid);
native 	bool:	SetObjectInterior(playerid,objectid,interiorid);

// Markers

native			CreateMarker(playerid,Float:x,Float:y,colour);
native			CreateMarkerEx(playerid,type,id,colour);
native 	bool:	DestroyMarker(playerid,markerid);
native 	bool:	IsMarkerVisible(playerid,markerid);
native 	bool:	SetMarkerVisibility(playerid,markerid,bool:invisible = true);
native 			GetMarkerColour(playerid,markerid);
native 	bool:	SetMarkerColour(playerid,markerid,colour);
native	bool:	IsMarkerAttached(playerid,markerid);
native	bool:	GetMarkerAttached(playerid,markerid,&type,&id);
native	bool:	SetMarkerAttached(playerid,markerid,type,id);

native 	bool:	GetMarkerPos(playerid,markerid,&Float:x,&Float:y);
native 	bool:	SetMarkerPos(playerid,markerid,Float:x,Float:y);

// Icons

native 			CreateIcon(playerid,icon,Float:x,Float:y);
native			CreateIconEx(playerid,icon,type,id);
native 	bool:	DestroyIcon(playerid,iconid);
native 			GetIcon(playerid,iconid);
native 	bool:	SetIcon(playerid,iconid,icon);
native	bool:	IsIconAttached(playerid,iconid);
native	bool:	GetIconAttached(playerid,iconid,&type,&id);
native	bool:	SetIconAttached(playerid,iconid,type,id);

native 	bool:	GetIconPos(playerid,icon,&Float:x,&Float:y);
native 	bool:	SetIconPos(playerid,icon,Float:x,Float:y);

// Pickups

native 			CreatePickup(model,type,Float:x,Float:y,Float:z);
native 	bool:	DestroyPickup(pickupid);
native	bool:	GetPickupInfo(pickupid,&model,&type,&Float:x,&Float:y,&Float:z);
native	bool:	SetPickupInfo(pickupid,model,type,Float:x,Float:y,Float:z);

native 	bool:	IsPickupUsed(pickupid);

native 	bool:	GetPickupPos(pickupid,&Float:x,&Float:y,&Float:z);
native	bool:	SetPickupPos(pickupid,Float:x,Float:y,Float:z);

// Fires


native 			CreateFire(Float:x,Float:y,Float:z,Float:size,Float:propagation);
native			CreateFireEx(type,id);
native	bool:	DestroyFire(fireid);
native 	bool:	RemoveAllFires();

native 	bool:	IsFireExtinguished(fireid);

native 	bool:	GetFirePos(fireid,&Float:x,&Float:y,&Float:z);
native	bool:	SetFirePos(fireid,Float:x,Float:y,Float:z);

// Lights

native 			CreateSearchlight(Float:x,Float:y,Float:z,Float:x2,Float:y2,Float:z2,Float:r1,Float:r2);
native			CreateSearchlightEx(type,id,Float:r1,Float:r2);
native 	bool:	DestroySearchlight(lightid);
native 	bool:	IsSearchlightActive(lightid);

native	bool:	GetSearchlightSearch(lightid,&Float:x,&Float:y,&Float:z,&Float:speed);
native 	bool:	SetSearchlightSearch(lightid,Float:x,Float:y,Float:z,Float:speed);
native	bool:	IsSearchlightFollowing(lightid);
native	bool:	GetSearchlightFollow(lightid,&type,&id);
native 	bool:	SetSearchlightFollow(lightid,type,id);

native	bool:	CanSearchlightSeeThroughSolids(lightid);
native 	bool:	ToggleSearchlightThroughSolids(lightid,bool:toggle);

// Enex's

native 			CreateEnex(Float:x,Float:y,Float:z,colour);
native 	bool:	DestroyEnex(enexid);

// Server

native 	bool:	print(const string[]);
native 	bool:	printf(const format[],{Float,_}:...);
native	bool:	SendDeathMessage(killer,killee,weapon);
native 			SetTimer(const funcname[],interval,bool:repeating,{Float,_}:...);
native 	bool:	KillTimer(const timerid);
native 	bool:	CallLocalFunction(const funcname[],{Float,_}:...);
native 	bool:	CallRemoteFunction(const funcname[],{Float,_}:...);
native 			GetFunctionParams(const funcname[]);
native 			GetFunctionParamType(const funcname[],param);
native			GetPlayers();
native 			GetMaxPlayers();
native 			SetMaxPlayers(players);
native 			SetGameModeText(const string[]);
native 	String:	GetGameModeText();
native 	bool:	GameModeExit();
native 	bool:	SendRconCommand(const command[]);
native 	bool:	Echo(const text[]);
native	bool:	IsFilterScriptActive(fsid);
native	bool:	UnloadFilterScript(fsid);
native	bool:	IsFilterScriptActiveEx(const fsname[]);
native	bool:	UnloadFilterScriptEx(const fsname[]);
native	bool:	LoadFilterScript(const fsname[]);
native	String:	sprintf(const format[],{Float,_}:..);
native	String:	GetMap();
native	bool:	SetMap(const mapname[]);
native	String:	GetName();
native	bool:	SetName(const name[]);
native	String:	GetPass();
native	bool:	SetPass(const pass[]);
native			GetPort();
native	bool:	SetPort(port);
native	bool:	Reset();

// Maths

native 	Float:	asin(Float:value);					// ^
native 	Float:	acos(Float:value);					// ^
native 	Float:	atan(Float:value);					// ^
native 	Float:	atan2(Float:value,Float:value2);	// ^

// Other

native 	bool:	CreateExplosion(type,Float:x,Float:y,Float:z,Float:radius);
native			GetGarageType(garageid);
native 	bool:	SetGarageType(garageid,type);
native			GetGarageState(garageid);
native 	bool:	SetGarageState(garageid,state);
native	bool:	IsRubbishOn();
native 	bool:	ToggleRubbish(bool:toggle);
native	bool:	IsDecapitationOn();
native 	bool:	ToggleDecapitation(bool:toggle);
native	bool:	AreTrainsOn();
native 	bool:	ToggleTrains(bool:toggle);
native 	bool:	CreateFlash(Float:x,Float:y,Float:z,colour,Float:radius);
native	bool:	IsMotionBlueEnabled();
native 	bool:	EnableMotionBlur(bool:enable);
native	bool:	AreCarsBubble();
native 	bool:	ToggleBubbleCars(bool:toggle);
native	bool:	AreZoneNamesActive();
native 	bool:	EnableZoneNames(bool:enable);
native	bool:	IsVertigoEnabled();
native 	bool:	EnableVertigo(bool:enable);
native	bool:	IsHazeEnabled();
native 	bool:	EnableHaze(bool:enable);
native 	bool:	CreateSmoke(Float:x,Float:y,Float:z,Float:x2,Float:y2,Float:z2,colour,size,time);
native 	Float:	GetCraneLength();
native 	bool:	SetCraneLength(Float:length);
native 			GetCranePlayer();
native 	bool:	SetCranePlayer(playerid);
native	bool:	IsCraneHoldingVehicle(vehicleid);
native	bool:	CraneRelease();
native	bool:	GetStuck(type,id,&type2,&id2);
native 	bool:	Glue(type,id,type2,id2);
native	bool:	Unstick(type,id);
native	bool:	DoWeaponsDrop();
native	bool:	ToggleDroppableWeapons(bool:toggle);
native	bool:	DoTiresPop();
native	bool:	ToggleTiresPoppable(bool:toggle);

#endif