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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 65 66 67 68 69 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Daemonix
сообщение Jul 19 2005, 02:15
Сообщение #1636


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



А, дошло! И чё я был такой тупой. Скоро где-нибудь разместится пре-альфа моего мода! :D
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Мефистофель
сообщение Jul 19 2005, 02:24
Сообщение #1637


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

Класс: Страж Тьмы
Характер: Lawful Good
Раса: Баатезу



QUOTE
А, дошло! И чё я был такой тупой. Скоро где-нибудь разместится пре-альфа моего мода!

Попроси Дядюшку Айвана, он добрый и обязательно разместит здесь твой модуль, и мы будем в него играть, и Очень строго отценивать."шутка".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Jul 19 2005, 02:40
Сообщение #1638


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



QUOTE

Попроси Дядюшку Айвана, он добрый и обязательно разместит здесь твой модуль, и мы будем в него играть, и Очень строго отценивать."шутка".

Сначала надо сделать...

Чёрт, искал-искал, а скрипт на то, чтобы непись говорил с тобой, если на триггер наступишь, не нашёл!
Может у кого есть?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Мефистофель
сообщение Jul 19 2005, 02:50
Сообщение #1639


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

Класс: Страж Тьмы
Характер: Lawful Good
Раса: Баатезу



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, "тег заранее сделанного разгавора"));
}

Хватай. оНЭнтер Триггера

Сообщение отредактировал Мефистофель - Jul 19 2005, 02:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Jul 19 2005, 11:59
Сообщение #1640


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



И опять всё пашет! Мефистофель, ты прямо крут!

А, и вот пробовал я изучить скрипт nw_c2_defaultX, как dumbo посоветовал...
Наверное, он переоценил мои таланты в скриптах. Нет ли чего попроще (напоминаю: чтобы непись атаковал игрока). :swoon:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Batkom
сообщение Jul 19 2005, 12:58
Сообщение #1641


Level 4
**

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



сосзай для нипися свою фракцию, и спомощью скрипт визарда поставь в диалога атачить игрока(это если в диалоге)
если хочешь чтоб он просто атачил, поставь ему фракцию враждебный
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Jul 19 2005, 17:45
Сообщение #1642


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



Daemonix, задавай вопросы конкретней. рекомендация изучать дефолтные скрипты была в ответ на:
QUOTE (Daemonix @ Jul 18 2005, 16:54)
расскажите мне о том как НеПиСь атакует игрока (условия, фракции, скрипты, советы)

чтобы непись атаковал игрока, достаточно выставить ему фракцию hostile. короче, напиши нормально, что ты хочешь.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DroWishSoul
сообщение Jul 19 2005, 19:06
Сообщение #1643


Level 3
*

Класс: Убийца
Характер: Chaotic Neutral
Раса: Эльф



помогите со скриптом, я тут новичок в скриптах.. я написал, но неправильно, компилится, но не работает
скрипт проверки предмета в слоте по тэгу (в разговоре с NPC условие на появление текста)

Neverwinter Script Source
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    object oTag = GetObjectByTag("tag");
    if(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC) == oTag)
        return FALSE;

    return TRUE;
}

скажите, что неправильно? (хотя почти уверен, что всё)
:mamba:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 19 2005, 21:13
Сообщение #1644


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



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
Сообщение #1645


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



QUOTE
чтобы непись атаковал игрока, достаточно выставить ему фракцию hostile. короче, напиши нормально, что ты хочешь.


Вот, что, я, собственно, хотел!
Там такой квест:
в пещере убиваешь главаря гоблинов-бандюков и находишь искомого непися. Он спрашивает:
-Ты пришёл спасти меня?
А ему можно ответить:
-Да, ты можешь идти.
или
-Нет, щас ты умрёшь!

Если выбираешь последнюю реплику, то он говорит:
-Только попробуй!!!

И вот тогда он атакует перса. :DB:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 19 2005, 21:48
Сообщение #1646


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



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);
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Jul 19 2005, 22:02
Сообщение #1647


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



небольшие поправки:
атаковать должен таки непись, зачем снижать репутацию игроку нападением? - достаточно этого:
Neverwinter Script Source
ActionAttack(GetPCSpeaker());

вообще, в таких случаях нехорошо портить отношение со всей фракцией непися, но, если нужно сделать именно так, то:
Neverwinter Script Source
AdjustReputation(GetPCSpeaker(), OBJECT_SELF, -100);
DetermineCombatRound(GetPCSpeaker());


