跳到主要内容

GetPlayerLastShotVectors

描述

获取玩家最后一次射击子弹的起始点和命中点坐标

参数名说明
playerid需要获取射击信息的玩家 ID
&Float:originX用于存储子弹发射原点 X 坐标的浮点型变量
&Float:originY用于存储子弹发射原点 Y 坐标的浮点型变量
&Float:originZ用于存储子弹发射原点 Z 坐标的浮点型变量
&Float:hitPosX用于存储子弹命中点 X 坐标的浮点型变量
&Float:hitPosY用于存储子弹命中点 Y 坐标的浮点型变量
&Float:hitPosZ用于存储子弹命中点 Z 坐标的浮点型变量

返回值

true - 函数执行成功

false - 函数执行失败(指定的玩家不存在)

最后一次射击的坐标信息会被存储在指定的变量中

示例代码

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/lastshot", true) == 0)
{
new string[128],
Float:originX, Float:originY, Float:originZ,
Float:hitPosX, Float:hitPosY, Float:hitPosZ;

GetPlayerLastShotVectors(playerid, originX, originY, originZ, hitPosX, hitPosY, hitPosZ);

format(string, sizeof(string), "Last Shot Information: Origin: %f, %f, %f. Hit position: %f, %f, %f", originX, originY, originZ, hitPosX, hitPosY, hitPosZ);
SendClientMessage(playerid, -1, string);
return 1;
}
return 0;
}

注意事项

注意
  • 本函数仅在开启延迟补偿时生效
  • 若子弹未命中任何物体,命中点坐标将返回 0。当前无法计算子弹在空中的飞行距离

相关函数

相关回调函数