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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 35 36 37 38 39 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Lex
сообщение Mar 21 2005, 19:57
Сообщение #901


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

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



это к чему?
object oItem = GetItemInSlot(Random(14),oPC);
Мы берем атем из рандомного слота. Тебе вроде это надо было. (можето оказаться и стрела... а может ничего не оказаться, кстати. :) Ну это просто циклом правится)
Neverwinter Script Source
void main()
{
object oPlayer = GetLastPlayerDied();
object oItem = GetItemInSlot(Random(14),oPC);

while (!GetIsObjectValid(oItem))
        oItem = GetItemInSlot(Random(14),oPC);

CopyObject(oItem,GetLocation(oPC));
DestroyObject(oItem);
}


Опять же это все весьма СЫРОЕ. Если на РС 1-2 вещи, то цикл это очень неоптимальный вариант. А если почти все слоты заняты, то нормально. Но думать я думаю ясно в какую сторону.



object oItem = GetPCItemLastEquipped()
Это последний одетый айтем. Причем корректо будет работать только в слоте onItemEquipped
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarron
сообщение Mar 21 2005, 20:02
Сообщение #902


Level 2
*

Класс: Дварф-Защитник
Характер: Lawful Evil
Раса: Дварф



не я к тому что я 0 в скриптах а на эту строку он пишет что неправильно продекларирован тип.Мои мозги думают что просто айтем не описан но они часто ошибаються-)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Mar 21 2005, 20:06
Сообщение #903


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

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



Короче если у вас хороший скриптер, то ждите его, он сам все напишет. То, что ты спрашивал это довольно просто.

И в любом случае посылай его сюда. Думаю он найдет, чему тут поучиться и мы по возможности чего-нить новое узнаем.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Хэнтан
сообщение Mar 21 2005, 21:12
Сообщение #904


Level 1


Класс: Ученик Дракона
Характер: True Neutral
Раса: Дракон



QUOTE (Lex @ Mar 21 2005, 16:38)


дамми. Все просто. Для начала дамми должен быть creature, а не placeable. Есть у кричей такой внешний вид.
На дамаж объекта написать скрипт дачи экспы и наложение heal (чтоб не убили). И естественно поставить флаг immortale

Извините за мою тупость и лаймерство,но немогли бы вы мне объяснить что такое:creature,placeable,кричей,флаг immortale? :unsure:

Еще раз извините!!!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Mar 21 2005, 21:35
Сообщение #905


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

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



creature - монстр или НПС (не игровой персонаж). Живое существо короче, не вещь и не мебель.. (хе...скелет по идее тоже creature)
placeable - это предметы интерьера. Ящики, шкафы, колонны.
крич это creature и есть. Просто так сокращают.
флаг это место, где можно поставить галочку или снять ее. Точнее не место, а что эта галочка, или ее отсутствие значит.
immortale - это бессмертие. Чтобы это сделать надо в свойствах creature в одной из закладок поставить флаг immortale (проще говоря около слоа immortale поставить галочку)


А теперь собсна по теме:
- эти вопросы в раздел новичков.
- почитай статью (тема Вопросы и Ответы, 2-ой пост.) После этого многие вопросы такого рода отпадут.
- и читайте ПРАВИЛА РАЗДЕЛА.

епрть..
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 21 2005, 22:10
Сообщение #906


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

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



QUOTE (Хэнтан @ Mar 22 2005, 00:12)
Извините за мою тупость и лаймерство,но немогли бы вы мне объяснить что такое:creature,placeable,кричей,флаг immortale? 
Еще раз извините!!!

Объясни подробно ЗАЧЕМ тебе это знать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
][umepa
сообщение Mar 22 2005, 09:05
Сообщение #907


Level 3
*

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



тут вопросик появился, поставил эту команду на непися:
void main()
{
object oPC = GetPCSpeaker();
ActionForceFollowObject(oPC, 1.0);
}
он за мной идёт все нормально, но если начинается бой то непись за мной уже не идёт . Как сделать что бы и после окончания боя он следовал за мной? :bad:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 22 2005, 10:06
Сообщение #908


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

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



Поставь проверку, на хербит или на юзер деф. Твой НПС идет за тобой акцией, она сбилась и он отстал. Можно забить ему стек команд и тогда он ничего делать не будет только тупо бежать за тобой.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ketcalkoatl
сообщение Mar 22 2005, 10:07
Сообщение #909


Level 6
**

Класс: Монах
Характер: Neutral Evil
Раса: Человек
NWN: Тексты



Повесь скрипт на диалог NPC.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarron
сообщение Mar 22 2005, 20:16
Сообщение #910


Level 2
*

Класс: Дварф-Защитник
Характер: Lawful Evil
Раса: Дварф



О народ вот тут давно хотели реализовать но не смогли ибо не имеем даже представления как.Мб ОТЦЫ помогут=)
Приходишь в темный город и говоришь дескать вот я такой растакой крутан дайте мне отряд и тебе в подчинение выдают отряд гоблинов ну или орков там от уровня.Но главное требование чтобы они бегали за мной и атакили того кто атакит меня или кого атакю я .МБ вы поможите.ЕСли слодно с группой то можно и с одним но конечно важно группу.
Заранее спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
][umepa
сообщение Mar 22 2005, 22:31
Сообщение #911


Level 3
*

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



айв а как проверку например на heartbeat поставить :swoon: я мало ещё чё знаю
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Mar 22 2005, 22:50
Сообщение #912


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



Одного - это просто. Сделай его хенчманом (пояснения нужны?).

Группу - это сложно. В принципе, можно сделать главаря группы хенчманом ПС. Второго - хенчманом главаря, третьего - хенчманом второго и т.д.
При этом нужно отслеживать смерть каждого гоблина и соответствующим образом перестраивать цепочку. Т.е.
убили командира - назначаем 2-го гоблина хенчманом ПС.
Убили 2-го гоблина. Подчиняем 3-го командиру. и т.д.

По идее, они будут бегать за игроком а ля бойцы в Rainbow Six. :D
lДобавлено в 23:22
][umepa
айв а как проверку например на heartbeat поставить я мало ещё чё знаю

В скрипте onSpawn раскомментируешь строчкуSetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT);
Сохраняешь скрипт под другим именем.

