Город Мастеров
IPB

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

2 страниц V   1 2 >

aleVandal
Отправлено: Jan 24 2006, 19:28


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


QUOTE
Время НВН2 еще не скоро придет к нам.  Посуди, кто сможет купить английскую лицензионку после ее релиза? Когда пираты выкинут свой гениальный труд под названием НВН2у нас?


Вполне возможно даже раньше официального англоязычного релиза.
  Форум: Главный Зал · Просмотр сообщения: #67154 · Ответов: 39 · Просмотров: 48,683

aleVandal
Отправлено: Aug 28 2005, 21:16


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Могу у себя в генту скомпилить.
  Форум: Шарды рунета · Просмотр сообщения: #49103 · Ответов: 22 · Просмотров: 35,192

aleVandal
Отправлено: Aug 28 2005, 19:02


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Вобщем поэксперементировал я с установкой nwnx2 под фрю и вот что я имею сказать:
Как выяснилось, проблемма с запуском сервера с nwnx -
QUOTE

./nwserver: error while loading shared libraries: ./nwnx2.so: ELF file OS ABI invalid

была вовсе не в nwnx, а собственно в самом нвн-сервере. Дело в том что он распространяется в виде линуксовых бинарников(думаю это и так все знают:D) и в бзде запускается как приложение линукс(через compat). Вот тут и таится проблемма - nwserver отказывается грузить любые НЕлинуксовые библиотеки. А линуксовые грузит и не выпендривается. То есть - если so-шки nwnx скомпилить не во фре, а в линуксе, и подсунуть их нвсерверу, работающему во фре, то все должно быть пучком.

В общем имеем наглядное пособие вреда капитализма. Эхх... Ежили бы nwserver под юникс распространялся в исходниках - трабл этих не было б. :DB:
  Форум: Шарды рунета · Просмотр сообщения: #49098 · Ответов: 22 · Просмотров: 35,192

aleVandal
Отправлено: Aug 24 2005, 12:04


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


