跳到主要内容

OnPlayerEditAttachedObject

描述

当玩家结束附加物体编辑模式时触发该回调。

参数说明
playerid结束编辑的玩家ID
EDIT_RESPONSE:response操作结果:0=取消(ESC),1=保存(点击保存图标)
index附加物体的索引号(0-9)
modelid被编辑附加物体的模型ID
boneid被编辑附加物体的骨骼ID
Float:fOffsetX被编辑附加物体的X轴偏移量
Float:fOffsetY被编辑附加物体的Y轴偏移量
Float:fOffsetZ被编辑附加物体的Z轴偏移量
Float:fRotX被编辑附加物体的X轴旋转角度
Float:fRotY被编辑附加物体的Y轴旋转角度
Float:fRotZ被编辑附加物体的Z轴旋转角度
Float:fScaleX被编辑附加物体的X轴缩放比例
Float:fScaleY被编辑附加物体的Y轴缩放比例
Float:fScaleZ被编辑附加物体的Z轴缩放比例

返回值

1 - 阻止其他脚本接收此回调
0 - 允许传递给后续脚本

该回调在滤镜脚本中总是优先触发。

示例

enum attached_object_data
{
Float:ao_x,
Float:ao_y,
Float:ao_z,
Float:ao_rx,
Float:ao_ry,
Float:ao_rz,
Float:ao_sx,
Float:ao_sy,
Float:ao_sz
}

new ao[MAX_PLAYERS][MAX_PLAYER_ATTACHED_OBJECTS][attached_object_data];

// 当附加物体被附加时,应将数据存储到上述数组中

public OnPlayerEditAttachedObject(playerid, EDIT_RESPONSE:response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
{
if (response == EDIT_RESPONSE_FINAL)
{
SendClientMessage(playerid, COLOR_GREEN, "附加物体编辑已保存");

ao[playerid][index][ao_x] = fOffsetX;
ao[playerid][index][ao_y] = fOffsetY;
ao[playerid][index][ao_z] = fOffsetZ;
ao[playerid][index][ao_rx] = fRotX;
ao[playerid][index][ao_ry] = fRotY;
ao[playerid][index][ao_rz] = fRotZ;
ao[playerid][index][ao_sx] = fScaleX;
ao[playerid][index][ao_sy] = fScaleY;
ao[playerid][index][ao_sz] = fScaleZ;
}
else if (response == EDIT_RESPONSE_CANCEL)
{
SendClientMessage(playerid, COLOR_RED, "附加物体编辑未保存");

new i = index;
SetPlayerAttachedObject(playerid, index, modelid, boneid,
ao[playerid][i][ao_x],
ao[playerid][i][ao_y],
ao[playerid][i][ao_z],
ao[playerid][i][ao_rx],
ao[playerid][i][ao_ry],
ao[playerid][i][ao_rz],
ao[playerid][i][ao_sx],
ao[playerid][i][ao_sy],
ao[playerid][i][ao_sz]);
}
return 1;
}

注意

提示

使用SetPlayerAttachedObject可还原附加物体的原始参数

相关回调

以下回调可能与当前回调存在关联:

相关函数

以下函数可能与当前回调相关: