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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 128 129 130 131 132 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
gennady
сообщение Dec 14 2009, 16:27
Сообщение #3211


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

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



Если говорит: "Прощай!", то точек нет или они не правильно пробиты... Я думаю ты забыл пробить нижний дефис между приставкой и тегом.

Если тег N, то теги точек должны быть:
EXIT_N
TROP_N
Звиняюсь... Тока доглядел чего ты в скрипте напортачил... Это универсальный скрипт и нечего в него еще и теги НПС пробивать...
Neverwinter Script
object oPoint1 = GetObjectByTag("TROP_N"+ GetTag(oSelf));
object oPoint2 = GetNearestObjectByTag("EXIT_N"+ GetTag(oSelf));

Тут в моем скрипте написано:
Neverwinter Script
object oPoint1 = GetObjectByTag("TROP_"+ GetTag(oSelf));
object oPoint2 = GetNearestObjectByTag("EXIT_"+ GetTag(oSelf));

Это значит что идет привязка точки к тегу НПСа (+ GetTag(oSelf)-это тег НПСа), а теги точек для твоего НПС с тегом N как раз и будут
EXIT_N
TROP_N
попробуй догодаться какие теги нужны для твоего скрипта...
Цитата(Aiwan @ Dec 13 2009, 16:35) *
Azzerrotter, надо вникать и пытаться думать. Без этого никакой мега крутой скрипт тебе не поможет.

+1 (IMG:style_emoticons/kolobok_light/yes3.gif)

Сообщение отредактировал gennady - Dec 14 2009, 16:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Azzerrotter
сообщение Dec 15 2009, 12:58
Сообщение #3212


Level 2
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



спс все по описанию вправил все запахало!


Сообщение отредактировал Azzerrotter - Dec 15 2009, 13:28
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
WARLORD
сообщение Dec 27 2009, 22:06
Сообщение #3213


Level 1


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



Люди, помогиге пожалуйста! Я в этих скриптах практически ничего не понимаю, да они мне на самом деле то и не нужны. НО вот какой вопрос. Я начал переводить мод НВН "Кормические ночи". И тут стал такой вопрос, а где находятся реплики НПС'шников, которые появляются у них над головами во время скриптовых сцен? Залажу в НПС, далее в скрипты. Проверил все: ну Conversation, Perception и т.д. но ни в одном из них не нашел команды типа SpeakString или ActionSpeakString. А функция FloatingTextStringOnCreature вообще пассивна и никакого текста не отображает. Может я что-то не догоняю. И не там ищу? Помогите пожалуйста разобраться. Укажите, где этот текст должен быть точно: скрипт и функцию, если он в ней. И еще один вопрос, где должен находится текст в панели отчета? Ну типа "Вы вышли из тюрьмы и в глаза вам ударил яркий солнечный свет" - текст. Там должны по-моему быть такие команды FloatingTextStringOnCreature("Текст."); SendMessageToPC(oPC, "текст"). Очень прошу помогите плиз, а то буит очень обидно, когда ВСЕ диалоги будут на русском, а эти немногочисленные фразы в скриптовых сценах так и останутся непереведенными. Заранее спасибо
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 28 2009, 11:14
Сообщение #3214


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

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



WARLORD, в скриптах или в стрингах.

Стринги - строки с описанием могут быть где угодно, хоть на самом НПС или триггере.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
WARLORD
сообщение Dec 28 2009, 12:11
Сообщение #3215


Level 1


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



Цитата(Aiwan @ Dec 28 2009, 12:14) *
WARLORD, в скриптах или в стрингах.

Стринги - строки с описанием могут быть где угодно, хоть на самом НПС или триггере.


Я уже нашел. Там скрипты называются cutscene 1,2,3 и т.д. Но вот еше один ламерский вопрос: как писать в скрипте на русском? а не абракадаброй

опять сам разобрался (IMG:style_emoticons/kolobok_light/rolleyes.gif) надо было шрифт поменять
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ogneslav
сообщение Jan 17 2010, 23:53
Сообщение #3216


Level 4
**

Класс: Друид
Характер: True Neutral
Раса: Человек



Скажите, можно ли добавалять фиты персонажу скриптово(на подобии нвна 2, тоесть социальные там всякие(ну вообщем для скрипта всеравног какие, главное можно ли?))

