CreatePickup
描述
本函数功能与 AddStaticPickup 相同,但会返回可用于后续销毁操作的拾取物 ID,并能通过 OnPlayerPickUpPickup 回调追踪拾取事件。
参数名 | 说明 |
---|---|
model | 拾取物模型 ID |
type | 拾取物行为类型 |
Float:x | X 轴坐标 |
Float:y | Y 轴坐标 |
Float:z | Z 轴坐标 |
virtualWorld | 所属虚拟世界 ID(-1 表示全可见) |
返回值
成功返回拾取物 ID,达到数量上限时返回-1。
应用示例
new pickup_Armour; // 创建变量存储拾取物ID
public OnGameModeInit()
{
// 在坐标(1503.3359,1432.3585,10.1191)创建护甲拾取物
pickup_Armour = CreatePickup(1242, 2, 1503.3359, 1432.3585, 10.1191, -1);
return 1;
}
// 后续操作示例
DestroyPickup(pickup_Armour); // 使用ID销毁拾取物
pickup_Armour = 0; // 重置变量避免冲突
注意事项
提示
- 仅类型 14 的拾取物支持车辆内拾取(特殊类型如贿赂物品例外)
- 所有玩家可见且可拾取
- 使用 DestroyPickup 时可能出现多人同时拾取(需通过变量控制)
- 特定模型会触发自动响应(如 M4 模型自动给予武器)
- 完全脚本控制的拾取物建议使用类型 1
注意
已知问题:
- 当 X/Y 坐标超出 ±4096 范围时,拾取物不可见且不会触发拾取回调
关联函数
- AddStaticPickup: 创建静态拾取物
- DestroyPickup: 销毁拾取物
- IsValidPickup: 验证有效性
- IsPickupStreamedIn: 检测流加载状态
- IsPickupHiddenForPlayer: 检测玩家可见性
- SetPickupPos: 设置坐标
- GetPickupPos: 获取坐标
- SetPickupModel: 更换模型
- GetPickupModel: 获取当前模型
- SetPickupType: 修改行为类型
- GetPickupType: 获取当前类型
- SetPickupVirtualWorld: 设置虚拟世界
- GetPickupVirtualWorld: 获取虚拟世界
- ShowPickupForPlayer: 对玩家显示
- HidePickupForPlayer: 对玩家隐藏
- SetPickupForPlayer: 自定义玩家专属属性
- CreatePlayerPickup: 创建玩家私有拾取物
- DestroyPlayerPickup: 销毁私有拾取物
关联回调
- OnPlayerPickUpPickup: 玩家拾取时触发
- OnPickupStreamIn: 流加载时触发
- OnPickupStreamOut: 流卸载时触发