02.04.2016, 06:50
(
Last edited by Admigo; 08/04/2016 at 09:21 PM.
)
Since Emmet_ has left SA-MP i will maintain this include by releasing new updates and fixing bugs.
I don't want to take any credit for his work.
Actor functions
Here are some useful functions related to actors. The purpose of this library is to extend the functionality of actors.
Function list
Callback list
Other benefits:
Here's some useful code to respawn a dead actor after 5 seconds:
Attach a 3D text label to a certain actor:
Make the targeted actor put their hands up.
Updates
Update 08.04.2016
Downloads
Updated
http://pastebin.com/A9U2suFK
Old
http://pastebin.com/TGKx2EyD
Suggestions
If you have any suggestions to improve this include you can pm me or leave a comment here.
Admigo
I don't want to take any credit for his work.
Actor functions
Here are some useful functions related to actors. The purpose of this library is to extend the functionality of actors.
Function list
pawn Code:
// Resynchronize an actor.
forward ResyncActor(actorid);
// Respawns an actor.
forward RespawnActor(actorid);
// Checks if the actor is dead.
forward IsActorDead(actorid);
// Sets an actor's respawn time (after death).
forward SetActorRespawnTime(actorid, time);
// Checks if a player is in range of an actor.
forward IsPlayerInRangeOfActor(playerid, actorid, Float:radius = 5.0);
// Attaches a 3D text label to an actor.
forward Text3D:Attach3DTextLabelToActor(actorid, text[], color, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:distance = 10.0, worldid = 0, testlos = 0);
// Sets an actor's name(3D text label)
forward SetActorName(actorid, name[]);
// Gets an actor's name
forward GetActorName(actorid);
// Toggle an actor's name(Show/Hide 3D text label. Only works when the actor's name is already set(SetActorName)
forward ToggleActorName(actorid,bool:toggle);
// Sets an actor's color(Colors 3D text label only)
forward SetActorColor(actorid, color);
// Sets an actor's chat bubble
forward SetActorChatBubble(actorid, text[], color, Float:drawdistance, expiretime);
pawn Code:
// Called when an actor dies.
forward OnActorDeath(actorid, killerid, reason);
// Called when an actor spawns.
forward OnActorSpawn(actorid);
// Called when a player aims at an actor.
forward OnPlayerTargetActor(playerid, newtarget, oldtarget);
Other benefits:
- Animations are automatically preloaded for an actor, so you don't need to preload them yourself!
- Actor damage is automatically deducted so you don't need to worry about doing that also.
- This also fixes a bug where animations aren't cleared when an actor dies.
Here's some useful code to respawn a dead actor after 5 seconds:
pawn Code:
public OnActorDeath(actorid, killerid, reason)
{
SetActorRespawnTime(actorid, 5000);
}
Attach a 3D text label to a certain actor:
pawn Code:
gActor = CreateActor(255, 0.0, 0.0, 10.0, 90.0);
gAttachedLabel = Attach3DTextLabelToActor(gActor, "I am an actor!\nPress {FFFF00}'Y'{FFFFFF} to interact with me!", 0xFFFFFFFF, 0.0, 0.0, 0.3, 10.0, 0);
Make the targeted actor put their hands up.
pawn Code:
public OnPlayerTargetActor(playerid, newtarget, oldtarget)
{
if (newtarget != INVALID_ACTOR_ID)
{
ApplyActorAnimation(newtarget, "PED", "handsup", 4.1, 0, 0, 0, 0, 0);
}
if (oldtarget != INVALID_ACTOR_ID)
{
ClearActorAnimations(oldtarget);
}
}
Update 08.04.2016
pawn Code:
- Added native SetActorName(actorid,name[])
- Added native GetActorName(actorid)
- Added native ToggleActorName(actorid,bool:toggle)
- Added native SetActorColor(actorid, color)
- Added native SetActorChatBubble(actorid, text[], color, Float:drawdistance, expiretime)
Updated
http://pastebin.com/A9U2suFK
Old
http://pastebin.com/TGKx2EyD
Suggestions
If you have any suggestions to improve this include you can pm me or leave a comment here.
Admigo