Список всех функций (категории)


ГЛОБАЛЬНЫЕ СКРИПТЫ

Помимо новых функций, sfall также добавляет глобальные скрипты. Они выполняются независимо от любых загруженных карт, но не имеют прикрепленного объекта (т.е. использование функции self_obj без использования специальной функции set_self приведет к сбою скрипта).

Чтобы использовать глобальный скрипт, у скрипта должно быть имя, начинающееся с gl и содержащий процедуру с именем start.
Процедура start будет выполнена один раз, когда игрок загружает сохраненную игру или запускает новую игру.
Глобальный скрип также может содержать необязательные процедуры map_enter_p_proc, map_exit_p_proc или map_update_p_proc, которые будут выполняться один раз при входе, выходе, и обновлении карты соответственно.

Порядок или приоритет выполнения глобальных скриптов зависит от имени файла глобального скрипта, и определяется прямым алфавитным порядком, так например скрипт с именем gl_AAA.int будет выполняться первым чем скрипт gl_zzz.int.

Если вы хотите, чтобы сценарий выполнялся циклически (повторно), вызовите функцию set_global_script_repeat при первом же запуске процедуры start, используя в качестве аргумента значение задержки повторных запусков, 0 - отключает выполнение (по умолчанию), 1 - запускает скрипт каждый кадр, 2 - запускает скрипт каждый второй кадр и т.д.

Глобальные скрипты имеют несколько режимов, которые можно задать с помощью функции set_global_script_type.
В режиме 0 (т.е. в режиме по умолчанию) их выполнение связано с циклом игры на локальной карте, поэтому скрипт не будет выполняться в интерфейсных окнах или на карте мира.
В режиме 1, их выполнение связано с вводом (input) игрока, поэтому скрипт будет выполняться всякий раз, когда курсор мыши виден на экране, включая карту мира, диалоги персонажей и т.д.
В режиме 2, выполнение связано с циклом карты мира, поэтому скрипт будет выполняться только на карте мира, но не на локальной карте или в каких-либо интерфейсных окнах.
Режим 3 представляет собой комбинацию режимов 0 и 2, поэтому скрипт будут выполняться как на локальных картах, так и на карте мира, но не в интерфейсных окнах.

Обе функции set_global_script_repeat, и set_global_script_type влияют только на скрипты, из которых они были вызваны. А каждый глобальный скрипт нуждается в собственном блоке game_loaded, чтобы правильно установить тип скрипта и частоту повторения процедуры start.
ВНИМАНИЕ: set_global_script_repeat не будет иметь никакого эффекта, если её использовать вне глобального скрипта.


ЗАМЕЧАНИЯ ПО НОВЫМ ФУНКЦИЯМ

Функции set_perk_*** могут использоваться для настройки параметров как ванильных так и дополнительных перков, дополнительные перки добавляются функцией add_extra_perk, или в файле перков опции PerksFile.

The set_fake_trait and set_fake_perk can be used to add additional traits and perks to the character screen. They will be saved correctly when the player saves and reloads games, but by themselves they will have no further effect on the character. For perks, the allowed range for levels is between 0 and 100; setting the level to 0 removes that perk. For traits, the level must be 0 or 1. The image is a numeric id that corresponds to an entry in skilldex.lst. The name is limited to 63 characters and the description to 255 characters by sfall, but internal Fallout limits may be lower.

The has_fake_trait and has_fake_perk return the number of levels the player has of the perks/traits with the given name or ID of extra perk.

The perk_add_mode, set_selectable_perk, set_perkbox_title, hide_real_perks, show_real_perks and clear_selectable_perks control the behaviour of the select a perk box. set_selectable_perk can be used to add additional items by setting the active parameter to 1, and to remove them again by setting it to 0. set_perkbox_title can be used to change the title of the box, or by using "" it will be set back to the default. hide and show_real_perks can be used to prevent the dialog from displaying any of the original 119 perks. perk_add_mode modifies what happens when a fake perk is selected from the perks dialog. It is treated as a set of flags - if bit 1 is set then it is added to the player’s traits, if bit 2 is set it is added to the player’s perks, and if bit 3 is set it is removed from the list of selectable perks. The default is 0x2. clear_selectable_perks restores the dialog to its default state.

The fs_* functions are used to manipulate a virtual file system. Files saved here should have paths relative to the data folder, and use backslashes as the directory separator. They will take precedence over files stored in the normal data folder. They will also be saved into save games if you set a flag for them using fs_resize(fileId, -1), so be avoid creating large files. Using fs_copy followed by fs_read_xxx, you can read the contents of existing files.

Функция apply_heaveho_fix может использоваться для того, чтобы изменить применяемую формулу для перка “Размах”, это снимет требование к силе и изменит расчет для максимальной дальности метания на +6 для каждого уровня перка при этом, дальность не будет ограничена максимальной дальностью оружия. Вы можете изменять модификатор дальности.


НЕБЕЗОПАСНЫЕ ФУНКЦИИ

Функции read_* принимают в качестве параметра адрес памяти и могут читать произвольные фрагменты адресного пространства Fallout.

Функции write_* эквивалентны функциям чтения, за исключением того, что они записывают в произвольные адреса памяти (не рекомендуется).
Для использования этих функций опция AllowUnsafeScripting в ddraw.ini должна быть включена.

Функции call_offset_* позволяют вызывать функций игры Fallout непосредственно из кода движка. Разные версии этих функций используются для вызова функций с разным количеством аргументов.
ВНИМАНИЕ: По умолчанию для sfall v5.1.0.0 все вызовы функций игры c помощью этих функций являются небезопасными, т.к. большенство функций игры были переписаны непосредственно в код sfall, и вызов старых функций из кода движка Fallout является небезопасным, обратитесь к разработчикам sfall с просьбой добавить требуемую функцию в список разрешенных, т.к. при вызове не разрешенных функций игроки будут получать уведомление о вызове небезопасной функции.
Для разрешенных вызовов функций, не требуется установка опции AllowUnsafeScripting.

Функция unsafe_script разрешает скрипту использовать расширенные возможности небезопасных сценариев (для функции read_* и write_* возможность чтения/записи значений в произвольные адреса вне пространства Fallout, для call_offset_* вызовы небезопасных функций разрешены без уведомления), для этого вы должны в папке где расположен скрипт (обычно это папка scripts) создать файл (пустой) с именем как у скрипта с расширением .unsafe. Затем в скрипте вызвать функцию unsafe_script, это активирует для скрипта расширенные возможности использования небезопасных функций.


НЕИСПОЛЬЗУЕМЫЕ ФУНКЦИИ

Графические функции доступны только в том случае, если пользователь использует графический режим 4 или 5 (DirextX 9). Для проверки этого используйте graphics_funcs_available, он возвращает 1, если вы можете их использовать, или 0, если не можете.
Вызов графических функций, когда graphics_funcs_available возвращает 0, ничего не даст.

Функции ввода доступны только в том случае, если в файле ddraw.ini включен ввод. Для проверки этого используйте input_funcs_available.

Функция available_global_script_types возвращает доступные типы глобальных скритов.

Функции set_eax_environment, nb_create_char ничего не делают.

ВНИМАНИЕ: Перечисленные здесь опкоды функций могут быть заменены в любой момент на другие функции.


ИСПОЛЬЗОВАНИЕ ТИПОВ

Типы данных, упомянутые в этом документе:

Тип Описание
void Означает, что функция не возвращает никакого значения
any Любой тип
int Целое число
float Число с плавающей запятой
string Строковое (текстовое) значение
object Указатель на игровой объект (фактически целое число)
array Идентификатор массива для использования в функциях, связанных с массивами (фактически целое число)
bool Булевы значения: True или False (фактически это целое число 1 или 0)
procedure Имя процедуры скрипта (фактически это целое число, определяющее номер процедуры в скрипте)

ОПИСАНИЕ ФУНКЦИЙ

Arrays are created and manipulated with the xxx_array functions. An array must first be created with create_array or temp_array, specifying how many data elements the array can hold. You can store any of int, float and string in an array, and can mix all 3 in a single array. The ID returned by create_array or temp_array can then be used with the other array functions. Arrays are shared between all scripts. (i.e. you can call create_array from one script, and then use the returned id from another script.) They are also saved across savegames. You must remember to free any arrays you create with create_array when you are done with them, or you will leak memory. arrays created with temp_array will be automatically freed at the end of the frame. These functions are safe, in that supplying a bad id or trying to access out of range elements will not crash the script. create_array is the only function that returns a permanent array, all other functions which return arrays (string_split, list_as_array etc,) all return temp arrays. You can use fix_array to make a temp array permanent.
NOTE: the above description only applies when ArraysBehavior is set to 0 in ddraw.ini. Refer to arrays.md for detailed description of new arrays behavior.


