Вопросы - Nuclear Grot: Форум
Информация о новых релизах
📡 19.03.2026 - Выпущено исправление к релизу sfall версии 5.1.5.1.

🔥 Новые сообщенияОбновленные темы 🔎 Поиск по форуму
  • Страница 1 из 1
  • 1
Вопросы
Foxx Дата: Понедельник, 20 Мая 2024, 14:16 | Сообщение # 1
Повелитель сборок
Автор темы
Рейнджер
Сообщений: 203
Награды: 12
OffLine
Mr-Stalin, спрошу здесь)

В map_enter_p_proc нужно всегда проверку на загрузку делать?

Код
procedure map_enter_p_proc begin
   if (is_loading_game == false) then begin

   end
end


Группа в VK: ReBuild By Foxx
 
Mr-Stalin Дата: Понедельник, 20 Мая 2024, 20:29 | Сообщение # 2
Мистер Сталин
Солдат братства
Сообщений: 945
Награды: 45
OffLine
Цитата Foxx ()
В map_enter_p_proc нужно всегда проверку на загрузку делать?
Если не надо чтобы во время загрузки из сохранения выполнялись действия в скрипте.

если без проверки то получится так, что игрок во время загрузки сохранения как бы заходит на карту.

Fallout: sfall Projects
Fallout: Mods and Tools
 
Foxx Дата: Понедельник, 20 Мая 2024, 20:39 | Сообщение # 3
Повелитель сборок
Автор темы
Рейнджер
Сообщений: 203
Награды: 12
OffLine
Mr-Stalin, я просто исходники скриптов Соноры посмотрел и там в каждом вроде прописано  dry

Группа в VK: ReBuild By Foxx
 
Mr-Stalin Дата: Понедельник, 20 Мая 2024, 20:42 | Сообщение # 4
Мистер Сталин
Солдат братства
Сообщений: 945
Награды: 45
OffLine
Foxx, ну в основном да, везде эта проверка нужна.
я вроде видел в оригинальном f2 есть пару мест без проверки.

Fallout: sfall Projects
Fallout: Mods and Tools
 
Foxx Дата: Понедельник, 20 Мая 2024, 20:43 | Сообщение # 5
Повелитель сборок
Автор темы
Рейнджер
Сообщений: 203
Награды: 12
OffLine
Добавлено (18 Февраля 2026, 17:27)
---------------------------------------------
Mr-Stalin, привет, не подскажешь. Лечу брамина через диалог, нужно 2 стимулятора. В итоге если в инвентаре 1 и 2 в руках, то удаляются и в руках и один в инвентаре. В инвентаре же должен остаться?

Код

  LVar1 := obj_carrying_pid_obj(dude_obj, 40);
   if (rm_mult_objs_from_inven(dude_obj, LVar1, 2) < 2) then begin
      LVar0 := sfall_func2("critter_inven_obj2", dude_obj, 2);
      if (obj_pid(LVar0) == 40) then begin
         rm_obj_from_inven(dude_obj, LVar0);
         destroy_object(LVar0);
      end
      LVar2 := sfall_func2("critter_inven_obj2", dude_obj, 1);
      if (obj_pid(LVar2) == 40) then begin
         rm_obj_from_inven(dude_obj, LVar2);
         destroy_object(LVar2);
      end
   end

Сообщение отредактировал Foxx - Среда, 18 Февраля 2026, 17:28

Группа в VK: ReBuild By Foxx
 
Mr-Stalin Дата: Суббота, 21 Февраля 2026, 00:13 | Сообщение # 6
Мистер Сталин
Солдат братства
Сообщений: 945
Награды: 45
OffLine
Цитата Foxx ()
Лечу брамина через диалог, нужно 2 стимулятора. В итоге если в инвентаре 1 и 2 в руках, то удаляются и в руках и один в инвентаре. В инвентаре же должен остаться?
нет удалится 3 шт smile
      
