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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 22 23 24 25 26 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Aiwan
сообщение Jan 21 2005, 10:27
Сообщение #566


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

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



QUOTE (Chimeric @ Jan 21 2005, 11:23)
Да, вот и конец задумке...  До всего этого мне пилить ещё годы.

Не вешай нос ;) Научишься! Только не забрасывай а пробуй с маленького и тянись к большому :D

то All: Господа, готовые скрипты выкладывайте в топик соответствующий. Не думайте что они не нужны и прочее. Их читают и ими пользуются новички. Мэтры сами пишут себе. Так что делитесь опытом со своими товарищами.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 21 2005, 10:34
Сообщение #567


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Поставил переменную на игрока, хочу сделать так чтобы перед тем как применить эффект ТС проверялась переменная, если она доступна то return и ТС не действуетъ, но как сделать проверку? И в скрипте отдыха сделать уничтожение int lNonCast-а.
Neverwinter Script Source
#include "x2_inc_spellhook"

void main()
{
  int lNonCast;
    object oPC = GetLastSpellCaster();
    if (!X2PreSpellCastCode())
    {
   
        return;
    }

 


    location lTarget = GetSpellTargetLocation();
    effect eVis = EffectVisualEffect(VFX_FNF_TIME_STOP);
    effect eTime = EffectTimeStop();
    int nRoll = 1 + d4();
    SetLocalInt(oPC, "lNonCast", lNonCast);


    SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, SPELL_TIME_STOP, FALSE));

      DelayCommand(0.75, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eTime, OBJECT_SELF, 9.0));
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, lTarget);
}


И еще добавил в скрипт резуректа и райза такую строку
Neverwinter Script Source
object oTarget = GetSpellTargetObject();
GiveXPToCreature(oTarget, -150 * GetHitDice(oTarget));


Сообщение отредактировал Лито - Jan 21 2005, 10:38
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
K.SpecTr
сообщение Jan 21 2005, 11:07
Сообщение #568


Level 10
***

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



