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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 112 113 114 115 116 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
azathoth
сообщение Oct 17 2007, 14:22
Сообщение #2811


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

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



можно вообще без хб, и без часов...
Neverwinter Script Source
// Appears when...
int StartingConditional( ) {
    int nLastDay = GetLocalInt( OBJECT_SELF, "last_randompostfix" );
    return ( GetCalendarDay( ) - nLastDay ) >= 2; // ecли прошло два дня
}


Neverwinter Script Source
// Action
void main( ) {
    SetLocalInt( OBJECT_SELF, "last_randompostfix", GetCalendarDay( ) ); // устанавливаешь день последнего использования
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Oct 17 2007, 15:00
Сообщение #2812


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

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



Цитата(Белатрис @ Oct 17 2007, 14:36) *
П.С. Ах, еще забыл. Как засечь время. К примеру, мне нужно, чтобы строка диалога появлялась каждые три дня. На heartbeat ставить проверку?

На строку диалога, слот появления…
azathoth, немного не так... Нужно еще учесть переход между началом и концом месяца...

Neverwinter Script Source

////////////////// Текущий день //////////////////////////
int Day( int nYear=1 )
{
int nDay = GetCalendarDay( );
int nMes = 28*GetCalendarMonth( );
int iDay = 336*nYear+nMes+nDay;
return iDay;
}
/////////////////////////////////////////////////////
int StartingConditional( )
{
  if( GetLocalInt( GetPCSpeaker( ), "day_3" ) <= Day( ) )
    {SetLocalInt( GetPCSpeaker( ), "day_3", Day( )+3 ); return TRUE;}
  else
    {
    SpeakString( "Приходи через "+IntToString( GetLocalInt( GetPCSpeaker( ), "day_3" )-Day( ) ) + " ДНЯ" );
    return FALSE;
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Oct 17 2007, 15:39
Сообщение #2813


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

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



о, а ведь был в полной уверености, что функция отсчитывает от "рождества христова". буду знать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 17 2007, 17:08
Сообщение #2814


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

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



чтобы банально уменьшить число, можно запомнить год начала игры и считать от него (те из текущего года вычитать год игры). Но в целом Гена то самое и написал. Только я хотел чтобы это Белатрис сделал. Эх, не судьба.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Oct 18 2007, 12:14
Сообщение #2815


Level 11
***

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



Не выполняется сий скрипт:
Neverwinter Script Source

//:: //////////////////////////////////
//:: Автор: Lex
//:: //////////////////////////////////
void ANIMATION( object oD )
{
    int A1=0;
    float T1, S1;
      switch ( Random( 5 )+1 )
      {
      case 1: A1=ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD;T1=5.0;S1=2.0;break;
      case 2: A1=ANIMATION_FIREFORGET_TAUNT;T1=5.0;S1=2.0;break;
      case 3: A1=ANIMATION_FIREFORGET_PAUSE_BORED;S1=2.0;break;
      case 4: A1=ANIMATION_FIREFORGET_DRINK;T1=6.0;S1=3.0;break;
      case 5: A1=ANIMATION_LOOPING_PAUSE_TIRED;T1=5.0;S1=2.0;break;
      }
    if ( A1==0 ) return;
    AssignCommand( oD, PlayAnimation( A1, S1, T1 ));
}
//:: //////////////////////////////////
//:: Автор: тут уже ЙА!
//:: //////////////////////////////////
void main( )
{
    object FERGUS = GetObjectByTag( "fergus" );
    object wp1 = GetObjectByTag( "FERGUS_RASP_WP1" ); // ТОЧКА РЫНКА
    object wp2 = GetObjectByTag( "FERGUS_RASP_WP2" ); // ТОЧКА У КОСТРА РОЙГА
    object wp3 = GetObjectByTag( "FERGUS_RASP_WP3" ); // ТОЧКА У ДОМА
    object wp4 = GetObjectByTag( "FERGUS_RASP_WP4" ); // ТОЧКА У КОСТРА НА РЫНКЕ
    // object wp5 = GetObjectByTag( "FERGUS_RASP_WP5" ); // ТОЧКА ЗАПАСНАЯ

    int i = GetTimeHour( );
    while( i > 1 && i < 13 )
    {
        AssignCommand( FERGUS, ActionForceMoveToObject( wp1, FALSE, 1.0, 25.0 ));
        ANIMATION( FERGUS );
    }
    while( i > 14 && i < 15 )
    {
        AssignCommand( FERGUS, ActionForceMoveToObject( wp2, FALSE, 1.0, 25.0 ));
        ANIMATION( FERGUS );
    }
    while( i > 15 && i < 18 )
    {
        AssignCommand( FERGUS, ActionForceMoveToObject( wp3, FALSE, 1.0, 25.0 ));
        ANIMATION( FERGUS );
    }
  while( i > 18 && i < 24 )
    {
        AssignCommand( FERGUS, ActionForceMoveToObject( wp4, FALSE, 1.0, 25.0 ));
        ANIMATION( FERGUS );
    }

}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Oct 18 2007, 13:04
Сообщение #2816


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

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



Цитата(Белатрис @ Oct 18 2007, 13:14) *
Не выполняется сий скрипт:

Чет не верится, что это Лекс писал… Я бы записал так… Объяснять не буду… все тут: cкрипты

Neverwinter Script Source
//:: //////////////////////////////////
//:: Афтор: Gennady
//:: //////////////////////////////////
void ANIMATION( object oD, float Speed=1.0, float Time=0.0 )
{
int A1;
switch ( Random( 5 )+1 )
  {
   case 1: A1=ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD; break;
   case 2: A1=ANIMATION_FIREFORGET_TAUNT; break;
   case 3: A1=ANIMATION_FIREFORGET_PAUSE_BORED; break;
   case 4: A1=ANIMATION_FIREFORGET_DRINK; break;
   case 5: A1=ANIMATION_LOOPING_PAUSE_TIRED; if( Time==0.0 )Time=6.0; break;
  }
  AssignCommand( oD, ActionPlayAnimation( A1, Speed, Time ) );
}
void main( )
{
    object FERGUS = GetObjectByTag( "fergus" );
  if ( GetLocalInt( FERGUS, "ACTION" )==1 ) return; // Задежка цикла, если скриптт ДЛЯ ХБ
    object wp1 = GetObjectByTag( "FERGUS_RASP_WP1" ); // ТОЧКА РЫНКА
    object wp2 = GetObjectByTag( "FERGUS_RASP_WP2" ); // ТОЧКА У КОСТРА РОЙГА
    object wp3 = GetObjectByTag( "FERGUS_RASP_WP3" ); // ТОЧКА У ДОМА
    object wp4 = GetObjectByTag( "FERGUS_RASP_WP4" ); // ТОЧКА У КОСТРА НА РЫНКЕ
    int i = GetTimeHour( );
    float fTime = 17.0; // Новый цикл ХБ=18 секундам
    // object wp5 = GetObjectByTag( "FERGUS_RASP_WP5" ); // ТОЧКА ЗАПАСНАЯ

  if ( i > 1 && i < 13 )
    {
     if( GetDistanceBetween( FERGUS, wp1 ) > 1.0 )
     AssignCommand( FERGUS, ActionForceMoveToObject( wp1, FALSE, 1.0, 25.0 ) );
     ANIMATION( FERGUS );
     SetLocalInt( FERGUS, "ACTION", 1 ); // ДЛЯ ХБ
     DelayCommand( fTime, SetLocalInt( FERGUS, "ACTION", 0 ) ); // ДЛЯ ХБ
    }
    // и т.д. ...
}


Сообщение отредактировал gennady - Nov 28 2007, 05:24
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 18 2007, 13:22
Сообщение #2817


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

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



Цитата(gennady @ Oct 18 2007, 14:04) *
Чет не верится, что это Лекс писал… Я бы записал так… Объяснять не буду… все тут

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

Добавлено через 40

Цитата(Белатрис @ Oct 18 2007, 13:14) *
Не выполняется сий скрипт:

на будущее: пиши что именно не работает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Oct 18 2007, 18:08
Сообщение #2818


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

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



Цитата(Lex @ Oct 18 2007, 14:22) *
Смысл был именно в том, чтобы каждой анимации поставить адекватное время и скорость.

Это ж как??? А кто тут все учил, что FIREFORGET имеет только скорость? Как раз таки я и пытался вынести эти параметры, но первый блин комом (IMG:style_emoticons/kolobok_light/biggrin.gif) .
Белатрис, скрипт я поправил, должно работать… Наверно, это писалось для ХБ плейса управления? И циклы тут уж точно не нужны…
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 18 2007, 19:15
Сообщение #2819


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

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



Цитата(gennady @ Oct 18 2007, 19:08) *
то ж как??? А кто тут все учил, что FIREFORGET имеет только скорость?

там от балды цифры стоят, это скрипт-шаблон, настраивать нужно уже самому (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Oct 23 2007, 06:20
Сообщение #2820


Level 11
***

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



Не ходит, только проигрывает анимацию... (IMG:style_emoticons/kolobok_light/unsure.gif)
Neverwinter Script Source
void main( )
{
    object KLIFF = GetObjectByTag( "kliff" );
    object wp1 = GetObjectByTag( "GRASS_WP1" );
    object wp2 = GetObjectByTag( "GRASS_WP2" );
    object wp3 = GetObjectByTag( "GRASS_WP3" );
    object wp4 = GetObjectByTag( "GRASS_WP4" );
    object wp5 = GetObjectByTag( "GRASS_WP5" );
    object wp6 = GetObjectByTag( "GRASS_WP6" );
    object wp7 = GetObjectByTag( "GRASS_WP7" );
    object wp8 = GetObjectByTag( "GRASS_WP8" );
    object wp9 = GetObjectByTag( "GRASS_WP9" );
    object wp10 = GetObjectByTag( "GRASS_WP10" );
    int i = GetTimeHour( );
    float fTime = 17.0;

    if ( i > 10 && i < 18 ) // РАБОТАЕМ В ПОЛЕ
    {
    if( GetDistanceBetween( KLIFF, wp1 ) > 1.0 )
    switch( Random( 10 )+1 )
    {
                        case 1: AssignCommand( KLIFF, ActionForceMoveToObject( wp1, FALSE, 1.0, 25.0 ) );
                break;
                        case 2: AssignCommand( KLIFF, ActionForceMoveToObject( wp2, FALSE, 1.0, 25.0 ) );
                break;
                        case 3: AssignCommand( KLIFF, ActionForceMoveToObject( wp3, FALSE, 1.0, 25.0 ) );
                break;
                        case 4: AssignCommand( KLIFF, ActionForceMoveToObject( wp4, FALSE, 1.0, 25.0 ) );
                break;
                        case 5: AssignCommand( KLIFF, ActionForceMoveToObject( wp5, FALSE, 1.0, 25.0 ) );
                break;
                        case 6: AssignCommand( KLIFF, ActionForceMoveToObject( wp6, FALSE, 1.0, 25.0 ) );
                break;
                        case 7: AssignCommand( KLIFF, ActionForceMoveToObject( wp7, FALSE, 1.0, 25.0 ) );
                break;
                        case 8: AssignCommand( KLIFF, ActionForceMoveToObject( wp8, FALSE, 1.0, 25.0 ) );
                break;
                        case 9: AssignCommand( KLIFF, ActionForceMoveToObject( wp9, FALSE, 1.0, 25.0 ) );
                break;
                        case 10: AssignCommand( KLIFF, ActionForceMoveToObject( wp10, FALSE, 1.0, 25.0 ) );
                break;
    }
    AssignCommand( KLIFF, PlayAnimation( ANIMATION_LOOPING_GET_LOW, 1.0, 5.0 ) );
    ActionWait( 3.0 );
    SetLocalInt( KLIFF, "ACTION", 1 ); // ДЛЯ ХБ
    DelayCommand( fTime, SetLocalInt( KLIFF, "ACTION", 0 ) ); // ДЛЯ ХБ
    }
}


Сообщение отредактировал Белатрис - Oct 23 2007, 06:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Oct 23 2007, 07:37
Сообщение #2821


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

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



Цитата(Белатрис)
Не ходит, только проигрывает анимацию...

Если скрипт стоит на ХБ, то нужно еще учесть кучу моментов… Вот тебе для примера скрипт на заданную тему, писал давно, может что и глючит (т.к. писался не под стандартный ХБ скрипт), но идея была такая:

Neverwinter Script Source
//::///////////////////////////////////////////////////////////
//:: NPC ходит по стандартным точкам и эмитирует работу на поле
//::///////////////////////////////////////////////////////////
void StringKrest( object oNPC )
{
  string sStr;
  switch ( Random( 5 )+1 )
  {
  case 1: sStr = "Мне нужен отдых!"; break;
  case 2: sStr = "Эх! Прополка, ты прополка!"; break;
  case 3: sStr = "Скорей бы зима!"; break;
  case 4: sStr = "Любо братцы, любо! Любо братцы жить!"; break;
  case 5: sStr = "Сколько можно прорывать? Сил моих нет!"; break;
  }
AssignCommand( oNPC, SpeakString( sStr ));
}
void main( )
{
object oSelf = OBJECT_SELF;
if( GetArea( GetFirstPC( ) ) != GetArea( oSelf )) // если ПС нет в локе
{
  AssignCommand( oSelf, ClearAllActions( TRUE ));
  SetLocalInt( oSelf, "WPOIN_GO", 0 );
  return;
}
if ( GetIsInCombat( oSelf ))
{
  ExecuteScript( "nw_c2_default1", oSelf );
  SetLocalInt( oSelf, "WPOIN_GO", 0 );
  return;
}
if ( IsInConversation( oSelf ))
{SetLocalInt( oSelf, "WPOIN_GO", 0 ); return;}
if ( GetLocalInt( oSelf, "WPOIN_GO" ) == 1 ) return;
object oWay = GetNearestObjectByTag( "WP_"+GetTag( oSelf )+"_01" );
int i =1;
string sPoint = IntToString( i );
if ( GetIsObjectValid( oWay ))
{
  ClearAllActions( );
  SetLocalInt( oSelf, "WPOIN_GO", 1 );
}
else {ExecuteScript( "de_sleep", oSelf );  return;}
while ( GetIsObjectValid( oWay )) // Цикл на возрастание точек
{
  ActionForceMoveToObject( oWay, FALSE, 0.0, 30.0 );
  ActionPlayAnimation( ANIMATION_LOOPING_GET_LOW, 1.0, 3.0 );
  ActionWait( 1.0*Random( 4 )+1 );
  if ( Random( 10 )>5 )
  ActionPlayAnimation( ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD );
  if ( Random( 10 )>5 )
  {
    ActionDoCommand( StringKrest( oSelf ));
    ActionPlayAnimation( ANIMATION_FIREFORGET_TAUNT );
  }
  i++;
  sPoint = IntToString( i );
  oWay = GetNearestObjectByTag( "WP_"+GetTag( oSelf )+"_0"+sPoint );
}
ActionDoCommand( SetLocalInt( oSelf, "WPOIN_GO", 0 ));
}
// Если нет точек для ходьбы, то запустится скрипт сна  de_sleep
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Oct 23 2007, 08:39
Сообщение #2822


Level 11
***

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



ээээ...... много не понятно. А какой тег точкам присваивать? (IMG:style_emoticons/kolobok_light/prankster2.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Oct 23 2007, 10:10
Сообщение #2823


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

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



NPC ходит по стандартным точкам... Хем... Это те точки, которые редактор задает сам при выборе NPC, и клике правой кнопкой: "Создать Точку Маршрута"...
ПС Школа по чтению скриптов простаивает, как у Айва, так и у Мамука. Стоит вам ее посетить! (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Nov 11 2007, 03:57
Сообщение #2824


Level 11
***

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



Всем доброго времени суток!
Как проиграть на строчке диалога 3D звук, находящийся в хак-паке? (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Заранее спасибо!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Nov 28 2007, 03:10
Сообщение #2825


Level 11
***

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



Э... неужели никто не знает?...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Nov 28 2007, 09:08
Сообщение #2826


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Цитата(gennady @ Sep 29 2007, 07:00) *
Neverwinter Script Source
void main( )
{
object oPC = GetFirstPC( );
int iGold = GetGold( oPC );
effect eSTR = EffectAbilityIncrease( ABILITY_STRENGTH, 1 );
}

Здорово! Сама недавно искала такой скрипт. Но в связи с этим возникает вопрос: это увеличение способности накладывается насовсем или на какое-то время? Вроде, временной промежуток не задается, но это же базовая способность, все-таки.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Nov 28 2007, 09:30
Сообщение #2827


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

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



тут пока еще ниче не накладывается.
В ApplyEffect есть параметр duration. Ставь там DURATION_TYPE_INSTANT - будет постоянный бонус (или PERMANENT.. я за много лет так и не понял какой когда правильнее использовать (IMG:style_emoticons/kolobok_light/smile.gif) ). Однако есть пара моментов:
- бонус можно отдиспелить
- бонус можно снять отдыхом
чтобы этого избежать, надо использовать EffectSupernatural и EffectExtraordinary (ну или как-то так, по памяти пишу).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Dec 2 2007, 00:32
Сообщение #2828


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Эээ... Все бы ничего, да вот только этих EffectSupernatural и EffectExtraordinary в тулсете нет ни в функциях, ни в константах, а у функции EffectAbilityIncrease только два параметра - (int nAbilityToIncrease, int nModifyBy). (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Неужели шкурку придется делать? Я не смогу... (IMG:style_emoticons/kolobok_light/sad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 2 2007, 02:07
Сообщение #2829


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

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



перестановка слов даст офигенный результат: SupernaturalEffect, ExtraordinaryEffect.

зы: могли бы сами искать не тупо по полному названию, а по ключевой части (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Dec 3 2007, 13:02
Сообщение #2830


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Цитата(Lex @ Dec 2 2007, 02:07) *
перестановка слов даст офигенный результат: SupernaturalEffect, ExtraordinaryEffect.

зы: могли бы сами искать не тупо по полному названию, а по ключевой части (IMG:style_emoticons/kolobok_light/smile.gif)

Если тебе интересно, о остроумнейший, искала по слову Effect. Извини, что побеспокоила.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 3 2007, 13:17
Сообщение #2831


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

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



Цитата(shadowdweller @ Dec 3 2007, 13:02) *
Если тебе интересно, о остроумнейший, искала по слову Effect. Извини, что побеспокоила.

эффектов куча, искать надо по более уникальной части. Ну это совет на будущее (IMG:style_emoticons/kolobok_light/smile.gif)
нашла хотяб? (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 3 2007, 16:48
Сообщение #2832


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

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



Сделай сейв и загрузи его. Проверь сохранится или нет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Dec 3 2007, 17:51
Сообщение #2833


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

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



Ну, раз и меня подключили к этому скрипту, то хочу немного добавить. Вам нужно выбрать что-то одно, т.к. это разные эффекты…
Как уже неоднократно писалось, да и в WIKI тема эффектов разобрана по полочкам, да и я тут тоже типа обучалки скриптингу написал, можно посмотреть и там о наложение эффектов: http://remmgen.narod.ru/tscript2.html
Neverwinter Script
void main( )
{
object oPC = GetFirstPC( );
effect eSTR = EffectAbilityIncrease( ABILITY_STRENGTH, 3 );
// Экстраординарные ( Extraordinary ) – не могут быть сняты с помощью заклинания, автоматически снимаются в конце отдыха.
effect eExt = ExtraordinaryEffect( eSTR );
// Сверхъестественные ( Supernatural ) – не могут быть сняты ни заклинанием, ни с помощью отдыха.
effect eSup = SupernaturalEffect( eSTR );

// Накладываем эффекты
ApplyEffectToObject( DURATION_TYPE_PERMANENT, eExt, oPC );
// или чтобы не снимался
ApplyEffectToObject( DURATION_TYPE_PERMANENT, eSup, oPC );
}

Цитата(shadowdweller @ Dec 2 2007, 00:32) *
а у функции EffectAbilityIncrease только два параметра - (int nAbilityToIncrease, int nModifyBy).

Тут все просто… меняем константы:
ABILITY_CHARISMA
ABILITY_CONSTITUTION
ABILITY_DEXTERITY
ABILITY_INTELLIGENCE
ABILITY_STRENGTH
ABILITY_WISDOM
и величину int nModifyBy т.е. на сколько хотим добавить тот или иной бонус к характеристики. Если не ошибаюсь, то max= 176… Неужели этого недостаточно?!

Сообщение отредактировал gennady - Sep 4 2010, 16:50
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Dec 3 2007, 18:08
Сообщение #2834


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

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



Цитата(gennady @ Dec 3 2007, 17:51) *
Неужели этого недостаточно?!

неа (IMG:style_emoticons/kolobok_light/ph34r.gif)
это не совсем корректно, точнее совсем не корректно.
Твоим скриптом мы получим 2х кратный бонус, часть которого снимется после отдыха, а часть после диспела. Задача же базово совсем в другом.

зы: влезание в тему, это похвально, но надо внимательнее читать пост про поставленную задачу. (IMG:style_emoticons/kolobok_light/smile.gif)


Цитата(Aiwan @ Dec 3 2007, 16:48) *
Сделай сейв и загрузи его. Проверь сохранится или нет.

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

Я Шад уже все в приват написал, но там что-то не работает. Приеду домой, сам посмотрю.


зы: самый надежный способ - шкуркой.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 4 2007, 06:35
Сообщение #2835


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

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



Цитата(Lex @ Dec 3 2007, 20:08) *
зы: самый надежный способ - шкуркой.

Но самый муторный. Самое надежное забить на это и жить длаьше. Игрок вашего геммора даже не заметит, не то что бы оценить! (IMG:style_emoticons/kolobok_light/declare.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



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