И второй вопрос можно ли добавить фит на оружие через скрипт, из тех что нет в палитре( и врядли они там будут, т.к. их я сделал, а добавлять в палитру нехотелось бы (IMG:style_emoticons/kolobok_light/prankster2.gif) )
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jan 18 2010, 08:53
Сообщение #3217


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

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



Вешать на шкуру. Или через NWNX, но это вариант не для сингла.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Norfolk
сообщение Feb 4 2010, 21:30
Сообщение #3218


Level 2
*

Класс: Бледный Мастер
Характер: Chaotic Neutral
Раса: Полуэльф



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

Я поставил на OnClosed скрипт, ломающий объект, а вот восстановить никак не могу... Да, и если можно лучше что бы просто исчезал, а не ломался, и не когда закрывают, а когда забирают содержимое (ведь можно закрыть и не взять, а объект все равно сломается).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Feb 5 2010, 12:28
Сообщение #3219


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

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



Ставить на onDisturbed.
Neverwinter Script
#include "nw_i0_2q4luskan"

void main()
{
    object oChest = OBJECT_SELF;
    location lLoc = GetLocation(oChest);
    string sResRef = GetResRef(oChest);

    if(GetInventoryDisturbType() == INVENTORY_DISTURB_TYPE_REMOVED && !GetIsObjectValid(GetFirstItemInInventory(oChest))
)
    {
        AssignCommand(GetModule(), DelayCommand(600.0f, CreateObjectVoid(OBJECT_TYPE_PLACEABLE, sResRef, lLoc)));
        DestroyObject(oChest);
    }
}
Можно добавить переноску имени/тега/флажков и т. д. Если инвентарь переменный, то его тоже можно сохранять (а лучше генерить на открытие плейса).

Сообщение отредактировал Ilerien - Feb 5 2010, 13:49
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Norfolk
сообщение Feb 5 2010, 13:17
Сообщение #3220


Level 2
*

Класс: Бледный Мастер
Характер: Chaotic Neutral
Раса: Полуэльф



о, спасибо большое (IMG:style_emoticons/kolobok_light/thank_you.gif)


Хм..Не знает команды CreateObjectVoid, а чем она отличается от просто createobject?

Добавлено: А, все, сорри, это я кривой, не скопировал первую строку, думал это комментарий (IMG:style_emoticons/kolobok_light/pardon.gif)

Сообщение отредактировал Norfolk - Feb 5 2010, 13:56
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Feb 5 2010, 14:19
Сообщение #3221


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

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



Что значит "не знает"? Эта функция лежит в стандартной библе nw_i0_2q4luskan. Отличается от простого создания обжекта тем, что возвращает не обжект, а войд - для того, чтобы можно было передать её в DelayCommand().
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 8 2010, 10:20
Сообщение #3222


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

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



Цитата(Ilerien @ Feb 5 2010, 14:19) *
для того, чтобы можно было передать её в DelayCommand().

или загонять в стек через ActionDoCommand
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Batkom
сообщение Feb 12 2010, 20:51
Сообщение #3223


Level 4
**

Класс: Клерик
Характер: Lawful Good
Раса: Человек



Хотел научить стражников ругаться и подбегать к игроку, если у него в руках находится оружие.
на onPerseption поставил такой кусок:
Neverwinter Script
object oPC = GetLastPerceived();
    if (GetIsPC(oPC)&&GetLastPerceptionSeen())
    {
        object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
        if (oWeapon != OBJECT_INVALID)
        {
        ClearAllActions();
        AssignCommand(OBJECT_SELF, ActionStartConversation(oPC, "noweapon"));
        SendMessageToPC(oPC, "Я вижу тебя!");
        }
    }

"Ай си ю" в лог говорит, а вот диалог не стартует.
Нипесь привязан к вейпоинтам, быть может в них дело?

Сообщение отредактировал Batkom - Feb 12 2010, 20:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lorendroll
сообщение Feb 14 2010, 00:31
Сообщение #3224


Level 9
***

Класс: Волшебник
Характер: Neutral Good
Раса: Эльф



Batkom, попробуй заставь его сначала подойти к игроку
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Virake
сообщение Feb 25 2010, 00:03
Сообщение #3225


Level 5
**

Класс: Некромант
Характер: Chaotic Evil
Раса: Человек



возможно ActionDoCommand?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
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)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



Текстовая версия Сейчас: 2nd May 2025 - 03:18