list_begin

list_end

list_next

int  list_begin(int type)
void list_end(int list)
void list_next(int list)

list_as_array

array list_as_array(int type)

typeof

int typeof(any value)

game_loaded

int game_loaded()

get_sfall_global

set_sfall_global

int get_sfall_global(int/string gVariable)
int set_sfall_global(int/string gVariable)

show_iface_tag

hide_iface_tag

is_iface_tag_active

int show_iface_tag(int tag)
int hide_iface_tag(int tag)
int is_iface_tag_active(int tag)

get_proto_data

set_proto_data

int  get_proto_data(int pid, int offset)
void set_proto_data(int pid, int offset, int value)

set_stat_min | set_stat_max

set_pc_stat_min | set_pc_stat_max

set_npc_stat_min | set_npc_stat_max

void set_stat_min(int stat, int value)
void set_stat_max(int stat, int value)

void set_pc_stat_min(int stat, int value)
void set_pc_stat_max(int stat, int value)

void set_npc_stat_min(int stat, int value)
void set_npc_stat_max(int stat, int value)

set_pc_base_stat | set_pc_extra_stat

set_critter_base_stat | set_critter_extra_stat

void set_pc_base_stat(int stat, int value)
void set_pc_extra_stat(int stat, int value)

void set_critter_base_stat(object critter, int stat, int value)
void set_critter_extra_stat(object critter, int stat, int value)

get_pc_base_stat | get_pc_extra_stat

get_critter_base_stat | get_critter_extra_stat

int get_pc_base_stat(int stat)
int get_pc_extra_stat(int stat)

int get_critter_base_stat(object critter, int stat)
int get_critter_extra_stat(object critter, int stat)

get_critter_skill_points

set_critter_skill_points

int  get_critter_skill_points(object critter, int skill)
void set_critter_skill_points(object critter, int skill, int value)

set_pyromaniac_mod

void set_pyromaniac_mod(int modValue)

get_critical_table

set_critical_table

reset_critical_table

int  get_critical_table(int critterType, int bodyPart, int effectLevel, int valueType)
void set_critical_table(int critterType, int bodyPart, int effectLevel, int valueType, int setValue)
void reset_critical_table(int critterType, int bodyPart, int effectLevel, int valueType)

play_sfall_sound

stop_sfall_sound

int  play_sfall_sound(string file, int mode)
void stop_sfall_sound(int fileID)

set_pipboy_available

void set_pipboy_available(int mode)

inc_npc_level

void inc_npc_level(int pid)
void inc_npc_level(string name) // deprecated

get_npc_level

int get_npc_level(int pid)
int get_npc_level(string name) // deprecated

set_car_current_town

void set_car_current_town(int town)

force_aimed_shots

disable_aimed_shots

void force_aimed_shots(int weaponPID)
void disable_aimed_shots(int weaponPID)

set_bodypart_hit_modifier

void set_bodypart_hit_modifier(int bodyPart, int hitMod)

get_bodypart_hit_modifier

int get_bodypart_hit_modifier(int bodyPart)

set_unspent_ap_bonus

void set_unspent_ap_bonus(int bonusValue)

get_unspent_ap_bonus

int get_unspent_ap_bonus()

set_unspent_ap_perk_bonus

void set_unspent_ap_perk_bonus(int bonusValue)

get_unspent_ap_perk_bonus

int get_unspent_ap_perk_bonus()

get_ini_setting

int get_ini_setting(string setting)

get_ini_string

string get_ini_string(string setting)

get_game_mode

int get_game_mode()

get_uptime

int get_uptime()

in_world_map

bool in_world_map()

get_world_map_x_pos

get_world_map_y_pos

int get_world_map_x_pos()
int get_world_map_y_pos()

force_encounter

void force_encounter(int map)

force_encounter_with_flags

void force_encounter_with_flags(int map, int flags)

get_light_level

int get_light_level()

set_map_time_multi

void set_map_time_multi(float multi)

get_script

int get_script(object obj)