Zirrex, дефендеры то тут причем? - дались они тебе! :crazy:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DroWishSoul
сообщение Jul 20 2005, 07:11
Сообщение #1648


Level 3
*

Класс: Убийца
Характер: Chaotic Neutral
Раса: Эльф



Zirrex, благодарю, всё работает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jul 20 2005, 08:21
Сообщение #1649


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Тут вот в прохождении спрашивали, что значит меч +1 и у меня возникло массу других вопросов, что значит...
Есть какой-нить хелп, FAQ, по этому поводу? Наверное в лицензионных играх есть статьи, где объясняются все параметры и скилы, но в пиратке этого нет. Где можно это достать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 20 2005, 08:24
Сообщение #1650


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



dumbo да я уж когда написал, выключил компьютер, потом подумал, а зачем так сложно, когда можно сделать НПС свою фракцию, и поссорить именно с ним, а не со всеми, кто входит в его фракцию. А нападение игрока на НПС я сделал лишь потому, что сам пункт разговора об этом говорит :) Раз уж собрался, то бей первым.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DroWishSoul
сообщение Jul 20 2005, 08:29
Сообщение #1651


Level 3
*

Класс: Убийца
Характер: Chaotic Neutral
Раса: Эльф



QUOTE (-fenix- @ Jul 20 2005, 08:21)
Тут вот в прохождении спрашивали, что значит меч +1 и у меня возникло массу других вопросов, что значит...
Есть какой-нить хелп, FAQ, по этому поводу? Наверное в лицензионных играх есть статьи, где объясняются все параметры и скилы, но в пиратке этого нет. Где можно это достать?

Откуда можно это достать, я не знаю, всё узнавал по собственному опыту.
Если надо, то попробуй поискать на яндексе. Хотя, я почти уверен, что такие FAQ есть на какой-нибудь игромании в архивах или на ЛКИ.
Добавлено в 12:53
Помогите еще раз со скриптом... мне надо, чтобы в определенный промежуток времени (например, с 21 вечера до 6 утра) объект (например, NPC с тагом "tag") делал определенные действия (например, сидел (то есть, анимация, а не отдых))
вот так... да, и куда этот скрипт всунуть? :xz:

Сообщение отредактировал DroWishSoul - Jul 20 2005, 12:54
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Jul 20 2005, 15:35
Сообщение #1652


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



DroWishSoul
Если не ошибаюсь, было в базе скриптов. Но где-то точно было.
Добавлено в [mergetime]1121863071[/mergetime]
Вот, у меня тоже вопрос. Как сделать так:
вот непись, а вот его вэйпоинты. Сначала он идёт на первый WP, ждёт 10 сек, потом на второй, ждёт 10 сек и т.д. Где-то это было, но я ОЧЕНЬ ограничен во времени сидения в инете, чтобы искать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jul 20 2005, 16:07
Сообщение #1653


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



DroWishSoul, вот самое простое, ставим на OnHeartbeat

Neverwinter Script Source
void main()
{
object oNPC = OBJECT_SELF;

if (GetTimeHour() >= 21 || GetTimeHour() <=6) // проверяем время

    {
    AssignCommand(oNPC,ActionPlayAnimation(ACTION_SIT, 1.0, 10.0)); // совершаем любое действие
    }

    else
    {
    // иначе что-то еще
    }
}


Сообщение отредактировал -fenix- - Jul 20 2005, 16:10
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jul 20 2005, 16:14
Сообщение #1654


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



Вот и ответ на твой вопрос, просто нарисуй триггер (надеюсь ты знаешь что это такое) и на onEnter поставь вот этот скриптик
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oNPC = GetObjectByTag("Тэг твоего NPC");
object oWP_1 = GetWaypointByTag("Тэг первого вайпоинта");
object oWP_2 = GetWaypointByTag("Тэг второго вайпоинта");
object oWP_3 = GetWaypointByTag("Тэг третьего вайпоинта");

if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1)
return;
SetLocalInt(OBJECT_SELF,"TRIGGER",1);

ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWP_1)));
ActionWait(10.0);
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWP_2)));
ActionWait(10.0);
ActionDoCommand(AssignCommand(oNPC, ActionMoveToObject(oWP_3)));
ActionWait(10.0);
}

P.S: обрати внимание что ты сам можешь указать время, (ActionWait) добавить анимацию, фразы…
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DroWishSoul
сообщение Jul 20 2005, 16:16
Сообщение #1655


