跳到主要内容

GetPlayerCameraTargetActor

注意

这个函数是在SA-MP 0.3.7中添加的,在以前的版本中不起作用!

描述

获取玩家当前正在注视的角色(若有)的 ID。

参数名说明
playerid需要获取目标角色 ID 的玩家 ID

返回值

玩家正在注视的角色 ID(若无可视角色则返回 INVALID_ACTOR_ID)

示例代码

new bool:ActorHandsup[MAX_ACTORS];

public OnPlayerConnect(playerid)
{
EnablePlayerCameraTarget(playerid, true);
return 1;
}

public OnPlayerUpdate(playerid)
{
// 检测玩家当前注视的角色(若有)
new playerTargetActor = GetPlayerCameraTargetActor(playerid);

if (playerTargetActor != INVALID_ACTOR_ID)
{
// 获取玩家当前武器以检测是否持械
new playerWeapon = GetPlayerWeapon(playerid);

// 获取玩家按键状态以检测是否处于瞄准状态
new KEY:keys, updown, leftright;
GetPlayerKeys(playerid, keys, updown, leftright);

// 若角色未举手且玩家持械瞄准
if (!ActorHandsup[playerTargetActor] && playerWeapon >= 22 && playerWeapon <= 42 && keys & KEY_AIM)
{
// 应用举手动画
ApplyActorAnimation(playerTargetActor, "SHOP", "SHP_HandsUp_Scr",4.1,0,0,0,1,0);

// 标记角色已举手状态
ActorHandsup[playerTargetActor] = true;
}
}
return 1;
}

注意事项

提示

本函数仅返回玩家视角方向上的角色 ID,如需检测玩家是否正在瞄准该角色,请使用GetPlayerTargetActor

注意

本功能默认禁用以节省带宽,需使用EnablePlayerCameraTarget为每个玩家单独启用

相关函数