沙盘引擎 (SEngine)

创意诞生沙盘世界,不止如此想象!

用户工具

站点工具


scripting:world:character

📚 差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
scripting:world:character [2024/03/18 23:24] bibiboxsscripting:world:character [2024/04/05 12:26] (当前版本) bibiboxs
行 102: 行 102:
  
  
-### OnCharacterPropAction( character, prop ) +### OnCharacterPropAction( character, prop, hitPos 
  
 > 当角色手中道具**每次被使用一次**时调用(例如:每次挥拳、开枪等)。 > 当角色手中道具**每次被使用一次**时调用(例如:每次挥拳、开枪等)。
 +
 +> **注意:`hitPos`参数表示当前物品最终造成伤害的位置,但投掷类物品等无法确定最终位置,所以此处将只返回起点位置。**
  
 ```javascript ```javascript
-function OnCharacterPropAction( character: Character, prop: Prop ) +function OnCharacterPropAction( character: Character, prop: Prop, hitPos: Vector 
 ``` ```
  
行 234: 行 236:
 > 设置或获取角色名称(默认为空字符),长度限制最多`16`。 > 设置或获取角色名称(默认为空字符),长度限制最多`16`。
 > >
-如果获取角色名称为空,但其`Owner != null`返回**角色控制玩家(Owner)**的名称。+即使有玩家(`Owner`)正在控制当前角色也并不会返回玩家名称。
  
 ```javascript ```javascript
行 248: 行 250:
 ```javascript ```javascript
 character.Pos = Vector(0, 0, 0); character.Pos = Vector(0, 0, 0);
 +```
 +
 +
 +
 +### character.Forward
 +
 +> 获取角色正前方向量。
 +
 +```javascript
 +character.Forward: Vector
 ``` ```
  
行 388: 行 400:
 ```javascript ```javascript
 character.DamageMultiplier = 1.0; //float character.DamageMultiplier = 1.0; //float
 +```
 +
 +
 +
 +### character.BodyHeight
 +
 +> 获取角色身体高度,不同的角色可能有不同的高度,通常为头顶上方的高度(例如:人类默认`2.0`)。
 +
 +> 可能用于获取头顶`Bubble`显示的高度。
 +
 +```javascript
 +character.BodyHeight: float
 ``` ```
  
行 474: 行 498:
  
 ```javascript ```javascript
-character.AIDistance = 10.0; //float+character.AIDistance = 3.0; //float
 ``` ```
  
行 507: 行 531:
 ### character.Gravity ### character.Gravity
  
-> 设置角色自身物理重力,默认值`-12`。+> 设置角色自身**额外物理重力**,默认值`0.0`。
 > >
-> 此属性越高角色物理越向上,例如设置为`0`类似月球效果+> 此属性越高角色物理越向上,例如设置为`0.1`获得持续向上推力
  
 ```javascript ```javascript
-character.Gravity = -12;+character.Gravity = 0.0;
 ``` ```
  
行 608: 行 632:
 ```javascript ```javascript
 character.IsInWater: bool character.IsInWater: bool
 +```
 +
 +
 +
 +### character.IsOnFire
 +
 +> 获取角色是否正在被燃烧。
 +
 +```javascript
 +character.IsOnFire: bool
 ``` ```
  
行 694: 行 728:
 | 4    | 无视爆炸伤害           | | 4    | 无视爆炸伤害           |
 | 8    | 无视碰撞(及掉落)伤害 | | 8    | 无视碰撞(及掉落)伤害 |
 +| 16    | 无视火焰伤害 |
  
  
行 717: 行 751:
 ```javascript ```javascript
 character.HasFocus = false; //bool character.HasFocus = false; //bool
 +```
 +
 +
 +
 +### character.CanSwim
 +
 +> 设置角色是否可以游泳,默认为`true`,当前版本只有僵尸等少数角色默认`false`。
 +>
 +> **注意:此属性将控制角色是否会被淹死,以及可能的AI控制逻辑。**
 +
 +```javascript
 +character.CanSwim = true;
 ``` ```
  
行 990: 行 1036:
 ```javascript ```javascript
 function character.Kill() function character.Kill()
 +```
 +
 +
 +
 +### character.Fire()
 +
 +> 开始燃烧当前角色。
 +
 +> 如果参数`time < 0`则表示持续燃烧。
 +
 +```javascript
 +function character.Fire( time: float )
 +```
 +
 +
 +
 +### character.FireOver()
 +
 +> 停止燃烧当前角色。
 +
 +```javascript
 +function character.FireOver()
 ``` ```
  
行 1212: 行 1280:
 | 节点位置(Node) | 说明                       | | 节点位置(Node) | 说明                       |
 | ---------------- | -------------------------- | | ---------------- | -------------------------- |
-| 0                | 头部                       | +| 0                | 头部(支持动物角色)                       | 
-| 1                | 身体                       |+| 1                | 身体(支持动物角色)                      |
 | 2                | 手持物品(关键)、右手位置 | | 2                | 手持物品(关键)、右手位置 |
 | 4                | 左手位置                   | | 4                | 左手位置                   |
行 1245: 行 1313:
  
 - **node:**角色节点位置(索引) - **node:**角色节点位置(索引)
 +
 +
 +### character.GetNodeExtendPos()
 +
 +> 获取角色指定节点位置的当前世界坐标,如果不存在节点则返回`Vector(0, 0, 0)`。
 +
 +```javascript
 +function character.GetNodeExtendPos( node: int ): Vector
 +```
 +
 +- **node:**角色节点位置(索引)
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
scripting/world/character.1710775449.txt.gz · 最后更改: 2024/03/18 23:24 由 bibiboxs