Batkom
Jul 13 2005, 13:50
QUOTE (Aiwan @ Jul 13 2005, 07:00) |
Ты 2Да файл посмотри. Может конфликт там скорее всего. |
мммм..не совсем понял, мне его в хакпаке искать чтоли?
Batkom Открываешь appearance.2da своего хака лошадок. Ищешь новых кричей (обычно они вписаны последними, с большим отступом от оригинальных). Копируешь все новые строки в буфер.
Открываешь cep1patch<версия_cep>.hak (если версия 1.0, то cep2da.hak). Затем appearance.2da. Вставляешь строки лошадок в самый конец (на нумерацию плевать).
Удачи
Добавлено в [mergetime]1121253798[/mergetime] Нюанс:
Измененный appearance.2da следует влить в новый хак с лошадками и поставить у него в свойствах модуля высочайший приоритет (иначе cep может отрубиться)
Batkom
Jul 13 2005, 15:20
Пасиб) теперь есть лошадки

Осталось написать скрипт замены модельи игрока, но это в принципе легко, а вот со смертью лошади когда игрок якобы на ней, немного посложнее. Сенк Сенк Сенк. А с тайлсетами такая фича сработает?
QUOTE (Batkom @ Jul 13 2005, 15:20) |
А с тайлсетами такая фича сработает? |
Если речь идет о разных хаках, модифицирующих один и тот же тайлсет, ответ - да. Но там немного сложнее. Что конкретно интересует?
Добавлено в [mergetime]1121262236[/mergetime] http://www.wrg.ru/forums/index.php?showtop...indpost&p=16693
-fenix-
Jul 14 2005, 13:36
Наверное это смешно

