AvernumScript/附录/基本角色调用
- 警告生物/群体。这意味着,如果它是敌对的,它会在他们附近时积极追捕队伍。
- 给予角色 which_char amount 经验值,调整为好像它是通过杀死等级为 source_level 的生物获得的。你一次不能给予超过 1000 点经验值。
- 给予每个队伍成员 amount 技能点,调整为好像它们是通过杀死等级为 source_level 的生物获得的。Source_level 是队伍/怪物给予经验值的相对等级。(对于初学者为 1-10,对于中等为 10-20,对于高级为 20-30)
请注意,一个角色一次不能获得超过 1000 点经验值。
- 这只能在生物或地形脚本中调用。如果生物/地形点(其脚本位于其中)能够看到给定的角色或给定群体的成员,则返回 1,否则返回 0。
- 将角色 which_char 的经验值更改为 amount。Amt_to_change 可以为负数。
- 将角色 which_char 的技能点更改为 amt_to_change。Amt_to_change 可以为负数。
===void change_spell_level(short which_char,short mage_or_priest,short which_spell,short amt_to_change)=== 将角色 which_char 掌握的技能 which_spell 更改为 amt_to_change(可以为负数)。如果 mage_or_priest 为 0,则更改法师技能。如果为 1,则更改牧师技能。
如果该角色是队伍成员,他或她只有在法师或牧师技能足够高的情况下才能学习该技能。如果技能不够高,则此调用无效。
===short char_attitude_to_char(short which_char,short char_to_evaluate)=== 评估角色 which_char 对角色 char_to_evaluate 的感受。如果该角色喜欢另一个角色,则返回 0;如果该角色对另一个角色持中立态度,则返回 1;如果该角色讨厌另一个角色,则返回 2。
===short char_has_trait(short which_char,short which_trait)=== 如果角色 which_char 拥有特征 which_trait,则返回 1,否则返回 0。特征在附录中列出。(在原始手册中)
===short char_ok(short which_char)=== 如果此角色存在且活着,则返回 1,否则返回 0。
===short char_on_spot(short loc_x,short loc_y)=== 检查空间 {loc_x,loc_y} 上是否存在 NPC(非玩家控制的角色,数字为 6 或更高)。如果该位置没有角色,则返回 -1。否则,返回该位置的角色编号。如果你还想要检查玩家角色的存在,请使用调用 char_on_loc。
===short char_status(short which_char)=== 返回此角色的当前状态
0 | 不存在 |
1 | 活着且良好 |
2 | 死亡 |
3 | 尘埃 |
4 | 石化 |
5 | 逃跑 |
11 | 队伍分开,角色活着但不在场 |
12 | 队伍分开,角色死亡但不在场 |
13 | 队伍分开,角色化为尘埃但不在场 |
14 | 队伍分开,角色石化但不在场 |
===short creature_type(short which_char)=== 返回 which_char 的生物类型。
===void deduct_ap(short num_ap)=== 这只能在生物脚本中调用,并且只对战斗有效。从正在运行脚本的角色身上移除 num_ap 行动点。
===void end_combat_turn()=== 这只能在生物脚本中调用,并且只对战斗有效。从角色身上移除所有行动点。请注意,这不会结束状态。如果你想停止运行脚本,你需要在之后立即调用 end()。
===short enemies_nearby(short range)=== 这只能在生物脚本中调用。返回该角色能够看到且是敌对的角色在 range 空间内的数量。
===void erase_char(short which_char_or_group)=== 使该角色/群体不再存在。不会掉落任何宝物。该角色的已杀死标志不会设置(因此它可以在队伍返回时重新出现)。
===short friends_nearby(short range)=== 这只能在生物脚本中调用。返回该角色能够看到且是友好的角色在 range 空间内的数量。
===short get_attitude(short which_char)=== 返回角色的态度。
3 | 对队伍友好 |
4 | 中立 |
10 | 敌对 A |
11 | 敌对 B |
===short get_char_skill_pts(short which_char)=== 返回角色的技能点。
===short get_energy (short which_char)=== 返回角色当前的法术能量。此调用是为场景格式版本 2 添加的,只适用于 Mac 版本 1.1 或更高版本或 Windows 版本 1.0 或更高版本。
===short get_health(short which_char)=== 返回角色当前的健康值。
===short get_level(short which_char)=== 返回角色的等级。注意: ME 参数不适用于 get_level。请改为使用 my_number 调用。
===short get_max_health(short which_char)=== 返回角色的最大健康值。
===short get_species(short which_char)=== 返回角色的物种。
===short get_spell_level(short which_char,short mage_or_priest,short which_spell)=== 返回角色 which_char 掌握的技能 which_spell 的等级。如果 mage_or_priest 为 0,则检查法师技能。如果为 1,则检查牧师技能。
===short get_summon_level(short which_char)=== 返回当前角色的召唤等级(可以揭示它是否被召唤)。结果是
0 | 未召唤。真正的生物。 |
1 | 被召唤,但不会随着时间推移而消失。 |
100-199 | 被召唤。从金额中减去 100 以获取它消失之前的回合数。 |
200-299 | 幻觉。从金额中减去 200 以获取它消失之前的回合数。 |
===void give_recipe(short which_recipe)=== 教授队伍配方 which_recipe。配方在附录中列出。(在原始手册中)
===short has_recipe(short which_recipe)=== 如果队伍知道炼金术配方 which_recipe,则返回 1,否则返回 0。配方在附录中列出。
===void kill_char(short which_char_or_group, short death_type, short luck_helps)=== 杀死该角色或该群体的每个成员。Death_type 决定了死亡的类型
2 | 死亡 |
3 | 尘埃 |
4 | 石化 |
如果 luck_helps 为 1,角色的幸运可以救它。如果为 0,则无法逃脱。
===short my_ap()=== 这只能在生物脚本中调用,并且只对战斗有效。返回角色当前的行动点数。
===short my_number()=== 只能在生物脚本或地形脚本中调用。如果在生物脚本中,则返回此生物的编号(0-119);如果在地形脚本中,则返回地形脚本的编号(0-99)。
===short party_can_see_loc(short loc_x,short loc_y)=== 此调用只在城镇内才能正常工作。如果队伍成员能够看到位置 {loc_x,loc_y},则返回 1,否则返回 0。
===short party_has_trait(short which_trait)=== 如果队伍成员中有人拥有特征 which_trait,则返回 1,否则返回 0。特征在附录中列出。
===short party_size()=== 返回队伍中活着且在场的角色数量。
===void print_named_str(short which_char,char print_text)=== 在文本区域打印角色 which_char 的名称,紧随其后是 print_text。
示例:如果第 17 个角色是“可爱的小狗”,则命令 print_named_str(17,“发射末日射线”);
将文本“可爱的小狗发射末日射线”放在文本区域中。
===short random_party_member()=== 返回队伍中随机角色的编号(将是 0 到 5 之间的数字)。
===void revive_party()=== 完全治愈队伍的伤害并恢复所有法术能量。
===void set_attitude(short which_char_or_group,short which_attitude)=== 设置角色/组的姿态
3 | 对队伍友好 |
4 | 中立 |
10 | 敌对 A |
11 | 敌对 B |
===void set_char_alert(short which_char_or_group,short alert_level)=== 将 Creature/Group which_char_or_group 的警戒级别设置为 alert_level 值。如果 alert_level 为 1,则角色处于警戒状态,如果对队伍有敌意,他们将追捕队伍。如果为 0,他们将不再处于警戒状态。
===short set_char_script_mode(short which_char_or_group,short what_setting)=== 调整游戏在队伍不在附近时,Creature/Group 的脚本何时运行。(默认情况下,游戏不会一直调用所有脚本,以防止游戏变慢。)what_setting 的值是
0 | 每 8 步调用一次,但如果队伍距离很远则不调用 |
1 | 每 8 步调用一次,即使队伍距离很远 |
2 | 每一步调用一次,但如果队伍距离很远则不调用 |
3 | 每一步调用一次,即使队伍距离很远 |
默认值始终为 0。
- 更改角色 which_char 是否具有特质 which_trait'。
set_to 的值是
0 – | 从角色 which_char 中移除特质 which_trait。 |
1 – | 赋予角色 which_char 特质 which_trait。 |
which_trait 的值可以在以下位置找到: 这里
注意:
- 您可能应该只使用此功能来教授角色圣化仪式(特质 22)。您真的不应该弄乱角色的其他特质。此调用只对队伍成员有实际效果。
void set_creature_memory_cell(short which_char_or_group,short which_cell,short new_value)
[编辑 | 编辑源代码]- 将生物或群体 which_char_or_group 的内存单元 which_cell 设置为值 new_value。
- 将生物或群体 which_char_or_group 的等级更改为等级 what_level。角色或角色的健康状况和属性会自动调整以反映他们的新等级。
注意:
- 您不应该对队伍成员使用此调用。
- 此调用还会完全治愈和恢复角色(或多个角色),因此可能应该只在队伍进入区域时调用(即在城镇脚本的状态 INIT_STATE)。
- 设置生物或群体 which_char_or_group 是否可以移动。
mobile 的值是
0 ndash; | 生物不能移动。 |
1 ndash; | 生物可以移动。 |
- 将生物或群体 which_char_or_group 的名称设置为名称 new_name。
注意:
- 最大名称长度为 19 个字符。
- 将生物或群体 which_char_or_group 的特殊能力更改为特殊能力 what_ability。不同的特殊能力列在关于脚本生物类型的部分中。如果 what_ability 为 0,则生物没有特殊能力。
- 将生物或群体 which_char_or_group 的召唤等级设置为 new_level。召唤的生物和幻觉在被杀死时不会提供经验或宝物。
new_level 的值是
0– | 生物没有被召唤。(真实生物。) |
1– | 生物被召唤,但不会随着时间的推移消失。 |
100–199 – | 生物被召唤。从金额中减去 100 以获得它消失之前的回合数。 |
200–299 – | 生物是一个幻觉。从金额中减去 200 以获得它消失之前的回合数。 |
- which_species 是物种的编号。
返回
0 – | 队伍中没有物种 which_species 的活着的成员。 |
1 – | 队伍中至少有一个物种 which_species 的活着的成员。 |
which_species 的值是
0 – | 人类 |
2 – | 尼菲林 |
3 – | 斯利泽里凯。 |
注意:
- 此调用确实会检查任何与队伍一起旅行的额外角色,因此这里列出的任何超出这些物种的物种将始终返回 0。