Syntaxys
Jan 8 2012, 15:48
Цитата(Flaristan @ Jan 8 2012, 15:14)

Рекомендую - для написания тривиальных эвентов и в качестве удобного пособия примеров для изучения NWN-скриптинга.
Спасибо большое, но мне лексиконом как то удобнее пользоваться =)
Цитата(Flaristan @ Jan 8 2012, 15:14)

P.S.: А если с инглишем не оч – например можно использовать хотя бы
это.

С этим пока проблем не возникало =)
Syntaxys
Jan 13 2012, 15:52
Как "поссорить" игроков? =)
Если я создам две враждебные фракции, репутацию игрока по умолчанию к обоим 100. А потом скриптом сделаю первому игроку - 100 репутации ко второй фракции, а второму игроку -100 репутации к первой фракции, то будут ли игроки враждебны по умолчанию друг к другу?
Flaristan
Jan 13 2012, 16:52
Не будут. Смена отношения к одним и тем же фракциям никак не повлияет на отношения между субъектами ее смены. К тому же PC - фракция не имеющая отношений сама к себе (т.е. все ПС итак сами за себя).
Для выставления ПС-шного «дизлайка» есть отдельная функция: SetPCDislike.
Чисто на всякий случай:
- Набираешь в поисковой строке Лексикона «Function Functions» и он тебе предлагает сноску «Function Categories» - открыв ее, получишь классификацию всех функций НВН-скриптинга (это удобно чтоб не искать нужную функцию перебором всех функций в тулсете);
- Тем не менее, рекомендую сделать и это (перебор всех функций в тулсете) как-нибудь хотя бы 1 раз, чтоб отметить заведомо интересные.
denis0k
Jan 13 2012, 17:07
Цитата
Как "поссорить" игроков? =)
Легко - никак. Все игроки - одна фракция.
Сложно - заморачиваться с дизлайками - прогонять всех в цикле и выставлять друг дружке вражду. Но т.к. игрок вручную может снять дизлайк через меню, то делать это надо ещё и регулярно, например, в хертбите модуля.
Syntaxys
Jan 13 2012, 19:18
Цитата(Flaristan @ Jan 13 2012, 16:52)

SetPCDislike
Большое спасибо. А делает ли SetPCDislike дизлайк между игроками "насильственным?" =)
Т.е. смогут ли игроки поставить обратно "лайк" из списка игроков?
denis0k, опередил. Спасибо за ответ =)
Пока что всё стало ясно =)
Не совсем по теме тулсета, но всёже: можно как-нибудь запустить 2 копии Невервинтера на одном компе не заморачиваясь с виртуальными машинами и тд?
Цитата(Syntaxys @ Jan 13 2012, 20:18)

Не совсем по теме тулсета, но всёже: можно как-нибудь запустить 2 копии Невервинтера на одном компе не заморачиваясь с виртуальными машинами и тд?
Только правкой бинарника.
Flaristan
Jan 13 2012, 21:10
Поиск кинул сразу на Гем. 
(походу там залито корявовато но можно поискать сами файлы отдельно в инете)
denis0k
Jan 13 2012, 21:43
Попробуй самый простой вариант - запустить от разных пользователей (только вроде админ права нужны обоим).
D1g1TalAn93l
Jan 20 2012, 21:59
А можно ли отредактиривоать оригенальную расу? например чтоб у дроу небыло измение уровня +2?
denis0k
Jan 20 2012, 22:08
В нвн1 субрас нет по дефолту. В нвн2 есть субрасовый 2да (имя что-то типа racialsubtype), там должен быть столбец ECL.
D1g1TalAn93l
Jan 20 2012, 22:22
этот файл возможно отредактировать с помощью тулсета?
а все,нашел программу. Спасибо за помошь
Agrhrmrbr
Jan 30 2012, 18:42
Здравствуйте. Можно ли в НВН сделать свою аватарку игроку и как это делается?
Anakondar
Jan 30 2012, 19:03
Можно. Нужно лишь в папочку с портретами запихать картинки с определёнными размерами (4 штуки разного размера)
Talarasha
Jan 30 2012, 19:05
Можно запихать одну и в игре набрать ConvertPortrait, он сам их отмасштабирует.
Valeroy
Feb 2 2012, 22:37
Занимаюсь модулем с другом вместе, но хотим делать карты сразу вдвоем. Такой ворос, если я буду делать в другом модуле карты, я могу их как то, от туда достать и вставить в основной модуль
Заранее спасибо...
Цитата(Valeroy @ Feb 2 2012, 23:21)

Занимаюсь модулем с другом вместе, но хотим делать карты сразу вдвоем. Такой ворос, если я буду делать в другом модуле карты, я могу их как то, от туда достать и вставить в основной модуль
Заранее спасибо...
Спасибо, нашел сам)
RaVeN71
Feb 6 2012, 17:29
Возникли проблемы с добавлением хаков в модуль, когда допустим я создаю новый модуль и добавляю туда хаки и тлк, все идет нормально, создаются локации, мобы, постройки итд, после того как я заного открываю модуль тот же в который я довлял хаки сепы итд, у меня вылазиет ошибка с списком хаков не добавленых в модуль
Хотя все эти хаки я добавлял в модуль и создавал локации нормально.
Знающие люди отпишите подробно как решить эту проблему.
Цитата(RaVeN71 @ Feb 6 2012, 17:25)

Возникли проблемы с добавлением хаков в модуль, когда допустим я создаю новый модуль и добавляю туда хаки и тлк, все идет нормально, создаются локации, мобы, постройки итд, после того как я заного открываю модуль тот же в который я довлял хаки сепы итд, у меня вылазиет ошибка с списком хаков не добавленых в модуль
Хотя все эти хаки я добавлял в модуль и создавал локации нормально.
Знающие люди отпишите подробно как решить эту проблему.
http://s017.radikal.ru/i429/1202/e7/a7e57168e64e.jpg там вверху я ссылку не правильно сделал.
Ilerien
Feb 6 2012, 18:54
Ради интереса можно посчитать общее количество подключаемых хаков. Ошибка будет, если их больше 57.
Agrhrmrbr
Feb 22 2012, 13:28
Цитата(Talarasha @ Jan 30 2012, 20:05)

Можно запихать одну и в игре набрать ConvertPortrait, он сам их отмасштабирует.
Спасибо,помогло,только не сразу дошло,что формат tga должен быть. А при создании модуля их также можно использовать?Я потыркался тулсетом при создании npc,но не увидел никаких новых портретов.
gennady
Feb 22 2012, 14:04
RaVeN71
Feb 26 2012, 00:10
Обьясните как стороннюю музыку добавить в свой модуль, конвектировать из мп3 в формант нвна умею, дальше что надо делать поподребнее...
Agrhrmrbr
Feb 28 2012, 10:21
Пока сделал только простенький мод (даже без журнала пока). Где я могу его разместить для скачивания?
Talarasha
Feb 28 2012, 14:30
Цитата
Спасибо,помогло,только не сразу дошло,что формат tga должен быть.
Итоговый да, но ConvertPortrait работает и с jpg. Я обычно заготавливаю заранее картинку 128x200 в jpg, и из нее игра сама уже собирает что ей там надо.
Цитата
Пока сделал только простенький мод (даже без журнала пока). Где я могу его разместить для скачивания?
Ссылку можно кинуть здесь -
Я СДЕЛАЛ МОДУЛЬ. А разместить где угодно. НА каком-нибудь бесплатном файлохранилище. На mail.ru допустим. Или ifolder.ru. Дофига их короче.
Цитата
Обьясните как стороннюю музыку добавить в свой модуль, конвектировать из мп3 в формант нвна умею, дальше что надо делать поподребнее...
Цитата
Добавление музыки
Вам хотелось добавить свою музыку в модуль, но вы не знали как? Нет ничего проще. Если вы
уже научились вставлять свои портреты и можете редактировать 2da файлы, то это не
составит для вас большой сложности.
Для начала определимся, музыка в Neverwinter Nights используется в формате *.bmu, который
получается при помощи конвертера из файлов *.mp3. Конвертор можно взять на сайте
BioWare или на wrg.ru в разделе "Файлы". Подготовьте музыкальный файл, который вы хотите
”Aurora Toolset” - WRG! Team © 44
вставить в модуль, например, это будет mus_test_hak.bmu. Теперь возьмем из стандартных
ресурсов игры ambientmusic.2da в папке \source. И добавим в самый низ строку 57 (Рис. 41).
В этом ресурсе нет никаких сложных настроек, поэтому разберетесь сами.
Теперь поместим mus_test_hak.bmu в папку \music, а наш ambientmusic.2da в ресурсы
нашего хака - Demo.hak. Все, заходим в модуль, и в свойствах арены появится музыкальное
сопровождение с именем "Voyager".
Код
Description Resource Stinger1 Stinger2 Stinger3
0 61901 **** **** **** ****
-----------------------------------------------------------------------
57 **** mus_test_hak **** **** Voyager
Не знаю только, что имелось ввиду под папкой source. Исходный ambientmusic.2da можно выдрать из игры любым редактором ресурсов, представленным на сайте.
Melisse
Feb 28 2012, 15:31
Talarasha
Feb 28 2012, 16:23
Какбе
Цитата
Обьясните как стороннюю музыку добавить в свой модуль, конвектировать из мп3 в формант нвна умею, дальше что надо делать поподребнее...
Melisse
Feb 28 2012, 16:47
Epic Fail
Flaristan
Mar 14 2012, 13:09
Давно хотел узнать (но все никак не находится) – как в тулсете добавлять на локацию текстуру воды?
denis0k
Mar 14 2012, 16:50
Если в тайле нет, то специальным плейсом из одного полигона. На волте вроде были.
Melisse
Mar 14 2012, 16:56
По поводу воды. Ест ьв лексиконе интересная тема, я никогда не использовала, но пишут там следующие:
Цитата
An Introduction To Tile Magic
If you played chapter 3 of the official campaign, you probably asked yourself several times "how did they do this, they can't be changing the tilesets on the fly?!"
Without a spoiler, here is a short introduction to Tile Magic:
The file you want to look at is "x2_inc_toollib.nss". Two of the functions in this file are dealing with changing tiles in a tileset (or better creating the illusion to do that).
To give you a short idea of what you can do with it, try this example:
Example 1:
1. Create a new module with a new forest area, 8x8 tiles
2. Create a pit in the middle of the forest area, maybe 3x3 tiles
3. Stick the following script in your module:
Neverwinter Script
#include "x2_inc_toollib"
void main()
{
int nX = 8;
int nY = 8;
TLChangeAreaGroundTiles(GetArea(OBJECT_SELF),X2_TL
_GROUNDTILE_WATER,nX,nY,-0.92f);
}
4. Start your module, enter the area, enable debugmode and run your script using the runscript command ....
Example 2:
1. Create a City Interior area, 4x4 tiles
2. Draw an Inn environment
3. Place some broken furniture placeables around
4. Save this script into your module:
Neverwinter Script
#include "x2_inc_toollib"
void main()
{
int nX = 4;
int nY = 4;
TLChangeAreaGroundTiles(GetArea(OBJECT_SELF),X2_TL
_GROUNDTILE_WATER,nX,nY,0.3f);
}
5. Run the script via the console's runscript command
6. Woa, what a bad place to live
Of course this is just one of the many things you can do using the technique we used. You've probably seen many other applications in the Hordes of the Underdark official campaign, especially Chapter 2 and 3. If not ... what are you waiting for, play the game!
Flaristan
Mar 14 2012, 20:27
Я точно знаю, что делается это без каких-либо хаков, более того видел как это делается ДМом по мановению ДМ-палки так сказать "налету".
Очевидно это этот интересный инклюд – нужно будет его покапать поближе, спасибо.
P.S.: посмотрел...
Великолепно – еще одно доказательство необъятности возможностей тулсета не получивших достойной реализации: две функции TLChangeAreaGroundTiles и TLResetAreaGroundTiles совместно с инклюдом x2_inc_toollib при задании площади покрытия тайлов и высоты текстуры включают/выключают заливку тайлов на выбор семью текстурами X2_TL_GROUNDTILE_* (вода, канализационная вода, лед, лава, фонтанирующая лава, скала и трава).
Сразу открывается куча дополнительных интерактивных фич для модулестроения и ваяния эвентов.
Melisse
Mar 15 2012, 23:32
Возможно, можно добавить так же и свои эффекты...
В лексиконе куча интересных функций, которые многие даже в глаза не видели или просто никогда не использовали.
Плейс - модель. вода - модель. откуда возьмется модель если нету хаков/оврайдов?
Flaristan
Mar 16 2012, 02:04
Эффэкт это.
Берешь тайл леса, рисуешь яму, накладываешь на локацию эффект с текстурой воды нужной площади с нужным возвышением и получаешь озеро посреди леса. Никаких хаков ненужно.
А они между прочим есть как раз на озера для тайлов леса, надо было кому то делать модель, а мог просто лексикон почитать...
denis0k
Mar 16 2012, 07:21
Цитата
Плейс - модель. вода - модель. откуда возьмется модель если нету хаков/оврайдов?
Из стандартных ресурсов

