Перейти к содержанию
Друзья, важная новость! ×

VenerateTheImmortalLenin

Пользователь
  • Постов

    23
  • Зарегистрирован

  • Посещение

Весь контент VenerateTheImmortalLenin

  1. На время подзабил, но решил все-таки доделать, если у кого есть идеи - пишите. Возможно у кого-то есть исходники самой игры или dow online
  2. Код повисает когда вызываешь функцию Button_Add()? Если да то нужно еще в файл \Data\game\taskbar.lua добавить свою кнопку. scar_ui = //Ищи по этой строке { { bind = "scar_button", ui = "btn_ScarUI", tt = tooltip_simple_template, }, //Копируешь сюда строку выше и изменяешь "btn_ScarUI" на имя твоей кнопки }
  3. Возможно ли в моде считывать нажатие клавиш? Например я хочу сделать перемещение персонажа по WASD У меня есть одна большая карта, но я хочу разделить ее на много мелких то есть мне нужно ограничить область куда камера может попасть квадратом и во время игры менять ее. Остюда вопрос - могу ли я считать текущее положение камеры по x,y?
  4. Редактор клавиш Ссылка на google disk Нужно закинуть в корень игре, чтобы было вот так "soulstorm/dowtools/DowTools.exe" "Скриншот" Тестер юнитов Ссылка на google disk Нужно закинуть в корень игры и выбрать мод в меню игры, после появится эта карта. "Скриншот"
  5. Спасибо, возможно ли создать модификатор который будет модифицировать определенное поле у отряда? Знаю что сами модификаторы лежат в attrib/modifiers но в них нету поля которое говорит что модифицировать, получается это где-то с внешней стороны определяется "Пример: Файл repair_rate_modifier.lua" --По идее модифицирует поле ["repair_ext"]["health_repaired_per_second"] но в самом файле это не указано GameData = Inherit([[]]) GameData["application_type"] = Reference([[type_modifierapplicationtype\tp_mod_apply_to_entity.lua]]) GameData["exclusive"] = false GameData["modifier_class_name"] = Reference([[type_modifier\tp_modifier.lua]]) GameData["probability_of_applying"] = 1 GameData["target_type_name"] = [[]] GameData["usage_type"] = Reference([[type_modifierusagetype\tp_mod_usage_multiplication.lua]]) GameData["value"] = 1
  6. Вот сделал редактор клавиш, мб кому пригодится. https://drive.google.com/file/d/1Uoyn4ikVsh...iew?usp=sharing "Скриншот" Нужно закинуть в корень игре, чтобы было вот так "soulstorm/dowtools/DowTools.exe"
  7. Возможно ли в скриптах corsix получить данные файла по имени? Я иду по данным юнита и собираю список оружия которое у него есть, после я хочу пройтись по данным этого оружия. Примерно что я хочу function each_file(rgd) unit_weapon = rgd.GameData["combat_ext"]["hardpoints"]["hardpoint_01"]["weapon_table"]["weapon_01"]["weapon"] --беру название оружия rgd_weapon = ПолучитьДанныеИзФайла(unit_weapon) if( rgd_weapon.GameData["can_attack_air_units"] == true ) then print("Он может стрелять в самолёты!") end end
  8. Через corsix mod studio можно взять список оружия у юнита, но как узнать какое из них стоит по умолчанию, какое дается от исследования а какое можно выдать через панель команд? И как распознать какая способность активная а какая пассивная?
  9. Оно? local playerID = World_GetPlayerAt(0) local playerSGroup = Player_GetSquads( playerID ) local lambda = function( sgroupid, itemindex, squadID ) if Squad_GetBlueprintName( squadID ) == "necron_restored_monolith_squad" then Squad_Spawn( squadID, Squad_GetPositionDeSpawned( squadID ) ) end end EGroup_ForEachAllOrAnyEx( playerSGroup, false, lambda, false, true )
  10. Пока что делается только на дуэль, но на большее кол-во игроков можно сделать так https://youtu.be/nn90HRGcpZY?t=3054
  11. Хочу сделать интерфейс для зрителя наподобие этого Вот как выглядит на данный момент: "Вжух" Работает так: 1)В корень игры вставляется autoexec.lua в котором каждый тик собираются данные с помощью функций Player_GetResource(), Entity_GetProductionQueueItemName() и т.д. После эти данные пакуются в строку(и [ну уж нет]одятся в памяти игры). 2)В процесс игры внедряется dll хук который шарится по памяти игры и [ну уж нет]одит эту строку с данными, распаковывает ее, подменяет directX ф-ию отрисовки и дорисовывает уже нужный мне интерфейс на основе данных из строки. Проблема в том что таким образом можно просматривать только реплеи, т.к. без -dev мода autoexec.lua не запустится. Нужно при старте карты внедрить этот код в нее, но не вызывая десинхронизации. Есть идеи как это сделать?
  12. Так точно! Но мне приходится в taskbar.lua добавлять информацию о полях для кнопок, которые я добавил в .screen, иначе ф-ия Button_Add не будет их [ну уж нет]одить
  13. 1) Да 2) Переключение модов - лишнее действие, которое я не хочу делать. Возможно LocString конвертировать в обычный lua string? edit: Не нашел описание структуры LocString, но если обратиться к ней по индексу 1 то получаешь обычную строку пр: Player_GetDisplayName( playerID )[1]
  14. Возможно как-то редактировать DXP2\Data\Art\ui\screens\gamescreen.screen не вызывая после этого десинхронизации в обычных играх? edit1: Может из карты его подгружать можно. edit2 : Без использования модов, не хочется туда сюда переключаться
  15. Можно как-то вызвать setsimrate(float) из скрипта карты? Если посмотреть в консоль то видно что скрипт карты не знает о этой функции. Может какой файл нужно подключить?
  16. Это то что я не хотел делать, но выбора видимо нет. А если включить Cpu он начнет сам абилки применять?
  17. Делаю аналог карты Там перед стартом сохраняется состояние арены и в конце восстанавливается. Если отряд можно было бы дублировать, то один можно деспавнить на момент когда придется восстановить а второй отправить в бой
  18. Спустя 3 часа возни получилось сделать реинфорс :D , мб кому пригодится: "Код"local player = World_GetPlayerAt(0) reinforceModifier = Modifier_Create( MAT_Player, "reinforce_time2_player_modifier", MUT_Multiplication, false, 0.01, "" ) mod1 = Modifier_ApplyToPlayer( reinforceModifier, player ) --применяем экземпляр модификатора на игрока Modifier_Remove( mod1 )- а так его удаляем Есть еще 3 проблемы которые я не могу решить( 1) Мне нужно сохранить состояние отряда, чтобы в будущем я мог его восстановить Например так я сохраняю кол-во лидеров и солдат в отряде Integer Squad_CountLeaders( SquadID squad ) Integer Squad_Count( SquadID squad ) Мне так же нужно получить кол-во их оружия, для этого есть такая ф-ия Squad_WeaponCount( SquadID squad, String weaponname ) Но тут требуется имя оружия которое я не могу нигде взять, ведь нету функции ДатьСписокВозможногоОружияОтряда(). Можно было бы хранить массив из имен всего возможного оружия в игре, и циклом проходить имеет ли отряд его. Но там аж 900 возможного оружия, не хотелось бы иметь такой огромный цикл. 2)Нужно удалить требования оружия к зданиям, пока в голову приходит создать все типы зданий и сделать их невидимыми, но как я не знаю 3)Мгновенная выдача оружия, сержанта отрядам
  19. Ну вроде получилось. "вжух" Можно как то заставить отряды мгновенно получать оружие/пополнение не редактируя баланс? Думал сделать через setsimrate( float ), но она крашит игру если вызывать из скрипта карты.
  20. Ясно, Спасибо. Как проводить арифметические операции внутри этих файлов? Мне нужно создать блок кнопок 6x8, но вручную не хочется для каждой кнопки позицию выставлять.
  21. Приветствую! Можно ли кнопку созданную с помощью ф-ии Button_Add( String widgetName, Boolean visible, Boolean enabled, Boolean modal ) переместить в нужную часть экрана?
×
×
  • Создать...