跳到主要内容

NPC_SetSurfingOffsets

注意

这个函数是在omp v1.5.8.3079中添加的,在以前的版本中不起作用!

描述

设置 NPC 的冲浪偏移。

参数说明
npcidNPC 的 ID
xX 偏移
yY 偏移
zZ 偏移

返回值

如果操作成功则返回true,否则返回false

示例

public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp(cmdtext, "/setsurfingoffset ", true, 18))
{
new npcid = PlayerNPC[playerid];
if (npcid == INVALID_NPC_ID)
return SendClientMessage(playerid, 0xFF0000FF, "你没有在调试NPC。");

if (!NPC_IsValid(npcid))
return SendClientMessage(playerid, 0xFF0000FF, "无效的NPC。");

new Float:x, Float:y, Float:z;
new idx = 18;

// 处理x
while (cmdtext[idx] == ' ') idx++;
new startIdx = idx;
while (cmdtext[idx] != ' ' && cmdtext[idx] != '\0') idx++;
new xStr[32];
strmid(xStr, cmdtext, startIdx, idx);
x = floatstr(xStr);

// 处理y
while (cmdtext[idx] == ' ') idx++;
startIdx = idx;
while (cmdtext[idx] != ' ' && cmdtext[idx] != '\0') idx++;
new yStr[32];
strmid(yStr, cmdtext, startIdx, idx);
y = floatstr(yStr);

// 处理z
while (cmdtext[idx] == ' ') idx++;
z = floatstr(cmdtext[idx]);

NPC_SetSurfingOffsets(npcid, x, y, z);
SendClientMessage(playerid, 0x00FF00FF, "NPC %d 冲浪偏移设置为 %.2f, %.2f, %.2f", npcid, x, y, z);

return 1;
}
return 0;
}

注意事项

  • 冲浪偏移决定了 NPC 相对于其冲浪的物体/车辆的相对位置
  • 正 Z 值将 NPC 向上移动,负值向下移动
  • 正 Y 值通常将 NPC 相对于车辆方向向前移动
  • 正 X 值将 NPC 相对于车辆方向向右移动
  • 这对于微调冲浪时 NPC 的位置很有用
  • 非常适合创建车辆护送或乘客

相关函数

相关回调

此函数不会触发任何特定的回调。