Level 3
*

Класс: Убийца
Характер: Chaotic Neutral
Раса: Эльф



Благодарю.
Добавлено в 16:49
есть ещё вопросы:
fenix, можно ли подобное сотворить НЕ через HeartBeat, а, например, с наступлением определенного времени NPC должен делать действие?
а ACTION_SIT - это имеется ввиду сидение на стуле? Мне нужно, как при отдыхе... Но когда я ставлю ACTION_REST, он почему-то заваливается на спину с громким хлопком, а не садится на пол (а при ACTION_SIT не происходит ничего).

Сообщение отредактировал DroWishSoul - Jul 20 2005, 16:50
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jul 20 2005, 18:15
Сообщение #1656


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (DroWishSoul @ Jul 20 2005, 16:16)
а ACTION_SIT - это имеется ввиду сидение на стуле? Мне нужно, как при отдыхе... Но когда я ставлю ACTION_REST, он почему-то заваливается на спину с громким хлопком, а не садится на пол (а при ACTION_SIT не происходит ничего).


Да, это я ступил надо вот, что писать ANIMATION_LOOPING_SIT_CROSS.

QUOTE (DroWishSoul @ Jul 20 2005, 16:16)
можно ли подобное сотворить НЕ через HeartBeat, а, например, с наступлением определенного времени NPC должен делать действие?


На сколько я знаю, специального слота, для ночного и дневного события нет!
Так, что проверяем это через хертбит каждые 6 секунд.
Если беспокоит, что он ночью каждые 6 секунд приказы отдает то можно так сделать.
Neverwinter Script Source
void main()
{
object oNPC = OBJECT_SELF;

if (GetTimeHour() >= 21 && GetLocalInt(oNPC, "Ночь") == 0 ||
    GetTimeHour() <=6 && GetLocalInt(oNPC, "Ночь") == 0)

    {
    AssignCommand(oNPC,ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS, 1.0, 10.0));
    SetLocalInt(oNPC, "Ночь", 1);
    }

    else
    {
    if (GetLocalInt (oNPC, "Ночь") == 1)
        SetLocalInt(oNPC, "Ночь", 0);
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DroWishSoul
сообщение Jul 20 2005, 18:45
Сообщение #1657


Level 3
*

Класс: Убийца
Характер: Chaotic Neutral
Раса: Эльф



fenix, большое спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 20 2005, 20:43
Сообщение #1658


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



-fenix- ну и нагромоздил же ты скрипт, а не проще ли написать так:

Neverwinter Script Source
void main()
{
    if (GetLocalInt(OBJECT_SELF, "Night") == FALSE)
    {
        if (GetTimeHour() >= 21 || GetTimeHour() <= 6)
        {
            AssignCommand(OBJECT_SELF, PlayAnimation(ANIMATION_LOOPING_SIT_CROSS, 1.0, 9999.0));
            SetLocalInt(OBJECT_SELF, "Night", TRUE);
        }
    }
    else
    {
        SetLocalInt(OBJECT_SELF, "Night", FALSE);
    }
}

И делать это надо не на хартбит, а на эвент OnRested. На эвенте хартбита при определенных условиях просто заставлять использовать функцию сна, в скрипте которого уже будет прописан сей скрипт. Желательно также сделать условия, что если с НПС заговорили, то переменную стереть, но пока он говорит, не садиться, и т.п.

Dik Morris, не совсем понял, зачем триггер? Достаточно указать НПС, что от него требуется, и он уже сам будет делать то что надо. Скрипт же можно изобразить гораздо проще. Тем более есть такие возможности. Правим код на хартбите:

Neverwinter Script Source
WalkWayPoints(FALSE, 10.0);

На OnSpawn убираем или комментируем "WalkWayPoints();"

Сообщение отредактировал Zirrex - Jul 20 2005, 20:44
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jul 20 2005, 20:54
Сообщение #1659


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (Zirrex @ Jul 20 2005, 20:43)
а не проще ли написать так:

Проще, ну дак я сам только учусь :)
Zirrex, а зачем на OnRested, я че та не совсем допер, растолкуй плизз :xz:

З.Ы Дошла моя кутсценка :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Jul 20 2005, 20:56
Сообщение #1660


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



Спасибо Dik Morrsу и Zirrexу!
Кто-нибудь знает как на OnDeath непися постаить добавление записи в журнал игрока?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 65 66 67 68 69 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16th July 2025 - 14:26