FANaTWOG
10 Jun 2007, 01:09
Цитата
Похоже ты неправильно действуешь. У героя можно установить хоть все вторичные навыки, независимо от номера
Нет, я сначала хотел, чтобы при количестве навыков>7 появлялся стандартный message box(!!HL:XXXX) с базовым random навыком. Появлялся слева прокачать один из них, а справа дать базовый, но когда нажимаешь на базовый - он не прибавлялся...
Так что, пришлось лепись свой точно такой же message box с двумя картинками выбора (!!IF:Q), вроде неплохо получилось...
Demiurg
10 Jun 2007, 18:28
Цитата(FANaTWOG @ 09 Jun 2007, 16:07)
Скриптеры, помогите!!!
Необходимо получить, какой навык был выбран при получении уровня в окне выбора скилла. Согласен на любую функцию, даже с крутыми наворотами!
P.S. ERM 3.58f.
Иногда можно использовать эмуляцию посттриггера.
Ставим вопрос:
Что может игрок сделать после получения навыка?Ну и перечисляем:
Пойти куда-то каким-нибудь героем
Нажать куда-нибудь мышкой
Сохраниться
Зайти в город и там нажать куда-нибудь мышкой
Если нужно, то можно еще добавить вариант - получить еще один уровень.
Код
ZVSE
!#VRv37:S0;
!?HL-1&v37=0;
!!IF:M^trigger hl^;
!!VRv37:S1;
!?MM1&v37=1;
!!VRv37:S0;
!!IF:M^trigger mm1^;
!?GM1&v37=1;
!!VRv37:S0;
!!IF:M^trigger gm1^;
!?HM-1&v37=1;
!!VRv37:S0;
!!IF:M^trigger hm^;
!?CM0&v37=1;
!!VRv37:S0;
!!IF:M^trigger cm0^;
!?CM5&v37=1;
!!VRv37:S0;
!!IF:M^trigger cm5^;
Добавлено ([mergetime]1181489305[/mergetime]):
Данный код определяет - что игрок делает после получения уровня(нескольких уровней)
Чёртос-2 (Chortos-2)
10 Jun 2007, 23:36
Цитата(Demiurg @ 08 Jun 2007, 19:50)
Практически так.
Выяснилось, что Скриптер завершает обычные строки одним символом #10. А последнюю строку двумя #13#10.
Бред может понимать как обычные файлы, где строки завершаются #13#10, так и файлы, где строки завершаются просто #10. И подстраивается под формат файла при форматировании. То есть можно открыть ерм-файл в Бреде, подредактировать, сохранить и скрипт по-прежнему будет работать.
Ошибочка вышла: все строки заканчиваются символом № 10 (перевод строки), а самая последняя — последовательностью из символов № 10 (перевод строки) и № 13 (возврат каретки). Вот иллюстрация (кружком отображается символ № 10, а нотой — символ № 13):
Berserker
11 Jun 2007, 19:33
Можно поспорить. И серьёзно. Не факт, если notepad ограничивает всё одним символом, что так и везде. php для винды ставит два символа, дос проги два, я через паскаль - 2, ибо так проще считывать сразу на экран, а в данном случае приходится разбивать на строки и выводить по отдельности.
FANaTWOG
11 Jun 2007, 23:28
Как сделать, чтобы при включении одной опции автоматически отрубалась другая(как усиленные военные машины) или была вообще недоступна(как города без фортов?
Или вообще, как сделать переключатель опций(такой как "вогифицировать все карты", и.т.д) ?
Berserker
12 Jun 2007, 19:37
Чёртос, а я тебе поверил

Большенство блокнотов, редакторы текстов, даже паскалевский IDE создают файлы, каждая строка заканчивается на #13#10 и никакий символов конца файла. Проверено на всём, что смог найти на компе.
Чёртос-2 (Chortos-2)
13 Jun 2007, 18:25
Вообще‑то я говорил про формат ERM. А у тебя создают со строками, заканчивающимися на CRLF, потому что все эти программы расчитаны на Windows, и в тех, где можно явно указать формат строк, у тебя не выбран формат POSIX — исходя из первого соображения по умолчанию практически везде стоит вариант DOS (он же Windows).
Berserker
13 Jun 2007, 19:32
Ты про ЕРМ? Я там действительно ошибся
FANaTWOG
15 Jun 2007, 18:02
Можно как-нибудь установить(получить) через ERM максимальное кол-во маны?
Нашел только установить/получить текущие очки заклинаний...
Demiurg
15 Jun 2007, 18:06
Нельзя.
Но максимальная мана несложно вычисляется.
И ты можешь скопировать вычисляющую функцию из ТЕ или ВОГ.
Проверяешь текущее значение знания героя и уровень навыка Грамотность (вроде бы или что-то другое, что дает к мане).
gamecreator
15 Jun 2007, 18:45
интеллект
Demiurg
15 Jun 2007, 18:48
Еще специальность по интеллекту надо учитывать.
FANaTWOG
15 Jun 2007, 21:02
Понятно, что можно ее вычислить (хоть и сложно из-за этого 5%-ого бонуса). Но как УСТАНОВИТЬ герою получившееся max количество маны?

(мне нужно получить значение, поменять его и записать получившееся новое)
Berserker
15 Jun 2007, 21:38
!!HEx:I?y1;
....
!!HEx:Iy1;
FANaTWOG
15 Jun 2007, 23:01
Цитата
!!HEx:I?y1;
....
!!HEx:Iy1;
Мне нужно поменять МАКСИМАЛЬНОЕ количество маны, а не текущее.
Неужели никак?
Demiurg
15 Jun 2007, 23:20
никак.
Но можно сэмулировать.
Объектов не так-то и много, увеличивающих ману (колодец, фонтан-удвоитель, город, удвоитель маны).
Еще в начале каждого хода прийдется поизвращаться.
Так что, стоит задуматься о том, стоит ли это делать.
FANaTWOG
16 Jun 2007, 08:52
А бонусы к нападению, к интеллекту - это встроено? Нельзя никак вырубить?
Есть один способ - убрать эти навыки из возможных при получении левела. Скрипт большой, так еще и нужно учесть всякие университеты, ведьмы...
Насчёт маны, слушай, а не проще ли добавить герою знания? Рассчитать столько, сколько нужно для достижения нужной тебе отметки маны?
Demiurg
16 Jun 2007, 09:03
Можно специальность поменять герою с интеллекта на какую-нибудь другую. Вторичные скилл интеллект можно убрать у героев. Еще можно процент добавляемый интеллектом на базовом, продвинутом, экспертном поменять с помощью !!UN:C. Под ВОГ я адреса не знаю, а под ТЕ есть.
Добавлено ([mergetime]1181973825[/mergetime]):
2Aleee
Думаю, что знания выставить не проще. Тогда прийдется париться в каждом случае, когда герой получает знания. А знания он может еще и с помощью артов получать.
Почему париться? Если мы сначала узнаем, сколько мах маны на данный момент, а потом уже высчитываем нужно кол-во, какая нам разница сколько на нем артов?
Правда, похоже, число может быть лишь кратно 10 (если без Инт).
Demiurg
16 Jun 2007, 09:14
Смотря чего хочет Fanatwog
Если я его правильно понял, то он хочет изменить зависимость максимального количества маны от количества знаний у героя.
FANaTWOG
16 Jun 2007, 11:42
Цитата
Если я его правильно понял, то он хочет изменить зависимость максимального количества маны от количества знаний у героя.
Совершенно верно!
Короче за 1 знания 5 очков. (А то маны прямо ДОФИГА

)
А если интеллект прокачаешь да еще спец...
Цитата
Правда, похоже, число может быть лишь кратно 10
Нужно кратно 5.
Про UN:C вообще не врубаюсь как искать и.т.д.
Даже если найду адрес при перезапуске игры он разве не будет другой?

P.S. Насчет "запариться" не беспокойтесь. Я щас такой СКРИПТИЩЕ пишу, уже настолько запарился...
Demiurg
16 Jun 2007, 12:21
Цитата(FANaTWOG @ 16 Jun 2007, 12:42)
Про UN:C вообще не врубаюсь как искать и.т.д.
Даже если найду адрес при перезапуске игры он разве не будет другой?

Другим не будет. Вторичные скиллы всегда в одном и том же месте хранятся.
Добавлено ([mergetime]1181985662[/mergetime]):
Искать адреса можно с помощью Artmoney или Detective story.
Замечу, что большинство вторичных навыков хранятся в виде числа с плавающей запятой типа float - 4 байта.
Для интеллекта там стоят значение 0,25 0,50 1,00
Для атаки соответственно 0,1 0,2 0,3
Все три навыка - basic, advanced, expert идут подряд.
Но скорее всего искать в виде дробных чисел будет проблематично. Поэтому нужно получить число типа int (4 байта), соответствующее этим значениям.
Учитывая, что в ТЕ адреса уже найдены думаю, что проще будет скопировать кусок по найденному адресу из ТЕ и поискать в ВОГ такой же.
В качестве примера можешь смотреть script03 (ТЕ), строчки начиная с 250. Там идет запись с помощью !!UN:C по найденным адресам вторскиллов. Там же можешь и адреса для ТЕ посмотреть, чтобы найти в ВОГ аналогичные.
Рогатый Змий
17 Jun 2007, 17:08
Lindar
19 Jun 2007, 08:02
А можно, с помощью скрипта, обнулить игровой календарь?
ERM может лишь получать значения текущей даты (д/н/м).
Вопрос...
Как запретить возможность оставлять войска на карте? При этом ВоГификация тоже запрещена ( !#UN:P5/0; ).
Дело в том, что обычное !#UN:P2/1; не работает, почему - не знаю...
Эфрит, юзай так:
Код
!?PI;
!!UN:P2/1;
Почему ента хрень не хочет работать через инструкцию я не знаю...
FANaTWOG
20 Jun 2007, 13:26
Как совместно писать условия "и" и "или"?
К примеру, некое действие при условиях:
1)v1=5
2)v2=3 или v2=4
3)v3=7 или v3=8
4)v5=0
Все 4 условия должны быть в одной строке...
Типа: ...&v1=5/v2=3|v2=4... а дальше не знаю как писать - боюсь ошибиться, а тестировать все варианты не получится - довольно редко бывает это условие...
gamecreator
20 Jun 2007, 13:29
этого нет в ерм. вроде. или криво реализовано. лучше писать раздельно.
Цитата(FANaTWOG @ 20 Jun 2007, 13:26)
Как совместно писать условия "и" и "или"?
К примеру, некое действие при условиях:
1)v1=5
2)v2=3 или v2=4
3)v3=7 или v3=8
4)v5=0
Все 4 условия должны быть в одной строке...
Типа: ...&v1=5/v2=3|v2=4... а дальше не знаю как писать - боюсь ошибиться, а тестировать все варианты не получится - довольно редко бывает это условие...