Код
LVar1 := obj_carrying_pid_obj(dude_obj, 40);
variable removed = rm_mult_objs_from_inven(dude_obj, LVar1, 2);
if (removed < 2) then begin
      LVar0 := sfall_func2("critter_inven_obj2", dude_obj, 2);
      if (obj_pid(LVar0) == 40) then begin
         rm_obj_from_inven(dude_obj, LVar0);
         destroy_object(LVar0);
         removed++;
      end
      if (removed < 2) then begin     
         LVar2 := sfall_func2("critter_inven_obj2", dude_obj, 1);
         if (obj_pid(LVar2) == 40) then begin
            rm_obj_from_inven(dude_obj, LVar2);
            destroy_object(LVar2);
         end   
      end
end
так должно быть

Fallout: sfall Projects
Fallout: Mods and Tools
 
Foxx Дата: Суббота, 21 Февраля 2026, 12:14 | Сообщение # 7
Повелитель сборок
Автор темы
Рейнджер
Сообщений: 203
Награды: 12
OffLine
Цитата Mr-Stalin ()
так должно быть
Спасибо, попробую smile

Работает. А removed++;  в скрипте, что означает?
Сообщение отредактировал Foxx - Суббота, 21 Февраля 2026, 19:16

Группа в VK: ReBuild By Foxx
 
Mr-Stalin Дата: Суббота, 21 Февраля 2026, 20:33 | Сообщение # 8
Мистер Сталин
Солдат братства
Сообщений: 945
Награды: 45
OffLine
Цитата Foxx ()
removed++;  в скрипте, что означает?
+1 Подсчет, то что мы удали еще один стимулятор.

Fallout: sfall Projects
Fallout: Mods and Tools
 
Ветер Дата: Вторник, 09 Июня 2026, 09:53 | Сообщение # 9
Ветер
Житель пустошей
Сообщений: 3
Награды: 0
OffLine
Прошу совета!

В сборку Fallout 2 + Restoration Project Update (by burn) + Companion Expansion пытаюсь пристроить мод Shania of Arroyo.

В Restoration Project Update (RPU) моды, как понял, добавляются через упаковку файлов в .dat и добавление этого имя.dat в папку mods и прописку в mods_order.txt. Если добавить мод как есть, то он работает, но ломает работу как минимум вышестоящего Companion Expansion, а скорее и самого RPU.

Если верно понимаю, то для правильного взаимодействия нужно прописать скрипт мода в scripts.lst (номер строки это номер скрипта), а .msg файл в scrname.msg (номер скрипта+100 ), а также изменить скрипт мода прописав в нём изменённый номер скрипта в scripts.lst (номер строки). Всё сделал, но возникает непонятный сбой работы мода, похоже, что игра не видит скрипт.

В скриптах я не понимаю, поэтому просто открывал модовый в sFall Script Editor v4.1.7.RC1, поиском искал и заменял все старые значения номера скрипта на новые (номер строки в scripts.lst), потом компилировал срипт, упаковывал файлы мода в .dat (в формате F2) с помощью DAT Explorer 2_v1.3 и проверял в игре - не работает. В настройках sFall Script Editor пробовал применять настройки - 'Use backward mode' 'Optimization - None', не помогает. Пробовал просто открыть скрипт и тут же скомпилировать ничего не меняя - мод работает (т.к. без мод изменений, то по прежнему мешает работе других модов); значит sFall Script Editor не ломает скрипт?

Подскажите, пожалуйста, что не так?
 
Mr-Stalin Дата: Вторник, 09 Июня 2026, 14:59 | Сообщение # 10
Мистер Сталин
Солдат братства
Сообщений: 945
Награды: 45
OffLine
Цитата Ветер ()
Всё сделал, но возникает непонятный сбой работы мода, похоже, что игра не видит скрипт.
Что за скрипт. А  в прототипе npc тоже нужно его переустановить, номер же его поменялся.

Fallout: sfall Projects
Fallout: Mods and Tools
 