set_script

void set_script(object obj, int scriptid)

remove_script

void remove_script(object obj)

set_self

void set_self(object setObj)

get_critter_current_ap

set_critter_current_ap

void get_critter_current_ap(object critter)
void set_critter_current_ap(object critter, int value)

set_weapon_knockback

set_attacker_knockback

set_target_knockback

void set_weapon_knockback(object weapon, int type, int/float knockbackValue)
void set_attacker_knockback(object critter, int type, int/float knockbackValue)
void set_target_knockback(object critter, int type, int/float knockbackValue)

remove_weapon_knockback

remove_attacker_knockback

remove_target_knockback

void remove_weapon_knockback(object weapon)
void remove_attacker_knockback(object critter)
void remove_target_knockback(object critter)

mod_skill_points_per_level

void mod_skill_points_per_level(int bonus)

set_perk_level_mod

void set_perk_level_mod(int modValue)

set_perk_freq

void set_perk_freq(int value)

get_perk_freq

int get_perk_freq()

remove_trait

void remove_trait(int traitID)

get_last_attacker

object get_last_attacker(object critter)

get_last_target

object get_last_target(object critter)

set_base_hit_chance_mod

void set_base_hit_chance_mod(int max, int mod)

set_hit_chance_max

void set_hit_chance_max(int max)

set_critter_hit_chance_mod

void set_critter_hit_chance_mod(object critter, int max, int mod)

set_base_pickpocket_mod

void set_base_pickpocket_mod(int max, int mod)

set_pickpocket_max

void set_pickpocket_max(int max)

set_critter_pickpocket_mod

void set_critter_pickpocket_mod(object critter, int max, int mod)

set_skill_max

void set_skill_max(int max)

set_base_skill_mod

void set_base_skill_mod(int mod)

set_critter_skill_mod

void set_critter_skill_mod(object critter, int mod)

get_window_under_mouse

int get_window_under_mouse()

reg_anim_combat_check

void reg_anim_combat_check(int state)

Добавлено несколько дополнительных функций reg_anim_*. Все они работают по той же схеме, что и ванильные функции, и используют тот же базовый код.

reg_anim_destroy

void reg_anim_destroy(object obj)

reg_anim_animate_and_hide

void reg_anim_animate_and_hide(object obj, int animID, int delay)

reg_anim_light

void reg_anim_light(object obj, int light, int delay)

reg_anim_change_fid

void reg_anim_change_fid(object obj, int fid, int delay)

reg_anim_take_out

void reg_anim_take_out(object obj, int weaponCode, int delay)

reg_anim_turn_towards

void reg_anim_turn_towards(object obj, int tile, int delay)

reg_anim_callback

void reg_anim_callback(procedure proc)

reg_anim_animate_and_move macro

void sfall_func4("reg_anim_animate_and_move", object obj, int tile, int animID, int delay)

metarule2_explosions

int   metarule2_explosions(int arg1, int arg2, int arg3)
array metarule2_explosions(int arg1, int arg2, int arg3)

set_attack_explosion_pattern

void set_attack_explosion_pattern(int x, int y)

set_attack_explosion_art

void set_attack_explosion_art(int x, int y)

set_attack_explosion_radius

void set_attack_explosion_radius(int x)

set_attack_is_explosion_fire

void set_attack_is_explosion_fire()

set_explosion_radius

void set_explosion_radius(int grenade, int rocket)

get_explosion_damage

array get_explosion_damage(int itemPid)

set_dynamite_damage

void set_dynamite_damage(int minDmg, int maxDmg)

set_plastic_damage

void set_plastic_damage(int minDmg, int maxDmg)

set_explosion_max_targets

void set_explosion_max_targets(int x)

register_hook_proc

void register_hook_proc(int hookId, procedure proc)

register_hook_proc_spec

void register_hook_proc_spec(int hookId, procedure proc)

message_str_game

string message_str_game(int fileId, int messageId)

sneak_success

int sneak_success()

tile_light

int tile_light(int elevation, int tileNum)

get_tile_fid

int get_tile_fid(int tile)

obj_blocking_line

object obj_blocking_line(object objFrom, int tileTo, int blockingType)

obj_blocking_tile

object obj_blocking_tile(int tileNum, int elevation, int blockingType)

tile_get_objs

