IPB

Здравствуйте, гость ( Вход | Регистрация )

8 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Идеи по расширению ERM, Чего не хватает, на ваш взгляд
NordStar
сообщение 17 Feb 2005, 08:55
Сообщение #1

Immortal
Сообщений: 1 995
Спасибо сказали: 6 раз




Вот такая идея:

если ввести тригер на изменение значения определенной (заданной) переменной, то можно было бы формировать то, что в объектно-ориентированном програмировании называется свойством. Тригер запускался бы сразу при попытке изменить значение, и в него как параметр передавалось бы новое значение. Фактически изменить значение переменной можно было бы только внутри такого тригера.

Это помогло бы во многих случаях, например-
есть глобальная переменная, значение которой должно быть идентичным у всех игроках в мультиплеере. Сейчас приходится все время, как только такая переменная изменяется, вызывать команды по передачи данных, что естественно путает структуру скрипта, делает его трудным в отладке. Если же изменив переменную автоматически мы тем самым запустили бы функцию обработчик (тригер), с условием возврата управления обратно, то все необходимое можно было бы описать только в ней, и не перегружать содержание скрипта.

Естественно есть еще десятки случаев, когда такая схема была бы очень полезной (контроль значений переменной, отрисовка чего-либо и т.д.)


--------------------
Усячески Ваш :)
Go to the top of the pageAdd Nick
 
+Quote Post
NordStar
сообщение 08 Mar 2005, 13:17
Сообщение #2

Immortal
Сообщений: 1 995
Спасибо сказали: 6 раз




Я думал тема актуальной будет. Ан нет.
Я не ахти какой скриптописатель, но в свое время попраграмировал в насыть. Совершенно необходим нормальный отладчик, с отслеживанием значений переменных и пошаговым выполнением.


--------------------
Усячески Ваш :)
Go to the top of the pageAdd Nick
 
+Quote Post
ZVS
сообщение 11 Mar 2005, 13:38
Сообщение #3

Member
Сообщений: 54
Спасибо сказали: 1 раз




В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода.
Вот бы только сил на все хватило...
Go to the top of the pageAdd Nick
 
+Quote Post
Гость_Arez_*
сообщение 27 May 2005, 07:17
Сообщение #4







Цитата(ZVS @ 11 Mar 2005, 13:38)
В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода.
  Вот бы только сил на все хватило...


А мне кажется что от ERM надо уходить. Слишком уж он заморочный, очень легко ошибится - 99% проблем со скриптами из-за этого. Вариантов, ИМХО два - либо сделать транслятор с какого-нибудь высокоуровнего языка на ERM, либо прикрутить простенький интерпретатор вроде Small или Luna плюс набор функций для WoG-фич.

PS:
Как-то давно начал делать транслятор с подмножества С, но уж больно вычурно даже вложенный if зафигачить, а уж циклы...
Go to the top of the pageAdd Nick
 
+Quote Post
NordStar
сообщение 27 May 2005, 09:47
Сообщение #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 но имеет весьма непривычный и не слишком удобный вид, так что примеры были бы весьма кстати.


--------------------
Усячески Ваш :)
Go to the top of the pageAdd Nick
 
