跳转到内容

AvernumScript/附录/基本角色调用

来自维基教科书,开放世界开放书籍

void alert_char(short which_char_or_group)

[编辑 | 编辑源代码]
警告生物/群体。这意味着,如果它是敌对的,它会在他们附近时积极追捕队伍。

void award_char_xp(short which_char,short amount,short source_level)

[编辑 | 编辑源代码]
给予角色 which_char amount 经验值,调整为好像它是通过杀死等级为 source_level 的生物获得的。你一次不能给予超过 1000 点经验值。

void award_party_xp(short amount,short source_level)=

[编辑 | 编辑源代码]
给予每个队伍成员 amount 技能点,调整为好像它们是通过杀死等级为 source_level 的生物获得的。Source_level 是队伍/怪物给予经验值的相对等级。(对于初学者为 1-10,对于中等为 10-20,对于高级为 20-30)

请注意,一个角色一次不能获得超过 1000 点经验值。

short can_see_char(short which_char_or_group)

[编辑 | 编辑源代码]
这只能在生物或地形脚本中调用。如果生物/地形点(其脚本位于其中)能够看到给定的角色或给定群体的成员,则返回 1,否则返回 0。

void change_char_xp(short which_char,short amt_to_change)

[编辑 | 编辑源代码]
将角色 which_char 的经验值更改为 amount。Amt_to_change 可以为负数。

void change_pc_skill_pts(short which_char,short 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。

void set_char_trait(short which_char,short which_trait,short set_to)

[编辑 | 编辑源代码]
更改角色 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

void set_level(short which_char_or_group,short what_level)

[编辑 | 编辑源代码]
将生物或群体 which_char_or_group 的等级更改为等级 what_level。角色或角色的健康状况和属性会自动调整以反映他们的新等级。

注意:

  • 您不应该对队伍成员使用此调用。
  • 此调用还会完全治愈和恢复角色(或多个角色),因此可能应该只在队伍进入区域时调用(即在城镇脚本的状态 INIT_STATE)。

void set_mobility(short which_char_or_group,short mobile)

[编辑 | 编辑源代码]
设置生物或群体 which_char_or_group 是否可以移动。

mobile 的值是

0 ndash; 生物不能移动。
1 ndash; 生物可以移动。

void set_name(short which_char_or_group,char new_name)

[编辑 | 编辑源代码]
将生物或群体 which_char_or_group 的名称设置为名称 new_name

注意:

  • 最大名称长度为 19 个字符。

void set_special_ability(short which_char_or_group,short what_ability)

[编辑 | 编辑源代码]
将生物或群体 which_char_or_group 的特殊能力更改为特殊能力 what_ability。不同的特殊能力列在关于脚本生物类型的部分中。如果 what_ability 为 0,则生物没有特殊能力。

void set_summon_level(short which_char_or_group,short new_level)

[编辑 | 编辑源代码]
将生物或群体 which_char_or_group 的召唤等级设置为 new_level。召唤的生物和幻觉在被杀死时不会提供经验或宝物。

new_level 的值是

0– 生物没有被召唤。(真实生物。)
1– 生物召唤,但不会随着时间的推移消失。
100–199 – 生物被召唤。从金额中减去 100 以获得它消失之前的回合数。
200–299 – 生物是一个幻觉。从金额中减去 200 以获得它消失之前的回合数。

short species_in_party(short which_species)

[编辑 | 编辑源代码]
which_species 是物种的编号。

返回

0 – 队伍中没有物种 which_species 的活着的成员。
1 – 队伍中至少有一个物种 which_species 的活着的成员。

which_species 的值是

0 – 人类
2 – 尼菲林
3 – 斯利泽里凯。

注意:

  • 此调用确实会检查任何与队伍一起旅行的额外角色,因此这里列出的任何超出这些物种的物种将始终返回 0。
华夏公益教科书