Warband Script Enhancer
Warband Script Enhancer WSE: Программа которая повышает возможности движка Warband, путем добавления команд/скриптов/триггеров и изменяет закодированную в движке механику. WSE исправляет некоторые баги движка, включая один, который приводит к частым вылетам. Также он записывает в лог данные о ошибках, так что если какие то баги еще присутствуют, то можно о них сообщить, и они будут исправлены.Кроме этого, в нем присутствуют некоторые встроенные утилиты, который могут быть полезными, например оптимизатор памяти, или возможность увеличения количество трупов выше стандартного.
Если вы запускаете сервер под Wine, то вы можете использовать WSE для того чтобы избежать багов движка которые приводят к искажению глобальный переменных и других ошибок.
Самое главное, это занчительное расширенние модульной системы, позволяющие создавать "вещи" не доступные при использовании дефолтной модульной системы.
Автор: cmpxchg8b
Используемая версия игры: Warband 1.143-1.153
Сайт разработчика: ]]>Посетить страницу]]>
Скачать по прямой ссылке:
]]>Скачать WSE v3.1.5]]> - Для Warband 1.153
]]>Скачать WSE v2.8.1]]> - Для Warband 1.143
]]>Скачать WSEProfilerGUI v1.1]]> - Графический интерфейс для чтения системного лого.
Установка:
1. Скачать WSE.
2. Распаковать все содержимое архива, кроме папки с названием WSESDK, в папку с игрой (не в папку Modules или куда то еще, а именно в папку с игрой (туда где mb_warband.exe)).
3. Отредактировать файл wse_settings.ini на свой вкус.
4. Запустить WSELoader.
Мододелы:
1. Скачать WSE.
2. Увеличьте возможности модульной системы при помощи файлов для MC (файлы с расширением .py) (смотрите файл README.txt, который находится в папке со скачанным архивом, для получения большей информации).
После установки WSE, игру нужно запускать из файла WSELoader.exe, иначе программа не будет работать.
Как сделать запуск игры с использованием WSE более удобным и привычным:Если вы запускаете игру с ярлыка, то это для вас. Все банально просто, и думаю что большинство пользователей ОС Windows сами догадались это сделать, но для некоторых это все равно пригодится. Итак:
1. Находим ярлык с которого вы чаще всего запускаете игру.
2. Кликаем на ярлык правой клавишей мышки, и в появившемся окне ищем строчку под названием:
Объект:
ищем в поле, справа от этой строчки вот это (находится в самом конце):
mb_warband.exe
и заменяем на (пробел в конце удаляем):
WSELoader.exe
3. Немного ниже, нажимаем на кнопку "Сменить значок...", в появившемся предупреждении жмем "ОК", после этого, в появившемся окошке, нажимаем на кнопку "Обзор", и заходим в папку с игрой, в ней дважды кликаем левой кнопкой мыши по файлу под названием "mb_warband" (без кавычек) и затем нажимаем на копку "ОК".
4. В низу окна нажимаем на копку "ОК".
В итоге мы имеем старый ярлык, с тем же названием и внешним видом как и раньше, но игра теперь запускается вместе с WSE, и запуск ничем не отличается от того, что было раньше.
- Много новых и очень полезных команд, триггеров и скриптов;
- Возможность использовании геральдики на лошадях;
- Возможность нормально работать с дробными числами;
- Возможность проигрывания видео во время игры (используя поставляющийся с игрой ]]>Bink Video]]>);
- Возможность подмены встроенных в движок презентаций (например меню инвентаря, просмотра характеристик персонажа и т.п.) на сделанные с помощью модульной системы;
- Возможность использования различных рас в мультиплеере (вплоть до 16-ти);
- Возможность задавать агентам различное масштабирование (с помощью этого можно сделать чтобы агенты были различного роста, так что они буду еще меньше похожими на армию клонов);
- Исправления некоторых багов игры;
- Оптимизатор памяти;
- Возможность выставлять огромное количество трупов;
- И многое другого, что может быть сделано с помощью новых команд и триггеров (например: изменение параметров лица (форма частей лица, его текстуры, волос, цвета волос, возраста и т.д.) в любой момент, добавление эффектов и источников света к снарядам (огонь и т.п.), спаун снарядов (стрелы, пули и все остальное чем можно выстрелить/метнуть) в любое время, и с любого места);
Видео демонстрирующие некоторые возможности WSE:
]]>WSE Demo #1]]> | ]]>WSE Demo #2]]> | ]]>WSE Demo #3]]> | ]]>WSE Demo #4]]>]]>WSE Demo #5]]> | ]]>WSE Demo #6]]> | ]]>WSE Demo #7]]> | ]]>WSE Demo #8]]> | ]]>WSE Demo #9]]>
История изменений:
v3.1.5
- Исправлена scene_set_ * операции не работали
- Добавлена операция missile_remove_on_hit
v3.1.4
- Исправлены ошибки WSE в network events.
- Исправлено исчезающие(станов. невид.) оружие
v3.1.3
- Исправлены сбои и странное поведение сервера
v3.1.2
- Исправлены композитные сообщения операций
v3.1.1
- Исправлены возможные вылеты при старте битвы
v3.1.0
- Исправлено несколько несоответствий в коде операции (store_trigger_param, все menu operations)
- Исправлено использование подсказок (тултипсов) которые или не работали или вызывали сбои.
- Возвращена ti_on_missile_dive и добавил несколько параметров для script_game_missile_dives_into_water (см. WSESDK \ module_scripts_addon.py)
v3.0.0
- Добавлена поддержка Mount&Blade Warband v1.153
- Добавлены операции: timer_reset, timer_get_elapsed_time, options_get_realistic_headshots, options_set_realistic_headshots
v2.8.1
- Исправлен str_sanitize, удаление определенных символов Юникода
v2.8.0
- Исправлены сбои в операциях try_for_dict_keys и position_align_to_ground, которые вызывали вылеты с игры при определенных обстоятельствах
- Исправлена ошибка в send_message_to_url_advanced, которая приводил к вызову скрипта с неверными параметрами
- Добавлена поддержка женских фреймов вертексной анимации для обуви
- Добавлены операции: prop_instance_set_vertex_keys_time_point, party_heal_members, process_advanced_url_messages, sleep_ms, player_set_banner_id
v2.7.1
- Исправлена ошибка операции troop_set_skill из за которой она не корректно выполнялась
v2.7.0
- Исправлена ошибка из-за которой операция get_server_option_at_connect не работала для пользователей Steam;
- Добавлена операция player_stop_controlling_agent;
v2.6.2
- Добавлены операции try_for_dict_keys, order_flag_is_active, play_bink_file;
v2.6.1
- Исправлен вылет при вызове операции get_server_option_at_connect;
- Добавлены триггеры: ti_on_agent_start_reloading, ti_on_agent_end_reloading;
v2.6.0
- Исправлен вылет при работе под новыми версиями Wine;
- Добавлены операции: cast_ray, agent_ai_set_simple_behavior, presentation_activate, get_server_option_at_connect, close_order_menu, edit_mode_set_enabled, get_water_level, item_set_speed_rating, item_set_missile_speed;
v2.5.2
- Добавлена альтернативная библиотека для процессоров без поддержки SSE2
- Улучшенная инъекция библиотек на Windows Vista/7
- Исправлен баг, приводивший к ошибкам "invalid party"
- Добавлены операции position_align_to_ground, agent_set_horse
v.2.5.1
- Улучшено внедрение в Steam
- Исправлена ошибка в скрипте wse_chat_message_received
v.2.5.0
- Добавлена команда «feval» (см. EVAL_README.txt в WSESDK для подробной информации)
- Добавлена информация отдельных вызовов и цветная подсветка в GUI-редакторе
v.2.4.8.
- Добавлена команда agent_ai_get_move_target_position
v.2.4.7.
- Исправлена ошибка, возникающая при использовании шейдерных команд в режиме FFP (”DirectX 7”)
v.2.4.6.
- Исправлена возможная ошибка, связанная с использованием команд чата
v.2.4.5.
- Убрана серверная консольная команда set_max_player для задания лимита игроков
- Добавлены команды mtsrand, mtrand, get_time, update_material
- Исправлена ошибка с включенным «Force single threading»
v.2.4.4
- Добавлено несколько команд для изменения свойств предметов на ходу.
v.2.4.3
- Улучшена совместимость со Steam-ом
- Исправлено отображения пинга в списке серверов
- Исправлен огнь по дружественным лошадям на выделенном сервере
- Исправлена ошибка модульной системы при использовании agent_get_scale
v.2.4.2
- Внедрение cRPG (команд?)
v.2.4.1
- Внедрение cRPG (команд?)
v2.4.0
- Улучшена совместимость загрузчика с некоторыми системами;
- Исправлена ошибка из-за которой предметы не исчезают со сцены, когда установлено время исчезания;
- Исправлена ошибка, когда брошенные предметы с большими id не отображаются корректно на клиентах (]]>bug #3157]]>, исправление доступно только при выключенном режиме сетевой совместимости (настройка network compatible в module.ini));
- Добавлены операции: stop_time, set_shader_param_int, set_shader_param_float, set_shader_param_vector, set_shader_param_matrix, prop_instance_set_variation_id, prop_instance_set_variation_id_2, cur_missile_get_path_point_position;
v2.3.1
- В module.ini добавлена настройка allow_unset_script_params
- Устранено зацикливание, возникающие при модификации набора во время итерирования.
v2.3.0
- Добавлен "дружественный для сервера" загрузчик (никакого UAC промта, никаких GUI сообщений);
- В логе отображается дополнительная информация при вылетах;
- Добавлены операции: send_message_to_url_advanced, troop_set_skill, troop_set_attribute, troop_set_proficiency, scene_set_flags, scene_set_water_level, scene_set_bounds, scene_set_outer_terrain, scene_set_terrain_seed, scene_set_river_seed, scene_set_flora_seed, scene_set_deep_water, scene_set_place_river, scene_set_disable_grass, scene_set_valley_size, scene_set_hill_height, scene_set_ruggedness, scene_set_vegetation, scene_set_size, scene_set_region_type, scene_set_region_detail, edit_mode_in_edit_objects_mode, edit_mode_get_num_selected_prop_instances, edit_mode_get_selected_prop_instance, edit_mode_select_prop_instance, edit_mode_deselect_prop_instance, edit_mode_get_highlighted_prop_instance, edit_mode_set_highlighted_prop_instance;
- Добавлены флаги для предметов: itp_show_body, itp_offset_flip
- Добавлен новый параметр для prop_instance_receive_damage
v2.2.0
- Теперь можно использовать wse_settings.ini из директории модуля
- Добавлены операнды: position_get_vector_to_position, str_store_skill_name
- Добавлена возможность работы с дробными числами
- Добавлены флаги для предметов: itp_offset_mortschlag, itp_offset_melee_firearm
- Исправлена ошибка из-за которой флаг itp_unbalanced не работал в альтернативном режиме оружия ]]>(bug #3331)]]>
- Исправлено use_missile_damage_type
- Исправлен position_rotate_z_floating при использовании глобально оси, также добавлен опциональный параметр use_global_axis для операндов вращения по осям x и y
v2.1.0
- Добавлены параметры item/missile в триггер ti_on_scene_prop_hit (только для сервера)
- Убраны cur_missile_add_point_light и cur_missile_add_particle_system, улучшены particle_system_add_new и add_point_light для работы в больших случаях (включая снаряды)
- Добавлены операнды particle_system_remove, key_released, game_key_released, get_camera_position, get_spectated_agent_no, set_forced_lod, prop_instance_set_forced_lod, agent_set_forced_lod
v2.0.0
- Исправлен сбой выделенного сервера под Wine
- Исправлена ошибка движка игры когда сервер запущенный под Wine получал не нужную информацию из сети
- Улучшен лог вылетов
- Новый формат файлов профайлера (приблизительно в четыре раза меньший)
- Переименован триггер ti_on_shield_receive_damage в ti_on_shield_hit, изменены некоторые параметры, и добавлены новые: agent, item, missile
- Добавлен триггер ti_on_missile_dive
- Добавлены операнды agent_get_scale, game_key_get_key
- Добавлен скрипт wse_window_opened (экспериментально)
- Добавлена возможность загрузки ресурсов используемых ядром движка, из модулья, если они присутствуют (core_shaders.brf, core_textures.brf, core_materials.brf, core_ui_meshes.brf, core_pictures.brf)
v1901
- Таки исправлено try_for_prop_instances
v1900
- Исправлена ошибка, которая приводит к передаче неправильного аргумента через некоторые WSE скрипты
- Исправлено игнорирование второго параметра в try_for_prop_instances
- Значительно улучшен лог
- Добавлно: party_has_flag, server_get_horse_friendly_fire, server_set_horse_friendly_fire, server_get_show_crosshair, server_set_show_crosshair, set_ally_collision_threshold, set_prop_collision_threshold, get_last_sound_channel, sound_channel_set_position
- В module.ini добавлена настройка use_missile_damage_type
- Добавлен игровой скрипт wse_get_agent_scale
v1840
- Исправлена ошибка, из-за которой параметр который передается скрипту получал значение 0, если он был отрицательным
- Добавлено: str_store_game_variable
v1830
- Загрузчик теперь спрашивает о повышенных правах;
- Исправлена ошибка из-за который случались рандомные вылеты при использовании некоторых операторов;
- Добавлены операторы: prop_instance_add_particle_system и prop_instance_remove_particle_system
;
v1820
- Исправлена ошибка из-за которой загрузчик давал не правильную отладочную информацию;
- Исправлен оператор agent_get_bone_position (теперь дает более правильную позицию);
- Добавлен оператор set_show_use_tooltip;
v1810
- Исправлен оператор try_for_active_players;
- Добавлены операторы: agent_get_wielded_item_slot_no, agent_get_bone_position;
v1802
- Исправлен поиск Steam'а в реестре;
v1801
- В загрузчике улучшен анализ командной строки;
- Исправлены некоторые ошибки скриптов;
v1800
- Улучшена общая совместимость с Windows XP и Windows Server 2003;
- Загрузчик теперь пытается получить путь к игре с реестра, если Warband не был найден в текущей папке и аргумент -p (--path) не был указан;
- Загрузчик теперь устанавливает модуль по упомлчанию если аргумент -m (--module) указан
- Загрузка wse_settings.ini из папки где находиться загрузчик, а не из корневой папки игры (для совместимости с модами);
- Добавлен оптимизатор памяти (смотрите wse_settings.ini для получения большей информации);
- Добавлены операторы: break_loop, continue_loop, try_for_active_players, try_for_prop_instances, try_for_attached_parties, str_store_player_ip, overlay_get_val, troop_has_flag;
- Добавлен параметр damage_type в триггер ti_on_agent_hit;
- Добавлены опциональные параметры "position" и "range" к to try_for_agents, для улучшения возможности поиска агентов в определенной зоне;
- Исправлена ошибка движка игры, из-за которой могут случаться вылеты при входе на сцену (bug #3725);
v1703
- Добавлен правильный файл header_operations_addon.py
v1702
- Исправлена ошибка, из-за которой объекты которые были заспаунены на сцене убирались через три минуты.
v1701
- Исправлены критические ошибки в некоторых операциях в версии игры от Steam
v1700
- Отключена поддержка версии 1.134, добавлена поддержка игры версии 1.143
- Убраны операции agent_get_sound_channel и agent_get_sound_duration, добавлены новые параметры sound_channel и sound_duration к триггеру ti_on_agent_play_sound
- Переименованы операции get_cheat_mode, set_cheat_mode в options_get_cheat_mode, options_set_cheat_mode
- Добавлены операции options_get_battle_size, options_set_battle_size, options_get_verbose_casualties, options_set_verbose_casualties, server_map_rotation_get_count, server_map_rotation_get_index, server_map_rotation_set_index, server_map_rotation_get_map, server_map_rotation_add_map, server_map_rotation_remove_map
- Добавлены некоторые операции для получения характеристик предметов (item_get_head_armor, item_get_max_ammo, item_get_shield_width, item_has_flag...)
- Добавлен триггер ti_on_shield_receive_damage
- Добавлен триггер ti_on_init_item для лошадей, для них включена поддержка геральдики (tableau material)
v1600
- Пока не будут исправлены некоторые ошибки, возможность изменения анимации для оружия отключена
- Убрана операция agent_set_cur_sound_frequency
- Упрощен файл wse_settings.ini
- Исправлена ошибка WSE из-за которой не загружались обусловленные операции для партий
- Исправлена ошибка движка игры, когда операция agent_play_sound внутри триггера ti_on_agent_spawn на сервере приводила к выкидыванию из игры клиентов
- Исправлена ошибка движка игры когда эффекты (particle systems) не отображались, если не смотришь на позиции их появления
- Добавлена настройка hide_other_mod_servers в module.ini
- Добавлена настройка max_corpses (максимальное число трупов) в wse_settings.ini
- Добавлен триггер ti_on_agent_play_sound
- Добавлены операции player_set_skin, position_rotate_z_floating, camera_in_first_person, set_camera_in_first_person, get_cheat_mode, set_cheat_mode, agent_get_sound_channel, agent_get_sound_duration, sound_channel_stop, sound_channel_set_frequency, menu_create_new, menu_add_item, menu_clear_items, menu_clear_generated
- Отключено ограничение значений в mission_cam_set_aperture
- Улучшены некоторые сообщения об ошибках
- Улучшено поведение загрузчика, когда активны несколько процессов Warband'а
v1540
- Исправлены операции face_keys_get_morph_key, face_keys_set_hair_color, face_keys_set_age
- Добавлены операции agent_get_item_slot_ammo, agent_set_item_slot_ammo, agent_get_item_slot_hit_points, agent_set_item_slot_hit_points, face_keys_store_string
- Добавлены параметры shooting_agent_no и launcher_item_kind_no в триггер ti_on_init_missile
v1530
- Добавлен триггер ti_on_init_missile
- Добавлены операции agent_get_ground_scene_prop, cur_missile_add_particle_system, cur_missile_add_point_light
v1520
- Добавлен триггер ti_on_scene_prop_stepped_on
v1511
- Настройка network_compatible перенесен в module.ini для поддержки совместимости модов
v1510
- Добавлена настройка ground_weapon_collision в module.ini. Если поставить 1, оружие ближнего боя не сможет пересекать землю.
- Добавлена операция spawn_missile
v1500
- Убраны операции для клавиш (key) (может быть сделано без WSE, смотрите ]]>пример]]>)
- Профайлер: ID предметов теперь отображается правильно, вместо (null)
- Исправлен agent_unequip_item
- Исправлен agent_equip_item (волосы/бороды когда надеваются шлемы, ошибка когда щиты не не экипировались)
- Исправлена ошибка в quest_slot_gt (проверяет является ли значение правильным квестом, а не предметом)
- Добавлена опциональность параметра item_modifier в операции agent_equip_item
- Добавлены операции: store_current_trigger, return_values, store_num_return_values, store_return_value
- Добавлены операции для мультиплеера: multiplayer_get_num_profiles, multiplayer_get_cur_profile, multiplayer_profile_get_face_keys, multiplayer_send_composite_message_to_player, multiplayer_send_composite_message_to_server, multiplayer_message_init, multiplayer_message_put_string, multiplayer_message_put_int, multiplayer_message_put_position, multiplayer_message_put_coordinate, multiplayer_message_put_face_keys, multiplayer_cur_message_get_string, multiplayer_cur_message_get_int, multiplayer_cur_message_get_position, multiplayer_cur_message_get_coordinate, multiplayer_cur_message_get_face_keys
- Добавлены операции для работы с параметрами лица (face key): face_keys_init, face_keys_copy, face_keys_get_hair, face_keys_set_hair, face_keys_get_beard, face_keys_set_beard, face_keys_get_face_texture, face_keys_set_face_texture, face_keys_get_hair_texture, face_keys_set_hair_texture, face_keys_get_hair_color, face_keys_set_hair_color, face_keys_get_age, face_keys_set_age, face_keys_get_morph_key, face_keys_set_morph_key
- Добавлены операции для войск: troop_get_face_keys, troop_set_face_keys
- Добавлены операции для предметов: item_has_faction
- Добавлены операции для игроков: player_get_face_keys, player_set_face_keys
- Добавлены операции для миссий: store_cur_mission_template_no
- Добавлены операции для агентов: agent_set_item_slot, agent_get_dna
- Добавлены операции для строк (string): str_store_overlay_text, str_store_face_keys, str_store_profile_name, str_store_module_setting
v1400
- Внутренняя версия
v1300b1
- Исправлена ошибка, когда загрузчик не признавал некоторые исполняемые в версии от Steam
v1300
- Добавлена поддержка Steam версии
- Добавлены операции prop_instance_clear_attached_missiles, set_default_item_prune_time, agent_get_animation_progress, party_stack_get_experience, party_stack_get_num_upgradeable
- Добавлены новые параметры для триггера to ti_on_agent_hit: raw_damage, bone_no, item_id, item_modifier, missile_item_id, missile_item_modifier
- Добавлена операция (store_trigger_param, <destination>, <param_no>), так как число параметров которые используются в WSE увеличено до 16
v1211
- Исправлены операции для агентов, теперь они не маркируются как lhs
- Добавлены операции troop_get_attribute_points, troop_set_attribute_points, troop_get_skill_points, troop_set_skill_points, troop_get_proficiency_points, troop_set_proficiency_points
- Включена оптимизация ссылок, которая была отключена для выделенного сервера
v1210
- Добавлены gt и le операции для слотов
- Добавлены agent_get_item_slot_modifier, agent_ai_get_look_target, agent_ai_get_move_target, agent_ai_get_behavior_target operations
- Исправлена ошибка, сервер-игрок теперь показывается как простой игрок
- Исправлено party_template_set_slot (]]>#3432]]>)
- Исправлены внутренние проверки границы операнда
- Небольшие изменения и исправления для файла header_operations_addon.py
v1201
- Исправлена ошибка, из-за которой загрузчик игнорировал консольные команды
v1200
- Добавлен файл .ini для возможности включать/отключать особенности WSE
- Добавлена возможность использовать другие анимации для оружия
- Добавлено Open Game Protocol server
- Добавлен профайлер
- Добавлены новые операции: agent_get_item_modifier, dict_delete_file, item_get_weight, item_get_difficulty,
- Улучшен триггер ti_on_agent_hit
- Исправлена критическая ошибка в загрузке, которая приводила к краху на других операционных системах кроме Vista/7 (спасибо за это agrippa)
- Множество внутренних изменений
v1110
- Новый скрипт: wse_game_saved
- Новые арифметические операции: val_shr, store_sh, val_lshr, store_lshr, val_shl, store_shl, val_xor, store_xor, val_not, store_not
- Новая операция для строк: str_sort
v1100
- Добавлены операции для строк: str_split, str_store_join, str_store_replace_spaces_with_underscores, str_store_replace_underscores_with_spaces, str_store_server_password_admin, str_store_server_password_private.
- Added a string-indexed dictionary datatype that can be saved and loaded from files. Dict operations: dict_create, dict_free, dict_load_file, dict_load_dict, dict_save, dict_clear, dict_is_empty, dict_has_key, dict_get_size, dict_get_str, dict_get_int, dict_set_str, dict_set_int.
- Добавлены сетевые операции: multiplayer_send_chat_message_to_player, server_set_password_admin, server_set_password_private.
- Заменен server_set_max_num_players двойником который правильно обрабатывает лимит Warband'а на количество игроков в 250
- Внутренние изменения.
v1041
- Исправлена ошибка из-за которой операция store_wse_version возвращала данные о старой версии.
- Включена некоторая оптимизация компилятора.
v1040
- Добавлены операции str_compare и str_store_reverse.
- Добавлен скрипт wse_console_command_received, который будет выполнятся когда введена команда в консоль выделенного сервера (после обработки стандартных команд). Смотри пример #2.
- Changed all string operations from using cstring functions (strlen, strstr, _strlwr_s...) to ATL::CStringW to allow for UTF8 compatibility.
- Убран <max_replacements> параметр из str_replace.
- Переименовано str_get_ascii в str_get_char (not all characters returned are ASCII).
v1030
- Добавлены операции для обработки нажатия клавиш (key) (wse_key_is_down, wse_key_clicked, wse_key_get, wse_key_set, wse_key_clear)
v1020
- Добавлены параметры для учета регистра в функциях сравнения строк (str_equals, str_contains, str_starts_with, str_ends_with).
- Добавлены команды register_get и register_set operations. Пример использования: looping over registers in script_game_receive_url_response.
- Добавлена операция store_wse_version. Название говорит само за себя
- Исправлена проверка триальной версии игры
- В комплект добавлены файлы msvcp100.dll и msvcr100.dll. Теперь не нужно устанавливать Visual C++ 2010 Redistributable Package.
v1010
- WSE теперь не запускается, если игра запущена в триальом режиме
- Операции для строк перемещены из плагина, в главную библиотеку.
- Новые операции для строк: str_get_ascii, str_to_int, str_is_alpha, str_is_digit, str_is_whitespace.
- Добавлена обработка ошибок для операций
- Множество внутренних изменений.
v1000b2
- В загрузчик добавлен аргумент -exe. Может использоваться для обозначения исполняемого файла игры (загрузчик должен находится в той же папке).
- В загрузчик добавлен -v/--verbose аргумент. Отображает некоторую информацию, которая может быть использована для поиска ошибок.
v1000
- Начальная версия.
Для простых игроков:
Увеличить количество трупов:Если перед ней у вас стоит знак ; то удалите его. Число которое написано в этой строке - это количество трупов, замените это число на нужное вам. Для примера, у меня эта строка выглядит так:max_corpses
Красное - это знак который нужно удалить (если вы не сделали этого ранее);;max_corpses = 1000
Зеленое - это количество трупов
Внимание, количество трупов может повлиять на производительность! Чем больше трупов - тем больший может быть ущерб производительности, поэтому будьте осторожными с большими значениями.
Текст который нам нужен выглядит примерно так:[memory_optimizer]
Красное - включает или выключает оптимизатор. Число в этой строке может быть только 0 или 1.[memory_optimizer]
;Enable the memory optimizer for systems with low memory or large mods (experimental)
enabled = 0
;Threshold (in MB) after which the optimizer will activate
threshold = 500
0 - оптимизатор выключен; 1 - оптимизатор включен.
Зеленое - это порог памяти в мегабайтах. Когда игра будет использовать больше оперативной памяти чем задано здесь, то оптимизатор будет запускаться. Для того чтобы был хоть какой то результат, то это число должно быть меньше чем размер вашей оперативной памяти. Можете поэкспериментировать с ним.
Примеры для мододелов:
Пример #1 - анализ сообщений в чатеВидео показывающие работу скрипта на выделенном сервере:#script_wse_chat_message_received
# Called each time a chat message is received (both for servers and clients)
# INPUT
# script param 1 = sender player id
# script param 2 = chat type (0 = global, 1 = team)
# s0 = message
# OUTPUT
# trigger result = anything non-zero suppresses default chat behavior. Server will not even broadcast messages to clients.
# result string = changes message text for default chat behavior (if not suppressed).
("wse_chat_message_received", [
(multiplayer_is_server),
(store_script_param, ":player_no", 1),
(try_begin),
(str_store_trim, s1, s0),
(str_starts_with, s1, "@/"),
(str_store_substring, s1, s1, 1),
(try_begin),
(str_starts_with, s1, "@die", 1),
(player_is_active, ":player_no"),
(player_get_agent_id, ":agent_no", ":player_no"),
(ge, ":agent_no", 0),
(remove_agent, ":agent_no"),
(set_trigger_result, 1),
(else_try),
(str_starts_with, s1, "@id", 1),
(assign, reg0, ":player_no"),
(set_result_string, "@My player number is {reg0}."),
(else_try),
(set_trigger_result, 1),
(try_end),
(else_try),
(str_contains, s0, "@ho"),
(str_store_replace, s1, s0, "@ho", "@a woman with question life choices"), #Pun intended.
(set_result_string, s1),
(try_end),
]),
]]>Смотреть видео]]>
Скрипт для модульной системы (module_scripts.py):
Скриншоты скрипта в действии:#script_wse_console_command_received
# Called each time a command is typed on the dedicated server console (after parsing standard commands)
# INPUT
# s0 = text
# OUTPUT
# trigger result = anything non-zero if the command succeeded
# result string = message to display on success (if empty, default message will be used)
("wse_console_command_received", [
(str_split, ":num_tokens", s30, s0, "@ ", 1),
(ge, ":num_tokens", 1),
(assign, ":fail", 0),
(try_begin),
(str_store_string, s0, "@set_max_players_real"),
(str_store_replace_spaces_with_underscores, s0, s0), #Workaround for Warband' annoying habit of replacing all underscores with spaces (seriously, was underscore the less common character they could come up with?)
(str_starts_with, s30, s0),
(try_begin),
(ge, ":num_tokens", 3),
(str_to_num, ":max_players", s31),
(str_to_num, ":max_private_players", s32),
(is_between, ":max_players", 2, 251),
(is_between, ":max_private_players", 2, 251),
(le, ":max_players", ":max_private_players"),
(server_set_max_num_players, ":max_players", ":max_private_players"),
(assign, reg0, ":max_players"),
(assign, reg1, ":max_private_players"),
(set_result_string, "@Set maximum players to {reg0} and maximum private players to {reg1}"),
(else_try),
(set_result_string, "@Usage: set_max_players_real <max_players> (2-250) <max_private_players> (2-250)"),
(try_end),
(else_try),
(assign, ":fail", 1),
(try_end),
(eq, ":fail", 0),
(set_trigger_result, 1),
]),
Скрипт для клиента:(multiplayer_message_init, 10), # network buffer register no. 10
(multiplayer_message_put_int, 10, 0x00FF00),
(multiplayer_message_put_string, 10, "@Hello world!"),
(multiplayer_send_composite_message_to_player, ":player_no", event_display_colored_message, 10),
("wse_multiplayer_message_received", [
(store_script_param, ":player_no", 1),
(store_script_param, ":event", 2),
(try_begin),
(eq, ":event", event_display_colored_message),
(neg|multiplayer_is_server),
(multiplayer_cur_message_get_int, ":color"),
(multiplayer_cur_message_get_string, s0),
(display_message, "@{s0}", ":color"),
(try_end),
]),
- Разработчикам мода cRPG (aka donkey crew), за многие идеи, и поддержку, ну и их крутость в целом
- Vincenzo, за то что подтолкнул меня к созданию этого
... ... и множеству мододелов, которые помогали с идеями и в нахождении ошибок
Сообщение отредактировал HunterWolf: 31 декабря 2012 - 04:51