Question: how to set the initial state/stance (shooting, melee, casting) for a creature when battle starts?
Because when a creature can cast, but the cast is weak and you would nearly always want to switch to melee, it gets annoying if you have to manually switch every little fight.
Xericsin provided a very good script that lets you switch with 1,2,3 keypress very easy (simple but great idea). But the selection does not get saved.
(04.04.2020 16:55)daemon_n Wrote: [ -> ]Это проблема чего вообще?
Если кратко, то после получения номера монстра там проверяется это:
if((k<0)||(k>=MONNUM)){ RETURN(0) }
И монстры с номерами выше воговских просто отбрасываются без всяких сообщений об ошибке. Если найти адрес этой проверки в exe, то можно без проблем сделать bin, устанавливающий MONNUM на 1000.
XEPOMAHT, спасибо, но почему тогда работает скрипт, написанный с нуля? жаль, я его удалил.

(05.04.2020 01:17)daemon_n Wrote: [ -> ]но почему тогда работает скрипт, написанный с нуля? жаль, я его удалил.
Должно работать примерно так (правда, не уверен, что будет работать именно в таком виде):
!!MA:Z0/?y1; получить адрес структуры копейщика
!!UN:Cy1+56/4/d:2; поделить цену пополам
PerryR, if he provided script for that, why no use it on round 0?
Добрый день!
Со мной поделились скриптом по изменению героя, и я пытался по аналогии выстраивать изменения другим героям.
Вот тот скрипт:
Code:
; герой Эллезар(№26)
!!HE26:S24/0 S7/0; [Забрать Интеллект (24) и Мудрость (7)]
!!HE26:S17/1; [Дать магию Земли (17)]
!!HE26:X3/18/d/d/d/d/d; [Специалист по заклу (X3) взрыв (18)]
!!VRz226:S^{Взрыв}
Усиленный взрыв.^;
!!UN:G2/26/2/z226; [Установить описание героя 26]
У меня вопрос, что значит: z226 ?
Я пробовал менять специализации и прочее другим, вроде бы визуально работает (не знаю, работает ли по действию наверняка), но вот например такой скрипт не дает нормального описания к специализации баллистика:
Code:
; герой Торгрим(№20)
!!HE20:S26/0; [Забрать Сопротивление (26)]
!!HE20:X0/10/d/d/d/d/d; [Специалист по навыку (X0) Баллистика (10)]
!!VRz804:S^{баллистика}
Усиленная баллистика.^;
!!UN:G2/20/2/z804; [Установить описание героя 20]
z804 ставил потому, что там целый ряд героев, начал с z800 и по порядку. Не помню почему так делал, но казалось логичным. У других героев визуально работает, а вот у Торгрима визуально баллистика есть, а описание все равно осталось про сопротивление.
В чем дело, подскажете? И как надо?
Попробуйте вместо !!VRzXXX:S, !!UN:G2... использовать одну строку:
!!SN:H^spec^/номер_героя/2/^{Баллистика}
Усиленная что-то-то там^;
И так для каждого героя.
Berserker, Так? :
Code:
; герой Торгрим(№20)
!!HE20:S26/0; [Забрать Сопротивление (26)]
!!HE20:X0/10/d/d/d/d/d; [Специалист по навыку (X0) Баллистика (10)]
!!SN:H^spec^/20/2/^{Баллистика}
Усиленная Баллистика^;
Не получилось, все равно про сопротивление пишет. Или не то сделал?
П.С. Проверил в 2.7.7 (скрипт там делал), так вот там все корректно пишет. А тот же самый скрипт перенесенный в директорию 2.9.12 работает уже не корректно (Как минимум с Торгримом, Эллезар работает и там и там).
etrexetrex, в 2,9,х ужесточена проверка ошибок синтаксиса ЕРМ, посему попробуй более корректную команду записи текста в спецуху... ибо в UN:G2 писать надо ТОЛЬКО номер текст.переменной, без её идентификатора...
(06.04.2020 04:01)Bes Wrote: [ -> ]etrexetrex, в 2,9,х ужесточена проверка ошибок синтаксиса ЕРМ, посему попробуй более корректную команду записи текста в спецуху... ибо в UN:G2 писать надо ТОЛЬКО номер текст.переменной, без её идентификатора...
Ну я вот сделал:
Code:
; герой Торгрим(№20)
!!HE20:S26/0; [Забрать Сопротивление (26)]
!!HE20:X0/10/d/d/d/d/d; [Специалист по навыку (X0) Баллистика (10)]
!!VRz804:S^{баллистика}
Усиленная баллистика.^;
!!UN:G2/20/2/804; [Установить описание героя 20]
Все равно не работает. Еще пробовал вместо !!VRz804:S^ сделать без z, но тогда выдает ошибку скрипта при загрузке.
Еще заметил, что z804 оранжевого цвета, когда убираешь z, то становится фиолетового, как все цифры.
etrexetrex, я лишь предположил, не обещал успех.
Quote:Еще заметил, что z804 оранжевого цвета, ...
не обращай внимания, это лишь особенности текстового редактора, где заданы цветовые схемы на те или иные части кода
Quote:Еще пробовал вместо !!VRz804:S^ сделать без z,...
А вот так не надо, эксперименты там, где не просили, там всё ОК было, команда записи текста в z-переменную и должна быть с указанием
z
Bes, Почему-то именно с Торгримом данная проблема, с Эллезаром ее нет при любом варианте написания. Специализацию менял ему на другую, все равно Торгриму впаривают надпись от сопротивления (напомню, в 2.7.7 такого не происходило).
Bes, нет, Бес, ты не прав. Везде, кроме SN/MP/RD z-переменные можно без префикса писать. ЕРМ учитывает только индекс. Но лучше с префиксом.
etrexetrex, явно напутано в коде, приведи весь код, пожалуйста.
(06.04.2020 04:41)Berserker Wrote: [ -> ]etrexetrex, явно напутано в коде, приведи весь код, пожалуйста.
Единственное, я там оставил вариант в одну строчку у Торгрима и у Эллезара с убранной z и переименованной спец. Взрыв3, чтоб было ясно, что работает с новым написанием. В остальном, все как было:
Code:
ZVSE
!?PI; старт новой карты
; герой Эллезар(№26)
!!HE26:S24/0 S7/0; [Забрать Интеллект (24) и Мудрость (7)]
!!HE26:S17/1; [Дать магию Земли (17)]
!!HE26:X3/18/d/d/d/d/d; [Специалист по заклу (X3) взрыв (18)]
!!VRz226:S^{Взрыв3}
Усиленный взрыв3.^;
!!UN:G2/26/2/226; [Установить описание героя 26]
; герой Аламар(№88)
!!HE88:M38/0;
!!HE88:X3/18/d/d/d/d/d; [Специалист по заклу (X3) взрыв (18)]
!!VRz800:S^{Взрыв}
Усиленный взрыв.^;
!!UN:G2/88/2/z800; [Установить описание героя 88]
; герой Мюллих(№144)
!!HE144:X1/0/d/d/d/d/d; [Специалист по армии (X1) копейщики (0)]
!!VRz801:S^{Копейщики}
Усиленные копейщики.^;
!!UN:G2/144/2/z801; [Установить описание героя 144]
; герой Джелу(№148)
!!HE148:X1/14/d/d/d/d/d; [Специалист по армии (X1) кентавры (14)]
!!VRz802:S^{Кентавры}
Усиленные кентавры.^;
!!UN:G2/148/2/z802; [Установить описание героя 148]
; герой Жеддит(№91)
!!HE91:M38/0;
!!VRz803:S^{строитель}
Может строить любой тип замка после разрушения.^;
!!UN:G2/91/2/z803; [Установить описание героя 91]
; герой Адель(№9)
!!HE9:S4/0; [Забрать Дипломатию (4)]
!!HE9:S13/1; [Дать Имущество (13)]
; герой Инхам(№12)
!!HE12:S8/0; [Забрать Мистицизм (8)]
; герой Уфретин(№17)
!!HE17:S26/0; [Забрать Сопротивление (26)]
; герой Роланд(№19)
!!HE19:S4/0; [Забрать Дипломатию (4)]
; герой Торгрим(№20)
!!HE20:S26/0; [Забрать Сопротивление (26)]
!!HE20:X0/10/d/d/d/d/d; [Специалист по навыку (X0) Баллистика (10)]
!!SN:H^spec^/20/2/^{Баллистика}
Усиленная Баллистика^;
; герой Кланси(№22)
!!HE22:S26/0; [Забрать Сопротивление (26)]
; герой Уланд(№25)
!!HE25:S10/0; [Забрать Баллистика (10)]
; герой Малькольм(№28)
!!HE28:S11/0; [Забрать Орлиный глаз (11)]
!!HE28:S0/1; [Дать Поиск пути (0)]
; герой Пигуедрам(№32)
!!HE32:S8/0; [Забрать Мистицизм (8)]
; герой Жозефина(№34)
!!HE34:S8/0; [Забрать Мистицизм (8)]
; герой Торосар(№36)
!!HE36:S8/0; [Забрать Мистицизм (8)]
; герой Фафнер(№37)
!!HE37:S26/0; [Забрать Сопротивление (26)]
; герой Ризза(№38)
!!HE38:S8/0; [Забрать Мистицизм (8)]
; герой Халон(№41)
!!HE41:S8/0; [Забрать Мистицизм (8)]
; герой Кира(№46)
!!HE46:S4/0; [Забрать Дипломатию (4)]
; герой Дракон(№147)
!!HE147:X0/21/d/d/d/d/d; [Специалист по навыку (X0) Обучение (21)]
!!VRz805:S^{Обучение}
Обучение.^;
!!UN:G2/147/2/z805; [Установить описание героя 147]
; герой Игнат(№51)
!!HE51:S26/0; [Забрать Сопротивление (26)]
; герой Аксис(№58)
!!HE58:S8/0; [Забрать Мистицизм (8)]
; герой Тант(№76)
!!HE76:S8/0; [Забрать Мистицизм (8)]
; герой Аджит(№83)
!!HE83:S26/0; [Забрать Сопротивление (26)]
; герой Жаегар(№89)
!!HE89:S8/0; [Забрать Мистицизм (8)]
; герой Креллион(№101)
!!HE101:S26/0; [Забрать Сопротивление (26)]
; герой Сауруг(№111)
!!HE111:S26/0; [Забрать Сопротивление (26)]
; герой Брон(№112)
!!HE112:S26/0; [Забрать Сопротивление (26)]
; герой Розик(№121)
!!HE121:S8/0; [Забрать Мистицизм (8)]
; герой Вой(№122)
Работать должно. Лучше везде !!SN:H использовать и если не видно результата, то у Вас другой скрипт изменяет описание специализаций.