, но я этого не знаю
Сколько длится в НВН день (сколько реальных часов)?
Метр - это один шаг НПС?
Сколько дней в месяце (30, 31)?
QUOTE (-fenix- @ Jul 14 2005, 13:36) |
Сколько длится в НВН день (сколько реальных часов)? |
Ровно столько, сколько выставлено в Edit -> Module Properties -> Advanced -> Minutes/Hour
QUOTE (-fenix- @ Jul 14 2005, 13:36) |
Метр - это один шаг НПС? |
Тайл - это 5 метров
QUOTE (-fenix- @ Jul 14 2005, 13:36) |
Сколько дней в месяце (30, 31)? |
По моим предположениям - 30
QUOTE (Vhall @ Jul 14 2005, 18:12) |
Тайл - это 5 метров |
10 метров.
-fenix-
QUOTE (-fenix- @ Jul 14 2005, 14:36) |
Сколько длится в НВН день (сколько реальных часов)? |
нисколько. 2минуты на час - дефолтная настройка => 2*24 = 48 минут (только это не день, а таки сутки)
QUOTE (-fenix- @ Jul 14 2005, 14:36) |
Сколько дней в месяце (30, 31)? |
28!
Batkom
Jul 14 2005, 23:13
Можно регулировать продолжительность ночи и дня в настройках модуля, таким образом можно сократить продолжительность дня или ночи.
Можно указывать во сколько темнеет и во сколько светает, а так в сутках всегда было 24 часа, и НВН не исключение. Перевод в реальное время расчитывается как указал тов. dumbo .
Daemonix
Jul 15 2005, 17:15
Всем здрасте, WRG!-креативщики, кодеры и прочие ролеманы.
Поскольку почти не разбираюсь в скриптах, хочу спросить, как будет выглядеть код с такими условиями:
игрок активирует триггер, и непись с тэгом neril подбегает к нему и начинает разговор. Что надо писать onEnter'е?
Batkom
Jul 15 2005, 17:31
Zirrex писал помоему недавно в скриптах
В базе скриптов лежит код. Иди и смотри.
Daemonix
Jul 15 2005, 22:02
Спасибо.
Добавлено в [mergetime]1121463235[/mergetime] Да, и вот ещё что: как сделать так, чтобы:
(диалог)
Герой: вы не знаете, как пройти в...
НеПиСь: куда?
Герой(вар.1) в библиотеку?
Герой(вар.2) в псих. лечебницу?
Герой(вар.3) в кино?
Герой(вар.4) Спасибо, я пошёл.
Когда я жму на один из вариантов вопроса, НеПиСь говорит мне, и потом:
НеПиСь: ещё куда-нибудь?
Герой(вар.1) в библиотеку?
Герой(вар.2) в псих. лечебницу?
Герой(вар.3) в кино?
Герой(вар.4) Спасибо, я пошёл.
И так пока я не попрощаюсь сним.
Сорри, если моя просьба окажется непонятной. Простите за глупый вопрос.
Batkom
Jul 16 2005, 01:11
Присто привяжи реплики друг к другу
Мефистофель
Jul 17 2005, 00:56
Обясните дураку, что непашет? вот в этом скрипте. скрипт стоит на онДед Непися, и работает в нём только камера и игрок джампится, и больше ничего.
CODE |
DelayCommand(1.0, AssignCommand(oPC, ActionJumpToObject(oCAM1))); DelayCommand(1.6, AssignCommand(oPC, SetCameraFacing(180.0, 3.0, 90.0, CAMERA_TRANSITION_TYPE_FAST))); DelayCommand(3.3,DestroyObject(oSV1)); DelayCommand(4.3,DestroyObject(oSV2)); DelayCommand(5.3,DestroyObject(oSV3)); DelayCommand(6.3,DestroyObject(oSV4)); DelayCommand(7.3,DestroyObject(oSV5)); DelayCommand(10.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eN1,oS6)); DelayCommand(10.0, AssignCommand(oBL, ActionJumpToObject(oS6))); DelayCommand(10.0, AssignCommand(oPC, ActionJumpToObject(oCAM2))); DelayCommand(10.6, AssignCommand(oPC, SetCameraFacing(0.0, 0.0, 200.0, CAMERA_TRANSITION_TYPE_FAST))); DelayCommand(10.6, AssignCommand(oBL, ActionPlayAnimation(ANIMATION_LOOPING_CUSTOM3, 0.9, 3.0))); DelayCommand(11.0, AssignCommand(oM1, ActionMoveToObject(oID1,TRUE))); DelayCommand(11.7, AssignCommand(oM2, ActionMoveToObject(oID2,TRUE))); DelayCommand(12.0, AssignCommand(oM3, ActionMoveToObject(oID3,TRUE))); DelayCommand(15.0, AssignCommand(oBL, ActionCastSpellAtObject(SPELL_NEGATIVE_ENERGY_PROTECTION,oM1, METAMAGIC_ANY, 2))); DelayCommand(16.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eN4,oM1)); DelayCommand(17.0, AssignCommand(oBL, ActionCastSpellAtObject(SPELL_NEGATIVE_ENERGY_PROTECTION,oM2, METAMAGIC_ANY, 2))); DelayCommand(18.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eN4,oM2)); DelayCommand(19.0, AssignCommand(oBL, ActionCastSpellAtObject(SPELL_NEGATIVE_ENERGY_PROTECTION,oM3, METAMAGIC_ANY, 2))); DelayCommand(20.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eN4,oM3)); DelayCommand(20.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,eN3,oM3)); } |
QUOTE (Мефистофель @ Jul 17 2005, 03:56) |
Обясните дураку, что непашет? |
Убери скрипт с OnDeath слота. Поставь на триггер или на что другое.
Daemonix
Jul 17 2005, 22:17
Добрый день, товарищи! Я всё-таки не такой уж пингвин, но объясните-ка мне поподробнее, как привязывать реплики друг к другу. У меня просто вкладка "связать" всегда неактивна...
Второе: как проверить кол-во золота у игрока? Ситуация такова, что реплика должна появляться, если золота у игрока более 2000.
И последнее: почему скрипт не пашет:
CODE |
//:://///////////////////////////////////////////// //:: FileName at_001 //::////////////////////////////////////////////// //::////////////////////////////////////////////// //:: Created By: Script Wizard //:: Created On: 17.07.2005 23:01:48 //::////////////////////////////////////////////// void main() { // Äàòü ãîâîðÿùåìó íåìíîãî çîëîòà GiveGoldToCreature(GetPCSpeaker(), 200);
// Äàòü ãîâîðÿùåìó íåìíîãî ÏÎ GiveXPToCreature(GetPCSpeaker(), 400);
}
|
Добавлено в [mergetime]1121627873[/mergetime] ГДЕ тут может быть ошибка?
Добавлено в [mergetime]1121628074[/mergetime] А может не работает из-за русских символов? (создан с Script Wizard)?
Batkom
Jul 17 2005, 23:20
По поводу проверок на состояние кошелька:
Neverwinter Script Source |
int StartingConditional() { if(GetGold(GetPCSpeaker())>=2000) return TRUE; return FALSE; } |
По поводу русских символов в скриптах:
создай блокнотик и впиши туда следующее:
CODE |
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\BioWare]
[HKEY_LOCAL_MACHINE\SOFTWARE\BioWare\NWN]
[HKEY_LOCAL_MACHINE\SOFTWARE\BioWare\NWN\Neverwinter] "Location"="C:\\games\\NWNXP1" "GUID"="{7C503E58-B2BC-11D5-978A-0050BA84F5F7}" "Version"="сюда впиши версию" "Language"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\BioWare\NWN\Neverwinter\NWUpdate] "Ping Timeout"="1000" "Debug"="0" "Internet Connect"="0" "RebootMessageCount"=dword:00000000 "Window Position"="203,146" "Window Size"="618,447"
|
Затем поменяй расширение на *.reg и добавь в реестр информацию, также обязательно поставь патч для буквы "я"
ибо это великая вещь
по поводу привязки диалогов, ну что я тебе могу сказать, нажми ctrl+c затем привязывай реплику
Добавлено в [mergetime]1121632001[/mergetime] З.Ы. это была копия моего реестра
А кстати вот и от меня вопрос, как можно привязать базу данных к предмету, допустим предмет труп, всего один, а каждый этот предмет должен содержать информацию о хозяине. Допустим есть у нас пять трупаков в инвентаре, а как сохранить для каждого трупа хозяина даже после рестарта?
Все еще бьюсь над скриптом смерти.
И еще как выяснилось, видимо нельзя отобрать золото и итемы у лежащего в отрубе игрока. Его нужно либо варпать в фугу, либо райзать, проводить операции и снова убивать.
Daemonix
Jul 18 2005, 01:22
Спасибо, Baktom, если бы я знал, ответил. Хотя вопрос и не ко мне был... :
xz:
З.Ы. А где качать патч для буквы "Я"?
Batkom
Jul 18 2005, 03:05
плин,я вообще не знаю что с этими трупами делать, пересмотрел архивы, ничего не нашел(хотя до этого пару раз натыкался)
Дайти плз ссылку на более менее удобоваримую систему смерти с трупами и лутом.
-fenix-
Jul 18 2005, 08:54
QUOTE (Daemonix @ Jul 18 2005, 01:22) |
З.Ы. А где качать патч для буквы "Я"? |
В файлах качай патч dumbo
тут.
QUOTE (Batkom @ Jul 18 2005, 03:05) |
Дайти плз ссылку на более менее удобоваримую систему смерти с трупами и лутом. |
Смотри в базе скриптов на 1 странице пост Лекса. Там после смерти НПС появляется труп на каторый помещаются все его вещи, через 250 секунд труп исчезает. Пойдет?
Batkom
Jul 18 2005, 09:50
попробую переделать, мне просто нужно знать от чего отталкиваться
Daemonix
Jul 18 2005, 14:07
Вот, блин, ваще не знаю.... У меня, кажись, toolset глюканутый! Скрипты на "дай предмет" не работают вовсе. Вот что ему не нравится тут?
CODE |
//:://///////////////////////////////////////////// //:: FileName tavern //::////////////////////////////////////////////// //::////////////////////////////////////////////// //:: Created By: Script Wizard //:: Created On: 13.07.2005 18:18:44 //::////////////////////////////////////////////// void main() { // дать говорящему предмет CreateItemOnObject("item012", GetPCSpeaker(), 1);
// забрать у говорящего немного золота TakeGoldFromCreature(10, GetPCSpeaker(), TRUE); }
|
Добавлено в [mergetime]1121684916[/mergetime] Причём item012 - реально существующий предмет. Это ключ от номера в гостинице.
Batkom
Jul 18 2005, 14:16
предметы создаются не по тегам, а по ресрефам, если ты об этом
если ты патч не поставил, тогда удали коменты к скрипту, все залаботает
Добавлено в 14:19
я раньше не работал с функцией swith case и видать чтото наглючил
не компилируется скрипт
Neverwinter Script Source |
//определение рандомного слота экиперовки int iSlot; int iLoot = d10(1); switch (iLoot) case 1: iSlot = INVENTORY_SLOT_ARMS; break; case 2: iSlot = INVENTORY_SLOT_BELT; break; case 3: iSlot = INVENTORY_SLOT_BOOTS; break; case 4: iSlot = INVENTORY_SLOT_CLOAK; break; case 5: iSlot = INVENTORY_SLOT_HEAD; break; case 6: iSlot = INVENTORY_SLOT_LEFTHAND; break; case 7: iSlot = INVENTORY_SLOT_LEFTRING; break; case 8: iSlot = INVENTORY_SLOT_NECK; break; case 9: iSlot = INVENTORY_SLOT_RIGHTHAND; break; case 10: iSlot = INVENTORY_SLOT_RIGHTRING; break; default: break; |
Batkom
Neverwinter Script Source |
switch (iLoot) { // <-- ! case 1: iSlot = INVENTORY_SLOT_ARMS; break; ... default: break; } // <-- ! |
Daemonix
Jul 18 2005, 15:54
Пожалуйста, кто-нибудь, расскажите мне о том как НеПиСь атакует игрока (условия, фракции, скрипты, советы). Надеюсь, прошу не слишком много.
не слишком много, зато слишком неконкретно. общий совет - изучи скрипты nw_c2_defaultX, где X - цифра от 1 до e. это скрипты которые висят на неписях, и заставляют их "что-то" делать. ключевое слово для поиска условий итд - DetermineCombatRound
Daemonix
Jul 18 2005, 23:55
Люди, помогите! У меня тут накопилось два вопроса:
1. Я делаю несколько вэйпоинтов для одного НеПиСя. Начинаю игру и ... не без удовольствия наблюдаю как все НеПиСи (а их 6!) ходят по этим вэйпоинтам. Что делать, чтобы по ним ходил только один?
2. Как сделать так, чтобы:
вот стоит знак дорожный. Жму на него, и он надпись выдаёт какую-нибудь.
Alian REXis
Jul 19 2005, 00:06
QUOTE (Daemonix @ Jul 18 2005, 23:55) |
1. Я делаю несколько вэйпоинтов для одного НеПиСя. Начинаю игру и ... не без удовольствия наблюдаю как все НеПиСи (а их 6!) ходят по этим вэйпоинтам. Что делать, чтобы по ним ходил только один? |
Смени таг остальным неписям.
QUOTE (Daemonix @ Jul 18 2005, 23:55) |
2. Как сделать так, чтобы: вот стоит знак дорожный. Жму на него, и он надпись выдаёт какую-нибудь. |
Нажимаешь на знак дорожный правой кнопкой. Появится всплывающее меню. Выбираешь добавить всплывающий текст.
Daemonix
Jul 19 2005, 00:23
Спасибо. И вот ещё я стормозил: как сделать так, чтобы:
НеПиСь ведёт рассказ, скажет часть, потом кнопа ПРОДОЛЖИТЬ (это не реплика героя!) и далее непись ведёт свой рассказ... Чё-то непонятно объяснил...
Мефистофель
Jul 19 2005, 00:32
QUOTE |
Спасибо. И вот ещё я стормозил: как сделать так, чтобы: НеПиСь ведёт рассказ, скажет часть, потом кнопа ПРОДОЛЖИТЬ (это не реплика героя!) и далее непись ведёт свой рассказ... Чё-то непонятно объяснил... |
Этоже очень просто делается в редакторе разгавора, где красное там реплика Непися, где синее там ПК, пишешь в начале то-что говорит Нпись, потом нажемаеш добавить, и стираеш "Введите текст сюда" и автоматом будет продолжить.
Добавлено в [mergetime]1121722749[/mergetime]
QUOTE |
Убери скрипт с OnDeath слота. Поставь на триггер или на что другое. |
незя такое задание убить чела, и когда убьёш срабатыват скрипт.
--
а кстати у кого есть скрипт, если ночь то Непись идёт к себе в комноту садится на стул и читает свиток, если день то идёт на своё место и тоже читает свиток.
QUOTE (Мефистофель @ Jul 19 2005, 03:32) |
незя такое задание убить чела, и когда убьёш срабатыват скрипт. |
Ну тогда сигнал евант на юзер деф скрытого плейса и все работать будет. Твой объект дестроиться, точнее умирает. На OnDeath Биовар не рекомендуют сложный код.
Мефистофель
Jul 19 2005, 00:52
QUOTE |
Ну тогда сигнал евант на юзер деф скрытого плейса и все работать будет. Твой объект дестроиться, точнее умирает. На OnDeath Биовар не рекомендуют сложный код. |
Блин точно как я сам не дадумался, и еффектов добавить можно будет. Пасиб Aiwan.
Daemonix
Jul 19 2005, 01:39
QUOTE |
Этоже очень просто делается в редакторе разгавора, где красное там реплика Непися, где синее там ПК, пишешь в начале то-что говорит Нпись, потом нажемаеш добавить, и стираеш "Введите текст сюда" и автоматом будет продолжить. |
Не, я не так слегонца хотел. Просто у неписи слишком длинный рассказ и его нужно поделить на две части, разделяемые ПРОДОЛЖИТЬ
Мефистофель
Jul 19 2005, 02:05
Ну. вот смотри. "привет я Непись я хотел вам сказать....." Продолжить "Ах да я же хотел вам сказать".
пишешь в начале где "Корень" талк Непися, затем "добавить" стираешь будет "продолжить" далее опять добавить и пишешь продолжение талка непися.
Daemonix
Jul 19 2005, 02:15
А, дошло! И чё я был такой тупой. Скоро где-нибудь разместится пре-альфа моего мода!
Мефистофель
Jul 19 2005, 02:24
QUOTE |
А, дошло! И чё я был такой тупой. Скоро где-нибудь разместится пре-альфа моего мода! |
Попроси Дядюшку Айвана, он добрый и обязательно разместит здесь твой модуль, и мы будем в него играть, и Очень строго отценивать."шутка".
Daemonix
Jul 19 2005, 02:40
QUOTE |
Попроси Дядюшку Айвана, он добрый и обязательно разместит здесь твой модуль, и мы будем в него играть, и Очень строго отценивать."шутка". |
Сначала надо сделать...
Чёрт, искал-искал, а скрипт на то, чтобы непись говорил с тобой, если на триггер наступишь, не нашёл!
Может у кого есть?
Мефистофель
Jul 19 2005, 02:50
Neverwinter Script Source |
void main() { object oPC = GetEnteringObject(); object oNPC = GetObjectByTag("NPC");//тег Непися if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1) return; SetLocalInt(OBJECT_SELF, "TRIGGER", 1); AssignCommand(oNPC, ActionStartConversation(oPC, "тег заранее сделанного разгавора")); } |
Хватай. оНЭнтер Триггера
Daemonix
Jul 19 2005, 11:59
И опять всё пашет! Мефистофель, ты прямо крут!
А, и вот пробовал я изучить скрипт nw_c2_defaultX, как dumbo посоветовал...
Наверное, он переоценил мои таланты в скриптах. Нет ли чего попроще (напоминаю: чтобы непись атаковал игрока).
Batkom
Jul 19 2005, 12:58
сосзай для нипися свою фракцию, и спомощью скрипт визарда поставь в диалога атачить игрока(это если в диалоге)
если хочешь чтоб он просто атачил, поставь ему фракцию враждебный
Daemonix, задавай вопросы конкретней. рекомендация изучать дефолтные скрипты была в ответ на:
QUOTE (Daemonix @ Jul 18 2005, 16:54) |
расскажите мне о том как НеПиСь атакует игрока (условия, фракции, скрипты, советы) |
чтобы непись атаковал игрока, достаточно выставить ему фракцию hostile. короче, напиши нормально, что ты хочешь.
DroWishSoul
Jul 19 2005, 19:06
помогите со скриптом, я тут новичок в скриптах.. я написал, но неправильно, компилится, но не работает
скрипт проверки предмета в слоте по тэгу (в разговоре с NPC условие на появление текста)
Neverwinter Script Source |
int StartingConditional() { object oPC = GetPCSpeaker(); object oTag = GetObjectByTag("tag"); if(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC) == oTag) return FALSE;
return TRUE; } |
скажите, что неправильно? (хотя почти уверен, что всё)
Zirrex
Jul 19 2005, 21:13
DroWishSoul а что у тебя не работает? Не отображается ветка диалога? Она и не будет отображаться. Даже если у тебя и надета конкретная вещь на персонаже, и равнозначна предмету брони, то строчка "return FALSE" не пропустит тебя дальше по диалогу. Лучше уж так:
Neverwinter Script Source |
int StartingConditional() { object oPC = GetPCSpeaker();
object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
if (GetIsObjectValid(oArmor) && GetTag(oArmor) == "tag") return TRUE;
return FALSE; } |
Daemonix
Jul 19 2005, 21:20
QUOTE |
чтобы непись атаковал игрока, достаточно выставить ему фракцию hostile. короче, напиши нормально, что ты хочешь. |
Вот, что, я, собственно, хотел!
Там такой квест:
в пещере убиваешь главаря гоблинов-бандюков и находишь искомого непися. Он спрашивает:
-Ты пришёл спасти меня?
А ему можно ответить:
-Да, ты можешь идти.
или
-Нет, щас ты умрёшь!
Если выбираешь последнюю реплику, то он говорит:
-Только попробуй!!!
И вот тогда он атакует перса.
Zirrex
Jul 19 2005, 21:48
Daemonix простой скрипт. При этом НПС обидется сразу:
Neverwinter Script Source |
void main() { object oPC = GetPCSpeaker();
// Игрок атакует НПС AssignCommand(oPC, ActionAttack(OBJECT_SELF)); } |
Если ты хочешь просто поссориться с фракцией НПС, то можно так:
Neverwinter Script Source |
void main() { object oPC = GetPCSpeaker();
// НПС произносит фразу AssignCommand(OBJECT_SELF, SpeakString("Ну что ж, тогда потанцуем!", TALKVOLUME_TALK)); // Понижение отношения фракции до уровня врага SetStandardFactionReputation(STANDARD_FACTION_DEFENDER, 0, oPC); // Атакует игрока ActionAttack(oPC); } |
небольшие поправки:
атаковать должен таки непись, зачем снижать репутацию игроку нападением? - достаточно этого:
Neverwinter Script Source |
ActionAttack(GetPCSpeaker()); |
вообще, в таких случаях нехорошо портить отношение со всей фракцией непися, но, если нужно сделать именно так, то:
Neverwinter Script Source |
AdjustReputation(GetPCSpeaker(), OBJECT_SELF, -100); DetermineCombatRound(GetPCSpeaker()); |
Zirrex, дефендеры то тут причем? - дались они тебе!
DroWishSoul
Jul 20 2005, 07:11
Zirrex, благодарю, всё работает.
-fenix-
Jul 20 2005, 08:21
Тут вот в прохождении спрашивали, что значит меч +1 и у меня возникло массу других вопросов, что значит...
Есть какой-нить хелп, FAQ, по этому поводу? Наверное в лицензионных играх есть статьи, где объясняются все параметры и скилы, но в пиратке этого нет. Где можно это достать?
Zirrex
Jul 20 2005, 08:24
dumbo да я уж когда написал, выключил компьютер, потом подумал, а зачем так сложно, когда можно сделать НПС свою фракцию, и поссорить именно с ним, а не со всеми, кто входит в его фракцию. А нападение игрока на НПС я сделал лишь потому, что сам пункт разговора об этом говорит

Раз уж собрался, то бей первым.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.