ээээ... попробуй так:
Цитата
&v1=5/v2>2/v2<5/v3>6/v3<9/v5=0
для твоего примера должно сойти вроде...
хотя все таки лучше, как сказал Гамадел, в несколько строк...
FANaTWOG
20 Jun 2007, 14:17
Цитата
ээээ... попробуй так:
QUOTE
&v1=5/v2>2/v2<5/v3>6/v3<9/v5=0
для твоего примера должно сойти вроде...
Да пример-то я от балды написал...

, но принцип понял.. Попробую...
Кстати, а так прокатит:
Код
... &v1=5/v2=3|v2=4/v3=7|v3=8/v5=0: ...
Нет... В том то и дело что "|" ты можешь использовать только один раз...
Разрешены такие комбинации:
&v1=1/v2=2/v3=3: //v1 и v2 и v3
|v1=1/v2=2/v3=3: //v1 или v2 или v3
Вроде проходит еще такое:
&v1=1/v2=2|v3=3; // (v1 и v2) или v3
Но несколько комбинаций "или" уже не разрешаются... То есть твой пример не пройдет... Причем после "или" "и" уже не разрешается... И вообще этот третий вариант не рекомендуется использовать...
FANaTWOG
22 Jun 2007, 16:49
Ситуация такая:
После триггеров !?BG1 и !?BR&v997>-1 получаю номер героя-как узнать AI под этим номером или HUMAN?
Пробовал:
!!HEv7461:O?y9; (v7461-номер героя)
!!OW:Iy9/?y5;
!!IF&y5=1:V330/1; (Если V330=1, то AI)
все работало, но после каждого действия поверх battle log возникала панель ресурсов и картинка героя с его первичными характеристиками.
Пробовал:
!!IF&-1000:V330/1;
но флаг 1000 почему-то неправильно возвращает значение
КАК ЖЕ БЫТЬ??
Demiurg
22 Jun 2007, 16:56
Нельзя использовать в битвенных триггерах ресивер !!HE. Если нужны герои, то лучше их сохранить в !?BA0(!?BA50, !?BA52).
Если нужно сделать проверку на АИ, то можно сделать следующим образом - определить цвет игроков в битве и узнать - человек под этим цветом или компьютер.
Код
!!BA: O?y-1/?y-2;
!!VRv2000:S0;
!!OW&y-1>=0: Iy-1/=1;
!!VRv2000&-1:+1;
!!IF&y-2<0:V1/1;
!!OW&y-2>=0: Iy-2/=1;
!!VRv2000&-1:+2;
В переменную 2000 сохраняется тип битвы.
0 - AI vs AI
1 - human vs AI
2 - AI vs human
3 - human vs human
FANaTWOG
22 Jun 2007, 17:03
Попробую этот код, а что !!HE нельзя использовать...ну не знаю...я не раз его использовал и в !?BR и в !?BG - тестил много раз, никаких глюков...
FANaTWOG
22 Jun 2007, 18:46
Цитата
Нельзя использовать в битвенных триггерах ресивер !!HE.
Блин, однако, ты прав...

