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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 115 116 117 118 119 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
denis0k
сообщение Feb 20 2008, 00:06
Сообщение #2886


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Вообще вариант есть (IMG:style_emoticons/kolobok_light/smile.gif) Если на оружие не планируется вешать кастомные OnHit-ы (т.к. движок поддерживает тока 1 на брата), то можно сделать свой девастат.

Получение: кастомные ничего не дающие фиты (просто флаги, подтверждающие взятие девастата)
Включение: на одевание шмотки (OnItemEquip) или даже на ее получение (acquire), если у чара есть фит (см. выше) на оружие, вешать свое OnHit-свойство, которое и будет эмулировать девастат с нужными фиксами. На снятие свойство удаляется. Плюс ведро проверок.

В результате каждое попадание будет запускаться наш скрипт и там уже хоть 80% хп, хоть отрубание головы (IMG:style_emoticons/kolobok_light/smile.gif)


P.S. Да, я знаю толк в извращениях (IMG:style_emoticons/kolobok_light/smile.gif) Зато без нвнх.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Feb 20 2008, 01:05
Сообщение #2887


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

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



Цитата
Включение: на одевание шмотки (OnItemEquip) или даже на ее получение (acquire), если у чара есть фит (см. выше) на оружие, вешать свое OnHit-свойство, которое и будет эмулировать девастат с нужными фиксами. На снятие свойство удаляется. Плюс ведро проверок.
А можно проверять, есть ли фит, в самом онхите (IMG:style_emoticons/kolobok_light/smile.gif) Только придётся руками делать хитрый чек, эмулирующий крит.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 20 2008, 01:31
Сообщение #2888


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

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



Денисок, а как ты отследишь крит? Любой дамаг выше максимального для данного оружия с бонусами - крит? вроде как нет, да и нагрузка на такие расчеты при каждом ударе..
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Feb 20 2008, 10:30
Сообщение #2889


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Сразу видно, что я недостаточно играл на эпиках (IMG:style_emoticons/kolobok_light/smile.gif) Но и тут есть выход (IMG:style_emoticons/kolobok_light/smile.gif) Следуя уже придуманной извращенной схеме можно самому сделать параллельную проверку крита с учетом диапазона оружия и наличия фитов. Т.е. крит отдельно, девастат (хотя это уже не девастат, а плюшка, отдаленно его напоминающая) отдельно, но шансы их равны.

При провале чека прям сразу вначале скрипта выходим, так что особой нагрузки не будет. Главное тут диапазоны оружий вынести в инклуд, а не грузить каждый раз из 2да, иначе шляпа. Я при слове "нагрузка" всегда вспоминаю аи с его 15к строками в одном из инклудов (IMG:style_emoticons/kolobok_light/smile.gif)


Громоздко, согласен. Даже кривовато. Но тем не менее реализуется без нвнх. Кстати, как сделать это через нвнх, ума не приложу. Видимо нужен свой плагин, блокирующий работу кода девастата и заодно запускающий вместо него скрипт. Но я такого не видел, поэтому и предложил то, что относительно реально сделать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Feb 20 2008, 19:13
Сообщение #2890


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

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



Не вариант (IMG:style_emoticons/kolobok_light/smile.gif) Ты не сможешь нормально посчитать атаку - только приблизительно, не учесть тучу бонусов (например, всякие там против видового разнообразия). Крит подтверждается броском против АС - там тоже проблемно, потому что точный АС ты не рассчитаешь - флетфутед и прочие пакости не дадут.

Сообщение отредактировал Ilerien - Feb 20 2008, 21:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Feb 20 2008, 21:15
Сообщение #2891


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Желание ищет тысячи возможностей, нежелание - тысячи причин (IMG:style_emoticons/kolobok_light/smile.gif) Или как там оно, не помню.

Мы уже далеко ушли от идеального варианта, значит и тут можем позволить условность - это же не девастат. Атака = баб + абилка + фиты + обкаст + плюшка на оружии (вроде так (IMG:style_emoticons/kolobok_light/smile.gif) ). Ас = GetAC() + проверка консила, посмотреть, что дает этот GetAC() в разных условиях и поправить если что. Насчет необходимости точного АС я бы поспорил, т.к. сам нвн далеко не всегда его верно рассчитывает (IMG:style_emoticons/kolobok_light/smile.gif) Тот же анкани либо не работает вообще, либо работает через раз. -2 от флет-футед в цифрах эпиков вообще теряется в принципе из-за незначительности.

