С первой то понято, исходников то нет.

#21
Отправлено 25 Январь 2022 - 21:38
sFall 5.0 - Официальная и расширенная версия для Fallout 2.
Fallout Proto Manager v1.4.0 - Создание и редактирования прототипов файлов.
sFall Script Editor v4.1.7.RC1 - Написание скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный редактор карт c дополнительными возможностями.
#22
Отправлено 25 Январь 2022 - 22:22
С первой то понято, исходников то нет.
Я на неё тогда переключился и исходники (с HEADERS) сейчас плохо понимаю, мне проще декомпилировать скрипт и проверить, плюс твой sFallScriptEditor идеально диалоги подхватывает. Или он с исходниками тоже работает? Я не мог такого достичь.
#23
Отправлено 25 Январь 2022 - 23:26
Или он с исходниками тоже работает? Я не мог такого достичь.
и так и так работает. Но редактору с не декомпилированными скриптами сложнее разбор кода делать.
вообще я диалоги вот так смотрю https://yadi.sk/i/mlnBa2EC2sZTWA (очень большая картинка)
sFall 5.0 - Официальная и расширенная версия для Fallout 2.
Fallout Proto Manager v1.4.0 - Создание и редактирования прототипов файлов.
sFall Script Editor v4.1.7.RC1 - Написание скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный редактор карт c дополнительными возможностями.
#25
Отправлено 26 Январь 2022 - 02:04
//NOOP// Ты мне раньше писал, что старым компилятором можно сделать, не работает.
совсем старым под дос. если в скрипте нет sfall функций.
или руками это все можно выправить.
sFall 5.0 - Официальная и расширенная версия для Fallout 2.
Fallout Proto Manager v1.4.0 - Создание и редактирования прототипов файлов.
sFall Script Editor v4.1.7.RC1 - Написание скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный редактор карт c дополнительными возможностями.
- Foxx это нравится
#26
Отправлено 26 Январь 2022 - 02:34
совсем старым под дос. если в скрипте нет sfall функций.
или руками это все можно выправить.
Я пробовал проблемный скрипт (depolva.int) декомпилировать из новых версий RPU от Бёрна, а обратно он не компилируется. Возможно ошибка при декомпиляции происходит?
А, как ручками поправить?)))
#27
Отправлено 26 Январь 2022 - 02:41
Я пробовал проблемный скрипт (depolva.int) декомпилировать из новых версий RPU от Бёрна, а обратно он не компилируется. Возможно ошибка при декомпиляции происходит?
А, как ручками поправить?)))
ну удалить и вместо этого правильно написать)))
дай проблемные скрипты не декомпилированные я исправлю.
sFall 5.0 - Официальная и расширенная версия для Fallout 2.
Fallout Proto Manager v1.4.0 - Создание и редактирования прототипов файлов.
sFall Script Editor v4.1.7.RC1 - Написание скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный редактор карт c дополнительными возможностями.
#28
Отправлено 26 Январь 2022 - 03:38
дай проблемные скрипты не декомпилированные я исправлю.
На вскидку не вспомню, посмотри вот эти два: Ссыль
В hs_ondeath.int ругается на cell
#29
Отправлено 26 Январь 2022 - 13:01
В hs_ondeath.int он рассматривает имя процедуры "ceil" как математическую функцию sfall, простое переименование в "ceil1" конечно позволяет скомпилится скрипту, но может потом приведет к каким проблемам. А вообще сама процедура ceil в этом скрипте это и есть получение округленного вверх числа через функцию floor и по большому счету нафиг не нужна, как мне кажется. а скрипт сильно старый? может он был написан когда в sfall ещё небыло округления в верх?
В скрипте depolva какаято херня с "for (/* O_NOOP */; bot_rebuild_count < 17; bot_rebuild_count := bot_rebuild_count + 1)" , заменить это дело на:
while (bot_rebuild_count < 17) do begin
спавн ботов
и в самом конце:
bot_rebuild_count := bot_rebuild_count + 1;
по идеи должно работать)
Вот ссылка на твои теперь компилирующиеся декомпилированные скриты)
- Foxx это нравится
#31
Отправлено 26 Январь 2022 - 13:25
У меня тут затык с set_fake_perk_npc.
Как-то можно их добавить НПЦ которые не сопартийцы? без такого:
Может там планируют в след обновлении сфалла "set_fake_perk_npc" для всех криттеров сделать?)
Просто вариант с настоящими перками critter_add_trait(target, 0, Х, 1); добавляет перк не только целям но и игроку причем в количестве равном (кол-во целей + 1)
ну, если нет, то нет(
#32
Отправлено 27 Январь 2022 - 03:27
while (bot_rebuild_count < 17) do begin спавн ботов и в самом конце: bot_rebuild_count := bot_rebuild_count + 1;
или как и было
for (bot_rebuild_count = 0; bot_rebuild_count < 17; bot_rebuild_count++) then begin ...
добавлено через 34 сек.
Может там планируют в след обновлении сфалла "set_fake_perk_npc" для всех криттеров сделать?)
нет не планируется, потому что нельзя это делать.
добалять фак для обычного NPC (как ты делашь через черный обходной путь), вроде проблемы потом могут возникнуть.
Надо глянуть, какие последствия будут
добавлено через 43 сек.
Просто вариант с настоящими перками critter_add_trait(target, 0, Х, 1); добавляет перк не только целям но и игроку причем в количестве равном (кол-во целей + 1)
это всегда добавляет перк к игроку если цель-NPC не является партийцем. и то у партийцев перки неработают.
sFall 5.0 - Официальная и расширенная версия для Fallout 2.
Fallout Proto Manager v1.4.0 - Создание и редактирования прототипов файлов.
sFall Script Editor v4.1.7.RC1 - Написание скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный редактор карт c дополнительными возможностями.
#33
Отправлено 02 Февраль 2022 - 16:18
Хотел при помощи tile_in_tile_rect разбить зоны вокруг целей на подходящие для прицеливания по определенным конечностям, но в итоге сделал через rotation_to_tile
1.Почему при сторонах прямоугольника 11 и больше(а иногда даже и меньше) "tile_in_tile_rect(ul,ur,ll,lr,x)" проводит проверку не по всей площади прямоугольника, а лишь на диагоналях выходящих из углов и на самих углах? ( если сторона меньше 9 то проверка проходит по всей площади прямоугольника, а не только на пересечениях линий выходящих из углов) или это так и работает?)
примерные участки проверки отмечены полосками
2. Можно как-то получить номер тайла над или под целью не делая такую громоздкую конструкцию?
"tile_num_in_direction(tile_num_in_direction(tile_num(target), 5, 1), 0 , 1 )"
(тут он под номером 4)
[pluspost=48 сек.]
нет не планируется, потому что нельзя это делать.
добалять фак для обычного NPC (как ты делашь через черный обходной путь), вроде проблемы потом могут возникнуть.
Надо глянуть, какие последствия будут
Пока что проблемы были только с тем что иногда! убегающие криттеры теряли враждебность, да и к тому же проверка на наличие фак перков идет только у тех кто в пати. ( но вылетов не наблюдалось)
Так что нафиг эту идею)
#34
Отправлено 02 Февраль 2022 - 22:55
1.Почему при сторонах прямоугольника 11 и больше(а иногда даже и меньше) "tile_in_tile_rect(ul,ur,ll,lr,x)"
не разу не пробывал данную, функцию (или пробовал но лет наверное 10-15 назад)
там вроде как написано начало с нижнего левого угла и почасовой стрелке.
2. Можно как-то получить номер тайла над или под целью не делая такую громоздкую конструкцию?
неа.
была/есть в планах добавить функцию для получения гекса по X/Y координатам, но пока не хватает времении ее родить.
sFall 5.0 - Официальная и расширенная версия для Fallout 2.
Fallout Proto Manager v1.4.0 - Создание и редактирования прототипов файлов.
sFall Script Editor v4.1.7.RC1 - Написание скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный редактор карт c дополнительными возможностями.
- DeKRuS это нравится
#35
Отправлено 03 Февраль 2022 - 01:07
возможно получить математически:
получаем X и Y
цель_гекс / 200 = Y цель_гекс % 200 = X
теперь чтобы получить требуемый гекс делаем так
Y -/+24 или X -/+32 (взависимости от направления)
потом так: Y*200 + X = гекс
sFall 5.0 - Официальная и расширенная версия для Fallout 2.
Fallout Proto Manager v1.4.0 - Создание и редактирования прототипов файлов.
sFall Script Editor v4.1.7.RC1 - Написание скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный редактор карт c дополнительными возможностями.
- DeKRuS это нравится
#36
Отправлено 03 Февраль 2022 - 02:20
"tile_in_tile_rect(ul,ur,ll,lr,x)" проводит проверку не по всей площади прямоугольника, а лишь на диагоналях выходящих из углов и на самих углах? ( если сторона меньше 9 то проверка проходит по всей площади прямоугольника, а не только на пересечениях линий выходящих из углов) или это так и работает?)
поковырялся в двиге более тщательно, вобщем порядок у функции такой:
tile_in_tile_rect(верхний_левый, верхний_правый, нижний_левый, нижний_правый, , x )
отмеченные курсивом углы вообще не проверяются движком (смыла нет их проверять).
так что функция нормально работает и проверяет, только по наркомански углы задаются.
И я из твоего описания/картинки ничего непонял, что у тебя там по диагонали проверяет.
sFall 5.0 - Официальная и расширенная версия для Fallout 2.
Fallout Proto Manager v1.4.0 - Создание и редактирования прототипов файлов.
sFall Script Editor v4.1.7.RC1 - Написание скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный редактор карт c дополнительными возможностями.
- DeKRuS это нравится
#37
Отправлено 03 Февраль 2022 - 05:27
update
sFall 5.0 - Официальная и расширенная версия для Fallout 2.
Fallout Proto Manager v1.4.0 - Создание и редактирования прототипов файлов.
sFall Script Editor v4.1.7.RC1 - Написание скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный редактор карт c дополнительными возможностями.
- Pyran и DeKRuS это нравится
#38
Отправлено 03 Февраль 2022 - 15:31
поковырялся в двиге более тщательно, вобщем порядок у функции такой:
tile_in_tile_rect( верхний правый, верхний левый, нижний правый, нижний левый, x )
отмеченные курсивом углы вообще не проверяются движком (смыла нет их проверять).
так что функция нормально работает и проверяет, только по наркомански углы задаются.
И я из твоего описания/картинки ничего непонял, что у тебя там по диагонали проверяет.
Я сам не понял что за фигня у меня выходила, а после твоего ответа решил что надо получше разобраться.
Набросал на ночном дежурстве идею скрипта на листочке, что бы работа функции стала для меня нагляднее.
Суть скрипта и он сам под спойлером:
Выяснилось что движок проверяет верхний правый и нижний левый углы, но только расстояние между ними (ну, еще расстояние между ними и центром линии соединяющий 2 другие вершины), на их расположение реально всё равно(!) и это расстояние потом используется для расчёта ширины прямоугольника. И да, сам прямоугольник рисуется между A и В tile_in_tile_rect( А, верхний левый, нижний правый, В, x ) и В должен располагаться правее (на экране) чем А.
1. максимальная ширина(макс. расстояние между верх-прав и ниж-лев углами(бутылки).
2.минимальная ширина(с обеих сторон).
3. минимальная ширина снизу, максимальная ширина сверху.
Извиняюсь за такой пиксель хантинг, ибо там разница ширины величиной в один ряд сверху и/или снизу.
Крч, немного не то что я хотел от этой функции
P.S. И спасибо тебе, прям, ОГРОМНОЕ за то, что помогаешь в таком разобраться!
- Pyran это нравится
#39
Отправлено 03 Февраль 2022 - 18:49
Выяснилось что движок проверяет верхний правый и нижний левый углы, но только расстояние между ними (ну, еще расстояние между ними и центром линии соединяющий 2 другие вершины), на их расположение реально всё равно(!) и это расстояние потом используется для расчёта ширины прямоугольника. И да, сам прямоугольник рисуется между A и В tile_in_tile_rect( А, верхний левый, нижний правый, В, x ) и В должен располагаться правее (на экране) чем А.
Незнаю с чего ты взял что там что-то измеряется, в движке стоит одна единственная проверка
координатов X-гекса и точек A/B
if ( T.x <= верхний_левый.x && T.x >= нижний_правый.x && T.y >= верхний_левый.y && T.y <= нижний_правый.y ) { rvalue = 1; // T-гекс в прямоугольнике A B }
проверил твой скрип все правильно работает.
по всякому пробывал и всегда правильно проверяет прямоугольник.
непонятно в чем у тебя была трабла.
sFall 5.0 - Официальная и расширенная версия для Fallout 2.
Fallout Proto Manager v1.4.0 - Создание и редактирования прототипов файлов.
sFall Script Editor v4.1.7.RC1 - Написание скриптов и отладки диалогов.
Mapper by Dims v0.99.3 - Обновленный редактор карт c дополнительными возможностями.
- DeKRuS это нравится
#40
Отправлено 04 Февраль 2022 - 02:54
Незнаю с чего ты взял что там что-то измеряется, в движке стоит одна единственная проверка координатов X-гекса и точек A/B
Да это всё по глупости) только сейчас понял что мой способ проверки САМ учитывал два других угла, а не движ (facepalm). Ещё раз всё попробовал, но уже с подправленным скриптом и конечно же в игре учитываются только верхний_левый и нижний_правый углы.
непонятно в чем у тебя была трабла.
Изначально проблема была в недостатке моих знаний. Я подумал что прямоугольник строится по всем 4 углам и может быть любой симметричной формы и в итоге у меня получилось вот такое:
Я задал углы двум прямоугольникам, один внутри другого. Но я не знал что каждый из них получился толщиной в 1 гекс, и в итоге tile_in_tile_rect, выдавал true в раномных(как мне казалось) тайлах и то только по диагоналям, ну и я решил что фигня какаято с функцией, а оказалось что это со мной беда
Похожие темы
Количество пользователей, читающих эту тему: 1
0 members, 1 guests, 0 anonymous users