Ветер Дата: Вторник, 09 Июня 2026, 18:34 | Сообщение # 11
Ветер
Житель пустошей
Сообщений: 3
Награды: 0
OffLine
Сам мод по составу простой:
maps/arvillag.map
Scripts/acshania.int
Scripts/scripts.lst (добавлял его сам, сделав на основе файла вышестоящего мода, с учётом всех ранее внесённых скриптов)
Text/English/Dialog/acshania.msg
Text/English/game/scrname.msg (добавлял его сам, сделав на основе файла вышестоящего мода)

Файлов вида proto нет.

Решил спросить и у ИИ Гугла, от говорит, что дело в том, что в карту зашито не только имя скрипта, но и его номер (номер строки в прежнем scripts.lst). А карта почему-то не открывается ни DimsMapper2 v0.99.4, ни каким-то другим редактором карт (забыл уже каким), если просто бросить файлы мода в папку data корня игры. Пока он пытается написать новый глобальный скрипт, чтобы прописать в нём нпс из мода в обход карты (а саму карт удалить).

Прикрепляю файл раскомпилированного скрипта (из мода, не от гугла):
Прикрепления: acshania.ssl (49.4 Kb)
Сообщение отредактировал Ветер - Вторник, 09 Июня 2026, 18:57
 
Mr-Stalin Дата: Вторник, 09 Июня 2026, 23:23 | Сообщение # 12
Мистер Сталин
Солдат братства
Сообщений: 945
Награды: 45
OffLine
Цитата Ветер ()
карту зашит его номер (номер строки в прежнем scripts.lst).
Вот..

Fallout: sfall Projects
Fallout: Mods and Tools
 
Mr-Stalin Дата: Среда, 10 Июня 2026, 00:11 | Сообщение # 13
Мистер Сталин
Солдат братства
Сообщений: 945
Награды: 45
OffLine
Цитата Ветер ()
Пока он пытается написать новый глобальный скрипт, чтобы прописать в нём нпс из мода в обход карты (а саму карт удалить).
Как сгенерирут что то рабочее скопипастни результат сюда.

Fallout: sfall Projects
Fallout: Mods and Tools
 
Ветер Дата: Среда, 10 Июня 2026, 04:23 | Сообщение # 14
Ветер
Житель пустошей
Сообщений: 3
Награды: 0
OffLine
После ~15-20 попыток он выдал такое:

Код
procedure start;
procedure map_enter_p_proc;

procedure start begin
   if (metarule(22, 0) == 0) then begin
      call map_enter_p_proc();
   end
end

procedure map_enter_p_proc begin
   variable LVar0 := 0;
   if (cur_map_index == 4) then begin
      if (global_var(150) == 0) then begin
         LVar0 := create_object_sid(16777231, 20315, 0, 1575);
         set_global_var(150, 1);
      end
   end
end


Пытается угадать какой ID ей выдать, номер гекса на карте, какой код у женской фигурки, пока получился только мужчина у палатки старейшены с именем Error и такими же пунктами в диалоге (не работающем дальше первого окна диалога). Состав скрипта он подбирает под компиляцию в sFall Script Editor v4.1.7.RC1 (не все прежние варианты смогли скомпилироваться). Не уверен что он сможет продолжить - сегодня проснулся, глянул в окно чата, а там всего два его последних ответа, пока я не продолжал запросы.
Снимок

Я наконец то смог открыть карту с помощью Mapper2 by Dims (обоими версиями) просто натравив его на Killapp's Restoration Project (2.3.3+) вместо Restoration Project Update (by burn). Возник вопрос - почему Script ID в нём ровно на 1 меньше чем номер его строки в  'scripts.lst', так и должно быть? То есть, если подменить номер для другого 'scripts.lst', то нужно писать его так же на еденицу меньше?

Дополню:
Удалось всё же встроить мод 'Shania of Arroyo' в сборку Restoration Project Update (RPU).

