Полная Версия: Нужна помощь со скриптом.
Ghoulbb
Мой первый опыт в скриптопостроении. Решил замутить простенький скрипт-диалог с персонажем.
Задумка — персонаж поэтапно рассказывает свою историю, в конце выдает игроку оружие, и опыт.

При повторном обращении в диалог не входит, лишь появляются фразы над головой при кликании на него.

Собственно, всё работает, за исключением одного момента: диалог можно прогонять бесчисленное множество раз. Поглядите, плиз на сам скрипт, что я сделал не так?

http://rusfolder.com/35191453
Nordan
Т.е. постоянно включается диалоговый режим, а "плавающие" сообщения не выводятся, я так понял?

Скрипт написан вроде нормально, чудит переменная, явно.
ЕМНИП, первые пять ЛВАР вообще лучше не трогать, ими управляет двиг (тоже где то читал об этом).

Попробуй вместо ЛВАРы подставить ГВАРу, чтоб уж точно проверить все ли нормально робит.

П.С. Здесь есть специальный тэг для отображения кодов программ, так что в следующий раз выложи код прямо сюда (ну не весь, конечно, только нужную часть :) ), облегчь жизнь себе и другим. ;)

П.П.С. Ну и еще одно, когда я пишу скрипты, я не ставлю пробелы в параметрах функций. Уж не знаю, как могут повлиять пробелы на исправность, но так мне спокойней. :)
Ghoulbb
Нашел ошибку. Сам скрипт тут оказался ни при чём.
Всё дело в scripts.lst

Я зарегал новые скрипты в конце этого файла.

Однако, не стал прописывать строки после символа " ; ", посчитав их комментами.

CODE

GCKeeper.int
GCGhost.int
ECGhoulBB.int


Ошибку обнаружил чисто случайно, просто "на дурака " дополнив сточки, как показано внизу.


CODE

GCKeeper.int   ; Gecko cemetery keeper                         # local_vars=1
GCGhost.int    ; Gecko cemetery ghost                          # local_vars=6
ECGhoulBB.int  ; Random Ghoul [BB] Traveller encounter (story) # local_vars=1


Я в непонятках. Как так закомментированные строки влияют на работу скрипта?
Или я чёт не догоняю?

Ну, в общем, работает всё, и ладно. Буду обкатывать дальше на предмет возможных ошибок в дальнейшем.

Приятная новость: почти закончил свой мод :)

Осталось только обработать примерно половину worldmap.txt и , соответственно, новые мессаги к новым энкаунтерам :)
Nordan
Слова после ";" в этом файле не считаются коментарием.

Там указывается имя (то что отразиться в списке скриптов в мэппере) и количество ЛВАРов.

Если имя ты можешь написать любое (главное чтоб было), то ЛВАРы нужно указывать точно, ибо двиг Фолла не умеет считать их динамически, а ориентируется как раз на это значение, т.е. если не указать количество, то они (ЛВАРы) просто не будут работать, что скорее всего и произошло, потому что у тебя в скрипте стоит "переключатель" именно от ЛВАРы, которая не работала...

И еще, по ходу строка в скриптс.лст у этого скрипта должна быть:

CODE
GCKeeper.int  ; Gecko cemetery keeper                         # local_vars=6

Потому что последняя ЛВАРА в этом скрипте имеет номер 5, и с учетом "нулевой" должно быть всего 6.
Wasteland Ghost
Ghoulbb, изобретать велосипед, конечно, весело, но всё-таки иногда полезно читать, чтобы не делать глупых ошибок. Например, туториал по скриптингу для начинающих от Raven'а. Там подробно объясняется всё и о скриптс.лст, и о переменных, и о прочем-всяком.

Насчёт первых пяти ЛВАР Nordan абсолютно прав: часть из них может изменяться движком, поэтому лучше использовать их в том же смысле, что и в оригинале.
jordan
Для быстрого тестирования криттеров можно использовать test.int они уже прописаны в script.lst Поищите в начале файла.
Ваш ответ: