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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 128 129 130 131 132 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Mingun
сообщение Mar 20 2010, 18:13
Сообщение #3226


Level 2
*

Класс: Оборотень
Характер: Lawful Good
Раса: Человек



1. Чета искал, искал и не нашел, можно ли такую фичу сделать, чтоб NPC мог пользоваться определенным предметом (точнее даже свойством предмета - заклинанием с него, уникальные способности там всякие). Скриптово можно только найти талант у NPC в определенной категории (атака, защита, лечение, зелье; на всех, на себя, на кого-то одного), и заставить его использовать, но при этом не контролируется, что именно будет использовать NPC. Можно ли это как то явно указывать. Я чувствую, стандартными средствами этого не сделать, но может в nwnx реализовано?
Мне в частности нужно, чтобы после смерти PC его хенч пытался его воскресить жезлом или свитком. Заклинанием можно заставить, но ждать до 5 круга заклятий для хенча-клерика совсем не вариант, а у остальных даже и этого нет.

2. Можно ли заставить NPC-клерика читать исцеляющие заклинания, если он их не запоминал? Кажись для них самопроизвольное чтение не работает и GetHasSpell() вернет 0... (IMG:style_emoticons/kolobok_light/unsure.gif)

Сообщение отредактировал Mingun - Mar 21 2010, 09:18
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mingun
сообщение Mar 21 2010, 10:10
Сообщение #3227


Level 2
*

Класс: Оборотень
Характер: Lawful Good
Раса: Человек



Да, и еще. Кто объяснит мне, почему народ так активно юзает CopyObject/DeleteObject для предметов, а не TakeFrom...|GiveTo... ? Переместить ведь должно быть быстрее и идеологически более правильно, чем копирование и последующее удаление? (IMG:style_emoticons/kolobok_light/snoozer_17.gif) (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
GoOfs
сообщение Mar 21 2010, 12:59
Сообщение #3228


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Neverwinter Script
void main()
{
object oSelf = OBJECT_SELF;
object oWp01 = GetNearestObjectByTag("WP1_"+ GetTag(OBJECT_SELF))
// какая проблема здесь? он нехочет компилить... пишет:
// ОШИБКА: ПОТЕРЯ АНАЛИЗАТОРА ПЕРЕМЕННОЙ
object oWp05 = GetNearestObjectByTag("WP5_"+ GetTag(OBJECT_SELF))
object oWpT01 = GetNearestObjectByTag("WP1_Tavern"+ GetTag(OBJECT_SELF))
//суть этого всего: обозначить теги точек для определенного нпс.
//Он будет ходить просто по 5ти точкам(гулять), и будет заходить в таверну.
object oWpT05 = GetNearestObjectByTag("WP5_Tavern"+ GetTag(OBJECT_SELF))
object oWpH01 = GetNearestObjectByTag("WP1_HOME"+ GetTag(OBJECT_SELF))
//5 точек, ведушие нпс к дому
object oWpH05 = GetNearestObjectByTag("WP5_HOME"+ GetTag(OBJECT_SELF))
if(GetArea(GetFirstPC()) != GetArea(OBJECT_SELF)) return;
    int T = GetTimeHour();
    if (T<7 && T>15)
    AssignCommand(oSelf, ActionForceMoveToObject(oWp01, TRUE, 4.0));
    AssignCommand(oSelf, ActionWait(2.0));
    AssignCommand(oSelf, ActionForceMoveToObject(oWp05, TRUE, 4.0));
    AssignCommand(oSelf, ActionWait(2.0));

    //  Как сделать цикл? необходимо, чтобы эти действия  //
    //производились циклически, пока идет время от 7 до 15ти//
    if (T<15 && T>21)
    AssignCommand(oSelf, ActionForceMoveToObject(oWpT01, TRUE, 4.0));
    AssignCommand(oSelf, ActionWait(2.0));
    AssignCommand(oSelf, ActionForceMoveToObject(oWpT05, TRUE, 4.0));
    AssignCommand(oSelf, ActionWait(2.0));
    ExecuteScript(sit_on_ch_tav) //когда нпс подойдет, он должен быдет сесть на стул.
    if(T<21 && T>7)
    AssignCommand(oSelf, ActionForceMoveToObject(oWpH01, TRUE, 4.0));
    AssignCommand(oSelf, ActionWait(2.0));
    AssignCommand(oSelf, ActionForceMoveToObject(oWpH05, TRUE, 4.0));
    AssignCommand(oSelf, ActionWait(2.0));
    ExecuteScript(1sleep)//когда настанет ночь,  нпс пойдет домой и ляжет спать

я немного ужал этот скрипт, убрал повторяюшиеся действия, типа: object oWp01 = GetNearestObjectByTag("WP1_"+ GetTag(OBJECT_SELF))
Мне нужно чтобы этот скрипт работал, и оживил немножко моих нпс-селян. а то они ходят как зомби, или тупо стоят... както нетак=)
PS
Все вопросы внесены в сам скрипт
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Mar 21 2010, 13:36
Сообщение #3229


Level 9
Иконки Групп

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Ошибку выдает т.к. нет точки с запятой после сроки кода. А вот сам скрипт врятли тебе кто напишет... Могу порекомендовать тебе мой мануал по созданию скриптов НПС стоящих в ХБ слоте.
http://remmgen.narod.ru/tscript3.html#SC_HB

Сообщение отредактировал gennady - Sep 4 2010, 16:26
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Mar 21 2010, 13:56
Сообщение #3230


Level 11
Иконки Групп

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
1. Чета искал, искал и не нашел, можно ли такую фичу сделать, чтоб NPC мог пользоваться определенным предметом (точнее даже свойством предмета - заклинанием с него, уникальные способности там всякие). Скриптово можно только найти талант у NPC в определенной категории (атака, защита, лечение, зелье; на всех, на себя, на кого-то одного), и заставить его использовать, но при этом не контролируется, что именно будет использовать NPC. Можно ли это как то явно указывать. Я чувствую, стандартными средствами этого не сделать, но может в nwnx реализовано?
Да, в NWNX реализовано, плагин Funcs.
Цитата
2. Можно ли заставить NPC-клерика читать исцеляющие заклинания, если он их не запоминал? Кажись для них самопроизвольное чтение не работает и GetHasSpell() вернет 0...
Кусок кода из джасперовсого АИ:
Neverwinter Script
int AI_ActionCastSpontaeousSpell(int iSpellID, int nTalent, object oTarget)
{
    if(nTalent > i0 && GetHasSpell(iSpellID) && GetObjectSeen(oTarget))
    {
        // Note: Not stored or used in time stop
        // 8: "[DCR: Casting] Workaround for Spontaeous [SpellID] " + IntToString(iSpellID) + " [Target] " + GetName(oTarget)
        DebugActionSpeakByInt(8, oTarget, iSpellID);
        // Equip the best shield we have
        AI_EquipBestShield();
        // Decrement the spell being cast by one as we cheat cast it
        DecrementRemainingSpellUses(OBJECT_SELF, iSpellID);
        // Cheat cast, it'll remove inflict wounds if it is an inflict spell anyway.
        ActionCastSpellAtObject(iSpellID, oTarget, METAMAGIC_NONE, TRUE);
        return TRUE;
    }
    return FALSE;
}
Насколько я понимаю, GetHasSpell() прекрасно работает, единственный момент - заставить непися кастить спелл, даже если у него его нет (IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал Ilerien - Mar 21 2010, 13:57
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mingun
сообщение Mar 22 2010, 12:06
Сообщение #3231


Level 2
*

Класс: Оборотень
Характер: Lawful Good
Раса: Человек



Цитата(Ilerien @ Mar 21 2010, 16:26) *
Насколько я понимаю, GetHasSpell() прекрасно работает, единственный момент - заставить непися кастить спелл, даже если у него его нет (IMG:style_emoticons/kolobok_light/smile.gif)

Это то я понимаю, что работает функция как положено для заклинаний. Мне непонятно, почему у нее нет отдельного возвращаемого значения для заклинаний исцеления клериков, и приходится вручную реализовывать им спонтанное чтение. Да. Воистину неисповедимы пути биотварей... (IMG:style_emoticons/kolobok_light/biggrin.gif) А как заставить NPC скастовать то, чего у него нет, я знаю (IMG:style_emoticons/kolobok_light/prankster2.gif)
Цитата(Ilerien @ Mar 21 2010, 16:26) *
Да, в NWNX реализовано, плагин Funcs.

Можно чуток поконкретней? Что то я там такого не видел... может плохо смотрел? В смысле какая функция?


Уже нашел. что то у них на сайте как то плохо описаны возможности, а в скрипте все есть (IMG:style_emoticons/kolobok_light/smile.gif)

Хотя нет, радость преждевременна. Где сам то плагин funcs??? На nwnx.org его нет. Есть только Functions, а это, как я понимаю. не одно и тоже (IMG:style_emoticons/kolobok_light/bb.gif)

Сообщение отредактировал Mingun - Mar 22 2010, 10:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Mar 22 2010, 12:36
Сообщение #3232


Level 11
Иконки Групп

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Где сам то плагин funcs??? На nwnx.org его нет. Есть только Functions, а это, как я понимаю. не одно и тоже
Funcs на SVN virusman'a
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mingun
сообщение Mar 22 2010, 12:55
Сообщение #3233


Level 2
*

Класс: Оборотень
Характер: Lawful Good
Раса: Человек



Спасибо! Жалко, под винду нету (IMG:style_emoticons/kolobok_light/smile.gif) Придется поколдовать (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Mar 22 2010, 13:06
Сообщение #3234


Level 11
Иконки Групп

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Ну, убунта в виртуалке (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mingun
сообщение Mar 22 2010, 13:16
Сообщение #3235


Level 2
*

Класс: Оборотень
Характер: Lawful Good
Раса: Человек



Цитата(Ilerien @ Mar 22 2010, 15:36) *
Ну, убунта в виртуалке (IMG:style_emoticons/kolobok_light/smile.gif)

Не-е-е, так не пойдет. Я ж не могу заставить игрока в мой модуль запускать невер в виртуалке (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Mar 22 2010, 20:58
Сообщение #3236


Level 17
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Поскольку это моя функция, в Functions она тоже есть.
Один человек недавно начал портировать Funcs на винду:
http://www.nwnx.org/phpBB2/viewtopic.php?t=1535
Можешь попросить его сделать эту функцию.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Mar 22 2010, 21:28
Сообщение #3237


Level 7
**

Класс: Некромант
Характер: True Neutral
Раса: Нежить



Цитата(Mingun @ Mar 22 2010, 13:16) *
Не-е-е, так не пойдет. Я ж не могу заставить игрока в мой модуль запускать невер в виртуалке biggrin.gif

(IMG:style_emoticons/kolobok_light/offtopic.gif) эммм... Если ты делаешь шард, то под чем сидит игрок тебя не будет интересовать, а если сингл: я что-то пропустил, или сделали нвнх под сингл?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Mar 22 2010, 23:54
Сообщение #3238


Level 17
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Цитата(greye @ Mar 22 2010, 21:28) *
(IMG:style_emoticons/kolobok_light/offtopic.gif) эммм... Если ты делаешь шард, то под чем сидит игрок тебя не будет интересовать, а если сингл: я что-то пропустил, или сделали нвнх под сингл?
Сделали.
http://www.nwnx.org/phpBB2/viewtopic.php?t=1263
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mingun
сообщение Mar 23 2010, 08:16
Сообщение #3239


Level 2
*

Класс: Оборотень
Характер: Lawful Good
Раса: Человек



Разве NWNX только для сервера? Мне казалось, что он и в клиентском невере может работать. Хотя.. с другой стороны, exe-шника я в ядре NWNX не видел, только dll.
А делаю я сингл. Просто мне хочется, чтобы хенчи могли воскрешать игрока после смерти, а для этого им надо уметь пользоваться палочками и свиточками воскрешения (в идеале - любым предметом, могущим возвращать к жизни). Типа придать им осмысленную деятельность при наличии возможностей (IMG:style_emoticons/kolobok_light/smile.gif) .Ну, а так как это стандартными средствами невозможно, пришлось обратится к не совсем стандартным (IMG:style_emoticons/kolobok_light/biggrin.gif) . Вообщем, спасибо, что просветили (IMG:style_emoticons/kolobok_light/rolleyes.gif)

(IMG:style_emoticons/kolobok_light/offtopic.gif) Да, а чем различаются Funcs и Functions? Вроде многие функции у них совершенно аналогичные (IMG:style_emoticons/kolobok_light/unsure.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Mar 23 2010, 09:01
Сообщение #3240


Level 17
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



В общем, можешь использовать файлы из раздела Client Extender Downloads тут:
http://www.nwnx.org/index.php?id=nwnx2
Но учти, что тогда при распространении модуля тебе нужно будет включать NWNCX в его состав и объяснить пользователям, как запускать NWNCX.

Functions - изначально плагин с разными функциями.
Funcs - почти то же самое, но ещё со множеством дополнительных функций, касающихся игромеханики. Правда, иногда бывает, что в Functions что-то появляется, а в Funcs - ещё нет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
GoOfs
сообщение Mar 31 2010, 15:07
Сообщение #3241


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Я нигде не нашел, как проверять, какой уровень моего персонажа. Мне нужно, чтобы диалог с одним персонажем проходил следуюшим образом: Сначала он дает мне задание на ковку меча, и на тренеровку моих навыков, а потом на 3ем уровне он просит меня разобраться с ограми.
Мастер скриптов неправильно пишет мне скрипт, или просто не работает...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mingun
сообщение Mar 31 2010, 15:30
Сообщение #3242


Level 2
*

Класс: Оборотень
Характер: Lawful Good
Раса: Человек



Помоему функция
Neverwinter Script
// Получает число броска хитов (hitdice) для oCreature, что является его уровнем.
// * Возвращаемое значение, если oCreature - невалидное существо: 0
int GetHitDice(object oCreature);

Комментарии мои, сам я ею не пользовался и как то дело не доходило, чтобы проверить, чтоже она возвращает, но по слухам вроде оно
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
GoOfs
сообщение Mar 31 2010, 17:42
Сообщение #3243


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Ладно, вроди сделал пальцем скрипт, и боевая задача была решена=)
Но теперь новая проблема: я ненашел в базе скриптов следующего: НПС подходит и начинает разговор. Чтото помню, было такое... но невспомню, где видел... А такая фишка нужна мне уже в 2х местах...

Сообщение отредактировал GoOfs - Mar 31 2010, 18:49
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 31 2010, 21:19
Сообщение #3244


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Влей мой модуль ПВ, там куча стандартных триггеров и скриптов в палитре, с описанием. Почитай и попробуй. На них работает весь модуль.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
GoOfs
сообщение Apr 1 2010, 12:33
Сообщение #3245


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Aiwan, благодарю! Думаю это привнесет в мой мод немного большее, чем я жду от ХотУ и СОУ. Я достаточно долго искал Хакпаки для нвн, и наконец то их нашел. А есть ли еще другие паки? Ну чтобы выбор был побольше.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Griffon
сообщение Apr 1 2010, 13:36
Сообщение #3246


Level 18
Иконки Групп

Класс: Страж Тьмы
Характер: True Neutral
Раса: Человек
МАСТЕР D&D



GoOfs, на nwvault.ign.com, правда все на английском.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
GoOfs
сообщение Apr 5 2010, 18:17
Сообщение #3247


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Neverwinter Script
void main()
{
object oWP = GetNearestObjectByTag("Point_"+GetTag(OBJECT_SELF));
object oPC = GetFirstPC();
object oSelf = OBJECT_SELF;
int iFIRST_TIME = GetLocalInt (oSelf, "FIRST_TIME");

if (iFIRST_TIME = 1)
{
AssignCommand(oSelf, ActionMoveToObject(oPC, TRUE, 0.1));
AssignCommand(oSelf, ActionStartConversation(oPC, "111", FALSE, FALSE));
AssignCommand(oSelf, ActionWait(15.0));
SetLocalInt (oSelf,"FIRS_TIME", 0);
}
else
{
AssignCommand(oSelf, ActionMoveToObject(oWP, TRUE, 0.1));
}
}

Скрипт должен: 1)отправить НПС к игроку
2)начать диалог с игроком
3)уйти на точку и стоять там, ожидая возвращения игрока.

Вроди и работает скрипт, но собака, нехочет 2ую часть выполнять(та что после else)...
В чем проблема? Как её решить? Может какието конфликты с слотом OnPerception?..
Уже 2ой день маюсь, бьюсь над этим скриптом, все никак не выходит...

Сообщение отредактировал GoOfs - Apr 5 2010, 18:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Apr 5 2010, 18:42
Сообщение #3248


Level 11
Иконки Групп

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Надо
Neverwinter Script
if (iFIRST_TIME == 1)
То, что написал ты - это присваивание, оно всегда возвращает 1.

Сообщение отредактировал Ilerien - Apr 5 2010, 18:45
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
GoOfs
сообщение Apr 5 2010, 20:07
Сообщение #3249


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Ilerien, благодарю, без этого бесспорно мой скрипт бы и не заработал. проверял=)
Но я сам нашел ошибку. Это была банальная опечатка.
---
Еще один такой вопрос: как непися отправить в тартарары, или просто убить.
Моя задача сейчас Отправить непися к игроку. Поговорив с неписем, последний должен уйти и либо умереть и воскреснуть в близлежащей таверне, либо портануться в ту же таверну.

Сообщение отредактировал GoOfs - Apr 7 2010, 16:17
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Apr 8 2010, 10:09
Сообщение #3250


Level 5
Иконки Групп

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



на слот end conversation (слот этот ищи в диалоге, там в одной из закладок справа внизу) ставь скрипт с телепортом игрока.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 128 129 130 131 132 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th April 2024 - 01:11