Можно (и имхо даже нужно) вообще сделать ход конем и придумать свои чеки (как вариант - д20 против диапазона крита, сделав шанс зависимым только от оружия, не забывая, что там еще чек на форту, и именно он является ключевым). Колхоз дело добровольное - хочешь вступай, не хочешь расстреляем. Либо человек несмотря ни на что изголяется и придумывает альтернативу девастату, либо как обычно на шарде будет 2 класса - сорки и все остальные. По мне мотивация довольно значительная.


Т.е. основная идея - совсем отключить девастат и дать какую-то свою плюшку, по мощности ее заменяющую.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Feb 20 2008, 21:16
Сообщение #2892


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



Продолжая тему извращений...
Neverwinter Script
// The caller will perform a Melee Touch Attack on oTarget
// This is not an action, and it assumes the caller is already within range of
// oTarget
// * Returns 0 on a miss, 1 on a hit and 2 on a critical hit
int TouchAttackMelee(object oTarget, int bDisplayFeedback=TRUE)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Mar 10 2008, 13:02
Сообщение #2893


Level 11
***

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



Я снова что-то намутил не того...
Neverwinter Script
void main( )
{
    object oSelf = OBJECT_SELF; // Наш НПС
    object wp1 = GetObjectByTag( "p3_1" ); // ТОЧКА У КОСТРА
    object wp2 = GetObjectByTag( "p3_0" ); // ТОЧКА У КОСТРА(СМОТРИТ)
    object wp3 = GetObjectByTag( "p3_2" ); // ТОЧКА В ХРАМЕ
    object wp_center = GetObjectByTag( "pos_center" ); // ТОЧКА, куда смотрят все послушники
    object wp4 = GetObjectByTag( "p3_3" ); // ТОЧКА У ВТОРОГО КОСТРА
    object wp_center_cost = GetObjectByTag( "p3_4" ); // ТОЧКА У ВТОРОГО КОСТРА(СМОТРИТ)
    object wp5 = GetObjectByTag( "p3_5" ); // ИДЁТ СПАТЬ

    int i = GetTimeHour();
    float fTime = 17.0;
    if ( IsInConversation( OBJECT_SELF ))
    { return; }    // Проверим, не болтает ли с игроком...
    if ( GetIsInCombat( OBJECT_SELF )) // Не дерется ли
    {   ExecuteScript( "nw_c2_default1", OBJECT_SELF ); return; }

    if ( i > 0 && i < 10 )
    {   // СПИТ
        if( GetDistanceBetween( oSelf, wp5 ) > 0.2 )
        AssignCommand( oSelf, ActionForceMoveToObject( wp5, FALSE, 1.0, 25.0 ) );
        ActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT, 1.0, 36000.0);
    }
    else if(i >= 10 && i < 16)
    {
        // CИДИТ У КОСТРА
        if( GetDistanceBetween( oSelf, wp1 ) > 0.2 )
        ActionDoCommand(AssignCommand( oSelf, ActionForceMoveToObject( wp1, FALSE, 1.0, 25.0 )));
        ActionDoCommand(AssignCommand( oSelf, SetFacingPoint(GetPosition(wp2))));
        ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS, 1.0, 21600.0);
        ActionWait(5.0);
        ANIMATION(oSelf);
    }
    else if ( i >= 16 && i < 20 )
    {   // МОЛИТСЯ
        if( GetDistanceBetween( oSelf, wp3 ) > 0.2 )
        AssignCommand( oSelf, ActionForceMoveToObject( wp3, FALSE, 1.0, 25.0 ));
        ActionDoCommand(AssignCommand(oSelf, SetFacingPoint(GetPosition(wp_center))));
        ActionPlayAnimation(ANIMATION_LOOPING_MEDITATE, 1.0, 14400.0);
    }
    else if ( i > 20 && i < 23 )
    {   // СНОВА У КОСТРА(ДРУГОГО)
        if( GetDistanceBetween( oSelf, wp4 ) > 0.2 )
        AssignCommand( oSelf, ActionForceMoveToObject( wp4, FALSE, 1.0, 25.0 ) );
        ActionDoCommand(AssignCommand( oSelf, SetFacingPoint(GetPosition(wp_center_cost))));
        ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS, 1.0, 14400.0);
        ActionWait(5.0);
        ANIMATION(oSelf);
    }
}