Раз карту открыл DimsMapper2 в предыдущем поколении - в Restoration Project (2.3.3+), для которого 'Shania of Arroyo' был приспособлен и переведён Drobovik и Pyran, и где этот мод уже есть, то я просто перекинул в RP (2.3.3+) файл scripts.lst из RPU, изменил на карте скрипт npc, DimsMapper2 взял номер из нового scripts.lst (он действительно на 1 меньше в свойствах карты, чем номер строки скрипта в scripts.lst),сохранил карту.

Остальное сделал как в первом сообщении - изменил через sFall Script Editor в скрипте pc 'acshania.int' номера строки на новые (просто массовой заменой), в scrname.msg тоже изменил номер (номер скрипта+100 ), упаковал в .dat и кинул всё в Restoration Project Update, прописал .dat в конец списка в mods_order.txt.

Всё заработало - и 'Shania of Arroyo', и вышестоящие моды в сборке RPU!
Наверное скрипт от гугла не нужно дальше развивать - он тебе интересен?

Последний вариант глобального скрипта спавна npc без карты от гугла (дальше бросил):

Код
procedure start;
procedure map_enter_p_proc;

procedure start begin
   if (metarule(22, 0) == 0) then begin
      call map_enter_p_proc();
   end
end

procedure map_enter_p_proc begin
   variable LVar0 := 0;
   if (cur_map_index == 4) then begin
      if (global_var(150) == 0) then begin

         // 16777220 — Точный Proto ID Шании из Маппера
         // 20896 — Точный гекс её палатки из Маппера
         // 0 — Уровень карты
         // 1575 — Номер скрипта, при котором у вас вызывалось диалоговое окно
         LVar0 := create_object_sid(16777220, 20896, 0, 1575);

         if (LVar0 != 0) then begin
            // Принудительно разворачиваем её лицом (направление 3)
            anim(LVar0, 1000, 3);
            // Фиксируем спавн в глобальной переменной
            set_global_var(150, 1);
         end

      end
   end
end


Дал ИИ данные по модовому npc, взятые из редактора карты, как итог - опытный мод без карты, скрипт заспавнил npc как в моде, но её имя и строки диалога видны как Error, но, помня последовательность действий, я провёл общение вслепую и оказалось что скрипт мода работает, в свойствах ГГ появляется новое (так и должно быть согласно логике мода). Единственное что сбоит - текст (в файлах всё прописано правильно). Похоже, что к фигурке, при обычном размещении через изменённую карту, привязываются и дополнительные ссылки на текстовик .msg, а при размещении npc без карты игре нехватает таких не ведомых мне ссылок и она не поддцепляет текст диалога.
Сообщение отредактировал Ветер - Среда, 10 Июня 2026, 12:49
 
Mr-Stalin Дата: Среда, 10 Июня 2026, 14:01 | Сообщение # 15
Мистер Сталин
Солдат братства
Сообщений: 945
Награды: 45
OffLine
Цитата Ветер ()
Похоже, что к фигурке, при обычном размещении через изменённую карту, привязываются и дополнительные ссылки на текстовик .msg, а при размещении npc без карты игре нехватает таких не ведомых мне ссылок и она не поддцепляет текст диалога.
Да ничего там не привязываются, когда через маппер ставят непеся, все так же как и через скрипт, много в каких местах/модах скриптово добавляют криттеров на карту и они работают.
У скрипта просто нет доступа к файлу сообщения, вобщем твой косяк в нестыковке.
Мне от сюда не видать твои косяки smile

Цитата Ветер ()
Наверное скрипт от гугла не нужно дальше развивать - он тебе интересен?
Не просто мне интересно было какую фигню он состряпает.
Школотовский скрипт получился, видно что ии не понимает, просто каким-то копипастом из своей базы строит скрипт.

Цитата Ветер ()
Возник вопрос - почему Script ID в нём ровно на 1 меньше чем номер его строки в  'scripts.lst', так и должно быть?
Да это норма).

Fallout: sfall Projects
Fallout: Mods and Tools
 
  • Страница 1 из 1
  • 1
Поиск: