meta data for this page
📚 差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| scripting:world:pickup [2023/07/30 21:23] – bibiboxs | scripting:world:pickup [2025/08/16 06:04] (当前版本) – bibiboxs | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| < | < | ||
| # World/ | # World/ | ||
| + | > 注意:`Pickup`仅允许`Character`类型主动触发,如果`Character`正在驾驶\乘坐载具,则会在载具进入触发范围时**所有载具内角色**触发相关事件。 | ||
| ## Event | ## Event | ||
| 行 6: | 行 7: | ||
| ### OnPickupEntered( pickup, | ### OnPickupEntered( pickup, | ||
| - | > 当角色进入拾取物范围时触发,角色同一时间只能触发一个拾取物。 | + | > 当角色进入拾取物范围时触发,角色同一时间可触发多个拾取物(如果在范围内)。 |
| > | > | ||
| 行 74: | 行 75: | ||
| ### pickup.UUID | ### pickup.UUID | ||
| - | > 获取拾取物UUID,这是由一串较长的字符串组成的全局唯一**文本ID**。 | + | > 获取拾取物UUID,这是由一串较长的字符串组成的全局唯一**文本ID**(实例化时自动赋值,非持久化数据)。 |
| ```javascript | ```javascript | ||
| 行 88: | 行 89: | ||
| ```javascript | ```javascript | ||
| pickup.Pos = Vector(0, 0, 0); | pickup.Pos = Vector(0, 0, 0); | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### pickup.World | ||
| + | |||
| + | > 设置拾取物实例世界ID(不同世界将不可视\不可交互)。 | ||
| + | |||
| + | ```javascript | ||
| + | pickup.World = 0; //int | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### pickup.Group | ||
| + | |||
| + | > 设置拾取物**实例组**(这是一个Entity基类通用属性)。 | ||
| + | > | ||
| + | > 默认值`0`表示特殊组(无分组机制),如实例组不为0,则只有相同组的拾取物和对象才会触发。 | ||
| + | |||
| + | ```javascript | ||
| + | pickup.Group = 0; //int | ||
| ``` | ``` | ||
| 行 94: | 行 117: | ||
| ### pickup.Type | ### pickup.Type | ||
| - | > 设置拾取物实例类型,类型样式参考[《世界资源实例汇总》](reference/ | + | > 设置拾取物实例光环类型,如设置为-1则不显示光环(类似模型直接在地上),类型样式参考[《世界资源实例汇总》](reference/ |
| ```javascript | ```javascript | ||
| 行 108: | 行 131: | ||
| ```javascript | ```javascript | ||
| pickup.Model = 413; //int | pickup.Model = 413; //int | ||
| + | ``` | ||
| + | |||
| + | |||
| + | ### pickup.ModelEnum | ||
| + | |||
| + | > 设置拾取物实例模型的`Enum`属性(`Model.Enum`)。 | ||
| + | > | ||
| + | > 此属性是一个兼容链接属性,不一定适合所有模型使用。 | ||
| + | |||
| + | ```javascript | ||
| + | pickup.ModelEnum = 0?; //int, Not a fixed default | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### pickup.ModelScale | ||
| + | |||
| + | > 设置拾取物实例模型的缩放尺寸(比例),默认为`1.0`。 | ||
| + | |||
| + | ```javascript | ||
| + | pickup.ModelScale = 1.0; | ||
| ``` | ``` | ||
| 行 118: | 行 162: | ||
| ```javascript | ```javascript | ||
| pickup.Color = Color(255, 255, 255); | pickup.Color = Color(255, 255, 255); | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### pickup.Text | ||
| + | |||
| + | > 设置拾取物标签文本(头部文字),支持富文本代码。 | ||
| + | |||
| + | ```javascript | ||
| + | pickup.Text = ""; | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### pickup.IsLoopTrigger | ||
| + | |||
| + | > 设置拾取物是否可持续拾取,默认为`true`,否则当拾取后`Respawn()`后,需要重新触碰拾取物才可再次触发。 | ||
| + | > | ||
| + | > 当此属性设置为`true`时,重生(Respawn)后将会再次调用`OnPickupEntered`事件。 | ||
| + | |||
| + | ```javascript | ||
| + | pickup.IsLoopTrigger = true; | ||
| ``` | ``` | ||
| 行 130: | 行 196: | ||
| ```javascript | ```javascript | ||
| pickup.IsCollected: | pickup.IsCollected: | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### pickup.OccupantCount | ||
| + | |||
| + | > 获取拾取物当前正在触发的角色单位数量,此功能通常搭配`pickup.GetOccupant()`使用。 | ||
| + | |||
| + | ```javascript | ||
| + | pickup.OccupantCount: | ||
| ``` | ``` | ||
| 行 141: | 行 217: | ||
| ```javascript | ```javascript | ||
| - | function Pickup.Create( type: int, model: int, pos: Vector, color: Color = null ) | + | function Pickup.Create( type: int, model: int, pos: Vector, color: Color = null ): Pickup |
| ``` | ``` | ||
| 行 170: | 行 246: | ||
| ```javascript | ```javascript | ||
| function Pickup.Find( uuid: string ): Pickup | function Pickup.Find( uuid: string ): Pickup | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Pickup.GetCount() | ||
| + | |||
| + | > 获取当前所有存在拾取物数量。 | ||
| + | |||
| + | ```javascript | ||
| + | function Pickup.GetCount(): | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Pickup.Get() | ||
| + | |||
| + | > 获取当前存在的指定索引拾取物,通常搭配`GetCount()`遍历使用。 | ||
| + | |||
| + | ```javascript | ||
| + | function Pickup.Get( index: int ): Pickup | ||
| ``` | ``` | ||
| 行 181: | 行 277: | ||
| ```javascript | ```javascript | ||
| - | function pickup.Remove() | + | function pickup.Remove( |
| ``` | ``` | ||
| + | |||
| + | - `hasAnim`是否执行销毁动画(默认`true`),否则立即销毁 | ||
| 行 215: | 行 313: | ||
| function pickup.Respawn() | function pickup.Respawn() | ||
| ``` | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### pickup.GetOccupant() | ||
| + | |||
| + | > 获取当前拾取物实例正在触发的(指定索引)角色实例。 | ||
| + | |||
| + | ```javascript | ||
| + | function pickup.GetOccupant( index: int ): Character | ||
| + | ``` | ||
| + | |||
| + | ```javascript | ||
| + | // | ||
| + | let occCount = pickup.OccupantCount; | ||
| + | for(let i=0; | ||
| + | { | ||
| + | DLog(pickup.GetOccupant(i).Name + " | ||
| + | } | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||