Проблема в том, что НПС не идет на точки и даже не думает этого делать. Только после разговора он(в зависимости от времени) поворачивается к точке(положенной по времени).

П.С. И еще, как заставить его не реагировать на "тыки" по нему мышкой.
П.П.С. Совсем забыл, я пытаюсь наложить эффект на невидимый(и видимый) предмет, но его не видно, только звук при проигровании... =(
Заранее спасибо.

Сообщение отредактировал Белатрис - Mar 10 2008, 13:14
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Mar 11 2008, 06:37
Сообщение #2894


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

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



Намутил как всегда... (IMG:style_emoticons/kolobok_light/biggrin.gif)
Ты хоть пиши, где этот скрипт применяешь! Опять наверное на ХБ? Пора бы уже знать, что цикл равен 6 секундам, зачем в анимацию совать такое время? Оно же налагается друг на дружку! К тому же не понятна функция ANIMATION(oSelf); Если не можешь время просчитать, то можно перед блоком анимаций чистить акции... + неправильно проставлена проверка расстояния и подход к точке... + поворот сбивает ходьбу. Нужно акцию записать через DelayCommand, а лучше записать так:
Neverwinter Script
if( GetDistanceBetween( oSelf, wp4 ) > 0.2 )
      {
        AssignCommand( oSelf, ActionForceMoveToObject( wp4, FALSE, 0.00, 25.0 ) );
        return;
      }

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Mar 11 2008, 07:20
Сообщение #2895


Level 11
***

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



О, пасиб. Я, если честно, именно от тебя и ждал ответа (IMG:style_emoticons/kolobok_light/biggrin.gif)

А что с этим:
Цитата
П.С. И еще, как заставить его не реагировать на "тыки" по нему мышкой.
П.П.С. Совсем забыл, я пытаюсь наложить эффект на невидимый(и видимый) предмет, но его не видно, только звук при проигровании... =(


Цитата
К тому же не понятна функция ANIMATION(oSelf);

Я просто не вставил сюда функцию ANIMATION. Но если надо:

Код
void ANIMATION( object oD, float Speed=0.8, float Time=0.0 )
{
int A1;
switch ( Random( 5 )+1 )
  {
   case 1: A1=ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD; break;
   case 2: A1=ANIMATION_FIREFORGET_READ; break;
   case 4: A1=ANIMATION_FIREFORGET_DRINK; break;
   case 5: A1=ANIMATION_LOOPING_PAUSE_TIRED; Time=46.0; break;
  }
  if( Time==0.0 )
  AssignCommand( oD, ActionPlayAnimation( A1, Speed ) );
  else
  AssignCommand( oD, ActionPlayAnimation( A1, Speed, Time ) );
}


Сообщение отредактировал Белатрис - Mar 11 2008, 07:26
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Mar 13 2008, 08:45
Сообщение #2896


Level 11
***

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



Как заставить НПС не реагировать на "тыки" по нему мышкой в то время, когда он проигрывает анимацию(или в определенное время)? Это на onUsed?

Сообщение отредактировал Белатрис - Mar 13 2008, 08:45
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Mar 13 2008, 11:14
Сообщение #2897


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

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



OnConversation
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Mar 27 2008, 14:26
Сообщение #2898


Level 11
***

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



Решил создать структуру, общую для всех НПС, но вот только чего-то не выходит так, как нужно...
Neverwinter Script
struct C_NPC
{
        int Circle;     //       * круг магии
        int Weapon;     //       * владени двуручным
        string SpPoint;    //       * точка привязки
};

Neverwinter Script
#include "0c_npc_class"

void main()
{
    C_NPC npc1;
    npc1.Circle = 2;
    npc1.Weapon = 1;
    npc1.SpPoint = "POINT";
}

Ругается на C_NPC npc1;, говорит: НЕТ ТОЧКИ С ЗАПЯТОЙ ПОСЛЕ ВЫРАЖЕНИЯ
(IMG:style_emoticons/kolobok_light/snoozer_17.gif)

П.С. А почему классы создавать нельзя?

Сообщение отредактировал Белатрис - Mar 27 2008, 14:27
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Mar 27 2008, 16:18
Сообщение #2899


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

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



почитай внимательнее в лексиконе пример о том, как задается структура.
Цитата(Белатрис @ Mar 27 2008, 14:26) *
П.С. А почему классы создавать нельзя?

потому (вопрос, как ты сам понимаешь, не по адресу). По большей части они и не нужны в НВН скриптинге.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Mar 27 2008, 16:48
Сообщение #2900


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

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



Массивы, хэшсеты + массив глобальных переменных были бы куда полезней. Классы всё равно бы больше лагали, чем приносили пользу.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Mar 27 2008, 16:49
Сообщение #2901


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

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



ну массивы вполне удобно эмулируются.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Mar 27 2008, 16:50
Сообщение #2902


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

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



Neverwinter Script
struct C_NPC npc1
Цитата
ну массивы вполне удобно эмулируются.
Не сказал бы, что удобно (IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал Ilerien - Mar 27 2008, 16:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Mar 28 2008, 08:37
Сообщение #2903


Level 11
***

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



У меня есть книга, с помощью которой можно вызвать заклинание. Но как запретить вызов, если, к примеру, переменная ch не равна 4?

Сообщение отредактировал Белатрис - Mar 28 2008, 09:39
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Mar 29 2008, 21:23
Сообщение #2904


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

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



Поставить проверку в скрипт спелла или в спелхук. Что-то типа
Neverwinter Script
object oItem = GetSpellCastItem();
if(GetTag(oItem) == "тег_итема" && GetLocalInt(<объект, на котором лежит переменная>, "ch") != 4)
    return;
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Mar 30 2008, 14:21
Сообщение #2905


Level 11
***

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



Цитата(Ilerien @ Mar 30 2008, 05:23) *
Поставить проверку в скрипт спелла или в спелхук.

Модуля? (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Mar 30 2008, 21:22
Сообщение #2906


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

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



Скрипт спелла и спеллхук сами по себе не лежат ни в каких слотах.
В студию название спелла, который юзается со шмотки, её тег, и объект, на который вешается нужная локалка.

Сообщение отредактировал Ilerien - Mar 30 2008, 21:24
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Deirel
сообщение Mar 31 2008, 15:25
Сообщение #2907


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Полуэльф



А как реализовать, чтобы персонаж куда-нибудь прыгал (да хоть бы и в котел, как было реализовано в СоУ)?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Apr 4 2008, 09:52
Сообщение #2908


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

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



Поищи на Ваулте тестовый модуль по слову "Jump". Там довольно подробно показано, как это делается. На самом деле нет ничего в этом сложного.

Для прыжков используется следующий эффект:

Neverwinter Script
effect EffectDisappearAppear(location lLocation, int nAnimation=1)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Deirel
сообщение Apr 14 2008, 16:53
Сообщение #2909


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Полуэльф



Спасибо. (IMG:style_emoticons/kolobok_light/rolleyes.gif) буду знать...
просто у меня модуль, там по идее должны в ворота вбегать орки, на них кастуется заклинание (просто эффект) и они все сигают со скалы. Одновременно ))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Sugo77
сообщение May 8 2008, 21:18
Сообщение #2910


Level 3
*

Класс: Монах
Характер: Lawful Good
Раса: Эльф



Привет всем!
Подскажите какая в этом скрипте ошибка для спавна монстров?(
Никак не спавнится (в строчку монстра death ввел как меня учил Ineren и неработает уже 6 лет пытаюсь соспавнить хоть одного монстра и никак(((((((((((((((((((((((((((((((((((((((((((((
Ну научите же кто нибудь через асю или скинтье мне мод на мой емаил с применром ПЛИЗЗЗЗЗ!

Моё мыло:sugo3377@mail.ru
Моя ася:263683769
Имя:Игорь

А вот сам скрипт который не работает(IMG:style_emoticons/kolobok_light/sad.gif)
Neverwinter Script
#include "nw_i0_2q4luskan"

void main()
{
    object oSelf = OBJECT_SELF;
    string sResRef = GetResRef(oSelf);
    location lLoc = GetLocation(oSelf);
    DelayCommand(60.0f, CreateObjectVoid(OBJECT_TYPE_CREATURE, sResRef, lLoc));
}


Сообщение отредактировал Sugo77 - May 8 2008, 22:00
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 115 116 117 118 119 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



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