QUOTE
Насколько я понял, на Python`е писались все «координации» игры. Может даже и движок. В консоли выдаются пути, которых у меня на машине просто нет. Все они указаны в файлах с расширением .pyc, и, я так понимаю, идет просто перенаправление на строчки в этих и других файлах. Т.е. нужен установленный язык, чтобы скриптами задавать предметы и созданий (обычно, первое впечатление обманчиво). Как подключить свой модуль к игре я тоже не обнаружил. Мои догадки: простым переименованием главного файла. Но нигде на это указаний не нашел. Может тоже через Python.


Если там Python - то он надо полагать встроенный, ибо интерпретатор он и без него скрипты не исполнялись бы вообще. *.pyc - прекомпилиные питоновские скрипты. На счет хелпа -
help(название_функции)
Проще говоря - help() - это встроенная функция питона.
  Форум: Главный Зал · Просмотр сообщения: #48747 · Ответов: 56 · Просмотров: 55,428

aleVandal
Отправлено: Aug 22 2005, 12:26


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


QUOTE
на форуме говорят, что без ldl возможны траблы, а где добыть ldl для freebsd молчат.


Попробуй следующее:
в пункте 1 вместо
LIBS = @LIBS@ -ldl
подставь
LIBS = @LIBS@ -lc

Понимаю что
QUOTE

ps. дали место на виндовом серваке, поднимаю тестовый сервак там.

но может всетаки доведем эксперимент до конца?
  Форум: Шарды рунета · Просмотр сообщения: #48573 · Ответов: 22 · Просмотров: 35,192

aleVandal
Отправлено: Aug 21 2005, 23:13


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


QUOTE
С тестами вышел небольшой облом - не могу собрать nwnx под freebsd 5.4. Ищу другие варианты.


Значит так. Покопался я у себя и таки скомпилил nwnx под фрюшку.
FreeBSD именно 5.4. Честно говоря - меня удивило наличие нескольких грубых ляпов,хотя может быть я просто что-то пропустил. Точнее ляп всего один, но из него вытекает несколько ошибок. Итак, опишу порядок установки:

1) В корневом каталоге пакета открой файл Makefile.in и замени строку(вторая по счету)
LIBS = @LIBS@ -ldl
на
LIBS = @LIBS@

2) Следующий косяк, он же главный, связан с плагином для mysql. Вот тут то меня и удивило то что автор почему-то не включил возможность задать в параметрах configure путь к дереву каталогов mysql.
Итак, заходи в подкаталог db пакета. Открывай файл dbmysql.h и заменяй строку
#include <mysql/mysql.h>
на
#include "/usr/local/include/mysql/mysql.h"
Вместо /usr/local разумеется нужно подставить путь к дереву каталогов мускула на твоей машине. В моем случае - это /usr/local(помоему он такой по умолчанию), но у тебя он может быть другим(если prefix задавал).

3) Едем дальше. Все в том же каталоге db открой файл Makefile.in и замени строку
LIBS = @LIBS@ -L/usr/lib/mysql -lmysqlclient -lz
на
LIBS = @LIBS@ -L/usr/local/lib/mysql -lmysqlclient -lz
На счет /usr/local смотри пункт 2.

4) Выполняй
./configure
Можешь сразу задать --prefix=путь_к_каталогу_с_сервером_nwn

5) Вместо make нужно выполнять gmake
gmake

6) gmake install
Если не задавал prefix то этот шаг лучше пропустить.

7) Из корня пакета скопируй скрипт nwnstartup.sh в каталог с сервером(об этом подробнее смотри документацию). Если шаг 6 пропустил - то скопируй туда же *.so из корня пакета и из его подкаталогов.

Ну вот вроде и все. Эксперимент проводился на последней версии nwnx для linux(2.61 помоему).
Да сразу предупрежу - поскольку nwnserver'а для linux у меня нет - на работоспособность не проверял.
  Форум: Шарды рунета · Просмотр сообщения: #48546 · Ответов: 22 · Просмотров: 35,192

aleVandal
Отправлено: Aug 18 2005, 16:04


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Плагин готов.
Загрузить можно по адресу http://www.nwnxpython.narod.ru
Добавлено в 18:20
Маленькое замечание.
Только что заметил - в архив плагина я забыл положить ерф-ку с функциями. Если кто-то вдруг уже скачал - приношу извинения. Исправил.
  Форум: Шарды рунета · Просмотр сообщения: #48220 · Ответов: 10 · Просмотров: 18,521

aleVandal
Отправлено: Jul 25 2005, 14:35


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Ну тут уж как говорится - было бы желание:)
  Форум: Шарды рунета · Просмотр сообщения: #46709 · Ответов: 10 · Просмотров: 18,521

aleVandal
Отправлено: Jul 24 2005, 13:49


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


QUOTE
Эх, почему питон, а не перл?

а почему не иначе?:)
Я в перле не очень силен, так как особенно близко с ним не сталкивался.
Просто в питоне практически все структуры данных( встроенные типы данных языка, модули, классы, экземпляры классов, атрибуты классов, функции) представлены как объекты. Это позволяет осуществлять управление ими с помощью единого интерфейса.
Благодаря вышесказанному питон имеет великолепные возможности для встраивания его в приложения написанные на С/С++.

ЗЫ: каа, ты большой поклонник перл?
  Форум: Шарды рунета · Просмотр сообщения: #46595 · Ответов: 10 · Просмотров: 18,521

aleVandal
Отправлено: Jul 24 2005, 09:55


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


QUOTE
Он будет только под винь или под линукс тоже будет версия?

и под вынь и под линукс

QUOTE
можно конкретно, что может твой плагин, чего не может сам тулсет ???

все возможности языка Python в ваших руках. Единственное ограничение - как я уже говорил, обмен данными только ввиде строк. Например благодаря высокоуровневым типам данных ни что не мешает выбирать из базы данных не одиночные записи, а полноценные наборы данных, по которым не составит труда наладить навигацию в стиле GetFirst... GetNext...

Тривиальнейший пример - чтение/запись файлов:

Класс на Python:
Neverwinter Script Source
class CNWNXPythonFile:
    def __init__( self, file_name, open_mod):
    try:
        self.oFile = open( file_name, open_mod)
    except IOError:
        pass
   
    def __del__( self):
    self.oFile.close()
    del self.oFile
   
    def ReadLine( self, size=-1):
    try:
        ret = self.oFile.readline(size)
        if not ret:
        ret = &#39;NONE&#39;
        self.oFile.close()
        return ret   
    except IOError:
        return &#39;NONE&#39;
    except ValueError:
        return &#39;NONE&#39;       
   
    def WriteLine( self, wstr):
    try:
        self.oFile.write(wstr)
        self.oFile.flush()
        return &#39;TRUE&#39;
    except IOError:
        return &#39;FALSE&#39;
    except ValueError:
        return &#39;FALSE&#39;       
   
    def IsOpen( self):
    try:
        if not self.oFile.closed:
        return &#39;TRUE&#39;
        else:
        return &#39;FALSE&#39;
    except:
        return &#39;FALSE&#39;


Не буду сейчас приводить полный цикл создания и подключения к нвн питоновского модуля, ибо слишком это долгая песня( все это разумеется будет включено в документацию). Приведу пример описания нескольких конечных функций в нвн скриптах:
Neverwinter Script Source
//открыть файл filename в режиме mod, вернет идентификатор созданного объекта
string OpenFile(string filename, string mod);
//читает строку из файла размером size или если size<=0 то до '\n'
string ReadLine( string PyObjectId,int size = -1);
//закроет файл и удалит объект( PyObjectId - идентификатор объекта )
string CloseFile(string PyObjectId);



Добавлено в [mergetime]1122188234[/mergetime]
упс - а что кавычки использовать нельзя?
Добавлено в [mergetime]1122188285[/mergetime]
я вот об этом
Neverwinter Script Source
#39
  Форум: Шарды рунета · Просмотр сообщения: #46569 · Ответов: 10 · Просмотров: 18,521

aleVandal
Отправлено: Jul 23 2005, 21:20


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Я занимаюсь разработкой плагина для NWNX. Суть плагина состоит в том что в него встроен интерпретатор Python, что позволяет исполнять питоновские скрипты из нвн-скриптов. Предусмотрены следующие возможности:
0) выполнение строки, содержащей одну или несолько инструкций на языке Python. Передача параметров отсутствует. Результата не возвращает.
1) выполнение файла. Почти то же что и предыдущее, за исключением того, что питоновский код считывается из файла. Передача параметров отсутствует. Результата не возвращает.
2) вызов функции, содержащейся в каком либо модуле. Это полноценный вызов функции со всеми вытекающими. Функция получает параметры из нвн-скрипта и возвращает результат. Это уже кое что поинтереснее, чем предыдущие, однако недостаток налицо - посредством функции возможно выполнение какого-либо одноразового действия.
3) возможность работы с объектами питона. В нвн-скриптах взаимодействие с объектами питона реализуется следующей последовательностью действий:
а) создание объекта
б) взаимодействие с атрибутами объекта посредством вызова его методов( с передачей параметров и возвращением результата).
в) удаление объекта

Для тех кто не знаком с NWNX: обмен данными осуществляется только при помощи строк.
Конечно, благодаря возможности создания плагинов для NWNX можно писать собственные модули на С++, но написание программ на питоне намного проще. К тому же ввиду отсутствия этапа компиляции намного упрощается отладка и сопровождение. Так же следует учесть, что каждый отдельный плагин к NWNX - это дллка постоянно висящая в памяти, в то время как мой плагин позволяет скриптеру самому решать вопросы создания/удаления объектов.

Тема я создал для того чтобы узнать мнение модульмэйкеров - интересна вам такая разработка или нет. Подробная информация будет предоставлена мной к моменту завершения работы над плагином. Оставляйте свои отзывы и если вас заинтересовали возможности плагина я готов ответить на вопросы.
  Форум: Шарды рунета · Просмотр сообщения: #46556 · Ответов: 10 · Просмотров: 18,521

aleVandal
Отправлено: Jun 17 2005, 18:03


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


QUOTE
Ты не внимательно читал, я нигде не говорил что можно вызывать подпрограмму из НВН-скриптов

я уже сам понял. А тем не менее вопрос весьма интересен.
  Форум: Шарды рунета · Просмотр сообщения: #44244 · Ответов: 28 · Просмотров: 51,898

aleVandal
Отправлено: Jun 16 2005, 14:27


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Мне приходилось писать систему лута.
Проблемму с миниязыком задания параметров лута я решал посредством навешивания на моба локальной переменной-строки. При этом создавался какой нибудь плэйсэбл, в инвенторе которого лежали все шмотки, могущие оказаться в луте у мобов оперделенной группы. То есть плэйсэбл выступал в роли группы предложенной каа. Перемнная строка имела следующий формат:

[шанс выпадания золота из моба]_[XdY - от скольки до скольки золота, если оно выпадает в лут]_[шанс выпадания шмоток]_[XdY - количество шмоток в луте(шмотки из инвенторя плэйсжбла)]_[таг плэйсэбла с возможными шмотками]

QUOTE
Еще лучше если кто-то еще из скриптеров заинтересуется, одному писать и тестить скучно.

Почему бы и нет.

QUOTE
Сам скрипт предпологается писать на чем-то кроссплатформенном, скорее всего на перле.

Если не секрет, как вызвать подпрограмму из нвн-скриптов, написанную на каком-либо другом языке.
  Форум: Шарды рунета · Просмотр сообщения: #44079 · Ответов: 28 · Просмотров: 51,898

aleVandal
Отправлено: Mar 11 2005, 20:05


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


QUOTE
Больше чем уверен, что у вас ничерта не выйдет.
Ответьте хотя бы на ряд простых вопросов:
Кто-нибудь из вас играл на шардах? ДМил? Как долго? Читал сеттинг Варкафта, знает его историю?
Поверьте, шард, хороший шард, это намного сложнее, чем намапить локи и сделать скрипты. Нужно как минимум подробное описание мира, описание каждой локи, каждого ключевого непися. А ведь ещё системы смерти, спауна, лута, отдыха, те же мобы - а сделать хорошего моба очень непросто.
Вы представляете, с чем вам предстоит столкнуться?
А то что я вижу сейчас:

...не тянет даже на посредственный шард. По-моему вы ещё сами не знаете, чего хотите.

Вы все еще хотите сделать убершард? Тогда мы идем к вам!


BUBLIK - с твоей стороны критика только начинающегося( хоть и аляповато) проекта звучит неуместно хотя бы потому, что ваш собственный проект скончался даже не в зародыше, а еще на ранней стадии зачатия. И это несмотря на серьезные планы и отличное знание сеттинга. Не даром вы стыдливо игнорируете собственный раздел форума.

  Форум: Главный Зал · Просмотр сообщения: #30363 · Ответов: 107 · Просмотров: 83,270

aleVandal
Отправлено: Feb 28 2005, 17:08


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


QUOTE
А что, можно размер строки динамичестки изменять?


Размер массива( коим в общемто и является строка ) ,если память под него выделена динамически,
разумеется можно менять - функцией realloc например.
  Форум: Главный Зал · Просмотр сообщения: #28678 · Ответов: 23 · Просмотров: 27,218

aleVandal
Отправлено: Feb 28 2005, 15:41


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Neverwinter Script Source
strcat(sResult, sBuf);

ты в несуществующую строку копируешь. Точнее она у тебя существует - НО память под нее выделена статически и состоит она из всего одного символа "\0". Память под строку нужно выделять динамически - иначе бессмысленно ее возвращать из функции. Размер строки нужно выделить либо сразу такой чтобы в нее влезли все твои подстроки либо изменять его по мере надобности.

И вообще - strcat из семейства древних дерьмовых строковых функций - целостность и размерность они не контролируют.
  Форум: Главный Зал · Просмотр сообщения: #28665 · Ответов: 23 · Просмотров: 27,218

Важно! Скрипты
aleVandal
Отправлено: Jan 11 2005, 08:55


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


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


Нет. Только шмоткой или шкуркой.

главный недостаток этого метода - что такое повышение будет считаться бонусом к характеристике, а бонус этот, в свою очередь, не может быть больше 12.
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #21566 · Ответов: 3670 · Просмотров: 738,241

aleVandal
Отправлено: Jan 7 2005, 23:47


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Я тоже начинал с ZX Spectrum Basik :crazy: .
  Форум: Главный Зал · Просмотр сообщения: #21095 · Ответов: 23 · Просмотров: 27,218

Важно! Скрипты
aleVandal
Отправлено: Jan 7 2005, 14:40


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Я пробовал - все ОК.
Если у тебя никаких сообщений не выдается при вызове функции о невозможности отдыха - значит сам косячишь. Ты уверен что на персонажа ставил ActionRest? - если ты вызывал функцию не из событий персонажа - то она не на него срабатывала.
То есть нужно - AssignCommand(oPC,ActionRest());
- где oPC - нужный перс.
Если и так не попрет попробуй
AssignCommand(oPC,ClearAllActions());
AssignCommand(oPC,ActionRest());
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #21028 · Ответов: 3670 · Просмотров: 738,241

Важно! Скрипты
aleVandal
Отправлено: Jan 7 2005, 12:39


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


void ActionRest();
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #21022 · Ответов: 3670 · Просмотров: 738,241

aleVandal
Отправлено: Jan 7 2005, 12:33


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


C/C++ в любых средах(в т.ч. Visual, Builder). В основном на нем и пишу.
Pascal - постольку поскольку, на уровне Delphi. Perl, PHP...
Одно время баловался Assembler'ом - но так как не удалось найти в инете серьезной современной литературы то мои познания ограничились в нем институтскими. Причем ключевое слово именно "современной" - потому как по старым учебникам -
QUOTE
шаг влево-вправо - error

QUOTE
Borland Visual C++
- что за зверь? Ты наверное билдер имел ввиду.
  Форум: Главный Зал · Просмотр сообщения: #21021 · Ответов: 23 · Просмотров: 27,218

aleVandal
Отправлено: Dec 29 2004, 21:54


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Создавай мобов в палитре и вешай прям там на них переменную, в которую загоняй параметры выпаданипя лута(вероятность выпадания денег, от скольки до скольки денег если выпали, вероятность выпадания шмоток[сколько из скольки возможных (сами шмотки для лута можно скинуть в какой нибудь сундук)] и т.д. и т.п.). Скрипт для обработки этой ботвы вешай на OnDeath моба(не забудь убрать стандартный ).
  Форум: Шарды рунета · Просмотр сообщения: #19926 · Ответов: 4 · Просмотров: 8,721

aleVandal
Отправлено: Oct 29 2004, 11:19


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


QUOTE
Когда 2 БД (полностью заполненые до этого) освобождаются на половину, то они из OnLoad сливаются в новую, а старые убиваются.

так и непонял что ты хотел этим сказать... БД заполненная нестандартными предметами освобождается наполовину? Тогда где будут храниться нестандартные предметы из нее? Или обе бд освобождаются наполовину? Если да - то засчет чего?
А то что вещи не содержащиеся в палитре в MySQL не сохранить - это я и сам отлично знаю. Для этого необходимо знать полную структуру внутреннего представления объектов в нвн. А поповоду изменения внешнего вида вещей - так это можно реализовать за счет локальных переменных, которые в свою очередь путем нехитрых манипуляций( читай - написать немного продвинутые функции по работе с локальными переменными) можно абсолютно независимо от имени читать с объекта и сохранять в бд.
  Форум: Шарды рунета · Просмотр сообщения: #14736 · Ответов: 14 · Просмотров: 18,200

aleVandal
Отправлено: Oct 28 2004, 19:25


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Fallout: Tactics - это все-таки не совсем рпг. Скорее это тактическая стратегия с элементами рпг, но это ей вовсе не мешает быть отличной игрушкой.
  Форум: СRPG · Просмотр сообщения: #14704 · Ответов: 29 · Просмотров: 37,101

Важно! Скрипты
aleVandal
Отправлено: Oct 27 2004, 19:40


Level 4
**

Группа: Members
Сообщений: 71
Регистрация: 06.05.2004
Пользователь №: 64


Менее извратный способ - создать 2дашку и забивать в нее таги(или ресрефы) локаций. Всего то делов остается - пробежать все строчки одного столбца( с тагами карт ) :crazy:
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #14628 · Ответов: 3670 · Просмотров: 738,241

2 страниц V   1 2 >

Есть новые сообщения  Открытая тема (есть новые ответы)
Нет новых сообщений  Открытая тема (нет новых ответов)
Горячая тема (есть новые сообщения)  Горячая тема (есть новые ответы)
Горячая тема (нет новых сообщений)  Горячая тема (нет новых ответов)
Опрос (есть новые голоса)  Опрос (есть новые голоса)
Опрос (нет новых голосов)  Опрос (нет новых голосов)
Тема закрыта  Закрытая тема
Тема перемещена  Тема перемещена
 

Текстовая версия Сейчас: 10th November 2024 - 20:55