array tile_get_objs(int tileNum, int elevation)

party_member_list

array party_member_list(int includeHidden)

path_find_to

array path_find_to(object objFrom, int tileTo, int blockingType)

create_spatial

object create_spatial(int scriptID, int tile, int elevation, int radius)

art_exists

int art_exists(int artFID)

obj_is_carrying_obj

int obj_is_carrying_obj(object invenObj, object itemObj)

get_config_setting

any get_config_setting(string section, string key, any default)

set_config_setting

int set_config_setting(string section, string key, any value)

load_shader

int load_shader(string shaderFile)

free_shader

void free_shader(int shaderID)

set_shader_mode

void set_shader_mode(int shaderID, int mode)

set_shader_type

void set_shader_type(int shaderID, int type)

get_shader_version

int get_shader_version()

force_graphics_refresh

int force_graphics_refresh()

Некоторые доступные математические и строковые функции:

string_split

array string_split(string text, string splitChar)

substr

string substr(string text, int start, int length)

strlen

int strlen(string text)

sprintf

string sprintf(string format, any value)

atoi

atof

int   atoi(string text)
float atof(string text)

charcode

int charcode(string text)

log

float log(float x)

exponent

float exponent(float x)

ceil

ceilf

int ceil(float x)
float ceilf(float x)

round

int round(float x)

roundf

float roundf(float x, int n)`

sqrt

float sqrt(float x)`

abs

int   abs(int/float x)
float abs(int/float x)

sin

float sin(float x)

cos

float cos(float x)

tan

float tan(float x)

arctan

float arctan(float x, float y)

div operator (unsigned int division)


^ operator (exponentiation)


SFALL_FUNCX METARULE FUNCTIONS

sfall_funcX

any sfall_funcX(string funcName, ...)

get_metarule_table

array sfall_func0("get_metarule_table")

metarule_exist

bool sfall_func1("metarule_exist", string metaruleName)

spatial_radius

int sfall_func1("spatial_radius", object obj)

critter_inven_obj2

object sfall_func2("critter_inven_obj2", object invenObj, int type)

intface_redraw

void sfall_func0("intface_redraw")
void sfall_func1("intface_redraw", int winType)

intface_hide

void sfall_func0("intface_hide")
void sfall_func1("intface_hide", int winType)

intface_show

void sfall_func0("intface_show")
void sfall_func1("intface_show", int winType)

intface_is_hidden

int sfall_func0("intface_is_hidden")

exec_map_update_scripts

void sfall_func0("exec_map_update_scripts")

floor2

int sfall_func1("floor2", float value)

item_weight

int   sfall_func1("item_weight", object obj)
float sfall_func1("item_weight", object obj)

get_outline

int sfall_func1("get_outline", object obj)

set_outline

void sfall_func2("set_outline", object obj, int color)

outlined_object

object sfall_func0("outlined_object")

get_flags

int sfall_func1("get_flags", object obj)

set_flags

void sfall_func2("set_flags", object obj, int flags)

tile_refresh_display

void sfall_func0("tile_refresh_display")`

set_dude_obj

object sfall_func1("set_dude_obj", object critter)

real_dude_obj

object sfall_func0("real_dude_obj")

get_ini_config

array sfall_func1("get_ini_config", string config)
array sfall_func2("get_ini_config", string config, bool searchDB)

get_ini_sections

array sfall_func1("get_ini_sections", string file)

get_ini_section

array sfall_func2("get_ini_section", string file, string section)

get_ini_setting_ex

int sfall_func4("get_ini_setting", string section, string key, any default, string file)
int sfall_func5("get_ini_setting", string section, string key, any default, string file, bool searchDB)

set_ini_setting

int sfall_func2("set_ini_setting", string setting, int/string value)

set_ini_setting_ex

int sfall_func4("set_ini_setting", string section, string key, any value, string file)
int sfall_func5("set_ini_setting", string section, string key, any value, string file, bool searchDB)

car_gas_amount

int sfall_func0("car_gas_amount")

set_car_intface_art

void sfall_func1("set_car_intface_art", int artIndex)

get_cursor_mode

int sfall_func0("get_cursor_mode")

set_cursor_mode

void sfall_func1("set_cursor_mode", int mode)

get_cursor_type

int sfall_func0("get_cursor_type")

display_stats

void sfall_func0("display_stats")

lock_is_jammed

int sfall_func1("lock_is_jammed", object)

unjam_lock

void sfall_func1("unjam_lock", object)

set_unjam_locks_time

void sfall_func1("set_unjam_locks_time", int time)

get_map_enter_position

array sfall_func0("get_map_enter_position")

set_map_enter_position

void sfall_func3("set_map_enter_position", int tile, int elevation, int rotation)

set_rest_heal_time

void sfall_func1("set_rest_heal_time", int minutes)

set_rest_mode

void sfall_func1("set_rest_mode", int mode)

attack_is_aimed

int sfall_func0("attack_is_aimed")

set_iface_tag_text

void sfall_func3("set_iface_tag_text", int tag, string text, int color)

add_iface_tag

int sfall_func0("add_iface_tag")
int sfall_func1("add_iface_tag", int msgNum)
int sfall_func2("add_iface_tag", int msgNum, int color)

inventory_redraw

void sfall_func0("inventory_redraw")
void sfall_func1("inventory_redraw", int invType)

item_make_explosive

void sfall_func3("item_make_explosive", int pid, int activePid, int damage)
void sfall_func4("item_make_explosive", int pid, int activePid, int min, int max)

get_string_pointer

int sfall_func1("get_string_pointer", string text)

dialog_message

void sfall_func1("dialog_message", string text)

get_current_inven_size

int sfall_func1("get_current_inven_size", object)

create_win

void sfall_func5("create_win", string winName, int x, int y, int width, int height)
void sfall_func6("create_win", string winName, int x, int y, int width, int height, int flags)

set_can_rest_on_map

void sfall_func3("set_can_rest_on_map", int mapNum, int elev, bool value)

get_can_rest_on_map

int sfall_func2("get_can_rest_on_map", int mapNum, int elev)

obj_under_cursor

object sfall_func1("obj_under_cursor", int objType)
object sfall_func2("obj_under_cursor", int objectType, bool checkDude)

dialog_obj

object sfall_func0("dialog_obj")

loot_obj

object sfall_func0("loot_obj")

get_object_data

int sfall_func2("get_object_data", object, int offset)

set_object_data

void sfall_func3("set_object_data", object obj, int offset, int data)

get_object_ai_data

int sfall_func2("get_object_ai_data", object critter, int aiParam)

art_cache_clear

void sfall_func0("art_cache_clear")

npc_engine_level_up

void sfall_func1("npc_engine_level_up", bool toggle)

set_drugs_data

void sfall_func3("set_drugs_data", int type, int pid, int value)

set_unique_id

int sfall_func1("set_unique_id", object obj)
int sfall_func2("set_unique_id", object obj, int flag)

draw_image

draw_image_scaled

void sfall_func1("draw_image", string/int artFile)
void sfall_func3("draw_image", string/int artFile, int frame)
void sfall_func4("draw_image", string/int artFile, int frame, int x, int y)
void sfall_func5("draw_image", string/int artFile, int frame, int x, int y, bool noTransparent)

void sfall_func1("draw_image_scaled", string/int artFile)
void sfall_func2("draw_image_scaled", string/int artFile, int frame)
void sfall_func6("draw_image_scaled", string/int artFile, int frame, int x, int y, int width, int height)

Необязательные аргументы:


draw_line

int sfall_func6("draw_line", int winType, int x0, int y0, int x1, int y1, int color)

set_fake_perk_npc | set_fake_trait_npc

has_fake_perk_npc | has_fake_trait_npc

set_selectable_perk_npc

int  sfall_func2("has_fake_perk_npc", object npc, string namePerk)
int  sfall_func2("has_fake_trait_npc", object npc, string nameTrait)
void sfall_func5("set_fake_perk_npc", object npc, string namePerk, int level, int image, string desc)
void sfall_func5("set_fake_trait_npc", object npc, string nameTrait, int active, int image, string desc)
void sfall_func5("set_selectable_perk_npc", object npc, string namePerk, int active, int image, string desc)

add_extra_msg_file

int sfall_func1("add_extra_msg_file", string fileName)
int sfall_func2("add_extra_msg_file", string fileName, int fileNumber)

unwield_slot

void sfall_func1("unwield_slot", object critter, int slot)
void sfall_func2("unwield_slot", object critter, int slot, int refresh)

add_trait

void sfall_func1("add_trait", int traitID)

get_inven_ap_cost

int sfall_func0("get_inven_ap_cost")

add_g_timer_event

void sfall_func2("add_g_timer_event", int time, int fixedParam)

remove_timer_event

void sfall_func0("remove_timer_event")
void sfall_func1("remove_timer_event", int fixedParam)

get_sfall_arg_at

mixed sfall_func1("get_sfall_arg_at", int argNum)

get_sfall_return

mixed sfall_func1("get_sfall_return", int argNum)

get_sfall_return_count

int sfall_func0("get_sfall_return")

hide_window

void sfall_func0("hide_window")
void sfall_func1("hide_window", string winName)

show_window

void sfall_func0("show_window")
void sfall_func1("show_window", string winName)

set_window_flag

void sfall_func3("set_window_flag", string winName, int flag, bool value)
void sfall_func3("set_window_flag", int winID, int flag, bool value)

get_text_width

int sfall_func1("get_text_width", string text)

string_compare

bool sfall_func2("string_compare", string str1, string str2)
bool sfall_func3("string_compare", string str1, string str2, int codePage)

string_format

string sfall_func2("string_format", string format, any val1, ...)

objects_in_radius

array sfall_func3("objects_in_radius", int tile, int radius, int elevation)
array sfall_func4("objects_in_radius", int tile, int radius, int elevation, int type)

tile_at_distance

int sfall_func3("tile_at_distance", int startTile, int endTile, int distance)

tile_by_position

int sfall_func2("tile_by_position", int x, int y)

string_to_case

string sfall_func2("string_to_case", string text, int toCase)

get_terrain_type

string sfall_func0("get_terrain_type")
string sfall_func2("get_terrain_type", int x, int y)

get_terrain_name

string sfall_func0("get_terrain_name")
string sfall_func2("get_terrain_name", int x, int y)

set_terrain_name

void sfall_func3("set_terrain_name", int x, int y, string name)

get_window_attribute

int sfall_func1("get_window_attribute", int winType)
int sfall_func2("get_window_attribute", int winType, int attrType)

set_town_title

void sfall_func3("set_town_title", int areaID, string knownTitle)
void sfall_func3("set_town_title", int areaID, string knownTitle, string unknownTitle)

message_box

int sfall_func4("message_box", string message, int flags, int color1, int color2)

Необязательные аргументы:


get_stat_min

get_stat_max

int sfall_func1("get_stat_min", int stat)
int sfall_func2("get_stat_min", int stat, bool who)

int sfall_func1("get_stat_max", int stat)
int sfall_func2("get_stat_max", int stat, bool who)

interface_art_draw

int sfall_func4("interface_art_draw", int winType, string/int artFile, int x, int y)
int sfall_func5("interface_art_draw", int winType, string/int artFile, int x, int y, int frame)
int sfall_func6("interface_art_draw", int winType, string/int artFile, int x, int y, int frame, array param)
int sfall_func8("interface_art_draw", int winType, string/int artFile, int x, int y, int frame, int w, int h, int direction)

Необязательные аргументы:


interface_print

int sfall_func5("interface_print", string text, int winType, int x, int y, int color)
int sfall_func6("interface_print", string text, int winType, int x, int y, int color, int width)

combat_data

mixed sfall_func0("combat_data")

win_fill_color

int sfall_func0("win_fill_color")
int sfall_func5("win_fill_color", int x, int y, int width, int height, int color)

interface_overlay

int sfall_func3("interface_overlay", int winType, int mode, int id)
int sfall_func7("interface_overlay", int winType, int mode, int id, int x, int y, int w, int h)

overlay_create macro

int sfall_func2("interface_overlay", int winType, 1)

overlay_set_draw macro

int sfall_func2("interface_overlay", int winType, 3, int id)

overlay_destroy macro

int sfall_func2("interface_overlay", int winType, 0)

set_quest_failure_value

void sfall_func2("set_quest_failure_value", int gvarNumber, int thresholdValue)

set_scr_name

void sfall_func1("set_scr_name", string name)

obj_is_openable

bool sfall_func1("obj_is_openable", object obj)

add_button

int sfall_func7("add_button", int winType, int x, int y, int w, int h, string upPic, string downPic)
int sfall_func8("add_button", int winType, int x, int y, int w, int h, string upPic, string downPic, string hoverPic)

button_free

void sfall_func1("button_free", int buttonID)

set_button_procedure

void sfall_func2("set_button_proc", int buttonID, int pressProc)
void sfall_func3("set_button_proc", int buttonID, int pressProc, int releaseProc)
void sfall_func4("set_button_proc", int buttonID, int pressProc, int releaseProc, int enterProc)
void sfall_func5("set_button_proc", int buttonID, int pressProc, int releaseProc, int enterProc, int leaveProc)

Необязательные аргументы:


set_button_state

void sfall_func3("set_button_state", string name, int mode, int state)

get_attack_damage

int sfall_func2("get_attack_damage", object critter, int attackType)
int sfall_func3("get_attack_damage", object critter, int attackType, int mode)

get_attack_range

int sfall_func2("get_attack_range", object critter, int attackType)

get_weapon_damage

int sfall_func3("get_weapon_damage", object weapon, int attackType, object critter)
int sfall_func4("get_weapon_damage", object weapon, int attackType, object critter, int mode)

get_weapon_type

int sfall_func2("get_weapon_type", object weapon, int attackType)

get_weapon_radius

int sfall_func2("get_weapon_radius", object weapon, int attackType)

get_weapon_range

int sfall_func3("get_weapon_range", object weapon, int attackType, object critter)

is_potential_party_member macro

bool sfall_func1("is_party_member", object critter)

get_hit_chance_max

int sfall_func0("get_hit_chance_max")
int sfall_func1("get_hit_chance_max", int hitChance)
int sfall_func2("get_hit_chance_max", int hitChance, object critter)

add_extra_perk

int sfall_func2("add_extra_perk", int ePerkID, array data)

make_path_to

array sfall_func3("make_path_to", object objFrom, int tileTo, int blockingType)

set_spray_settings

void sfall_func4("set_spray_settings", int centerMult, int centerDiv, int targetMult, int targetDiv)

get_combat_free_move

int sfall_func0("get_combat_free_move")

set_combat_free_move

void sfall_func1("set_combat_free_move", int value)

string_find

int sfall_func2("string_find", string text, string findString)
int sfall_func3("string_find", string text, string findString, int position)

set_object_light

void sfall_func3("set_object_light", object obj, int intensity, int distance)

combat_critter_damage

int sfall_func5("combat_critter_damage", object source, object critter, int minDamage, int maxDamage, int dmgType)
int sfall_func6("combat_critter_damage", object source, object critter, int minDamage, int maxDamage, int dmgType, int attackType)

add_region

int sfall_func6("add_region", int winType, string regionName, int x, int y, int width, int height)

delete_region

int sfall_func2("delete_region", int winType, string regionName)

set_region_procedure

int sfall_func3("set_region_proc", int winType, string regionName, int enter)
int sfall_func4("set_region_proc", int winType, string regionName, int enter, int leave)
int sfall_func5("set_region_proc", int winType, string regionName, int enter, int leave, int press)
int sfall_func6("set_region_proc", int winType, string regionName, int enter, int leave, int press, int release)
int sfall_func7("set_region_proc", int winType, string regionName, int enter, int leave, int press, int release, int pressRight)
int sfall_func8("set_region_proc", int winType, string regionName, int enter, int leave, int press, int release, int pressRight, int releaseRight)

Необязательные аргументы:


art_size macro

array sfall_func1("art_frame_data", string/int fileID)
array sfall_func2("art_frame_data", string/int fileID, int frame)
array sfall_func3("art_frame_data", string/int fileID, int frame, int direction)

Необязательные аргументы:


art_max_frames macro

int sfall_func2("art_frame_data", int artFID, -1)
int sfall_func2("art_frame_data", string file, -1)

set_worldmap_heal_time

void sfall_func1("set_worldmap_heal_time", int minutes)

add_message_game

void sfall_func3("add_message_game", int msgFileNum, int msgLineNum, string msgText)

signal_close_game

void sfall_func0("signal_close_game")

dialog_terminate

void sfall_func0("dialog_terminate")

get_next_event_time

int sfall_func2("get_next_event_time", int eventType, object obj)

Обратитесь к другим файлам документации Arrays.md, HookScripts.md для ссылок на связанные функции.