+Quote Post
Чёртос-2 (Chorto...
сообщение 27 May 2005, 11:00
Сообщение #6

The Unicode Man
Сообщений: 993
Спасибо сказали: 6 раз




Нельзя ли ввести в ERM побитовые (логические) операции - логическое И, ИЛИ, НЕ, XOR (как он по-русски?) и т.д.? Иначе очень трудно делать скрипты, оперирующие многими флагами, к тому же совместимые с другими WoG-скриптами, которые многие флаги уже заняли. sad.gif


--------------------
© 2005–2011 Чёртос-2
Go to the top of the pageAdd Nick
 
+Quote Post
ZVS
сообщение 27 May 2005, 14:30
Сообщение #7

Member
Сообщений: 54
Спасибо сказали: 1 раз




Цитата(Chortos-2 @ 27 May 2005, 11:00)
Нельзя ли ввести в ERM побитовые (логические) операции - логическое И, ИЛИ, НЕ, XOR (как он по-русски?) и т.д.? Иначе очень трудно делать скрипты, оперирующие многими флагами, к тому же совместимые с другими WoG-скриптами, которые многие флаги уже заняли. sad.gif

Побитовые и логические - две большие разницы. Побитовые есть в среди команд !!VR, а логические используются в левой части тригеров и приемников (условное выполнение).
Видимо вы что-то другое имели в виду. Нельзя ли поконкретнее?
Go to the top of the pageAdd Nick
 
+Quote Post
Чёртос-2 (Chorto...
сообщение 27 May 2005, 15:30
Сообщение #8

The Unicode Man
Сообщений: 993
Спасибо сказали: 6 раз




Можно. Есть два числа, представленных в двоичном виде (из нулей и единиц). Логические операции зададут/сбросят биты в числе-результате, основываясь на этих двух:
  • AND — задаст те биты, которые в обоих числах были заданы (равны 1), и сбросит все остальные;
  • OR — задаст те биты, которые были заданы хотя бы в одном из чисел;
  • XOR — задаст те биты, которые были заданы только в одном из чисел;
  • NOT — применяется только к одному числу. Инвертирует все биты в числе.
Больше я, к сожалению, не помню...

А теперь примеры.
Число A = 10010100
Число B = 11010010

AND: 10010000
OR: 11010110
XOR: (0)1000110
NOT (с числом А): (0)1101011


--------------------
© 2005–2011 Чёртос-2
Go to the top of the pageAdd Nick
 
+Quote Post
NordStar
сообщение 27 May 2005, 16:03
Сообщение #9

Immortal
Сообщений: 1 995
Спасибо сказали: 6 раз




Чёртос-2, ты не смеши народ объясняя ZVS что такое логические операции biggrin.gif
Он это студентам не бось уже устал объяснять сам.
Т.е. я так понял тебя интересуют просто сами логические операции над числами как таковые.


--------------------
Усячески Ваш :)
Go to the top of the pageAdd Nick
 
+Quote Post
Чёртос-2 (Chorto...
сообщение 28 May 2005, 16:11
Сообщение #10

The Unicode Man
Сообщений: 993
Спасибо сказали: 6 раз




Он не понял (см. его сообщение), какие операции я имею в ввиду. Я и объяснил! biggrin.gif yes.gif А понял ты правильно wink.gif


--------------------
© 2005–2011 Чёртос-2
Go to the top of the pageAdd Nick
 
+Quote Post
Bourn
сообщение 29 May 2005, 19:23 (Сообщение отредактировал Bourn - 29 May 2005, 19:24)
Сообщение #11

Immortal
Сообщений: 2 415
Спасибо сказали: 60 раз




Цитата(ZVS @ 11 Mar 2005, 14:38)
В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода.
  Вот бы только сил на все хватило...

Неотлажененость кода особенно заметна в кампаниях, где из-за непоставленной точки с запятой( ; ) неработает скрипт и выдает кучу ошибок, а бывает литит вся игра sad.gif .


--------------------
Не лезь в дела Мудрых. Понять - не поймешь, а хлопот не оберешься.
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 02 Jul 2005, 21:22
Сообщение #12

В миру GrayFace
Сообщений: 2 529
Спасибо сказали: 817 раз




Remedy
Внедряя в ERM так званый RZT (REKVIZIT) команды мне удалось ускорить некоторые функции в 10 и больше раз!
А что это?

Мои предложения:
1) Когда герой стоит на строении, OB выдает свойства героя. Хотелось бы и свойства объекта.
2) Изменение Stack Exp у юнитов в городах.
3) Локальные функции и переменные, принадлежащии файлу скрипта - сразу снимет море проблем.


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
Horn
сообщение 04 Jul 2005, 19:18
Сообщение #13

