![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]() ![]()
Сообщение
#1
|
|
![]() Immortal Сообщений: 1 995 Спасибо сказали: 6 раз ![]() |
Вот такая идея:
если ввести тригер на изменение значения определенной (заданной) переменной, то можно было бы формировать то, что в объектно-ориентированном програмировании называется свойством. Тригер запускался бы сразу при попытке изменить значение, и в него как параметр передавалось бы новое значение. Фактически изменить значение переменной можно было бы только внутри такого тригера. Это помогло бы во многих случаях, например- есть глобальная переменная, значение которой должно быть идентичным у всех игроках в мультиплеере. Сейчас приходится все время, как только такая переменная изменяется, вызывать команды по передачи данных, что естественно путает структуру скрипта, делает его трудным в отладке. Если же изменив переменную автоматически мы тем самым запустили бы функцию обработчик (тригер), с условием возврата управления обратно, то все необходимое можно было бы описать только в ней, и не перегружать содержание скрипта. Естественно есть еще десятки случаев, когда такая схема была бы очень полезной (контроль значений переменной, отрисовка чего-либо и т.д.) -------------------- Усячески Ваш :)
|
|
|
![]() |
Гость_Berserker_* |
![]() ![]()
Сообщение
#2
|
![]() |
Поймите Bourn, я ведь не сколько не поливаю грязью творение Славы или ещё кого-нибудь. Вовсе нет. ЕРМ-скрипты - это оптимальный вариант для людей, не сведующих в программировании. Но если мы например, хочем коренным образом поменять игру, то предполагается, что кода будет много, он должен быть оптимальным и разносторонним. Нужны:
1) Полная поддержка АПИ-функций 2) Полный доступ к памяти 3) Максимально сжатый и быстрый код 4) Различные типы данных (Планируются простые, строки, массивы, записи, стёки, словари, картели, списки) 5) Возможность прыжка в какую-нибудь часть кода. В ЕРМ при вызове функции, бусть даже самой маленькой происходит обнуление кучи переменных (1кб), хотя нам, например, нужно просто поменять значение элемента массива. 6) Что насчёт циклов? В ЕРМ такая возможность отсутствует, что очень обедняет игру 7) Динамическое выделение памяти, доступ к файлам 8) Возможность записи в определённую часть памяти. (Так как я планирую делать компилятор, то имена - вещь символическая) 9) Совместимость типов данных. Одним словом, если бы был языкоподобный диалект, то МОЖНО ПИСАТЬ ИГРУ!!! Можно сделать упрощённые функции для новичков, библиотеки функций. Зарезервировать например имена v[1]-v[10000], считая это переменными. Чтобы можно было писать так: For i in (1..10000) do v[i]=0; Одна строка для обнуления, и быстрый код. Я никого убеждать не собираюсь, это бесполезно и оскорбляет чуства тех, кто работал над Проектом ВоГ. Но циклы и доступ к памяти, а также подгрузку своих ДЛЛ в ЕРМ ввести необходимо. Впрочем, нужды у нас разные... |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 2 September 2025 - 12:10 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|