Там же есть тайл чисто с водой, его для плейса и конвертируют как правило. Другое дело, то 99% просто сделают плейс и будут пихать его в редакторе, сразу выбирая позицию и высоту, и лишь 1% пригородит к этому скрипт и будет тыкать цифрами полдня, пока не попадёт в нужное. Изврат? Зато без хаков.
Flaristan
Mar 16 2012, 13:15
Ну если сравнивать например вариант когда при наступлении зимы в модуле используется другая локация в замен летней и когда можно потратить пол дня на проработку локации так, что достаточно просто добавить зимой этот эффект – я выберу последнее только потому что это более лаконичный подход к решению.
Melisse
Mar 16 2012, 13:28
Ден, этот вариант - со скриптом - хорошо подходит для динамичности во время игры на шарде или для создания "на лету" ДМом места для квеста , там если почитать можно несколько накладывать эффектов. Я подозреваю, можно добавить и свои тоже..
Помниться в КЛ Сай делал в башне замену плэйсов, когда вода замерзала - можно было просто эффект заменить.
Еще кое-что - когда вода расставляется плэйсами, особенно в лесу, то есть неприятный баг при смерти - создание сумки, куда сбрасывается лут чара происходит на плоскости воды. Не знаю почему так. Но эта тема есть даже в тулсете, когда делаешь вручную воду, если потом выставлять итемы копировать/вставить...они все ставятся на плоскость воды (плоскость же продолжается внутрь тайла), а с этим эффектом - нет.
Azzerrotter
Mar 19 2012, 14:08
У меня в тулсете при компиляции вот такое вылазит:
19.03.2012 17:59:41: îøèáêà. 'at_001' íå ñêîìïèëèðîâàí.
at_001.nss(17): ÎØÈÁÊÀ: ÍÅÂÅÐÍÛÉ ÒÈÏ ÎÏÈÑÀÍÈß
как сделать чтобы он выводил нормальный текст?
Flaristan
Mar 19 2012, 15:17
У меня такая же фигня и установка русских шрифтов и прочие танцы с бубном над тулсетом не помогают - просто и тупо использую это (хотя компилятор обычно сам указывает на строку с ошибкой поэтому догадаться и без сноски легко в чем проблема):
http://www.charset.ru/
Azzerrotter
Mar 19 2012, 15:29
Спасибо впринципе сойдет. Хотя конечно хотелось бы все таки вправить мозги тулсету, ну да ладно попробуем и так.
Melisse
Mar 19 2012, 18:59
В настройках компилятора нужно выбрать другой шрифт, например, Courier и все будет нормально.
Azzerrotter
Mar 19 2012, 19:17
Вот спасибо! Все пошло как надо!
nepejke
Mar 29 2012, 09:10
Цитата(denis0k @ Dec 6 2011, 07:24)

