A.I.M. Jagged Alliance2

Добро пожаловать, Гость. Пожалуйста, выберите:
Вход || Регистрация.
18.09.2025 в 19:58:40

Главная Главная Помощь Помощь Поиск Поиск Участники Участники Вход Вход Регистрация Регистрация
A.I.M. « NPC-scripter »
   A.I.M.
   Обсуждаем игры
   Гробокопатели
(Модераторы: ThunderBird, Терапевт)
   NPC-scripter
« Нет темы | Следующая Тема »
  Тема:  NPC-scripter             Страниц: 1 Прочитано 125 раз
Moose
[Муся]
Прирожденный Джаец

Я люблю этот Форум!




Репутация: +3
NPC-scripter
« от 29.07.2025 в 17:10:05 »


С ним есть две проблемы:
1) он принудительно ограничивает (и скидывает вниз) слишком большие числа
в ячейках. Например "перейти на запись No", "получаемый предмет" и т.п.
 
Есть "секретная" особенность, которая нечаянно нашлась в родных скриптах
Сир-Теха: если в это поле написать число со знаком минус, то игрушка поймет
его не как "криттеру дали предмет", а как "проверяется, стоит ли криттер
на этом тайле". Используется для ходящих с места на место криттеров, который,
например, куда-то пойдет, ДОЙДЕТ до этого места, и только после этого
что-нибудь там возьмет или скажет фразу, и уже потом пойдет обратно к партийцу.
Или, наоборот, можно делать разные диалоги днем, когда криттер стоит на одном
тайле - в своем магазине, и посылает к черту ночью, когда стоит на другом
тайле, - в своем доме.
 
Проблема состоит в том, что в эту ячейку можно вписать только 5-значные числа.
А если номер тайла уже сам стал 5-значным числом, типа 12345, то вставить туда
-12345 уже не получится, минус тоже считается за знак. Приходится писать туда
положительное число, сохранять скрипт, читать его hex-редактором, исправлять
на -12345 и снова загружать обновленный скрипт в вашей коробочке. Там он его
показывает 6-значным, но если его не трогать, то он его и не обрезает, оставляет
как есть.
Неудобно, ради каждого числа надо перекидываться в hex-editor, но жить можно.
 
Второе неудобство более проблемное.
В ячейке "перейти на запись No" точно таким же образом любое большое число
срезается на 49 (последняя доступная строка). Его тоже можно повысить до
необходимого в том же hex-редакторе и скрипт действительно прыгнет хоть на
80-ю, хоть на 90-ю строку совершенно без проблем, главное удлиннить файл
254.npc в нужное число раз. По 1600 байт на каждые 50 строк скрипта, размножай
сколько хочешь, главное на бумажке записывать новые номера строчек, создав
отдельно:
254_0.npc со строками 00-49
254_1.npc со строками 50-99
254_2.npc со строками 100-149 и т.д.
а потом сшить все накопленные файлы в один 254.npc длинной 4800+ байт
 
Но это ОЧЕНЬ неудобно. Потому что даже если эти цифры и исправлять, то
частичные файлы одного скрипта надо сшивать вручную, а не кататься мышиным
колесом, и все время забывать, в каком адресном пространстве находишься.
Так сказать "добро пожаловать обратно в 60-е".
 
Почему проблема возникла? Потому что авторы сборки JA-2 1.13 в отличие
от Буки-Сиртеха прекрасно позволяют иметь длину скриптов и 100, и 250
(а, возможно, и 65535 строчек). Но уж 254 строчки - гарантированно, это
было проверено на практике. Достаточно перекомпилить 1.13-ю сборку,
увеличив константу:
//#define NUM_NPC_QUOTE_RECORDS 50
#define NUM_NPC_QUOTE_RECORDS 250
и можно просто уфантазироваться до изнеможения. Собранный из таких
вышеописанных кусков скрипт легко прыгал по своим записям переходами
с 20-30 на 80-90 и обратно.
 
Вы можете чем-нибудь помочь в этой проблеме? Уж очень хочется иметь все
это одним куском перед глазами сразу. Как фраза "640 килобайт хватит
всем" сейчас не вызывает ничего кроме смеха, так и 50 строк скрипта мало
что позволяют. Тем более, что в 1.13 можно еще и продолжать скрипты уже
нанятых солдат, т.е. например, спокойно продолжать покупать взрывчатку
у Дэвина, не обращая внимания на то, что он теперь партиец. И т.п.
Зарегистрирован

Терапевт
[Кулибин]
Кардинал


Народный целитель. Шарлатан высшей категории.




Пол:
Репутация: +1207
Re: NPC-scripter
« Ответ #1 от 31.07.2025 в 14:23:13 »

29.07.2025 в 17:10:05, Moose писал(a):
Как фраза "640 килобайт хватит всем" сейчас не вызывает ничего кроме смеха,

Только у тех, кто не знает технических подробностей.
 
 29.07.2025 в 17:10:05, Moose писал(a):
Вы можете чем-нибудь помочь в этой проблеме? Уж очень хочется иметь все
это одним куском перед глазами сразу.

Хоть я и не работаю с 1.13, но по разным старым слухам оригинальные скрипты там были дополнены механизмом на Lua script. Ищите информацию по этой теме.
Зарегистрирован

Летний дождь наливает в бутылку двора ночь... (с) В.Цой
Sot
[СОТ 'Пригородный']
Прирожденный Джаец

:P


Ё-мэйл

Пол:
Репутация: +104
Re: NPC-scripter
« Ответ #2 от 31.07.2025 в 18:54:00 »

Offtop:
Зарегистрирован

Если долго смотреть на Арулько, Арулько начнет смотреть на тебя :P
Страниц: 1  Послать Тему Послать Тему Печатать Печатать

« Нет темы | Следующая Тема »

Статистика. Размер данных: 18183 GZip: off
A.I.M. » Powered by YaBB Modification 4 (v.4.0.0-pre)!
YaBB © 2000-2003. All Rights Reserved.