Power Member
Сообщений: 160
Спасибо сказали: 7 раз




Цитата(sergroj @ 02 Jul 2005, 21:22)
1) Когда герой стоит на строении, OB выдает свойства героя. Хотелось бы и свойства объекта.

Не знал этого, надо запомнить. Спасибо.

Цитата
2) Изменение Stack Exp у юнитов в городах.

Это вроде бы можно сделать с помощью !!EX
Цитата
3) Локальные функции и переменные, принадлежащии файлу скрипта - сразу снимет море проблем.
Ну, с морем проблем это перебор, rolleyes.gif хотя не спорю, вещь весьма полезная.
Go to the top of the pageAdd Nick
 
+Quote Post
Beavis_seattle
сообщение 04 Jul 2005, 19:54
Сообщение #14

Fallen Angel
Сообщений: 158
Спасибо сказали: 0 раз




1. чтобы можно было использовать ert-Z переменные
ВЕЗДЕ где используются z-переменные.
2. Сделать таймер реального времени.
3. Увеличить кол-во переменных или чтобы каждый скрипт использовал свои переменные (ну типо как с w-переменными для каждого героя
определённое значение, а тут для каждогог скрипта свои).
4. !#OB63/34:Hz300; - вот такое бы неплохо сделать.

потом ещё чё нить добавлю... biggrin.gif

зы. а когда выдет русский ерм-хелп ? idontno.gif


--------------------

...and so remember, it's better to burn out then to fade away.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 04 Jul 2005, 21:01
Сообщение #15

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Надо сделать проверку на ошибки
Go to the top of the pageAdd Nick
 
+Quote Post
Bourn
сообщение 04 Jul 2005, 21:24
Сообщение #16

Immortal
Сообщений: 2 415
Спасибо сказали: 60 раз




Цитата(gamecreator @ 04 Jul 2005, 22:01)
Надо сделать проверку на ошибки

А вот это для кого ZVS писал?

В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода.
Вот бы только сил на все хватило...


--------------------
Не лезь в дела Мудрых. Понять - не поймешь, а хлопот не оберешься.
Go to the top of the pageAdd Nick
 
+Quote Post
deagle
сообщение 05 Jul 2005, 09:47
Сообщение #17

Member
Сообщений: 66
Спасибо сказали: 0 раз




Цитата(ZVS @ 11 Mar 2005, 13:38)
В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода.
  Вот бы только сил на все хватило...


Еще желательно добавить "молчаливый" обход ошибок. Что б игру по возможности не крэшило, а выполняло действие по умолчанию и не мучало сообщениями (если не включен режим отладки). В идеале было бы и перехватывать все ошибки приложения.
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 06 Jul 2005, 01:03
Сообщение #18

В миру GrayFace
Сообщений: 2 529
Спасибо сказали: 817 раз




Еще идея: сделать jump на N-ое кол-во строчек вверх или вниз


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
NordStar
сообщение 06 Jul 2005, 09:28
Сообщение #19

Immortal
Сообщений: 1 995
Спасибо сказали: 6 раз




Цитата(sergroj @ 06 Jul 2005, 01:03)
Еще идея: сделать jump на N-ое кол-во строчек вверх или вниз

В рамках одной процедуры, конечно.


--------------------
Усячески Ваш :)
Go to the top of the pageAdd Nick
 
+Quote Post
Ennin
сообщение 06 Jul 2005, 12:51
Сообщение #20

strange thing
Сообщений: 2 586
Спасибо сказали: 94 раза




2Remedy
уже обсуждаем нечто похожее

2sergroj
ни к чему, когда есть функции


--------------------
anyway the wind blows...
Go to the top of the pageAdd Nick
 
+Quote Post

8 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 11 August 2025 - 13:54
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика