SAG19330184
07 Nov 2008, 13:39
кто нибудь знает как считывать/записать random seed? Ибо, актуально
Установить Random Seed. Можно попробовать и получить.
Код
!!VR:R$/0;
Миханик
07 Nov 2008, 15:42
наоборот вроде -
Код
!!VR:R/$;
насчёт считывания в справке не было ничего написано. более того - это функция для мультиплеера, и она устанавливает все рэндом сидс в одно значение. значит, архитектура слишком сложная для непредусмотренного получения.
Например, Virtual Pascal хранит seed в integer, и использует его для генерации новых псевдослучайных чисел. Более чем уверен, что в Героях так же. Кому нужно - проверит.
sergroj
07 Nov 2008, 20:13
Цитата(Миханик @ 07 Nov 2008, 19:42)
наоборот вроде -
Код
!!VR:R/$;
да, так.
Цитата(Миханик @ 07 Nov 2008, 19:42)
насчёт считывания в справке не было ничего написано. более того - это функция для мультиплеера, и она устанавливает все рэндом сидс в одно значение. значит, архитектура слишком сложная для непредусмотренного получения.
Нет, для данного компьютера. Взять Random Seed в 3.58 и ТЕ невозможно через ЕРМ, даже через UN:C, но в коде сделать легко.
SAG19330184
08 Nov 2008, 10:37
в принципе наверно random seed уже не понадобится. Он ведь по идее в сейве автоматически сохраняется? Можно ли заставить игру сохраниться например перед началом битвы? Я хотел бы попробовать написать скрипт сохранения в битве.
SAG19330184
09 Nov 2008, 17:24
и еще вопрос по ERM: сейчас можно сохранять только строки в файл? или любые данные?
hippocamus
09 Nov 2008, 17:38
Ну, в виде строк можно ведь любые данные сохранять...
Там по-моему поддержка ini-интерфейса Windows
SAG19330184, ты для ТЕ кодить собрался?
SAG19330184
09 Nov 2008, 18:25
только под ТЕ. И не собрался а уже давно пописываю, правда сейчас времени побольше стало

мои скрипты есть на Бае, ну и тут выложу на днях
Похвально. Кстати, Хорн с Демом всегда охотно берут скриптописцев в команду. Правда, не очень много желающих.
SAG19330184
09 Nov 2008, 21:27
жаль что я ассемблера не знаю. В ERM куда ни сунься везде ограничения, много чего реализовать невозможно
SAG, никогда не поздно узнать. Платные консультации у Flashback
SAG19330184
10 Nov 2008, 12:17
я уже писал в ветке про новые команды ERM.
- правильный триггер CM для области вокруг миникарты
- правильная отработка триггера CM3 в области нажатия на кнопку OK (область # 30720) - когда закрываешь окошко этой кнопкой, триггер не отрабатывает...
- возможность динамического изменения картинок как на карте (нужны новые нажимаемые кнопки, в область вокруг миникарты), так и в диалогах
- возможность создавать/разрушать объекты на карте, которые видны только владельцу (по типу следов пути). Нужно например для "автодвижения".
- возможность перемещать героя с посещением (пока герой перемещается без посещения объекта. Я хотел бы сделать "автопосещение" всяких мельниц и садиков на 1й день, когда там обновляется содержимое)
- возможность управлять строкой чата (новые триггер и ресивер на входящее и исходящее сообщение)
- возможность расширить набор диалоговых картинок (в частности нужны маленькие встроенные картинки вторичных скиллов, а пока в диалогах есть только такие же, но большие)
- операции с файловой системой (побайтная запись/чтение файлов, переименование файлов, создание папок). Нужно для шифрования сейвов и для удобного встроенного Автосейвера.
это далеко не все
Многое будет в Era. Доступ к DLL, возможно сразу со стандартным набором АПИ, в том числе и для файлов. Загрузка и сохранение, запись своих данных в сейвы, новые триггеры на Экран Героя, на командную строку, на выбор хода очередного юнита, ну и на некоторые другие. Также команды вроде универсальных абилок монстров тоже планируются.
Правда, я думаю, Хорну и КО. нужно сперва поговорить с Сергеем, если КореВог согласится снабжать ТЕ билдами и обеспечить потребности ТЕ (помню в списке было: триггер на окно героя, абилки существ, снятие защиты и т.д....), то стоит, конечно, придерживаться курса до 3.59.
Шифрование сейвов не выйдет. Тут не ЕРМ нужен, а хук на GZRead с последующей расшифровкой (и GZWrite с зашифровкой) + нужно ключ внеурочно вбить в сейв, короче не ахти. Хотя, если статический пас и шифрованием XOR-ом, то можно. Но также элементарно и чуть изменить ехе, чтобы он перестал шифровать, а только расшифровывал.
SAG19330184
10 Nov 2008, 16:09
можно поподробнее про Era и CoreWOG? Явки, пароли

ну, вебсайты, контакты?
hippocamus
10 Nov 2008, 16:10
SAG19330184,
ну ты и конспиролог!
Ну зачем тебе отключать процессы и шифровать сейвы? Проще дисквалифицировать нарушителей, и всё. Твои методы похожи на такое: на спортивных соревнованиях всем заклеить рот и связать руки, чтобы не могли принять допинг

Кроме раздражения это ничего не вызовет у участников.
SAG19330184
10 Nov 2008, 16:54
дисквалифицировать нарушителей за что? как поймать читера? если он читит подсматривая сейв
Цитата
можно поподробнее про Era и CoreWOG?
Билд CoreWog v.01 распространяется только внутри команды, если что - спроси Сергроя. Там исправлены некоторые баги ЕРМ, введена поддержка Луа (над ЕРМ, но почти автономен) и всякие примочки, правда некоторые (как 32-битный оконнный режим) ещё глючат и нуждаются в доработке.
Про Эру кратко я писал
тут. Можно скачать по ссылке в посте демо и проверить кое-какие фичи уже на живом примере. В частности, взаимодействие с DLL, новые события(триггеры, используется !?SN + ID события) и функции сохранения карты, записи своих данных в сейв и т.д. Это была сама первая демка, сейчас всё координально перерабатывается.
hippocamus
11 Nov 2008, 01:14
Цитата(SAG19330184 @ 10 Nov 2008, 16:54)
дисквалифицировать нарушителей за что? как поймать читера? если он читит подсматривая сейв
у тебя есть просмотрщик сэйвов?
Чтобы ещё одну копию игры не запустил - это проще сделать. А вообще герои и так имхо не дают это сделать.
SAG19330184
11 Nov 2008, 10:40
у многих игроков сетки - домашний комп плюс ноутбук. Сейв (если не шифровать) легко открыть на ноутбуке, а играть на компе. Плюс сейчас ТЕ позволяет играть несколько игр одновременно на одном ПК. Если убрать возможность запускать несколько копий, то проблема останется (передача сейва по сетке), зато будет невозможно играть 2 партии одновременно (интересная фишка, я пока не выяснил сколько времени экономит).
Поэтому поймать читера, который не добавляет себе никаких бонусов, крайно сложно. А вообще - это оффтоп, лучше пусть модератор перенесет в другую ветку или удалит. Спасибо за инфу про Era и CoreWOG, посмотрю на досуге
Что значит "временная переменная"? В справочном List of Claimed есть такие (они указаны в скобках).
Может ли кто-нибудь подробнее рассказать, используются ли они в воговских скриптах и можно ли их использовать, если отключить скрипты, которыми они используются. Ё-моё. Если непонятно - перечитайте еще раз, мне помогло.
Переменная, которая заюзана для временных нужд, как 'y', например. Можно юзать в любое время, но в одном триггере и не полагаться на входящее значение.
А если я ее зарегистрирую инструкцией, каковы шансы на то, что она во время игры (или с воговскими скриптами, или без) "собьется"?
Для тебя шансы должны быть равны 100%.
Уже не смешно, но тем не менее: 100% в какую сторону и что значит "для меня"?
MasterOfPuppets
28 Dec 2008, 18:14
Не, однозначно временные переменные лучше в инструкции не ставить. Только неиспользованные глобальные.
Если мне не изменяет память, то z-переменные могут быть от 1 до 999. А если так, то мне просто не хватает свободных.
gamecreator
28 Dec 2008, 20:16
Цитата(Aleee @ 28 Dec 2008, 18:02)
Уже не смешно, но тем не менее: 100% в какую сторону и что значит "для меня"?
100% того, что она собъется.
и не только для тебя, а для всех
Цитата(Aleee @ 28 Dec 2008, 19:54)
Если мне не изменяет память, то z-переменные могут быть от 1 до 999. А если так, то мне просто не хватает свободных.
Пользуйся Эрой и выделяй столько переменных сколько нужно
Какой именно: "нашей" или "до нашей"?
Пошел курить форум.
Добавлено ([mergetime]1230492499[/mergetime]):
Блин, а если я все поотключаю, какого черта и при каком условии они вдруг на первом месяце/третьей неделе/втором дне все изменятся (дату можно свою всунуть)?
Добавлено ([mergetime]1230493134[/mergetime]):
Нет, я запутался в принципе. В списке есть простые интервалы, в скобках и между звездочек.
Может ли мне кто-нить объяснить, какими можно пользоваться и в каком случае какие могут изменяться игрой.
И про "эру" я ничего не нашел. Куда впихнуть 200 строчек текста так понять и не могу.
sergroj
29 Dec 2008, 05:47
Если отключишь вогификацию, ни одна v и z(положительная) переменная сбиваться не будет.
А если не отключена, то могут сбиться на любой команде, инициирующей риггер. Например, во время IF:M и подобных, вроде, работает !?TL.
Скобки - используется временно. Соответственно, ты тоже можешь использовать их временно, но в триггерах типа TL лучше не стоит, т.к. скрипты могут быть на это не расчитаны.
Еще учти, что в 3.58 z-1...z-10 можно использовать только в функциях.
Звездочки - зарезервированы для картостроителей. Могут использоваться без ограничений скриптами карты.
И, надеюсь, последнее.
В этой самой Эре кроме добавления монстров ничего не увидил. Распишите, пожалуйста, как и что мне там выделить для карты и как сделать, чтобы у игроков тоже все работало.
Да, и еще: ведь отключение ВОГификации это отключение только тех скриптов ВОГа, которые инициируются в начале карты?
MasterOfPuppets
29 Dec 2008, 12:27
Ждём Ангела...
Через erm можно как-нибудь обращаться к реестру?
Добавлено ([mergetime]1230640208[/mergetime]):
И еще вопрос. В справке по ресиверу !!SN расписано как можно заменить существующий звук на свой.
А как проиграть просто свой? Ведь если триггер !?SN ставить не на что (я хочу проиграть его в тот момент, когда игра своего ничего не проигрывает), то не получится сделать тот блок в примере скрипта, который убирает ошибку о ненайденном ресурсе, которая в моем случае и появляется.
В общем. Как мне с помощью !!SN проиграть свой файл. Куда его сунуть и что прописать, чтобы не было ошибки.
Страшные вы вещи замышляете... реестр... аддоны... патчинг...
MasterOfPuppets
30 Dec 2008, 16:38
Aleee, ну вот, например, как я это делаю в одном своём новом объекте (вырезка из скрипта):
!$OB63/22;
!!VRz-2:S^..\data\master\Azatot.WAV^;
!!OW:C?y1;
!!OW:Iy1/?y2;
!!IF&y2=0:Q1/21/49/2^Выйдя из заброшенного храма, вы ужаснулись, увидев чудовищного демона, терроризирующего окрестность. Воистину этот храм был заброшен не случайно! Вскоре выясняется, что демон этот охраняет какой-то покрытый плесенью, украшенный древними рунами сундук. Хотите сразиться за него с демоном?^;
!!IF&y2=0/-1:Q1/21/49/1^"Слабак! Трус! Выродок человеческий!" - кричит вам вслед демон. Он явно много выпил.^;
!!SN&y2=0/-1:Pz-2;
Смех из конца песни "Master Of Puppets" раздаётся тогда, когда герой отказался драться с демоном. Файл находится... видно, где.
А вот так убрал стандартный звук у всех новых объектов, чтобы он не перекрывал мои личные.
!?SN; Убрать стандартный звук у всех новых объектов
!!SN:S?z-10;
!!VRi:S0;
!!VRz-9:S^Mystery.wav^;
!!VRi&z-10=z-9:S1;
!?SN&i=1;
!!VRz-10:S^ZQUIET.WAV^;
!!SN:Sz-10;
В том то и проблема, что мне нужно не заменить звук (как в твоем случае) а просто проиграть, так чказать, посреди игры.
Это вообще возможно?
MasterOfPuppets
30 Dec 2008, 17:11
Посреди игры - это как? Без всякого события?
Добавлено ([mergetime]1230646281[/mergetime]):
Я звук и не заменяю. Второй скрипт я показал просто как пример убирания ненужных звуков. А всё, что нужно для проигрывания своего звука:
!!VRz#:S^..\data\звук.WAV^;
!!SN:Pz#;
!!SN работает, кажется, в любом триггере. Даже при клике мышкой. А если звук нужен без какого-либо события - то тут уж !!MP.
А ты попробуй. Сразу появится ошибка вроде "Cannot found resource имя файла", причем не игровая, а от обработчика. Жмешь ОК - игра идет дальше.
MasterOfPuppets
30 Dec 2008, 17:33
Дай свой код - посмотрим вместе.
Код
!#VRz496:S^..\data\success.wav^;
!?Любой триггер
!!SN&v2737=0:Pz496;
MasterOfPuppets
30 Dec 2008, 17:47
1)Точно ли v2737=0? Проверь.
2)Может, лучше локальную переменную в самом триггере?
!?Любой триггер;
!!VRz-1:S^..\data\success.wav^;
!!SN&v2737=0:Pz-1;
Заодно глобальную сэкономишь.
Добавлено ([mergetime]1230648470[/mergetime]):
Вот это у меня тоже играет (левый клик на журнале):
!?CM0;
!!CM:I?y9;
!!CM&y9=5:R0;
!!VRz-3:S^PLAYCOME.WAV^;
!!SN&y9=5:Pz-3;
Да плевать. Функция вызывается и раз мне пишут, что не найден именно success.wav я все делаю верно. Просто так делать нельзя.
В справке указан обходной путь, но там расписано как поступать если заменяешь звук. А если свой - вот вопрос.
MasterOfPuppets
30 Dec 2008, 17:53
А я что делаю? Не понимаю...
Добавлено ([mergetime]1230648809[/mergetime]):
Вот это:
!!VRz-2:S^..\data\master\Azatot.WAV^;
Это ведь мой звук. И никакой другой он не заменяет.
Все, я понял. My bad. Мутил тут с библиотеками для Героев, а wav сохранил так, что замененная библиотека их не види что ли.
В общем, заменил по дефолту и...
Спасибо за помощь.
MasterOfPuppets
30 Dec 2008, 18:10
Подколол!)
Добавлено ([mergetime]1230649852[/mergetime]):
Вообще, для качественных и малообъёмных WAV мне нужно лишь две программы - foobar2000 и virtualDab. Первым - вырезаю нужный фрагмент из звук.файла, второй - задаю нужный битрейт.