Теперь скрипт onUserDefined будет вызываться как "хербит". Т.е. каждые 6 сек. (каждый раунд). Туда пишешь:
Neverwinter Script Source
void main()
{
int nEvent = GetUserDefinedEventNumber();

if (nEvent == EVENT_HEARTBEAT)
{
   object oPC = GetLocalObject(OBJECT_SELF, "PC_TO_FOLLOW");
 
   // если ПС не определен ИЛИ идет бой -> прервать сценарий
   if(!GetIsObjectValid(oPC) || GetIsInCombat() ) return;
  
   ActionForceFollowObject(oPC, 1.0);
}
}

В свой скрипт в диалоге добавляешь
SetLocalObject(OBJECT_SELF, "PC_TO_FOLLOW", oPC);

Чтобы отпустить НПС удали локалку:
DeleteLocalObject(OBJECT_SELF, "PC_TO_FOLLOW");

З.Ы. Вместо хербита, пожалуй, лучше испольщыват КомбатРаундЭнд.

Сообщение отредактировал Friedrich - Mar 22 2005, 23:24
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
][umepa
сообщение Mar 23 2005, 08:04
Сообщение #913


Level 3
*

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



спасибо ,Friedrich :yahoo: а чё значит расоментировать?
Добавлено в [mergetime]1111554341[/mergetime]
тьфу :DB: раскоментировать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tiger Greyhawk
сообщение Mar 23 2005, 08:24
Сообщение #914



Иконки Групп

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (Хumepa @ Mar 23 2005, 08:04)
а чё значит расоментировать?

знак // - это комментарий. Все, что находится в этой строчке после него не воспринимается компилятором. Убрать эти знаки и значит раскоментировать.
Лови ссылки: первая и вторая
Вопросы типа "что значит" проще, имхо, на канале (первая ссылка). Здесь большие темы. То, что никак в чате.

Сообщение отредактировал Tiger Greyhawk - Mar 23 2005, 08:25
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
][umepa
сообщение Mar 23 2005, 14:10
Сообщение #915


Level 3
*

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



Friedrich млин чё то не фурычит можешь описать весь процесс по подробней плз :shout: :shout:
Добавлено в [mergetime]1111576693[/mergetime]
памаги плз нужно очень а то я с горя :swoon:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 23 2005, 16:42
Сообщение #916


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

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



Этот кусок вставишь в конце скрипта на heartbeat:
Neverwinter Script Source
if(GetLocalInt(OBJECT_SELF, "PC_TO_FOLLOW") == TRUE)
    {
        SignalEvent(OBJECT_SELF, EventUserDefined(2001));
    }


На UserDefined поставь такой: (скрипты сырой и я его не тестил, учись сам)

Neverwinter Script Source
//:://////////////////////////////////////////////
//:: Created By: WRG! Aiwan aiwan@e-mail.ru
//:: Created On: 23.03.2005
//:://////////////////////////////////////////////
//::
//:://////////////////////////////////////////////

void main()
{
if (GetArea(OBJECT_SELF) != GetArea(GetFirstPC()) || !GetIsObjectValid(oPC) || GetIsInCombat())
      return; // Если НПС не влокации вместе с РС или идет бой или РС базарит то возврат
    object oPC = GetFirstPC();
    object oNPC = OBJECT_SELF;
    int nEvent = GetUserDefinedEventNumber();
    float fDist = GetDistanceBetween(oPC, oNPC); // Расстояние между РС и НПС
    if (nEvent == 2001 && fDist > 20.f) // Если дальше 20 метров, т.е двух тайлов
    {
    AssignCommand(oNPC, ActionForceFollowObject(oPC, 1.0));
              int iRand = Random(4);
              switch (iRand)
              {
                    case 0:
                    {
                        SpeakString("Подожди!");
                    }
                    case 1:
                    {
                        SpeakString("Я не успеваю!");break;
                    }
                    case 2:
                    {
                        SpeakString("Стооой!");break;
                    }
                    case 3:
                    {
                        SpeakString("Не убегай!");break;
                    }
              }
          }
    return;
}

Добавлено в [mergetime]1111585465[/mergetime]
Удалить локалку и не идти за РС в диалоге:
Neverwinter Script Source
SetLocalInt(OBJECT_SELF, "PC_TO_FOLLOW", FALSE)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
][umepa
сообщение Mar 24 2005, 12:17
Сообщение #917


Level 3
*

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



айв, спасибки я всё вставил как ты сказал токо неписи всё равно за мной после боя не идут тут вот из-за этого может: else if ( GetWalkCondition(NW_WALK_FLAG_CONSTANT))
error : no right bracket on expression
и вот ещё
float fDist = GetDistanceBetween(oPC, oNPC); // Расстояние между РС и НПС
error :unexpected end compund statement
не компилируются можешь скажешь как исправить если я тя ещё не достал с нубскими вопросами :swoon:
Добавлено в [mergetime]1111656990[/mergetime]
вот ещё млин че он не компилируется айв подскажи
if (GetArea(OBJECT_SELF) != GetArea(GetFirstPC()) || !GetIsObjectValid(oPC) || GetIsInCombat())
пишет error variable defined without type
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Mar 24 2005, 12:58
Сообщение #918


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

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



поставь это:
[QUOTE=Aiwan, Mar 23 2005, 16:42]object oPC = GetFirstPC();[/QUOTE]
выше этого:
[QUOTE=Aiwan, Mar 23 2005, 16:42]if (GetArea(OBJECT_SELF) != GetArea(GetFirstPC()) || !GetIsObjectValid(oPC) || GetIsInCombat())
return; // Если НПС не влокации вместе с РС или идет бой или РС базарит то возврат[/QUOTE]



[QUOTE=][umepa, Mar 24 2005, 12:17]токо неписи всё равно за мной после боя не идут тут вот из-за этого может: else if ( GetWalkCondition(NW_WALK_FLAG_CONSTANT))
error : no right bracket on expression[/QUOTE]
код приводи полностью
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Mar 24 2005, 17:17
Сообщение #919


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



Химера! Открой файл Chapter1 оригинальной кампании НВН. Там на полуострове (Penisula) были НПС которых нужно было проводить (н.п.: Master Johns.) Посмотри как это сделали1 Биовары и успокойся.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 24 2005, 17:53
Сообщение #920


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

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



][umepa эти скрипты я компелили в авроре, только не проверял на деле. Сам проверяй.
Neverwinter Script Source
object oPC = GetFirstPC();
if (GetArea(OBJECT_SELF) != GetArea(GetFirstPC()) || !GetIsObjectValid(oPC) || GetIsInCombat(oPC))
      return; // Если НПС не влокации вместе с РС или идет бой или РС базарит то возврат

Попробуй так, Лекс прав. :D А ВЕДЬ Я КОМПЕЛИЛ! Видать патч что то косячит...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
][umepa
сообщение Mar 24 2005, 21:27
Сообщение #921


Level 3
*

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



Friedrich и Aiwan огроменное вам спасибо я всё сделал усе работает :D :D :lol: :lol:
спасибо и ещё раз спасибо помогли . я лоханулся просто а ща усе работает благодарю!!! :D
Добавлено в [mergetime]1111688928[/mergetime]
lex и тебе спасибо :D
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 24 2005, 23:03
Сообщение #922


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

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



Расскажи как сделал? Может в набор скриптов кинешь скриптик. Новичкам понадобится.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Mar 25 2005, 09:18
Сообщение #923


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

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



Aiwan
QUOTE (Aiwan @ Mar 24 2005, 17:53)
Попробуй так, Лекс прав. biggrin.gif А ВЕДЬ Я КОМПЕЛИЛ! Видать патч что то косячит...

я подозревал, что во всех тяжких будут винить, но не настолько же! такое ни под каким соусом не может компилиться, ни с патчем, ни без него. :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
][umepa
сообщение Mar 25 2005, 22:01
Сообщение #924


Level 3
*

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



лана aiwan попотаюсь токо ша нет времени может завтра вечером
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Mar 26 2005, 00:58
Сообщение #925


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



Вопрос: как создать следующий спецэффект? Внешность персонажа мгновенно, неуловимо изменяется множество раз подряд, то есть обличья мелькают одно за другим, потом какое-то одно устанавливается? Я имею в виду что-то вроде быстрого перелистывания книги, где на каждой странице - какое-то существо. Вот он - человек, вот (через треть секунды) - гном, вот - эльф...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 35 36 37 38 39 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 30th April 2025 - 19:03