WiperX Опубликовано 2 октября, 2019 Поделиться Опубликовано 2 октября, 2019 Всем привет! Подскажите пожалуйста как пользоваться dat2 от Anchorite. Документации не нашел, а хэлп не совсем понятен. Если кто знает, поделитесь примерами использования (или всеми параметрами с описанием на русском). Заранее спасибо! Ссылка на комментарий
Pyran Опубликовано 2 октября, 2019 Поделиться Опубликовано 2 октября, 2019 Всем привет! Подскажите пожалуйста как пользоваться dat2 от Anchorite. Документации не нашел, а хэлп не совсем понятен. Если кто знает, поделитесь примерами использования (или всеми параметрами с описанием на русском). Заранее спасибо! Привет. Приехали)Ты ведь сам ей пользовался... (в том же наборе F2 tools она есть).Это упаковка файлов в dat контейнер. dat2 + dat2frame и получаем... Fallout 2: Путеводитель по модам | FAQ | Перевод модов | Путеводитель по RP Nevada Band: Путеводитель по играм серии | FAQ Fallout Tactics: Путеводитель по модам | FAQ База Данных: YD\YD\MF Помогая другим, не забывай о себе =) Ссылка на комментарий
WiperX Опубликовано 2 октября, 2019 Поделиться Опубликовано 2 октября, 2019 PyranПривет! Просто хотелось узнать параметры и примеры на русском, чтоб не через gui паковать, а через батник ) Ссылка на комментарий
Mr.Sталин Опубликовано 2 октября, 2019 Автор Поделиться Опубликовано 2 октября, 2019 Вроде переводится без проблем.<command> [options] [-t dir] [-d dir] dat-file Команды a: добавьте файлы в DAT-файл. Создать новый, если DAT-файл не существует x: извлечение файлов из dat-файла d: удаление файлов из dat-файла (только информацию о файлах) l: список файлов в DAT-файле k: термоусадка DAT-файл (т.e. удаляет неиспользованные данные от файлов в DAT) Опции -s: создать Fallout 1 dat-файл -r: рекурсия в каталоги -0..9: метод сжатия (Fallout1: 0-нет, другие номера-сжатие (по умолчанию) (Fallout2: 0-нет, 1-лучшая скорость, 9 - лучшее сжатие (по умолчанию) -p: извлечение без путей -d: извлечение файлов в указанный каталог -t: добавление файлов в указанную директорию dat-файлаПаковать файлы(много и разом, создавая новый дат) через батник по нормальному не получится, там какая-то баговина есть, которую обходным путем обходит GUI (делает всю рутинную работу по прописыванию всех файлов)паковать по одному файлу проблем нетпример:dat2.exe a example.dat ваш-файл-для-упаковки 1 Ссылка на комментарий
WiperX Опубликовано 2 октября, 2019 Поделиться Опубликовано 2 октября, 2019 Mr.StalinСпасибо за информацию! Мне вот это непонятно как использовать: list | @response-file Ссылка на комментарий
Mr.Sталин Опубликовано 2 октября, 2019 Автор Поделиться Опубликовано 2 октября, 2019 Mr.StalinСпасибо за информацию! Мне вот это непонятно как использовать: list | @response-fileВнешний файл со списком файлов, которые нужно запаковать/распаковатья использую это так в редактореdat2.exe x -d extract_folder MasterDAT @iProto.lst list - список файлов, которые непосредственно указываешь в командной строке 1 Ссылка на комментарий
WiperX Опубликовано 2 октября, 2019 Поделиться Опубликовано 2 октября, 2019 Понятно, я думал что можно создать список файлов и папок и скормить в dat2, оказывается фигли Кстати, попробовал распаковать/запаковать master.dat из русской версии и ты знаешь, получилось и размер ~ на 10mb меньше @echo offcolor 0atitle Fallout DAT Tooldat2 a -s MASTER.DAT ART\BACKGRND\*dat2 a -s MASTER.DAT ART\CUTS\*dat2 a -s MASTER.DAT ART\HEADS\*dat2 a -s MASTER.DAT ART\INTRFACE\*dat2 a -s MASTER.DAT ART\INVEN\*dat2 a -s MASTER.DAT ART\ITEMS\*dat2 a -s MASTER.DAT ART\MISC\*dat2 a -s MASTER.DAT ART\SCENERY\*dat2 a -s MASTER.DAT ART\SKILLDEX\*dat2 a -s MASTER.DAT ART\SPLASH\*dat2 a -s MASTER.DAT ART\TILES\*dat2 a -s MASTER.DAT ART\WALLS\*dat2 a -s MASTER.DAT DATA\*dat2 a -s MASTER.DAT MAPS\*dat2 a -s MASTER.DAT PREMADE\*dat2 a -s MASTER.DAT PROTO\CRITTERS\*dat2 a -s MASTER.DAT PROTO\ITEMS\*dat2 a -s MASTER.DAT PROTO\MISC\*dat2 a -s MASTER.DAT PROTO\SCENERY\*dat2 a -s MASTER.DAT PROTO\TILES\PATTERNS\*dat2 a -s MASTER.DAT PROTO\TILES\*dat2 a -s MASTER.DAT PROTO\WALLS\*dat2 a -s MASTER.DAT SCRIPTS\*dat2 a -s MASTER.DAT SOUND\SFX\*dat2 a -s MASTER.DAT SOUND\SPEECH\ARDSH\*dat2 a -s MASTER.DAT SOUND\SPEECH\BUTCH\*dat2 a -s MASTER.DAT SOUND\SPEECH\CABBT\*dat2 a -s MASTER.DAT SOUND\SPEECH\DEKKR\*dat2 a -s MASTER.DAT SOUND\SPEECH\GIZMO\*dat2 a -s MASTER.DAT SOUND\SPEECH\HARLD\*dat2 a -s MASTER.DAT SOUND\SPEECH\HARRY\*dat2 a -s MASTER.DAT SOUND\SPEECH\JAINN\*dat2 a -s MASTER.DAT SOUND\SPEECH\KILLN\*dat2 a -s MASTER.DAT SOUND\SPEECH\LAURA\*dat2 a -s MASTER.DAT SOUND\SPEECH\LIEUT\*dat2 a -s MASTER.DAT SOUND\SPEECH\LOXLY\*dat2 a -s MASTER.DAT SOUND\SPEECH\MASTR\*dat2 a -s MASTER.DAT SOUND\SPEECH\MAXSN\*dat2 a -s MASTER.DAT SOUND\SPEECH\MORPH\*dat2 a -s MASTER.DAT SOUND\SPEECH\NARRATOR\*dat2 a -s MASTER.DAT SOUND\SPEECH\NICOL\*dat2 a -s MASTER.DAT SOUND\SPEECH\OVRSR\*dat2 a -s MASTER.DAT SOUND\SPEECH\RHOMB\*dat2 a -s MASTER.DAT SOUND\SPEECH\SETTT\*dat2 a -s MASTER.DAT SOUND\SPEECH\TANDI\*dat2 a -s MASTER.DAT SOUND\SPEECH\VVREE\*dat2 a -s MASTER.DAT TEXT\ENGLISH\CUTS\*dat2 a -s MASTER.DAT TEXT\ENGLISH\DIALOG\*dat2 a -s MASTER.DAT TEXT\ENGLISH\GAME\*dat2 a -s MASTER.DAT TEXT\ENGLISH\CREDITS.TXTdat2 a -s MASTER.DAT TEXT\ENGLISH\QUOTES.TXTdat2 a -s MASTER.DAT COLOR.PALdat2 a -s MASTER.DAT FONT0.AAFdat2 a -s MASTER.DAT FONT0.FONdat2 a -s MASTER.DAT FONT1.AAFdat2 a -s MASTER.DAT FONT1.FONdat2 a -s MASTER.DAT FONT2.AAFdat2 a -s MASTER.DAT FONT2.FONdat2 a -s MASTER.DAT FONT3.AAFdat2 a -s MASTER.DAT FONT3.FONdat2 a -s MASTER.DAT FONT4.AAFdat2 a -s MASTER.DAT FONT5.FONТам фокус в том, что dat2 нужно запускать из корневой папки. Допустим, если master.dat распаковать в папку master, туда скопировать dat2 и бантик (если есть), тогда пакуется на ура. А DAT2Frame как то это обходит и позволяет создать файл из содержимого любой папки. Единственное ограничение, папка как и создаваемый файл должны находиться на диске C.P.S. Еще хотел уточнить по поводу команд k: термоусадка DAT-файл (т.e. удаляет неиспользованные данные от файлов в DAT) и -0..9: метод сжатия, обязательно ли их использовать и какая от них польза. И еще вопрос, запаковал патчи от TeamX для первого фолача в dat, но игра их не видит. А если без запаковки в dat, то все норм. Или фол1 не понимает patch000.dat? Ссылка на комментарий
Pyran Опубликовано 2 октября, 2019 Поделиться Опубликовано 2 октября, 2019 Понятно, я думал что можно создать список файлов и папок и скормить в dat2, оказывается фигли Кстати, попробовал распаковать/запаковать master.dat из русской версии и ты знаешь, получилось и размер ~ на 10mb меньше @echo offDAT2Frame как то это обходит и позволяет создать файл из содержимого любой папки. Единственное ограничение, папка как и создаваемый файл должны находиться на диске C.Фол1 не понимает patch000.dat?На сколько помню, dat2frame с любого диска ест папки...Не понимает движок патчи, все в data или паковать в master.dat 1 Fallout 2: Путеводитель по модам | FAQ | Перевод модов | Путеводитель по RP Nevada Band: Путеводитель по играм серии | FAQ Fallout Tactics: Путеводитель по модам | FAQ База Данных: YD\YD\MF Помогая другим, не забывай о себе =) Ссылка на комментарий
Mr.Sталин Опубликовано 4 октября, 2019 Автор Поделиться Опубликовано 4 октября, 2019 P.S. Еще хотел уточнить по поводу команд k: термоусадка DAT-файл (т.e. удаляет неиспользованные данные от файлов в DAT)Опция К - к примеру ты упаковал файл который уже существует в дат, то первый существующий файл не удаляется и от него остается неиспользованные данные.Так же при удалении файла нужно применить опцию чтобы уменьшить размер дат. 2 Ссылка на комментарий
Foxx Опубликовано 11 октября, 2019 Поделиться Опубликовано 11 октября, 2019 Mr.СталинГде можно почитать информацию о обозначениях script_action == для F1. Многие в скриптах нашел, но не все. Например (script_action == 15) это я так понял procedure map_enter_p_proc Ссылка на комментарий
Mr.Sталин Опубликовано 11 октября, 2019 Автор Поделиться Опубликовано 11 октября, 2019 Крафти писал что это уже неиспользуется в f1, устарело. Система такая же как в f2.Почитать о номерах там >> https://github.com/FakelsHub/ecco_ssl/blob/f5470e3ecf583f89128f93f6247e03a48bf4a893/_pbs_main/define_lite.h#L43 1 Ссылка на комментарий
Foxx Опубликовано 11 октября, 2019 Поделиться Опубликовано 11 октября, 2019 Mr.СталинСпасибо за ссылку.Я при правки скриптов и переделываю их в нормальные процедуры, а то иногда все в start засунуто. Реально нужно только script_action == 3 Ссылка на комментарий
Mr.Sталин Опубликовано 11 октября, 2019 Автор Поделиться Опубликовано 11 октября, 2019 Mr.СталинСпасибо за ссылку.Я при правки скриптов и переделываю их в нормальные процедуры, а то иногда все в start засунуто. Реально нужно только script_action == 3Даже 3 не надо там просто другое название. Потом напишу. Ссылка на комментарий
Foxx Опубликовано 11 октября, 2019 Поделиться Опубликовано 11 октября, 2019 Даже 3 не надо там просто другое название. Потом напишу.desc_p_proc Ссылка на комментарий
Foxx Опубликовано 13 октября, 2019 Поделиться Опубликовано 13 октября, 2019 Крафти писал что это уже неиспользуется в f1, устарело. Система такая же как в f2Нет, все таки есть косяки. К примеру убрал из start в скрипте карты пещеры убежища 13 if (script_action == 15) then begin call map_enter_p_proc(); endИ при начале игры игрок появляется не в том месте, хотя в процедуре map_enter_p_proc все условия есть. 1 Ссылка на комментарий
Foxx Опубликовано 13 октября, 2019 Поделиться Опубликовано 13 октября, 2019 Mr.СталинА процедура start обязательна в скрипте если она пустая? Ссылка на комментарий
Mr.Sталин Опубликовано 13 октября, 2019 Автор Поделиться Опубликовано 13 октября, 2019 Обязательна. 1 Ссылка на комментарий
Foxx Опубликовано 13 октября, 2019 Поделиться Опубликовано 13 октября, 2019 Поизучал вопрос, для карт нужно оставлять script_actionhttps://www.nma-fallout.com/threads/fallout-1-in-fallout-2.217892/page-2#post-4334877 Надо наверно эти сообщения из утилит в тему моддинга перенести, вдруг кому пригодится. P.S.После редактирования форума, я долго искал свою сборку F2 и тему по анимациям))) Ссылка на комментарий
WiperX Опубликовано 14 октября, 2019 Поделиться Опубликовано 14 октября, 2019 Воть бантики для распаковки/запаковки *dat файлов. Для утилиты dat2 от Anchorite @echo offtitle Fallout DAT UnPackercolor 0a:: unpack DAT files in folder name!dat2 x -d CRITTER CRITTER.DATdat2 x -d MASTER MASTER.DAT @echo offtitle Fallout DAT Packercolor 0apushd CRITTER:: pack files in CRITTER.DAT!..\dat2 a ..\CRITTER.DAT art\critters\*popdpushd MASTER:: pack files in MASTER.DAT!..\dat2 a ..\MASTER.DAT art\backgrnd\*..\dat2 a ..\MASTER.DAT art\cuts\*..\dat2 a ..\MASTER.DAT art\heads\*..\dat2 a ..\MASTER.DAT art\intrface\*..\dat2 a ..\MASTER.DAT art\inven\*..\dat2 a ..\MASTER.DAT art\items\*..\dat2 a ..\MASTER.DAT art\misc\*..\dat2 a ..\MASTER.DAT art\scenery\*..\dat2 a ..\MASTER.DAT art\skilldex\*..\dat2 a ..\MASTER.DAT art\splash\*..\dat2 a ..\MASTER.DAT art\tiles\*..\dat2 a ..\MASTER.DAT art\walls\*..\dat2 a ..\MASTER.DAT data\*..\dat2 a ..\MASTER.DAT maps\*..\dat2 a ..\MASTER.DAT premade\*..\dat2 a ..\MASTER.DAT proto\CRITTERS\*..\dat2 a ..\MASTER.DAT proto\ITEMS\*..\dat2 a ..\MASTER.DAT proto\MISC\*..\dat2 a ..\MASTER.DAT proto\SCENERY\*..\dat2 a ..\MASTER.DAT proto\TILES\PATTERNS\*..\dat2 a ..\MASTER.DAT proto\TILES\*..\dat2 a ..\MASTER.DAT proto\WALLS\*..\dat2 a ..\MASTER.DAT scripts\*..\dat2 a ..\MASTER.DAT sound\SFX\*..\dat2 a ..\MASTER.DAT sound\Speech\BOSSS\*..\dat2 a ..\MASTER.DAT sound\Speech\ELDER\*..\dat2 a ..\MASTER.DAT sound\Speech\HAKU2\*..\dat2 a ..\MASTER.DAT sound\Speech\HAKUN\*..\dat2 a ..\MASTER.DAT sound\Speech\HRLD2\*..\dat2 a ..\MASTER.DAT sound\Speech\LYNET\*..\dat2 a ..\MASTER.DAT sound\Speech\MRCUS\*..\dat2 a ..\MASTER.DAT sound\Speech\MYRON\*..\dat2 a ..\MASTER.DAT sound\Speech\narrator\*..\dat2 a ..\MASTER.DAT sound\Speech\POWER\*..\dat2 a ..\MASTER.DAT sound\Speech\PRESI\*..\dat2 a ..\MASTER.DAT sound\Speech\SULIK\*..\dat2 a ..\MASTER.DAT sound\Speech\TNDI2\*..\dat2 a ..\MASTER.DAT text\english\cuts\*..\dat2 a ..\MASTER.DAT text\english\dialog\*..\dat2 a ..\MASTER.DAT text\english\game\*..\dat2 a ..\MASTER.DAT text\english\CREDITS.TXT..\dat2 a ..\MASTER.DAT text\english\QUOTES.TXT..\dat2 a ..\MASTER.DAT color.pal..\dat2 a ..\MASTER.DAT font0.aaf..\dat2 a ..\MASTER.DAT FONT0.FON..\dat2 a ..\MASTER.DAT FONT1.AAF..\dat2 a ..\MASTER.DAT FONT1.FON..\dat2 a ..\MASTER.DAT FONT2.AAF..\dat2 a ..\MASTER.DAT FONT2.FON..\dat2 a ..\MASTER.DAT FONT3.AAF..\dat2 a ..\MASTER.DAT FONT3.FON..\dat2 a ..\MASTER.DAT FONT4.AAF..\dat2 a ..\MASTER.DAT FONT5.FON P.S. Для F1 нужно подправить бантик! Ссылка на комментарий
Foxx Опубликовано 14 октября, 2019 Поделиться Опубликовано 14 октября, 2019 (изменено) Вот данные. Остальное фигня. /******************************************************************************* Name: Арадеш Location: Шэйди Сэндс Description: Глава Шэйди Сэндс Updated: Foxx*******************************************************************************/procedure start;procedure look_at_p_proc;procedure critter_p_proc;procedure damage_p_proc;procedure destroy_p_proc;procedure pickup_p_proc;procedure talk_p_proc;procedure aradeshend;procedure aradesh01;procedure aradesh01_2;procedure aradesh01_3;procedure aradesh02;procedure aradesh02_2;procedure aradesh02_4;procedure aradesh02_5;procedure aradesh03;procedure aradesh04;procedure aradesh05;procedure aradesh06;procedure aradesh07;procedure aradesh08;procedure aradesh08a;procedure aradesh08b;procedure aradesh09;procedure aradesh09a;procedure aradesh10;procedure aradesh11;procedure aradesh11a;procedure aradesh11b;procedure aradesh12;procedure aradesh13;procedure aradesh14;procedure aradesh15;procedure aradesh16_2;procedure aradesh17;procedure aradesh17_2;procedure aradesh17_3;procedure aradesh18;procedure aradesh19;procedure aradesh20;procedure aradesh21;procedure aradesh22;procedure aradesh23;procedure aradesh23_2;procedure aradesh24;procedure aradesh24a;procedure aradesh24b;procedure aradesh24c;procedure aradesh25;procedure aradesh26;procedure aradesh27;procedure aradesh28;procedure aradesh28a;procedure aradesh28b;procedure aradesh28c;procedure aradesh29;procedure aradesh30;procedure aradesh30a;procedure aradesh30b;procedure aradesh31;procedure aradesh32;procedure aradesh33;procedure aradesh35;procedure aradesh36;procedure aradesh37;procedure aradesh37a;procedure aradesh38;procedure aradesh39;procedure aradesh39a;procedure aradesh39b;procedure aradesh39c;procedure aradesh40;procedure aradesh40a;procedure aradesh41;procedure aradesh42;procedure aradesh43;procedure aradesh44;procedure aradesh45;procedure aradesh46;procedure aradesh48;procedure aradeshx;procedure aradeshx1;procedure aradeshx2;procedure aradeshx3;procedure aradeshx5;procedure get_reaction;procedure ReactToLevel;procedure UpReact;procedure DownReact;procedure TopReact;procedure BigDownReact; variable hostile;variable initialized;variable pickup_attempt; procedure start begin if (initialized == 0) then begin initialized := 1; critter_add_trait(self_obj, 1, 6, 2); critter_add_trait(self_obj, 1, 5, 25); endend procedure look_at_p_proc begin script_overrides; display_msg(message_str(33, 100));end procedure critter_p_proc begin if (obj_can_see_obj(self_obj, dude_obj)) then begin if (global_var(246) == 1) then begin hostile := 1; end end if (hostile) then begin hostile := 0; attack_complex(dude_obj, 0, 1, 0, 0, 30000, 0, 0); endend procedure damage_p_proc begin if (source_obj == dude_obj) then begin set_global_var(246, 1); hostile := 1; endend procedure destroy_p_proc begin set_global_var(604, 1); if (source_obj == dude_obj) then begin if (((global_var(160) + global_var(159)) >= 25) and ((global_var(159) > (2 * global_var(160))) or (global_var(156) == 1))) then begin set_global_var(156, 1); set_global_var(157, 0); end if (((global_var(160) + global_var(159)) >= 25) and ((global_var(160) > (3 * global_var(159))) or (global_var(157) == 1))) then begin set_global_var(157, 1); set_global_var(156, 0); end set_global_var(159, global_var(159) + 1); if ((global_var(159) % 2) == 0) then begin set_global_var(155, global_var(155) - 1); end endend procedure pickup_p_proc begin pickup_attempt := 1; dialogue_system_enter;end procedure talk_p_proc begin variable LVar0 := 0; call get_reaction(); if (pickup_attempt) then begin pickup_attempt := 0; LVar0 := random(1, 2); if (LVar0 == 1) then begin call aradesh45(); end else begin call aradesh46(); end end else begin if (global_var(246) == 1) then begin float_msg(self_obj, message_str(33, 277), 2); hostile := 1; end else begin if ((local_var(9) > 2) or hostile) then begin display_msg(message_str(766, 170)); end else begin start_gdialog(33, self_obj, 4, 13, 9); gsay_start; if (global_var(26) == 1) then begin set_local_var(4, 1); if (global_var(103) == 0) then begin call aradesh39(); end else begin call aradesh37(); end end else begin if ((game_time_hour >= 2100) or (game_time_hour < 600)) then begin call aradesh48(); end else begin if (local_var(4) == 1) then begin if (local_var(5) == 1) then begin call aradesh46(); end else begin if ((global_var(26) == 2) and (local_var(8) == 0)) then begin call aradesh43(); end else begin if ((global_var(43) == 2) and (local_var(10) == 0)) then begin set_local_var(10, 1); call aradesh31(); end else begin if (global_var(26) == 1) then begin if (global_var(103) == 0) then begin call aradesh39(); end else begin call aradesh37(); end end else begin if ((global_var(26) == 2) and (global_var(43) != 2)) then begin call aradesh30a(); end else begin if (global_var(26) == 2) then begin call aradesh35(); end else begin if (local_var(1) < 3) then begin call aradesh18(); end else begin call aradesh17(); end end end end end end end end else begin set_local_var(4, 1); call aradesh01(); end end end gsay_end; end_dialogue; end end end if (local_var(7) == 1) then begin animate_move_obj_to_tile(self_obj, 32945, 0); endend procedure aradeshend beginend procedure aradesh01 begin if (local_var(1) >= 2) then begin if (local_var(1) >= 3) then begin gsay_reply(33, 101); end else begin gsay_reply(33, 102); end end else begin gsay_reply(33, 103); end giq_option(5, 33, 104, aradesh02, 50); giq_option(4, 33, 105, aradesh01_2, 51); giq_option(4, 33, 106, aradesh10, 51); giq_option(4, 33, 107, aradesh01_3, 50); giq_option(4, 33, 108, aradesh14, 51); giq_option(5, 33, 109, aradesh07, 51); giq_option(-3, 33, 110, aradesh15, 50);end procedure aradesh01_2 begin set_local_var(9, local_var(9) + 1); call DownReact(); if (local_var(1) >= 2) then begin call aradesh05(); end else begin call aradesh06(); endend procedure aradesh01_3 begin if (local_var(1) >= 2) then begin call aradesh13(); end else begin call aradesh11(); endend procedure aradesh02 begin gsay_reply(33, 111); giq_option(4, 33, 112, aradesh02_2, 50); giq_option(4, 33, 113, aradesh01_2, 51); giq_option(5, 33, 114, aradesh02_4, 51); giq_option(5, 33, 115, aradesh02_5, 50);end procedure aradesh02_2 begin if (local_var(1) >= 2) then begin call aradesh03(); end else begin call aradesh08(); endend procedure aradesh02_4 begin if (local_var(1) >= 2) then begin call aradesh09(); end else begin call aradesh06(); endend procedure aradesh02_5 begin if (local_var(1) >= 2) then begin call aradesh04(); end else begin call aradesh09(); endend procedure aradesh03 begin gsay_reply(33, 116); giq_option(4, 33, 117, aradesh04, 50); giq_option(4, 33, 118, aradesh01_2, 51); giq_option(5, 33, 119, aradesh07, 51); giq_option(4, 33, 120, aradesh07, 51);end procedure aradesh04 begin gsay_message(33, 121, 50); call aradeshend();end procedure aradesh05 begin gsay_reply(33, 122); giq_option(5, 33, 123, aradesh06, 51); giq_option(4, 33, 124, aradesh04, 50); giq_option(4, 33, 125, aradesh07, 51);end procedure aradesh06 begin set_local_var(9, local_var(9) + 1); gsay_message(33, 126, 51); call aradeshx1();end procedure aradesh07 begin set_local_var(9, local_var(9) + 1); gsay_message(33, 127, 51); call aradeshx2();end procedure aradesh08 begin gsay_reply(33, 128); giq_option(4, 33, 129, aradesh08a, 49); giq_option(5, 33, 130, aradesh08b, 51);end procedure aradesh08a begin if (local_var(9) > 0) then begin set_local_var(9, local_var(9) - 1); end call UpReact(); call aradesh04();end procedure aradesh08b begin set_local_var(9, local_var(9) + 1); call DownReact(); call aradesh06();end procedure aradesh09 begin gsay_reply(33, 131); giq_option(0, 33, 132, aradesh09a, 50);end procedure aradesh09a begin gsay_message(33, 133, 50); call aradeshx();end procedure aradesh10 begin gsay_message(33, 134, 50); call aradeshx();end procedure aradesh11 begin gsay_reply(33, 135); giq_option(4, 33, 136, aradesh12, 50); giq_option(5, 33, 137, aradesh11a, 50); giq_option(4, 33, 138, aradesh11b, 51);end procedure aradesh11a begin if (is_success(roll_vs_skill(dude_obj, 14, 0))) then begin call aradesh02(); end else begin call aradesh14(); endend procedure aradesh11b begin set_local_var(9, local_var(9) + 1); call DownReact(); call aradesh14();end procedure aradesh12 begin gsay_reply(33, 139); giq_option(5, 33, 140, aradesh02, 50); giq_option(4, 33, 141, aradesh13, 50); giq_option(4, 33, 142, aradesh05, 50);end procedure aradesh13 begin gsay_reply(33, 143); giq_option(4, 33, 160, aradesh19, 50); giq_option(4, 33, 151, aradesh24c, 50); giq_option(-3, 33, 156, aradesh36, 50);end procedure aradesh14 begin gsay_reply(33, 144); giq_option(4, 33, 146, aradesh04, 50); giq_option(5, 33, 145, aradesh06, 51); giq_option(4, 33, 147, aradesh07, 51);end procedure aradesh15 begin gsay_message(33, 148, 50); call aradeshx();end procedure aradesh16_2 begin if (global_var(43) == 0) then begin call aradesh28(); end else begin if (global_var(43) == 1) then begin call aradesh30a(); end else begin if ((global_var(43) == 2) and not(global_var(26) == 2)) then begin call aradesh31(); end else begin if (global_var(26) == 2) then begin call aradesh35(); end else begin call aradesh26(); end end end endend procedure aradesh17 begin gsay_reply(33, 152); giq_option(4, 33, 153, aradesh19, 50); giq_option(4, 33, 154, aradesh17_2, 50); giq_option(5, 33, 155, aradesh17_3, 51); giq_option(-3, 33, 156, aradesh36, 50);end procedure aradesh17_2 begin if (global_var(26) == 2) then begin call aradesh44(); end else begin call aradesh20(); endend procedure aradesh17_3 begin set_local_var(9, local_var(9) + 1); call DownReact(); if (global_var(26) == 2) then begin call aradesh27(); end else begin if (local_var(1) >= 2) then begin if (local_var(1) >= 3) then begin call aradesh27(); end else begin call aradesh21(); end end else begin call aradesh22(); end endend procedure aradesh18 begin if (local_var(1) >= 2) then begin gsay_reply(33, 157); end else begin gsay_reply(33, 158); end giq_option(5, 33, 159, aradesh23, 50); giq_option(4, 33, 160, aradesh19, 50); giq_option(4, 33, 161, aradesh17_2, 50); giq_option(-3, 33, 162, aradesh36, 50);end procedure aradesh19 begin if (local_var(1) >= 2) then begin gsay_reply(33, 163); end else begin gsay_reply(33, 164); end giq_option(5, 33, 165, aradesh25, 50); giq_option(4, 33, 166, aradesh16_2, 50); giq_option(4, 33, 167, aradesh24c, 50);end procedure aradesh20 begin if (local_var(1) >= 3) then begin gsay_message(33, 168, 50); end else begin if (local_var(1) >= 2) then begin gsay_message(33, 169, 50); end else begin gsay_message(33, 170, 50); end end call aradeshx();end procedure aradesh21 begin gsay_message(33, 171, 50); call aradeshx();end procedure aradesh22 begin gsay_message(33, 172, 50); call aradeshx1();end procedure aradesh23 begin if (local_var(1) >= 2) then begin gsay_reply(33, 173); end else begin gsay_reply(33, 174); end giq_option(4, 33, 175, aradesh23_2, 50); giq_option(5, 33, 176, aradesh25, 50); giq_option(4, 33, 177, aradesh17_2, 50);end procedure aradesh23_2 begin if (local_var(1) >= 2) then begin call aradesh24(); end else begin call aradesh24b(); endend procedure aradesh24 begin gsay_reply(33, 178); giq_option(0, 33, 179, aradesh24a, 50);end procedure aradesh24a begin gsay_reply(33, 180); giq_option(4, 33, 181, aradesh19, 50); giq_option(4, 33, 182, aradesh24c, 50);end procedure aradesh24b begin gsay_reply(33, 183); giq_option(4, 33, 184, aradesh19, 50);end procedure aradesh24c begin if (global_var(26) == 2) then begin call aradesh44(); end else begin call aradeshx(); endend procedure aradesh25 begin if (local_var(0) < 2) then begin gsay_reply(33, 185); end else begin gsay_reply(33, 186); end giq_option(4, 33, 187, aradesh19, 50);end procedure aradesh26 begin gsay_reply(33, 188); giq_option(7, 33, 189, aradesh27, 50); giq_option(6, 33, 190, aradesh19, 50); giq_option(6, 33, 191, aradesh24c, 50);end procedure aradesh27 begin gsay_reply(33, 192); giq_option(8, 33, 193, aradesh25, 50); giq_option(5, 33, 194, aradesh16_2, 50); giq_option(5, 33, 195, aradesh24c, 50);end procedure aradesh28 begin gsay_reply(33, 196); giq_option(4, 33, 197, aradesh28a, 50);end procedure aradesh28a begin gsay_reply(33, 198); giq_option(4, 33, 199, aradesh29, 49); giq_option(4, 33, 200, aradesh28b, 51); giq_option(4, 33, 201, aradesh28c, 51);end procedure aradesh28b begin set_local_var(9, local_var(9) + 1); call DownReact(); call aradesh30();end procedure aradesh28c begin set_local_var(9, local_var(9) + 1); call DownReact(); call aradesh19();end procedure aradesh29 begin gsay_message(33, 202, 50); set_global_var(43, 1); call aradeshx();end procedure aradesh30 begin gsay_reply(33, 203); giq_option(5, 33, 204, aradesh30b, 49); giq_option(4, 33, 205, aradesh19, 50);end procedure aradesh30a begin gsay_message(33, 206, 50); call aradeshx();end procedure aradesh30b begin if (local_var(9) > 0) then begin set_local_var(9, local_var(9) - 1); end call UpReact(); call aradesh29();end procedure aradesh31 begin gsay_reply(33, 207); giq_option(4, 33, 208, aradesh19, 50); if (global_var(28) == 2) then begin giq_option(4, 33, 209, aradesh32, 50); endend procedure aradesh32 begin gsay_reply(33, 210); giq_option(4, 33, 211, aradesh19, 50); giq_option(4, 33, 212, aradesh17_2, 50);end procedure aradesh33 begin gsay_message(33, 213, 50); set_global_var(103, 1); call aradeshx();end procedure aradesh35 begin gsay_reply(33, 214); giq_option(5, 33, 215, aradesh25, 50); giq_option(4, 33, 216, aradesh16_2, 50); giq_option(4, 33, 217, aradesh24c, 50);end procedure aradesh36 begin gsay_message(33, 218, 50); call aradeshx();end procedure aradesh37 begin gsay_reply(33, 219); if (global_var(26) == 3) then begin giq_option(5, 33, 220, aradesh38, 50); giq_option(4, 33, 221, aradesh37a, 50); giq_option(-3, 33, 222, aradesh37a, 50); end else begin giq_option(4, 33, 223, aradesh38, 50); giq_option(5, 33, 224, aradesh19, 50); giq_option(-3, 33, 225, aradesh38, 50); endend procedure aradesh37a begin gsay_message(33, 226, 50); call aradeshx5();end procedure aradesh38 begin gsay_message(33, 227, 50); call aradeshx();end procedure aradesh39 begin set_global_var(218, 1); gsay_reply(33, 228); giq_option(4, 33, 229, aradesh39a, 50); giq_option(-3, 33, 230, aradesh33, 50);end procedure aradesh39a begin gsay_reply(33, 231); giq_option(4, 33, 232, aradesh39b, 50); giq_option(4, 33, 233, aradesh41, 50); giq_option(4, 33, 234, aradesh39c, 50);end procedure aradesh39b begin if (local_var(9) > 0) then begin set_local_var(9, local_var(9) - 1); end call UpReact(); set_global_var(103, 1); call aradesh40();end procedure aradesh39c begin set_local_var(9, local_var(9) + 1); call DownReact(); call aradesh42();end procedure aradesh40 begin variable LVar0 := 0; gsay_reply(33, 235); set_global_var(103, 1); LVar0 := create_object_sid(7, 0, 0, -1); add_obj_to_inven(dude_obj, LVar0); giq_option(4, 33, 236, aradesh40a, 50);end procedure aradesh40a begin gsay_message(33, 237, 50); call aradeshx();end procedure aradesh41 begin gsay_reply(33, 238); giq_option(4, 33, 239, aradesh40, 50); giq_option(4, 33, 240, aradesh42, 50);end procedure aradesh42 begin gsay_message(33, 241, 50); call aradeshx3();end procedure aradesh43 begin variable LVar0 := 0; if (local_var(8) == 0) then begin set_local_var(8, 1); LVar0 := create_object_sid(41, 0, 0, -1); add_mult_objs_to_inven(dude_obj, LVar0, 500); end if (local_var(9) != 0) then begin set_local_var(9, 0); end call TopReact(); set_global_var(103, 2); gsay_reply(33, 242); giq_option(4, 33, 243, aradesh19, 50); giq_option(4, 33, 244, aradesh44, 50);end procedure aradesh44 begin gsay_message(33, 245, 50); call aradeshx();end procedure aradesh45 begin set_local_var(9, local_var(9) + 2); call BigDownReact(); float_msg(self_obj, message_str(33, 246), 7); call aradeshx();end procedure aradesh46 begin set_local_var(9, local_var(9) + 2); call BigDownReact(); float_msg(self_obj, message_str(33, 247), 7); call aradeshx();end procedure aradesh48 begin gsay_message(33, 249, 50);end procedure aradeshx beginend procedure aradeshx1 begin world_map;end procedure aradeshx2 begin world_map;end procedure aradeshx3 beginend procedure aradeshx5 begin set_local_var(7, 1);end procedure get_reaction begin if (local_var(2) == 0) then begin set_local_var(0, 50); set_local_var(1, 2); set_local_var(2, 1); set_local_var(0, local_var(0) + (5 * get_critter_stat(dude_obj, 3)) - 25); set_local_var(0, local_var(0) + (10 * has_trait(0, dude_obj, 10))); if (has_trait(0, dude_obj, 39)) then begin if (global_var(155) > 0) then begin set_local_var(0, local_var(0) + global_var(155)); end else begin set_local_var(0, local_var(0) - global_var(155)); end end else begin if (local_var(3) == 1) then begin set_local_var(0, local_var(0) - global_var(155)); end else begin set_local_var(0, local_var(0) + global_var(155)); end end if (global_var(158) > 2) then begin set_local_var(0, local_var(0) - 30); end if (((global_var(160) + global_var(159)) >= 25) and ((global_var(160) > (3 * global_var(159))) or (global_var(157) == 1))) then begin set_local_var(0, local_var(0) + 20); end if (((global_var(160) + global_var(159)) >= 25) and ((global_var(159) > (2 * global_var(160))) or (global_var(156) == 1))) then begin set_local_var(0, local_var(0) - 20); end call ReactToLevel(); endend procedure ReactToLevel begin if (local_var(0) <= 25) then begin set_local_var(1, 1); end else begin if (local_var(0) <= 75) then begin set_local_var(1, 2); end else begin set_local_var(1, 3); end endend procedure UpReact begin set_local_var(0, local_var(0) + 10); call ReactToLevel();end procedure DownReact begin set_local_var(0, local_var(0) - 10); call ReactToLevel();end procedure TopReact begin set_local_var(0, 100); set_local_var(1, 3);end procedure BigDownReact begin set_local_var(0, local_var(0) - 25); call ReactToLevel();end Изменено 14 октября, 2019 пользователем Legend спойлер Ссылка на комментарий
Mr.Sталин Опубликовано 15 октября, 2019 Автор Поделиться Опубликовано 15 октября, 2019 Воть бантики для распаковки/запаковки *dat файлов. Для утилиты dat2 от Anchorite Удалил нафиг FrameDat теперь буду юзать батники Вот данные. Остальное фигня. /******************************************************************************* Name: Арадеш Location: Шэйди Сэндс Description: Глава Шэйди Сэндс Updated: Foxx*******************************************************************************/Изучаешь эти данные? Ссылка на комментарий
Mr.Sталин Опубликовано 18 октября, 2019 Автор Поделиться Опубликовано 18 октября, 2019 Обновлена версия скрипт редактора: 4.1.5 Улучшения:Добавлены описания к новым sfall функциям и их подсветка в синтаксисе.Улучшена функция вызова списка AutoComplete, теперь выводится список c ключевыми словами относительно позиции курсора.Переработана система подсветки процедур в тексте скрипта.Добавлена подсветка текущей процедуры в правой панели процедур.Добавлено переименование процедур по ссылкам на них. Доработана логика выбора пути при извлечении скрипта из .dat архива.Немного увеличен размер окна и размер шрифта для Headers файлов и увеличен размер окна для регистрации скриптов.Добавлено сохранение свернутых процедур скрипта в отдельный конфигурационный файл.Для встроенного препроцессора sfall компилятора добавлен аргумент позволяющий сделать условную компиляцию скрипта.Добавлена опция для включения режима обратной совместимости скриптов для компилятора и парсера.Доработан режим компиляции через пользовательский cmd файл.Добавлен инструмент для настройки пользовательских диалоговых макросов (beta стадия).Увеличен размер шрифта всплывающего диалогового текста для блок-схем.Улучшение в построении диалоговой блок-схемы, и исправление ошибок.Исправления:Фигурные скобки были удалены из опции по парного ввода символов.Исправление отображение кодировки текста при использовании путей к файлам с кириллицей.Исправлено обновление списка процедур для правой панели.Исправлено положение вставки декларации процедуры, когда ранее не было объявлено не одной процедуры в скрипте. Исправлено выделение специального региона с текстом для аргументов функций при двойном клике по нему.Исправлен порядок поиска Include файлов, теперь корневая папка приложения имеет самый низкий приоритет при поиске.Исправлена функция меню RoundTrip, теперь не перезаписывает .int файл в исходной папке. 2 Ссылка на комментарий
WiperX Опубликовано 18 октября, 2019 Поделиться Опубликовано 18 октября, 2019 Mr.StalinПриветствую! Ссылка на редактор старая, обнови плз. Спасибо. 1 Ссылка на комментарий
Mr.Sталин Опубликовано 18 октября, 2019 Автор Поделиться Опубликовано 18 октября, 2019 Поправил ссылки. Ссылка на комментарий
Foxx Опубликовано 18 октября, 2019 Поделиться Опубликовано 18 октября, 2019 Изучаешь эти данные?Да. Не могу понять, зачем в скриптах озвученные диалоги, которые движком обрабатываются в функции "СПРОСИТЬ", ты то точно не ответишь))) Ссылка на комментарий
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти