![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]() ![]()
Сообщение
#1
|
|
![]() Immortal Сообщений: 1 995 Спасибо сказали: 6 раз ![]() |
Вот такая идея:
если ввести тригер на изменение значения определенной (заданной) переменной, то можно было бы формировать то, что в объектно-ориентированном програмировании называется свойством. Тригер запускался бы сразу при попытке изменить значение, и в него как параметр передавалось бы новое значение. Фактически изменить значение переменной можно было бы только внутри такого тригера. Это помогло бы во многих случаях, например- есть глобальная переменная, значение которой должно быть идентичным у всех игроках в мультиплеере. Сейчас приходится все время, как только такая переменная изменяется, вызывать команды по передачи данных, что естественно путает структуру скрипта, делает его трудным в отладке. Если же изменив переменную автоматически мы тем самым запустили бы функцию обработчик (тригер), с условием возврата управления обратно, то все необходимое можно было бы описать только в ней, и не перегружать содержание скрипта. Естественно есть еще десятки случаев, когда такая схема была бы очень полезной (контроль значений переменной, отрисовка чего-либо и т.д.) -------------------- Усячески Ваш :)
|
|
|
![]()
Сообщение
#2
|
|
![]() Immortal Сообщений: 1 995 Спасибо сказали: 6 раз ![]() |
Я думал тема актуальной будет. Ан нет.
Я не ахти какой скриптописатель, но в свое время попраграмировал в насыть. Совершенно необходим нормальный отладчик, с отслеживанием значений переменных и пошаговым выполнением. -------------------- Усячески Ваш :)
|
|
|
![]()
Сообщение
#3
|
|
Member Сообщений: 54 Спасибо сказали: 1 раз ![]() |
В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода.
Вот бы только сил на все хватило... |
|
|
Гость_Arez_* |
![]()
Сообщение
#4
|
![]() |
Цитата(ZVS @ 11 Mar 2005, 13:38) В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода. Вот бы только сил на все хватило... А мне кажется что от ERM надо уходить. Слишком уж он заморочный, очень легко ошибится - 99% проблем со скриптами из-за этого. Вариантов, ИМХО два - либо сделать транслятор с какого-нибудь высокоуровнего языка на ERM, либо прикрутить простенький интерпретатор вроде Small или Luna плюс набор функций для WoG-фич. PS: Как-то давно начал делать транслятор с подмножества С, но уж больно вычурно даже вложенный if зафигачить, а уж циклы... |
|
|
![]()
Сообщение
#5
|
|
![]() Immortal Сообщений: 1 995 Спасибо сказали: 6 раз ![]() |
Цитата(Arez @ 27 May 2005, 07:17) А мне кажется что от ERM надо уходить. Слишком уж он заморочный, очень легко ошибится - 99% проблем со скриптами из-за этого. Вариантов, ИМХО два - либо сделать транслятор с какого-нибудь высокоуровнего языка на ERM, либо прикрутить простенький интерпретатор вроде Small или Luna плюс набор функций для WoG-фич. PS: Как-то давно начал делать транслятор с подмножества С, но уж больно вычурно даже вложенный if зафигачить, а уж циклы... Это стандартная проблема того, кто привык к одному языку при переходе на другой. Перейти на что-то с ERM невыполнимая задача да и не нужная - кто перетранслировать будет существующие скрипты? Другое дело, придать ERM большее удобство и структурность, но расширяя синтаксис а не сужая его, так чтобы новые более широкие конструкции были, но и старые работоспособными оставались. КРоме того, объявлено, что 3.59 будет последней версией WOG и думать о чем то грандиозном уже не приходится более. Для меня лично важен тригер на изменение переменной, что резко упростит структуру скриптов, сделает их читабельнее и уменьшит количество ошибок. Ратовал бы я и за толковый хелп, написанный таким образом, чтобы были рассмотрены примеры стандартных алгоритмических структур на ERM - цикл, ветвление, множественный выбор, реализация типов данных, функция и процедура, с введение тригера на изменение переменной даже свойства. Все это есть в ERM но имеет весьма непривычный и не слишком удобный вид, так что примеры были бы весьма кстати. -------------------- Усячески Ваш :)
|
|
|
![]()
Сообщение
#6
|
|
![]() The Unicode Man Сообщений: 993 Спасибо сказали: 6 раз ![]() |
Нельзя ли ввести в ERM побитовые (логические) операции - логическое И, ИЛИ, НЕ, XOR (как он по-русски?) и т.д.? Иначе очень трудно делать скрипты, оперирующие многими флагами, к тому же совместимые с другими WoG-скриптами, которые многие флаги уже заняли.
![]() -------------------- |
|
|
![]()
Сообщение
#7
|
|
Member Сообщений: 54 Спасибо сказали: 1 раз ![]() |
Цитата(Chortos-2 @ 27 May 2005, 11:00) Нельзя ли ввести в ERM побитовые (логические) операции - логическое И, ИЛИ, НЕ, XOR (как он по-русски?) и т.д.? Иначе очень трудно делать скрипты, оперирующие многими флагами, к тому же совместимые с другими WoG-скриптами, которые многие флаги уже заняли. ![]() Побитовые и логические - две большие разницы. Побитовые есть в среди команд !!VR, а логические используются в левой части тригеров и приемников (условное выполнение). Видимо вы что-то другое имели в виду. Нельзя ли поконкретнее? |
|
|
![]()
Сообщение
#8
|
|
![]() The Unicode Man Сообщений: 993 Спасибо сказали: 6 раз ![]() |
Можно. Есть два числа, представленных в двоичном виде (из нулей и единиц). Логические операции зададут/сбросят биты в числе-результате, основываясь на этих двух:
А теперь примеры. Число A = 10010100 Число B = 11010010 AND: 10010000 OR: 11010110 XOR: (0)1000110 NOT (с числом А): (0)1101011 -------------------- |
|
|
![]()
Сообщение
#9
|
|
![]() Immortal Сообщений: 1 995 Спасибо сказали: 6 раз ![]() |
Чёртос-2, ты не смеши народ объясняя ZVS что такое логические операции
![]() Он это студентам не бось уже устал объяснять сам. Т.е. я так понял тебя интересуют просто сами логические операции над числами как таковые. -------------------- Усячески Ваш :)
|
|
|
![]()
Сообщение
#10
|
|
![]() The Unicode Man Сообщений: 993 Спасибо сказали: 6 раз ![]() |
Он не понял (см. его сообщение), какие операции я имею в ввиду. Я и объяснил!
![]() ![]() ![]() -------------------- |
|
|
![]()
Сообщение
#11
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
Цитата(ZVS @ 11 Mar 2005, 14:38) В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода. Вот бы только сил на все хватило... Неотлажененость кода особенно заметна в кампаниях, где из-за непоставленной точки с запятой( ; ) неработает скрипт и выдает кучу ошибок, а бывает литит вся игра ![]() -------------------- |
|
|
![]()
Сообщение
#12
|
|
![]() В миру GrayFace Сообщений: 2 529 Спасибо сказали: 817 раз ![]() |
Remedy
Внедряя в ERM так званый RZT (REKVIZIT) команды мне удалось ускорить некоторые функции в 10 и больше раз! А что это? Мои предложения: 1) Когда герой стоит на строении, OB выдает свойства героя. Хотелось бы и свойства объекта. 2) Изменение Stack Exp у юнитов в городах. 3) Локальные функции и переменные, принадлежащии файлу скрипта - сразу снимет море проблем. -------------------- ДНК банана на 50% состоит из человека.
|
|
|
![]()
Сообщение
#13
|
|
Power Member Сообщений: 160 Спасибо сказали: 7 раз ![]() |
Цитата(sergroj @ 02 Jul 2005, 21:22) 1) Когда герой стоит на строении, OB выдает свойства героя. Хотелось бы и свойства объекта. Не знал этого, надо запомнить. Спасибо. Цитата 2) Изменение Stack Exp у юнитов в городах. Это вроде бы можно сделать с помощью !!EX Цитата 3) Локальные функции и переменные, принадлежащии файлу скрипта - сразу снимет море проблем. Ну, с морем проблем это перебор, ![]() |
|
|
![]()
Сообщение
#14
|
|
![]() Fallen Angel Сообщений: 158 Спасибо сказали: 0 раз ![]() |
1. чтобы можно было использовать ert-Z переменные
ВЕЗДЕ где используются z-переменные. 2. Сделать таймер реального времени. 3. Увеличить кол-во переменных или чтобы каждый скрипт использовал свои переменные (ну типо как с w-переменными для каждого героя определённое значение, а тут для каждогог скрипта свои). 4. !#OB63/34:Hz300; - вот такое бы неплохо сделать. потом ещё чё нить добавлю... ![]() зы. а когда выдет русский ерм-хелп ? ![]() -------------------- ...and so remember, it's better to burn out then to fade away. |
|
|
![]()
Сообщение
#15
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
Надо сделать проверку на ошибки
|
|
|
![]()
Сообщение
#16
|
|
![]() Immortal Сообщений: 2 415 Спасибо сказали: 60 раз ![]() |
Цитата(gamecreator @ 04 Jul 2005, 22:01) Надо сделать проверку на ошибки А вот это для кого ZVS писал? В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода. Вот бы только сил на все хватило... -------------------- |
|
|
![]()
Сообщение
#17
|
|
![]() Member Сообщений: 66 Спасибо сказали: 0 раз ![]() |
Цитата(ZVS @ 11 Mar 2005, 13:38) В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода. Вот бы только сил на все хватило... Еще желательно добавить "молчаливый" обход ошибок. Что б игру по возможности не крэшило, а выполняло действие по умолчанию и не мучало сообщениями (если не включен режим отладки). В идеале было бы и перехватывать все ошибки приложения. |
|
|
![]()
Сообщение
#18
|
|
![]() В миру GrayFace Сообщений: 2 529 Спасибо сказали: 817 раз ![]() |
Еще идея: сделать jump на N-ое кол-во строчек вверх или вниз
-------------------- ДНК банана на 50% состоит из человека.
|
|
|
![]()
Сообщение
#19
|
|
![]() Immortal Сообщений: 1 995 Спасибо сказали: 6 раз ![]() |
Цитата(sergroj @ 06 Jul 2005, 01:03) Еще идея: сделать jump на N-ое кол-во строчек вверх или вниз В рамках одной процедуры, конечно. -------------------- Усячески Ваш :)
|
|
|
![]()
Сообщение
#20
|
|
![]() strange thing Сообщений: 2 586 Спасибо сказали: 94 раза ![]() |
2Remedy
уже обсуждаем нечто похожее 2sergroj ни к чему, когда есть функции -------------------- anyway the wind blows...
|
|
|
![]() ![]() |
Текстовая версия | Сейчас: 11 August 2025 - 13:54 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|