Задел под это как бы есть в архитектуре игры, но заработало оно в полной мере только в нвн2.
все это интересно. То есть мы без проблем, можем добавить базовый класс/расу в нвн2? Но не можем этого сделать в нвн1.
а с кастомными спеллбуками блекгуарда там Как?
Все тоже самое, что в нвн1 ?
denis0k
Mar 29 2012, 17:20
Цитата
То есть мы без проблем, можем добавить базовый класс/расу в нвн2?
Да.
Цитата
а с кастомными спеллбуками блекгуарда там Как?
Все тоже самое, что в нвн1 ?
Нет, лучше.
Почитай, тут немного есть.
StasMokos
Apr 1 2012, 20:33
Здравствуйте.
Возникла одна проблемка тут..
Мы использовали вместо стандартных домов дома из CEP-а (как отдельные объекты). Соответственно, нормальную дверь туда же не поставить?
Мы ставили дверь тоже как объект, но возникает проблема перехода области. Просто скрипт на OnClick работает плохо, потому что получается так, что до двери не докоснуться.
Не подскажете, какие есть выходы из такой ситуации?
denis0k
Apr 1 2012, 20:55
Насколько я помню, в нвн двери - часть тайлсета, по крайней мере поле Door(s) именно там спрятано. Поэтому очевидный выход - вставить домики в нужный тайлсет.
virusman
Apr 1 2012, 21:49
Поставить дверь или переход в любой свободный дверной проём.
После этого ткнуть на дверь правой кнопкой и выбрать Adjust Location. Задать нужные координаты.
gennady
Apr 2 2012, 07:57
Вот для примера скриптa для дверей и люков, годится для перехода как в одной области, так и для перехода в новую.
Neverwinter Script
//:://////////////////////////////////////////////
//:: УНИВЕРСАЛЬНЫЙ СКРИПТ ПЕРЕМЕЩЕНИЙ
//:: Слот: OnUsed
//:://////////////////////////////////////////////
// ТЕКСТ НАД ПЕРСОНАЖЕМ
// object oPC - ПЕРСОНАЖ
// string sTokenValue - ТЕКСТ НАД ПЕРСОНАЖЕМ
void text(object oPC, string sTokenValue);
// ПЕРЕМЕЩЕНИЕ ГЕРОЯ и всей его свиты к точке object oWP
void JumpFirstPC(object oWP);
void text(object oPC, string sTokenValue)
{AssignCommand(oPC, SpeakString(sTokenValue)); }
void JumpFirstPC(object oWP)
{
object oPC = GetFirstPC();
object oNPC = GetFirstObjectInArea(oPC);
AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC, JumpToObject(oWP));
while (GetIsObjectValid(oNPC))
{
if (oPC==GetMaster(oNPC))
{
AssignCommand(oNPC, ClearAllActions());
AssignCommand(oNPC, JumpToObject(oWP));
}
oNPC = GetNextObjectInArea(oPC);
}
}
//////////////////////////////////////////////
void main()
{
object oPC = GetFirstPC();
object oSP = GetHenchman(oPC);
object oPoint = GetWaypointByTag("TP_" + GetTag(OBJECT_SELF));
if (!(GetLocked(OBJECT_SELF) == TRUE))
{
if(GetLocalInt(OBJECT_SELF, "OPEN_SD") == 1)
JumpFirstPC(oPoint);
else
{
SetLocalInt(OBJECT_SELF,"OPEN_SD",1);
DelayCommand(0.1, ActionPlayAnimation(ANIMATION_PLACEABLE_OPEN));
DelayCommand(6.6, ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE));
DelayCommand(6.7, SetLocalInt(OBJECT_SELF,"OPEN_SD",FALSE));
}
}
else
{
PlaySound("as_na_branchsnp3");
FloatingTextStringOnCreature("ЗАКРЫТО!", oPC, TRUE);
int nSkill = 20 + GetSkillRank(SKILL_OPEN_LOCK, oSP);
if (nSkill >= GetLockUnlockDC(OBJECT_SELF))
text(oSP, "Попробуйте открыть! Не сможешь, помогу открыть…");
else
text(oSP, "Мне не осилить этот замок…");
}
}
// помещать в слот OnUsed OnEnter OnClick OnAreaTransitionClick
// Точка перемещения TP_ + Тег объекта
//Перемещение героя и спутника для размещаемых объектов
nepejke
Apr 2 2012, 18:19
denis0k спасибо, довольно интересно.
Вот такой вот вопрос ещё, можно ли скриптовым путем создать фиты/спеллы по типу power attack ?
которые при активации добавляли бы N-ое кол-во атаки/урона, на N-ое кол-во раундов или же навсегда?
заинтересовало, ведь дефолтные же hardcoded
Ilerien
Apr 2 2012, 18:57
Совсем по типу - нельзя.
Можно сделать мгновенно активируемый фит, который будет вешать эффекты.
nepejke
Apr 2 2012, 19:13
Цитата(Ilerien @ Apr 2 2012, 19:57)

Совсем по типу - нельзя.
Можно сделать мгновенно активируемый фит, который будет вешать эффекты.
интересно, и как?
сам принцип очень интересует.
можно по примеру где нибудь посмотреть?
Ilerien
Apr 2 2012, 19:21
По тому же принципу, что и добавленные в 1.69 фиты Player Tool / DM Tool. Хитрость в том, чтобы для кастомного фита в feat.2da поставить в столбце ReqAction значение 0.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.