Neverwinter Script Source
void main()
{
// int lNonCast; - висит на игроке
    object oPC = GetLastSpellCaster();
    int iNonCast=GetLocalInt(oPC, sVarName);
    if (!X2PreSpellCastCode())
    {
          return;
    }
    if (iNonCast==1)
    {
      return FALSE;
    }
    SetLocalInt(oPC, sVarName, 1);
//....
// Дальше как и было.

Переменную надо обнулить при отдыхе
Neverwinter Script Source
SetLocalInt(oPC, sVarName, 0);

Вроде так.
Добавлено в [mergetime]1106294919[/mergetime]
P.S. Cтроку sVarName описать забыл.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 21 2005, 12:34
Сообщение #569


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Neverwinter Script Source
{
      return FALSE;
}

С False не компилировалось, убрал теперь работает как надо. Если честно я даже не понимаю зачем FALSE нужен :xz:
А вообще спасибо, теперь я умею с локалками хоть чуть чуть работать :good:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
K.SpecTr
сообщение Jan 21 2005, 12:57
Сообщение #570


Level 10
***

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



Не компилировалось, потому что функция
Neverwinter Script Source
void main()

void не имеет кода возврата :sorry:.

Сообщение отредактировал K.SpecTr - Jan 21 2005, 12:58
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 21 2005, 13:06
Сообщение #571


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Мне кажется надо поставить проверку на 0 или 1 раньше потому что игрок начинает кастовать ТС и тут же может сделать еще один беспрепятственно. То есть это проверка начинает как только заканчивается, даже не ТС, а визуальный эффект ТСа.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
K.SpecTr
сообщение Jan 21 2005, 13:22
Сообщение #572


Level 10
***

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



Как так может? В моем варианте переменная меняется сразу после проверки и до эффектов, как таковых.
QUOTE (Лито @ Jan 21 2005, 10:34)
Neverwinter Script Source
   SetLocalInt(oPC, "lNonCast", lNonCast);

А вот этой строки уже не надо, тем более что меняется переменная на чаре с 0 на 1, но iNonCast остается равной нулю.
Если строку не убрать, то она восстанавливает переменную обратно: с 1 на 0.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 21 2005, 20:57
Сообщение #573


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

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



QUOTE (Лито @ Jan 21 2005, 09:59)
а вот со штрафом я не понимаюесли там одна строка может скажешь какая?


Neverwinter Script Source
SetXP(oPC,GetXP(oPC)-РАЗМЕР ШТРАФА);


<small>Добавлено в 20:59</small>
Chimeric, ты конкретную задачу напиши, я тебе конкретный скрипт дам. Чтобы разобрался что да как и дальше уже сам дописывал, что надо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Csardas
сообщение Jan 22 2005, 04:07
Сообщение #574


Level 1


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



Народ помогайте дайте скриптик, мне очень нужно чтобы НПК дерется с тобой и когда он будет присмерти начел разговор с РС помогите.
Добавлено в [mergetime]1106356461[/mergetime]
QUOTE
Nokoll, выдавать чужие скрипты за свои - как минимум дурной тон. На будущее..

Ты про кокой скрипт говориш все скрипты что сдесь я писал сам! :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jan 22 2005, 08:12
Сообщение #575


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

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



QUOTE (Csardas @ Jan 22 2005, 07:07)
Народ помогайте дайте скриптик, мне очень нужно чтобы НПК дерется с тобой и когда он будет присмерти начел разговор с РС помогите.

Neverwinter Script Source
//:://////////////////////////////////////////////
//:: Copyright © 2004 WRG!  www.wrg.ru
//:: Name: oud_am_warrord
//:://////////////////////////////////////////////
/*
  UserDefined -
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan    Aiwan@e-mail.ru
//:: Created On: 26.02.2004
//:://////////////////////////////////////////////
void main()
{
int nEvent = GetUserDefinedEventNumber();
//======================= DAMAGED EVENT 1006 ===================================
if (nEvent == 1006)
  {
  object oPC = GetLastDamager();
  object oHench = GetHenchman(oPC);
  object oWord = OBJECT_SELF;
  int iCurHP = GetCurrentHitPoints(OBJECT_SELF); // в данный момент НР
  int iMaxHP = GetMaxHitPoints(OBJECT_SELF); // Макс. число НР
  int iD;
//==============================================================================
  if (!GetIsPC(oPC) || !GetLocalInt(oWord, "DO_IT"))
    {return;}
    int Class = GetClassByPosition(1, oPC);
//  В зависимости от класса будет нужно сделать сепуку НПС
//  чем больше "танк", тем больше НР ему надо забрать у НПС
    switch (Class)
      {
      case CLASS_TYPE_BARBARIAN:{iD = 200; break;}
      case CLASS_TYPE_BARD:{iD = 300; break;}
      case CLASS_TYPE_CLERIC:{iD = 250; break;}
      case CLASS_TYPE_DRUID:{iD = 300; break;}
      case CLASS_TYPE_FIGHTER:{iD = 200; break;}
      case CLASS_TYPE_MONK:{iD = 150; break;}
      case CLASS_TYPE_PALADIN:{iD = 200; break;}
      case CLASS_TYPE_RANGER:{iD = 250; break;}
      case CLASS_TYPE_ROGUE:{iD = 300; break;}
      case CLASS_TYPE_SORCERER:{iD = 300; break;}
      case CLASS_TYPE_WIZARD:{iD = 300; break;}
      }

  if (GetIsPC(oPC) && ((iMaxHP - iD) >= iCurHP))
  {
  SetLocalInt(oWord, "DO_IT", TRUE);
  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oHench, ClearAllActions());
  AssignCommand(oWord, ClearAllActions());
//------------------------------------------------------------------------------
// Чистим персональную репу  друг другу
  location lClose = GetLocation(GetObjectByTag("CLOSE_ARENA")); //Скрыт.арена Aiwan'a
  object oNeutral = GetObjectByTag("AM_TRUE_NEUTRAL"); // НПС с нейтрал
  ChangeFaction(oWord, oNeutral);  // Смена фракции
  ClearPersonalReputation(oWord, oPC); // КТО СТАРОЕ ПОМЯНЕТ...!  =)
  ClearPersonalReputation(oPC, oWord); // КТО СТАРОЕ ПОМЯНЕТ...!  =)
  ClearPersonalReputation(oWord, oHench); // КТО СТАРОЕ ПОМЯНЕТ...!  =)
  ClearPersonalReputation(oHench, oWord); // КТО СТАРОЕ ПОМЯНЕТ...!  =)
//------------------------------------------------------------------------------
  AssignCommand(oWord, ActionDoCommand(SetFacingPoint(GetPosition(oPC))));
  AssignCommand(oWord, ActionStartConversation(oPC));
// DelayCommand(0.5, ExecuteScript("am_scen", oPC));
  }
  }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Jan 22 2005, 13:26
Сообщение #576


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Aiwan подкинь ссылку на функции Base & While, просто нужно заполнить кое-какие пробелы :oops:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Jan 22 2005, 14:41
Сообщение #577


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Neverwinter Script Source
//::///////////////////////////////////////////////
//:: Created By: MasterMage ©
//:: Created On: 22.01.05
//::///////////////////////////////////////////////
void main()
{
    //-----------------objects------------------------------------------------
    object oPC=GetEnteringObject();
    object oKalax=GetObjectByTag("Kalaxana");
    object oWp1=GetWaypointByTag("selo_kalaxana");
    object oWp2=GetWaypointByTag("selo_point_1");
    object oWp3=GetWaypointByTag("selo_point_2");
    object oWp4=GetWaypointByTag("selo_point_3");
    object oWp5=GetWaypointByTag("selo_point_4");
    object oWpNazad=GetWaypointByTag("kalaxana_point");
    //-----------------effects------------------------------------------------
    effect eEf1=EffectVisualEffect(VFX_IMP_TORNADO);
    effect eEf2=EffectVisualEffect(VFX_IMP_UNSUMMON);
    //-----------------locations----------------------------------------------
    location lLoc1=GetLocation(oWp1);
    location lLoc2=GetLocation(oWp2);
    location lLoc3=GetLocation(oWp3);
    location lLoc4=GetLocation(oWp4);
    location lLoc5=GetLocation(oWp5);
    location lLocNazad=GetLocation(oWpNazad);
    //-----------------script-------------------------------------------------
    if (!GetIsPC(oPC)||GetLocalInt(oPC,"selo_appear_kalax")==TRUE)
    return;
    {
    SetLocalInt(oPC,"selo_appear_kalax",TRUE);
    AssignCommand(oPC,ClearAllActions());
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectParalyze(),oPC,20.0);
    DelayCommand(0.5,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eEf1,lLoc1,3.0));
    DelayCommand(0.5,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eEf2,lLoc1,3.0));
    DelayCommand(0.5,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eEf1,lLoc2,3.0));
    DelayCommand(0.5,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eEf1,lLoc3,3.0));
    DelayCommand(0.5,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eEf1,lLoc4,3.0));
    DelayCommand(0.5,ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eEf1,lLoc5,3.0));
    DelayCommand(2.0,AssignCommand(oKalax,JumpToLocation(lLoc1)));
    CreateObject(OBJECT_TYPE_CREATURE,"creature016",lLoc2,FALSE,"DarkSister1");
    CreateObject(OBJECT_TYPE_CREATURE,"creature016",lLoc3,FALSE,"DarkSister2");
    CreateObject(OBJECT_TYPE_CREATURE,"creature016",lLoc4,FALSE,"DarkSister3");
    CreateObject(OBJECT_TYPE_CREATURE,"creature016",lLoc5,FALSE,"DarkSister4");
    object oNPC1=GetObjectByTag("DarkSister1");
    object oNPC2=GetObjectByTag("DarkSister2");
    object oNPC3=GetObjectByTag("DarkSister3");
    object oNPC4=GetObjectByTag("DarkSister4");
    DelayCommand(4.0,AssignCommand(oKalax,ActionSpeakString("Так, так, так... Кто это у нас?")));
    DelayCommand(6.0,AssignCommand(oKalax,ActionMoveToObject(oPC,FALSE,0.5)));
    DelayCommand(8.5,AssignCommand(oKalax,ActionSpeakString("Так вот какой ты... Впечатлйает...Что? Не можешь двигатьсйа? Ничего, пройдет...")));
    DelayCommand(10.5,AssignCommand(oKalax,ActionSpeakString("Уверена, ты уже прикончил того недотепу... Поэтому сама решила с тобой увидитьсйа!")));
    DelayCommand(12.5,AssignCommand(oKalax,ActionSpeakString("У менйа много дел, поэтому скажу сразу: УЙДИ С ДОРОГИ...")));
    DelayCommand(14.5,AssignCommand(oKalax,ActionSpeakString("Надеюсь, ты понйал, что йа сказала....Теперь мне пора.")));
    DelayCommand(16.5,AssignCommand(oKalax,ActionMoveToObject(oWp1,FALSE)));
    DelayCommand(17.0,AssignCommand(oKalax,JumpToLocation(lLocNazad)));
    DelayCommand(18.0,DestroyObject(oNPC1,0.5));
    DelayCommand(18.0,DestroyObject(oNPC2,0.5));
    DelayCommand(18.0,DestroyObject(oNPC3,0.5));
    DelayCommand(18.0,DestroyObject(oNPC4,0.5));
    }
}
скрипт парализует перса, затем появляется особа и ее приспешники....Потом особа тебе внушает, то что ты естесственно не выполнишь....(:)) и исчезает....Исчезют приспешники, паралич проходит......
;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Csardas
сообщение Jan 22 2005, 15:19
Сообщение #578


Level 1


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



Aiwan А куда вставлять тег разгавора если он нуажен конечно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jan 22 2005, 17:43
Сообщение #579


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

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



QUOTE (Csardas @ Jan 22 2005, 18:19)
Aiwan А куда вставлять тег разгавора если он нуажен конечно.

Neverwinter Script Source
AssignCommand(oWord, ActionStartConversation(oPC, "диалог"));

QUOTE (MasterMage @ Jan 22 2005, 16:26)
Aiwan подкинь ссылку на функции Base & While, просто нужно заполнить кое-какие пробелы

Почитай Валео перевод. Есть ссылка?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Jan 22 2005, 17:51
Сообщение #580


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Aiwan нету....иначе бы не просил :D
И вот вопрос...Мну попросил Csardas написсать скрипт, чтобы если у НПС не осталось HP он падает и просит пощады...
Neverwinter Script Source
void main()
{
//поставь на НПС бессмертие.........
    object oPC=GetLastAttacker();
    object oNPC=GetObjectByTag("Vunak");//запиши тег НПСа в ковычки;)

    if (GetCurrentHitPoints(oNPC)<5)
    {
    SurrenderToEnemies();
    AssignCommand(oPC,ClearAllActions());
    AssignCommand(oNPC,ClearAllActions());
    ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectKnockdown(),oNPC);
    ChangeToStandardFaction(oNPC,STANDARD_FACTION_COMMONER);
    AssignCommand(oNPC,ActionSpeakString("Пощади...."));

    }
}
, но фракция не хочет меняться и фраза не произносится....пытался через делай команд, но нарушается...
Добавлено в [mergetime]1106406115[/mergetime]
Neverwinter Script Source
//::///////////////////////////////////////////////
//:: Created By: MasterMage ©
//:: Created On:
//::///////////////////////////////////////////////
void main()
{
//поставь на НПС бессмертие.........
    object oPC=GetLastAttacker();
    object oNPC=GetObjectByTag("Vunak");//запиши тег НПСа в ковычки;)

    if (GetCurrentHitPoints(oNPC)<5 &&GetLocalInt(oPC,"bitva")==0)
    {
    SetLocalInt(oPC,"bitva",1);
    SurrenderToEnemies();
    ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectKnockdown(),oNPC,2.5);
    DelayCommand(3.0,AssignCommand(oNPC,ActionSpeakString("Пощади....")));

    }
}

ВОТ СКРИПТCsardas
Добавлено в [mergetime]1106406300[/mergetime]
Neverwinter Script Source
DelayCommand(3.0,AssignCommand(oNPC,ActionSpeakString("Пощади....")));
вместо этой строчки можешь поставить дилог
Neverwinter Script Source
ActionStartConversation(oPC)
? но дело в том, что PC после битвы будет не в состоянии поговорить какое-то время...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Jan 22 2005, 18:06
Сообщение #581


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Не юзай в этом случае ActionSpeakString. Здесь надо юзать SpeakString. Дело в том, что во время эффекта нокдауна акции "замораживаются", пока чувак не очухается.

И на какой слот ты планируешь ставить этот скрипт?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Jan 22 2005, 18:58
Сообщение #582


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



MasterMage За скрипт Большое спасибо, но у меня вопросик на какой слот ставить эти 2 скрипта в СвойПерсонаж? :this:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jan 22 2005, 20:35
Сообщение #583


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

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



QUOTE (MasterMage @ Jan 22 2005, 20:51)
Aiwan нету....иначе бы не просил

Кликай старый город мастеров. Там увидишь тему описане скриптов от Валео. Уже этот вопрос поднимали. ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 22 2005, 20:57
Сообщение #584


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

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



ОПИСАНИЕ ФУНКЦИЙ СКРИПТОВ НА РУССКОМ
QUOTE
Ты про кокой скрипт говориш все скрипты что сдесь я писал сам!

и как ты в одном скрипте совместил правильно5е и совершенно неправильное наложение эффектов??


На своего перса (те PC) нельзя повесить скрипты в слоты. Их просто нет. Есть только ХБ.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Jan 22 2005, 21:31
Сообщение #585


Level 5
**

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



ХБ чего? Модуля? Или у перса есть какой-то свой хб?

Добавлено:
Лекс, спасибо. :D


Сообщение отредактировал Friedrich - Jan 22 2005, 22:41
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 22 2005, 21:36
Сообщение #586


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

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



QUOTE

Интересная фишка тут мне вечерком подвернулась, хотя может и старо, но пока нигде не видел.
Сначала маялся чтобы на "OnHeartbeat" в модуле на игрока выполнялся определенный скрипт. Можно конечно замутить GetFirstPC и GetNextPC, в таком случае сервер будет перебирать всех игроков.
Почитал Lексикон и вот что нашел в заметках:

...the PC doesn't have an OnHeartbeat event, if you create a script called "default", it will automatically trigger every PC heartbeat...

Первожу на русский. Дело в том, что у игрока нет эвента OnHearbeat, НО(!) если вы создадите скрипт и назовете его "default" он будет автоматически вписан в OnHeartBeat игрока.
Проверил - работает...
Чудеса да и только, товарищи... :this:


АВАДОН
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Jan 23 2005, 11:56
Сообщение #587


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Lexссылка мне???? :this:
Aiwan :good: ШПАШИБО
Добавлено в [mergetime]1106470730[/mergetime]
Lex у меня две такие статьи...но там нет Base, только While, его-то я понял...Правда, пока не пригодилось..;)
ЗЫ...так лень семь метров лексикона качать...Просто вы все по лексикон говорите, а у мну его нет :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Jan 23 2005, 13:28
Сообщение #588


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Neverwinter Script Source
void main()
{

    object oPC=GetEnteringObject();
    object oNPC=OBJECT_SELF;
    object oItem=GetFirstItemInInventory(oNPC);
    if (GetHitDice(oNPC)<5)
    {
        while(GetTag(oItem)=="ss")
            {
            SurrenderToEnemies();
            ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectParalyze(),oNPC);
            ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectDeath(),oNPC);
            oItem=GetNextItemInInventory(oNPC);
            }


        if(GetTag(oItem)!="ss")
        {
        SetImmortal(oNPC,FALSE);
        }

    }
    return;
}

вот
CODE
1) при убийстве игрока или нпс у них проверяется в инве наличие нужной шмотки
2) если шмотка есть - они не умирают, а парализуются, ложаться на землю и остаются с одним хп
3) их нельзя убить иначе чем командой дма Килл или юзанием игроком виджета на этот полутруп.

это надо сделать...вот мои попытки....Дело в том, что я не понимаю, как добиться от while, чтобы если не найдет итема выполняла действие ниже... :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Oksivarus
сообщение Jan 23 2005, 15:32
Сообщение #589


Level 4
**

Класс: Волшебник
Характер: True Neutral
Раса: Полуэльф



Подскажите как правильно сделать чтоб игрок после смерти !!!(не реса) выкидывал шмотки там где помер. Я сделал вот так (изменил вроде бы рабочий скрипт с раелмса) но ожидаемого не произошло. И еще к этому ж вопросу исправленный данный скрипт будет действовать например на друида когда тот формоизменился ??? Заранее благодарен

void main()
{
object oPlayer = GetLastPlayerDied();
int i=0;
while(i<14)
{
ActionPutDownItem(GetItemInSlot(i,oPlayer));
i++;
}
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Jan 23 2005, 16:26
Сообщение #590


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Oksivarus
а зачем...просто помечай выкидываемые предметы в инвентаре НПСа...и все...или ты для ДМ, чтобы ПС выкидывал лут?
Добавлено в [mergetime]1106487042[/mergetime]
QUOTE
i++;

а почему не i+1?? Просто по смыслу так...
и пиши
Neverwinter Script Source
ActionPutDownItem(GetItemInSlot(i,oPlayer));
не так
а так
Neverwinter Script Source
AssignCommand(oPlayer,ActionPutDownItem(GetItemInSlot(i,oPlayer)));
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 22 23 24 25 26 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16th May 2025 - 18:12