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。