Из за этого и вылезала панель ресурсов...
Но как же мне в каждом action проверять сколько маны осталось у героя...
Berserker
22 Jun 2007, 19:33
Нельзя использовать в битвенных триггерах ресивер !!HE.
Хто такое сказал??? Нонсенс! Кое-какие команды без перерисовки МОЖНО использовать и УЖЕ используются
FANaTWOG
23 Jun 2007, 13:38
Использовать можно, но возникают баги. Вылезает картинка героя:
СкринПосле обновления !!BU:R то, баг исчез только с поля боя, но на кнопках остался:
Скрин после обновленияНельзя ли обновить ВЕСЬ экран?
P.S. Подскажите, куда можно залить файлы, чтобы "[/IMG]" не ругался ("неправильная ссылка")?
Чёртос-2 (Chortos-2)
25 Jun 2007, 16:42
http://www.imageshack.us/P. S. Сколько люди не просят не закачивать ничего на slil.ru и не закачивать никуда BMP, никто не слушает… Если что, просил не я.
Скажите пожалуйста, как правильно читать вот такую запись
!!FU|1/2:E;? Это случайно не тоже самое, если бы написать
!!FU&1|2:E;?
Тоже, но первый случай правильнее...
Добавлено ([mergetime]1183556081[/mergetime]):
Читается как: или 1 или 2
СРОЧНО, нужна помощь....
1 - как в начале битвы сделать так, чтобы в конкретной ячейке установить "силовое поле"??? Я пробовал через BH:C, но ничего не происходило

(ставил для !?BG-1, BG0, BG1)
2 - Как можно узнать номер стека, в котором находится конкретный монстр??? Я всё уже пересмотрел, перепробывал, но ничего не выходит, никак не могу сообразить как это сделать

Мне всего лишь надо забить в переменную номер стэка, где стоит щас нужный монстр, которого я вызываю через !!BU:S160/1/34/0/-1/0;
PS: да и вообще, я до сих пор не могу понять, как узнать от чего зависит номер стэка??? Почему их 21 с каждой стороны - это понятно, но как распределяется эти номера среди 7 слотов существ не понятно???
Бес, посмотри в карте за Бастион, что ты тестируешь, скрипт с магическим храмом... Я там постоянно магию вызываю...
А номер стека зависит от того, в каком порьдке стеки идут в армии героя сверху вниз... Конечно же, могут быть еще и призванные стеки, и клоны...
Arseny
08 Jul 2007, 12:29
А как сделать специальность герою? Например на юнитах, заклинаниях, умениях, ресурсах...
Arseny
08 Jul 2007, 16:56
X - это номер существа, или что там надо писать?
gamecreator
08 Jul 2007, 19:04
X#1/$2/$3/$4/$5/$6/$7
Изменить специальность героя. Установить/проверить/получить все спец. установки. Типы специальностей (#1):
#1 = 0 – спец по вторичному навыку
$2 = номер вторичного навыка
$3…$7 игнорируются.
#1 = 1 – спец по существам
$2 = тип существ
$3…$7 игнорируются
#1 = 2 – спец по ресурсам
$2 – тип ресурса
$3…$7 игнорируются
#1 = 3 – спец по заклинанию
$2 – номер заклинания
$3…$7 игнорируются
#1 = 4 – экстраспец по существам
$2 – тип существа
$3 – бонус атаки
$4 – бонус защиты
$5 – бонус повреждений
$6…$7 игнорируются
#1 = 5 – скорость и другие специальности
$2 – подтип
$3…$7 игнорируются
#1 = 6 – спец по улучшениям
$2 = существо 1 для улучшения
$6 = существо 2 для улучшения
$7 = существо улучшенное
$3…$5 игнорируются
#1 = 7 – спец по драконам
$2 = бонус атаки
$3 = бонус защиты
$4…$7 игнорируются
#1 = 8 – экстра-ВоГ – специальность
$2 = подтип
$3…$7 игнорируются
Комментарий: вы можете использовать ‘d’ для игнорируемых или неизменяемых вами настроек:
!!HE:X8/2/d/d/d/d/d;
Arseny
08 Jul 2007, 20:14
Вот Часть скрипта, только он не работает

!?OB8/5/0;
!!IF:^Òû çàõîäèøü...^;
!!HE-1:X#6/139/d/d/d/139/143;
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.