警告
此回调是在SA-MP 0.3e中添加的,在早期版本中不起作用!描述
当玩家完成编辑对象(EditObject / EditPlayerObject)时调用此回调。| 姓名 | 描述 |
|---|---|
| playerid | 编辑对象的玩家的ID |
| playerobject | 如果它是全局对象,则为 0;如果它是玩家对象,则为 1。 |
| objectid | 编辑对象的ID |
| response | 响应 类型 |
| Float:fX | 已编辑对象的 X 偏移 |
| Float:fY | 已编辑对象的 Y 偏移 |
| Float:fZ | 已编辑对象的 Z 偏移 |
| Float:fRotX | 已编辑对象的 X 旋转 |
| Float:fRotY | 已编辑对象的 Y 旋转 |
| Float:fRotZ | 已编辑对象的 Z 旋转 |
返回
1 - 将阻止其他脚本接收此回调。 0 - 表示此回调将传递给下一个脚本。 它总是在过滤器脚本中首先被调用。例子
public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ){newFloat: oldX,Float: oldY,Float: oldZ,Float: oldRotX,Float: oldRotY,Float: oldRotZ;GetObjectPos(objectid, oldX, oldY, oldZ);GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);if (!playerobject) // If this is a global object, sync the position for other players{if (!IsValidObject(objectid)){return 1;}SetObjectPos(objectid, fX, fY, fZ);SetObjectRot(objectid, fRotX, fRotY, fRotZ);}switch (response){case EDIT_RESPONSE_FINAL:{// The player clicked on the save icon// Do anything here to save the updated object position (and rotation)}case EDIT_RESPONSE_CANCEL:{//The player cancelled, so put the object back to it's old positionif (!playerobject) //Object is not a playerobject{SetObjectPos(objectid, oldX, oldY, oldZ);SetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);}else{SetPlayerObjectPos(playerid, objectid, oldX, oldY, oldZ);SetPlayerObjectRot(playerid, objectid, oldRotX, oldRotY, oldRotZ);}}}return 1;}
