![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#26
|
|||
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
Доброго всем времени суток! Тут (в соседнем топике) упорно обсуждалось внесение объекто-ориентированных элементов в NWScript. В связи с чем возникла мысля. Почему бы (даже без всякого ООП) ни сделать операторов выполняющих функцию функций AssignCommand и ActionDoCommand (старые функции, тоже оставить конечно). Т.е. создать операторы типа << - связать действие с объектом (a'la cout <<), и @(перед void fn() ) - преобразавать функцию в вид ActionDoCommand(fn()) Выглядить это должно примерно так:
Реализовать такую штуку, по идее, не сложно, но полезн. ИМХО :crazy: Сообщение отредактировал Friedrich - Mar 10 2005, 22:14 |
||
![]()
Сообщение
#27
|
|||||
Пингвиноид ![]() Класс: Обыватель Характер: True Neutral Раса: Человек ![]() |
Вообще-то в C++ переопределённый оператор "<<" для класса basic_ostream является исключением из правил (пусть и логичным исключением). Равно как и ">>" для класса basic_istream и всех его потомков. В скриптах nwn оператор "<<" означает битовый сдвиг влево. Т.е. нужно будет сделать полноценный механизм переопределения операторов (в принципе, с точки зрения C++ операторы - это те же функции). Т.е. заодно придётся и для функций делать. А переопределение операторов и функций нужно только в полноценном ООП (наследование, полиморфизм и т.д.). На это биоваревцы пойтить не смогут, к сожалению :no: P.S. Можно, конечно, придумать какой-нибудь другой оператор для такого действия, но это будет уже плодение нелогичных сущностей (нелогичных с точки зрения "плоского" программинга). Намного более логично:
А это реализовать будет достаточно просто - достаточно представить все объекты как структуры с указателями на функции в качестве методов. При вызове метода (на самом деле обычной функции) прозрачно передаётся OBJECT_SELF. |
||||
![]()
Сообщение
#28
|
|||||||||
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
Да ладно, что значит нужно? Если что-либо было бы удобно использоывать, так почему бы этого не сделать. А переопределние опраторов итак существует практически везде, например, в NWScript "+" - обозначает целосчисленное сложение, сложение вещественных чисел и объедение строк, т.е. в принципе, три различные опрации с тремя различными типами данных. Так что мешает переопределить "<<" для ситуации когда слева от него будет объект? И потом, NWScript - это не С++, и здесь не обязательно все должно быть честно написано на самом языке (по моим ощущениям NWScript, несморя на Си-образный синтаксис, идеологически похож на Паскаль, где "есть только компилятор, который выполняет стандартные процедуры").
Зато каждый раз придется писать идентификатор объекта. Вот если бы к этому что-то типа паскалевского
Ничего не понял. Но оператор за место функции AssignCommand, по моему все таки по проще будет. Кстати, а в C++ бывет передача функциям void-returning функции в качестве параметра (просто интерестно)? |
||||||||
![]()
Сообщение
#29
|
|||||||||||||||||||||||||
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
Разрешите уж и мне высказать некоторые комментарии: Leon PRO Feb 28 2005, 19:33 19. Чтобы в движке были нормальные эвенты, а не тот скудный набор, который есть в первой части... При нормальной реализации эвентов, даже этот ужаснейший heartbeat () не нужен будет. Мечта... - Эвенты чего ?!?!?! Физики? Динамики? Состояний? Поконкретней плз... я например явно указывал тип эвентов, когда писал... Ну, если не сказано чего эвенты, то вестимо имеются ввиду эвенты запускающие скрипты игры. Большинство скромных скриптеров ни с какими другими эвентами и вообще не работают. :) 33. Интерактивность ландшафта. не опять а снова! - Что подразумевается под Интерактивностью? ПО пунктам плз. У-у! Ну например, кидаю я в лесу файербол, от него загорается сухая опавшая листва, от нее загорается кустарник, от кустарника – деревья, в результате весь тайлсет в корне преображается. Не уверен, что имелось ввиду именно это, но подозреваю, что это не возможно (при приемлемом уровне использования ЦПУ). Хотя, наверное, можно сделать что-нибудь в таком роде. Имеется тайл, для которого предусмотрено два состояния (например, секция моста цела и обрушенная) и анимация перехода тайла из одного состояния, в другое. 36. Возможность делать простые заставки-ролики, как в БГ на фоне (возможно менять) текст описания модуля. Не понял! Ролики с камерой итак скриптуются сейчас, и видеоролики в БИК формате тоже... какие имелось в виду ?!?!?! Э-э. Разве можно запустить скриптом запустить бик-ролик в середине модуля, кажется нельзя (можно показать только при начале и завершении модуля). Наверное, имелось ввиду добавить возможность запустить бик-ролик из скрипта в любом месте модуля (например, на onEnter локации). В БГ как раз было что-то в этом роде. 49. Дать возможность генерить мобов выше 60 хит-дайса в одном классе. Может имелось ввиду выше 60 левела ? А зафига? Статсы мобу и так можно какие угодно прописать. Хит дайс, это кстати и есть суммарный левел по всем классам. //Расскрашивать надоело
Саммоны, фамильяры и т.п. при их призыве креэйтются по ресрефу (н.п. nw_fm_bat01 – фамильяр летучая мышь первого уровня). Однако их прототипы не доступны из палитры тулсета. Соответственно, нельзя посмотреть как они отскриптованы, переписать AI фамильяра и т.п., что не есть вери гуд. Полиморф, кажется, действительно целиком в 2da прописывается.
На данный момент существует всего одна модель старика и одна модель старухи (одежа старика и старухи прописана в их моделях). По этому, все старики и старухи во всех модулях выглядят одинаково. Под настрой одежды, очевидно, имеется ввиду, создание составных моделей стариков и старух (а-ля стандартные модели персов), на которых бы отражалось надетое обмундирование. (Бабака в фулл-плейте – это было бы стильно :-))
Ограничение по рассе – это не совсем то (Например, гоблин и багбер имеют одну расу – гоблинойд, а размер у них разный.) Хотелось бы по CREATURE_SIZE_* Constant Group // Размер имеет значение. :-)
// оффтоп: Никогда шардами не занимался (даже не был не на одном непустом шарде), но интересно, что такое рестарт и чем он так страшен. По чему нельзя сохранить на сервере сетевую игру и загрузить ее соответственно. Разве при этом, подключившись к серверу, игроки не окажутся на том месте, где они были в момент сохранения?
А чем не устраивает обычный идентификатор объекта, который итак уникален, в принципе? ObjectToString(oItem) и сохранить в БД, если надо. Lexey aka Hawk
Это в принципе и так легко написать:
Они и так есть SetTileMainLightColor(location, int, int) SetTileSourceLightColor(location, int, int) и прекпасно работают, кстати Управление иллюминацией плейсаблов не работает: Lighting is bugged in NWN, and has been since day one. It appears that it can't be fixed. The bug is that, even turning of a placeable's illumination will still cause a glow around it when the PC is nearby. Ноя надеюсь они это в НВН2 поправят, т.к. вроде бы будут перерабатывать систему освещения вообще (хотя черт его знает чего там будет :DB:).
А это еще зачем? Я бы сказал, что так только баги плодить. Тэг нужен чтобы идентифицировать объект, а от тэга, который меняется с течением времни, по моему больше проблем чем пользы. Создал новый объект (CopyObject) с новым тэгом и усе!
А чего тут объяснять? Параметры передаются только по значению. Указатели и ссылки не возможны. Соответственно, надо просить, не чтоб объяснили, а чтоб сделали возможность передачи параметров функциям по ссылке. Указатели, как мне кажется не нужны особо, если, конечно не делать из НВСкрипта полноценного объектно-ориентированного языка :lol: А документация, да, документация это всегда хорошо. В крайнем случае ее можно и не читаить…
Да, да! И еще возможность плавать, лазать по водосточным трубам и веревкам, прыгать через пропасти (и проваливаться в них), и соответственно скилы swim, climb, jump. Добавить к этому зависимость хайда от освещенности и мы получим Splinter Cell по ДНД (хотя динамически разрушаемого интерьера и там не было). Вообще было бы не плохо, а?
И пусть комментируют по-русски! Или, хотя бы, кириллицу не отрубают. И вообще, пусть договорятся о нормальной русской локализации. Еще была бы полезна возможность указания значения текстовых полей объектов (имя, описание и т.п), а также теста диалогов по StrRef. И соотвественно, встроенный в тулсет TLK-viewer. |
||||||||||||||||||||||||
![]()
Сообщение
#30
|
|||||||||||||||||
Пингвиноид ![]() Класс: Обыватель Характер: True Neutral Раса: Человек ![]() |
Ну если по-правильному, то это не совсем переопределение. Вернее, совсем не переопределение. Просто трактовка операторов жёстко "вшита" в компилятор. Но это частности, извиняюсь за поправку.
Гм... кстати, да. Хорошая идея. С последним вариантом with(...) {...} Это то, чего не хватает С++
Объект=обычная структура. Только у объекта есть методы - указатели на функции. И при вызове этих функций им незаметно от программера передаётся, например, первым аргументом указатель на сам объект, из которого произошёл вызов. Вот и весь ООП. Урезанный по самое не могу.
Это бывает и в обычном Си. Пишу по памяти, ибо указатели на функции использую редко, а чтобы точно сказать - перегрузиться в Линух надо. Объявление не указателя на функцию, а типа функции
P.S. Кстати, объявление функции можно и так использовать:
Добавлено slavaz'ом: все мои примеры почему-то оказались правильными и рабочими. :xz: To Aiwan: замолкаю, замолкаю.... ;) :) Сообщение отредактировал slavaz - Mar 12 2005, 11:33 |
||||||||||||||||
![]()
Сообщение
#31
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Народ. Язык скриптинга нам хрен изменят по наашему мнению. И правильно сделают. Опуститесь на землю матушку и не спмьтетут :) Без обид. ;)
|
![]()
Сообщение
#32
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Айв, да здесь НЕ МЕНЯТЬ НАДО. Это можно просто ДОБАВИТЬ. Логика работы внутренняя одна. Просто синтаксис гибче.
|
![]()
Сообщение
#33
|
|
Level 10 ![]() Класс: Монах Характер: Lawful Good Раса: Человек NWN: Контент ![]() |
DBColl: А это вы во главе с dumbo и slavaz'ом ( :hi: ) будете объяснять Обсидановцам :D
Кста, вопрос по переводу: как перевести "У эммитеров - все динамически изменяемые св-ва"??? И что это, собственно значит!?!?!? Как будто, кусок фразы выдернут! Например: "У эммитеров - все динамически изменяемые свойства должны быть доступны бла-бла-бла". :xz: Сообщение отредактировал Lemegeton - Mar 14 2005, 12:11 |
![]()
Сообщение
#34
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ЭТО КТО-нибудь думает переводить? Или все, герои сдулись? :dirol:
|
![]()
Сообщение
#35
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
Айв, ты заметил, что активность форумчан уже недели 2 как почти на нуле... может это объясняется тем, что перелом "весна" ? Но у меня лично 3 недели был период, когда я мог ужелять внимание лишь одному объекту в жизни. И деньги постоянно из нуля в минус уходят... Как только так сразу.. все будет.
|
![]() ![]()
Сообщение
#36
|
|
Level 10 ![]() Класс: Монах Характер: Lawful Good Раса: Человек NWN: Контент ![]() |
Айв, извиняй, тут дело обстоит примеро так:
1. Сижу читаю их форум. Врубаясь в фишку, вычеркиваем: Single Campaign (полностью), Системные возможности (полностью), Графические возможности (полностью), Серверные возможности (полностью) и добрых 3/4 Скриптинга. Раздел Aurora Toolset 2 там практически не обсуждается... 2. В основном там вопросы задают, а не предлагают свои решения. Не нашел еще ни одного ответа вроде "Спасибо ребята. Мы обязательно применим это в нашем проекте!"... 3. От №1 и №2 просто руки опустились. Просто не вижу смысла все это им постить!!! А работы над переводом - туева хуча. :xz: Хотя, может, не все так плохо? Вроде, какие-то обсуждения там ведутся... :unsure: А что, чел. с легальным ключем уже найден и доставлен на форум!? Если потороплюсь, могу предоставить перевод ко вторнику-среде, ведь, по сути, я весьма плохо знаю инглиш :xz: Сообщение отредактировал Lemegeton - Mar 25 2005, 15:34 |
![]()
Сообщение
#37
|
|||||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
В каком это смысле?
Что-то я не пойму. Объясни подробнее...
Надо сделать что б обсуждался. |
||||
![]()
Сообщение
#38
|
|||||
Level 10 ![]() Класс: Монах Характер: Lawful Good Раса: Человек NWN: Контент ![]() |
Англицкий я знаю на уровне 11 классов образования. Посему, что смог понять, то и понял. =)
Одиночная компания... ну... в общем, это "не туда". Есть там топик, но в нем, скорее, обсуждается СЮЖЕТ! (это-то нафига!?) :yes: Все скрипты (что смотрел) уже предлагалось другими участниками форума. :this: Графический движок не обсуждается. Вернее, обсуждается, но... э-э-э... это надо видеть. :xz: Серверные возможности не нашел -> не обсуждаются, что-ли?
Упс... Однако, обшибся. :unsure: Это, пожалуй, единственное, что, на мой взгляд, имеет смысл туды "запостить". :D Важный вопрос: так человек с лицензионной игрой уже имеется??? З.Ы. Это все что, уже на меня "повесили"!? С моими 11 классами и 3-мя корридорами образования в Инглише!? А никого по-достойней нет??? |
||||
![]()
Сообщение
#39
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Lemegeton я вот РНР не знаю а форум ковыряю. Так что ты у нас кандидат №1. :D
Чела с сиди кееем пока нет. Я этим не занимался, все что предлогали совершенно левый народ. Добавлено в [mergetime]1112078481[/mergetime] Так Ранма имеет официалку. Обещал зайти. |
![]()
Сообщение
#40
|
|||||||||
Level 3 ![]() Класс: Тайный Лучник Характер: Neutral Good Раса: Эльф NWN: Скриптинг [PW] ![]() |
Я то зашел... Только на английский все это вы сами переводить будете. :unsure: Добавлено в [mergetime]1113014619[/mergetime] А вообще, забавно смотрится. Пожелания из страны со 100 без нескольких % пиратсвом, которые человека с лицензией днём с огнём не сущут. :D Добавлено в [mergetime]1113015259[/mergetime]
Га. А каким образом я их менял? :) Распакуй синьки фамильяров из ресурсов и засунь в модуль — и всё появится в палитре.
Магическая брона принимает сама размер и формы... эээ... форму владельца. А ради нескольких бронек +0 делать это ограничение бессмысленно.
С одним исключением — объекты передаются по ссылке. Добавлено в [mergetime]1113015363[/mergetime] Кстати, а разве для постинга на форумах Обсидиан обязательно нужна лицензия? Добавлено в [mergetime]1113015584[/mergetime]
Это только на форумах NWN. Всех, кроме самого общего. Скорее всего, на форумах NWN2 может постить кто угодно, что вполне логично.
PS Но всётаки желательно для видимости иметь купленую игру, ибо смотрите после первого «Добавлено» :D |
||||||||
![]()
Сообщение
#41
|
|||||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
:D
Блин, ну я ж тебя и выискивал, такого ИЗБРАННОГО! С ключиком :ROFL: В общем как парни переведут, ты будешь нашим праламетером. Трусами белыми махать умеешь над головой? Потренеруйся! :D |
||||
![]()
Сообщение
#42
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
Кстати, насчет того "То было, то небыло" наше дело забабахать им список, пусть уважают.. =)
|
![]()
Сообщение
#43
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Leon PRO согласен! :good: Ну так, что-то я не вижу шевеления? Или пнуть кого надо? :) Я могу. Говорите КОГО :BB:
|
![]()
Сообщение
#44
|
|||||
Level 10 ![]() ![]() ![]() Класс: Клерик Характер: Lawful Neutral Раса: Человек NWN: Контент ![]() |
Посидел вот тут: http://nwn2forums.bioware.com/forums/viewforum.html?forum=100 Все мои вопросы, кроме 2da уже подняли (а может и его, я не все читал). Добрые девелоперы даже сказали, что будет мне список, и не один (т.е. конечно не мне сказали, а тем кто задал вопрос). :good:
Это вместо моего -
:yahoo: И кстати, СД-кей для постов вроде там не нужен. Добавлено в [mergetime]1113501375[/mergetime] Хотя я сам не пробовал. |
||||
![]()
Сообщение
#45
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
В общем тему я закрываю и в архив. Ясно что с вами каши не сваришь.
|
![]()
Сообщение
#46
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ПОДНИМАЮ ТЕМУ, В СВЯЗИ С ЧАТОМ С РАЗРАБАМИ.
|
![]()
Сообщение
#47
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
не чтобы обсуждать, а чтобы почитать и мб взять отсюда чего :)
|
![]() ![]() |
Текстовая версия | Сейчас: 12th May 2025 - 12:54 |