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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 133 134 135 136 137 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Loki87
сообщение Jul 12 2007, 21:03
Сообщение #3336


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



Большое всем спасибо за помощь и потраченное время.

Dik Morris - да я все именно так написал как было сказано в постах выше.

сейчас детально изучу твой модуль и попробую разобраться. я так понял при нажатии происходит тот же спавн, просто все выглядит по другому. спасибо кстати за это.
плохо быть чайником... (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) (IMG:style_emoticons/kolobok_light/unsure.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Worldowner
сообщение Jul 15 2007, 13:27
Сообщение #3337


Level 2
*

Класс: Клерик
Характер: Chaotic Good
Раса: Полуэльф



Цитата(Dik Morris @ Jun 25 2007, 15:30) [snapback]109877[/snapback]
2 Teranozavr_REX, на будущее. Что бы знать какую использовать функцию в той или иной ситуации, будь то инициализация игрока, аль просто нужная операция, проще всего - заглянуть в Лексикон. Там они подробно рассортированы, каждая функция, к каждому эвенту. Можно так же прописать в фильтре, непосредственно в самом тулсете.

Лексикон, Лексикон, Лексикон... Все говорят о лексиконе, но что-то не разу не видел что-нить конкретное. Прямо как снежный человек- все о нём знают, но никто не видел вживую. Может мне кто-нибудь разьяснить, где прячется этот чёртов лексикон?!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jul 15 2007, 13:37
Сообщение #3338


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

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



2 Worldowner, он прячется в этих краях, и найти его, можно набрав в поиске слово: Lexicon.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 16 2007, 00:22
Сообщение #3339


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



Почитал я лексикон - довольно таки понятно там написано. Даже первый "go fetch" квест зделал. работает. однако тут же появилась проблемка. дело в том ято я хотел зделать, чтобы НПС подходил и просил о помощи (то есть давал этот квест самый) именно тогда когда ПС наступит на триггер вокруг НПС. как в самом начале Кампании, где после наступления на триггер подходит Павел и начинает трындеть.

вобщем я поковырялся вроде нашел что надо, но то ошибка то неработает. после трех тщетных часов я решил таки спросить у профи.

вот как выглядит скрипт который я повесил на onEnter триггера:
Neverwinter Script Source
void ActionStartConversation (
object oObjectToConverseWith = "NW_COMFEMALE001",
string sDialogResRef = "janethmeet",
int bPrivateConversation = FALSE,
    int bPlayHello = TRUE
);

{
    string sTag = "NW_COMFEMALE001";
    object oNPC = GetLocalObject(GetArea(OBJECT_SELF),"NW_G_" + sTag);
    object oPC = GetEnteringObject();
    if(GetIsPC(oPC) &&
      GetLocalInt(oPC,"NW_L_Init" + GetTag(oNPC)) == FALSE &&
      IsInConversation(oNPC) == FALSE)
    {
        AssignCommand(oPC,ClearAllActions());
        AssignCommand(oNPC,ClearAllActions());
        AssignCommand(oNPC,ActionMoveToObject(oPC));
        AssignCommand(oNPC,ActionStartConversation(oPC));
    }
}


если верить лексикону и самим АТАРИ которые написали скрипт начинающий болтовню с Павлом, то у меня все верно. (а мож пропустил что, все таки 7 часов скриптинга, да еще и чайниковского - напрягают мозг).

вобщем нажимаю save, а он ругается и пишет - ERROR: NON CONSTANT IN FUNCTION DECLARATION - относя это к шестой строке, то есть к скобке и точке с запятой! не знаю как в двух значках всего, может прятаться ошибка. помогите, люди добрые. (IMG:style_emoticons/kolobok_light/swoon.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 16 2007, 07:08
Сообщение #3340


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

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



Для ошибки хватит и одного символа… Хорошо, функцию ActionStartConversation написал, а кто ее будет запускать? Нужно через void main() {} или через int StartingConditional() {}

Бывает необходимость привлечь внимание игрока к определенному персонажу, тогда вам поможет такой небольшой универсальный скрипт подхода на вход триггера, и старт диалога героя с НПС. Нужно очертить триггер вокруг НПС, и проставить в поле ключа триггера, тэг нашего НПх Сам скрипт:

Neverwinter Script Source
//:://////////////////////////////////////////////////
//:: Герой подходит к НПС и начинает диалог
//:: File name: camera_dialog
//:://////////////////////////////////////////////////
void main()
{
   object oPC = GetEnteringObject();
   object oSP = GetHenchman(oPC);
   string sName = GetLockKeyTag(OBJECT_SELF);
   object oDL = GetObjectByTag(sName);
   vector vFace = GetPosition(oPC);
   float fTime = GetDistanceBetween(oPC, oDL);
if(fTime < 5.0) fTime = 5.5;
if (!GetIsPC(oPC)) return;
DelayCommand(0.1, AssignCommand(oDL, ClearAllActions()));
DelayCommand(0.2, SetCutsceneMode(oPC, TRUE));
DelayCommand(0.3, AssignCommand(oPC, ClearAllActions(TRUE)));
DelayCommand(0.4, AssignCommand(oSP, ClearAllActions(TRUE)));
DelayCommand(1.3, AssignCommand(oDL, SetFacingPoint(vFace)));
DelayCommand(1.5, AssignCommand(oPC,ActionForceMoveToObject(oDL, FALSE, 0.0)));
DelayCommand(1.5, AssignCommand(oSP,ActionForceMoveToObject(oPC, FALSE, 0.0)));
DelayCommand(1.5, AssignCommand(oDL, SpeakString("Подойдите ко мне. Это очень важно!")));
DelayCommand(fTime-4.0, AssignCommand(oDL, ActionPlayAnimation(ANIMATION_FIREFORGET_GREETING)));
DelayCommand(fTime-3.5, AssignCommand(oPC, SpeakString("Уже иду! Что там у вас случилось?")));
// диалог персонажа
DelayCommand(fTime-0.5, AssignCommand(oDL, ActionStartConversation(oPC)));
DelayCommand(fTime, SetCutsceneMode(oPC, FALSE));
DestroyObject(OBJECT_SELF, fTime+1.0);
}


Сообщение отредактировал gennady - Jul 16 2007, 07:13
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 16 2007, 08:19
Сообщение #3341


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

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



Цитата(gennady @ Jul 16 2007, 08:08) [snapback]110621[/snapback]
string sName = GetLockKeyTag(OBJECT_SELF);
object oDL = GetObjectByTag(sName);

1. тэг НПС начиная с ХОТУ можно писать в локалкку триггера. Вариант с кей-тэгом оправдан только если НВН или НВН+СОУ.
2. в данном случае (да и вообще везде где возможно) лучше использовать GetNearestObjectByTag()
3.
Цитата(gennady @ Jul 16 2007, 08:08) [snapback]110621[/snapback]
DelayCommand(1.5, AssignCommand(oDL, SpeakString("Подойдите ко мне. Это очень важно!")));
DelayCommand(fTime-4.0, AssignCommand(oDL, ActionPlayAnimation(ANIMATION_FIREFORGET_GREETING)
));
DelayCommand(fTime-3.5, AssignCommand(oPC, SpeakString("Уже иду! Что там у вас случилось?")));

анимация это гут, а вот текст имхо делать не нужно. Лучше начать диалог и там для уже все разговоры вести.
(ну не сказал бы мой хаотик-злой некромант вот так "Уже иду! Что там у вас случилось?".)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 16 2007, 12:40
Сообщение #3342


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



ну я не всегда хаотик ивел сорсами играю. иногда можно попозориться и пройти кампанию палладином. но в наших кругах РПГшников это не серьезно!

ну и скрипт! зачем там строка про хенчмана?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Jul 18 2007, 17:30
Сообщение #3343


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



Подскажите название скрипта Большогосвятилища

ПОдскажите названия скрипта Большогосвятилища
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jul 18 2007, 19:42
Сообщение #3344


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

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



NW_S0_Sanctuary.
Когда будешь открывать, не забуть поставить пометку, на то, что этот скрипт глобальный, а не ограниченный рамками модуля, иначе ничего не получится.

На будущее. Что бы узнать название того или иного скрипта, например кода отвечающего за заклинания - стоит не забывать про 2DA таблицы. В данном случае, это 2DA таблица: spells.2DA, в ней, помимо различных других установок и параметров, обязательно присутствует название скрипта, который отвечает за выполнение и работу заклинания. Это так же относится и, например, к фитам.

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

Сообщение отредактировал Dik Morris - Jul 18 2007, 19:50
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 18 2007, 21:40
Сообщение #3345


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

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



Цитата(Dik Morris @ Jul 18 2007, 20:42) [snapback]110720[/snapback]
Ну, или самый простой вариант. Включаешь галочку глобального поиска, и вперед. По названию непосредственного сабжа. Я так и нашел, т.е. просто набрал в поиске san

самый основной вариант. С первой-второй попытки "найдется все".
Цитата(Loki87 @ Jul 16 2007, 13:40) [snapback]110630[/snapback]
ну и скрипт! зачем там строка про хенчмана?

страховка. Иногда хенч может и не подойти (или ты специально оставил его в стороне). Все бы ничего но если в диалоге с НПС есть фразы хенча (как третьего в разговоре например), а сам хенч далеко - разговор просто прервется, что не гут. Можно конечно в скриптах диалога это предусматривать, но имхо самый надежный вариант просто обеспечить наличие Хенча рядом с игроком.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 19 2007, 08:38
Сообщение #3346


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

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



Лекс, спасибо за критику! Чуть модернизировал скрипт, может кому пригодится…

Бывает необходимость привлечь внимание игрока к определенному персонажу, тогда вам поможет такой небольшой универсальный скрипт подхода на вход триггера, и старт диалога героя с НПС. Нужно очертить триггер вокруг НПС, и проставить в поле ключа триггера, тэг нашего НПС Сам скрипт:
Neverwinter Script Source
/////////////////////////////////////////////////
//:: Герой подходит к NPC и начинает диалог
//:: File name: camera_dialog
//:://////////////////////////////////////////////////
void main()
{
  object oPC = GetEnteringObject();
  object oSP = GetHenchman(oPC);
  vector vFace = GetPosition(oPC);
  string sName = GetLockKeyTag(OBJECT_SELF);
  int i = 1;
  float fTime;
  object oDL = GetNearestObjectByTag(sName, oPC, i);
  int iA = GetGoodEvilValue(oPC);

if (!GetIsPC(oPC)) return;
while (GetIsObjectValid(oDL))
{
  if (!GetIsInCombat(oPC)&&!GetIsInCombat(oDL)&&!GetIsEnemy(oPC, oDL)&&
      !GetIsDead(oDL) && GetObjectType(oDL) == OBJECT_TYPE_CREATURE)
  {
    fTime = GetDistanceBetween(oPC, oDL);
    SetLocalInt(OBJECT_SELF,"VALID",1);
    break;
  }
  i++;
  oDL = GetNearestObjectByTag(sName, oPC, i);
}
if (GetLocalInt(OBJECT_SELF, "VALID") != 1) return; // Проверить
if(fTime < 5.0) fTime = 7.5;
string sPC = "Заткнись! Если что не то - порву!";
if (iA>30 && iA<70) sPC = "Не кричи! Иду, иду...";
if (iA>=70 && iA<100) sPC = "Уже иду... Что случилось?";
if (iA==100) sPC = "Уже иду! Что там у вас случилось?";

AssignCommand(oDL, ClearAllActions());
AssignCommand(oDL, SetFacingPoint(vFace));
AssignCommand(oDL, ActionPlayAnimation(ANIMATION_LOOPING_PAUSE, 1.0, 2.5));
AssignCommand(oDL, ActionPlayAnimation(ANIMATION_FIREFORGET_GREETING));
AssignCommand(oDL, ActionWait(fTime-3.0));
AssignCommand(oDL, ActionStartConversation(oPC)); // диалог персонажа
AssignCommand(oDL, ActionDoCommand(SetCommandable(TRUE, oDL))); // разблокировать очередь
DelayCommand(0.1, SetCommandable(FALSE, oDL)); // заблокировать очередь
DelayCommand(0.2, SetCutsceneMode(oPC, TRUE));
DelayCommand(0.3, AssignCommand(oPC, ClearAllActions(TRUE)));
DelayCommand(0.4, AssignCommand(oSP, ClearAllActions(TRUE)));
DelayCommand(1.5, AssignCommand(oPC, ActionForceMoveToObject(oDL, FALSE, 1.0, fTime-2.0)));
DelayCommand(1.5, AssignCommand(oSP, ActionForceMoveToObject(oPC, FALSE, 1.0, fTime-2.0)));
DelayCommand(2.0, AssignCommand(oDL, SpeakString("<c у >Подойдите ко мне! Это очень важно!</c>")));
DelayCommand(fTime-3.5, AssignCommand(oPC, SpeakString(sPC)));
DelayCommand(fTime, SetCutsceneMode(oPC, FALSE));
DelayCommand(fTime, SetCommandable(TRUE, oDL)); // разблокировать очередь
DelayCommand(fTime+0.1, AssignCommand(oPC, ActionStartConversation(oDL))); // диалог персонажа
DestroyObject(OBJECT_SELF, fTime+1.0);
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Jul 19 2007, 10:31
Сообщение #3347


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



QUOTE(Dik Morris @ Jul 18 2007, 19:42) [snapback]110720[/snapback]
NW_S0_Sanctuary.
Когда будешь открывать, не забуть поставить пометку, на то, что этот скрипт глобальный, а не ограниченный рамками модуля, иначе ничего не получится.

На будущее. Что бы узнать название того или иного скрипта, например кода отвечающего за заклинания - стоит не забывать про 2DA таблицы. В данном случае, это 2DA таблица: spells.2DA, в ней, помимо различных других установок и параметров, обязательно присутствует название скрипта, который отвечает за выполнение и работу заклинания. Это так же относится и, например, к фитам.

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


Про 2da пасибо совсем про них забыл ))
сейчас поду гляну

а вот нащет "просто набрал в поиске san" к сожалению не все так просто
NW_S0_Sanctuary - это скрипт насколько я понял именно для простогоили малого или как атм его еще святилища
а вот то что кастит сорка на 8 круге как то по другому называеться (((
Хоть может я дето и ошибаюсь
Но думаю что таки прав ибо уже десятка полтора заклов исправил что бы наступать на такие нюбские грабли )) хотя скем не бывает
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 19 2007, 12:02
Сообщение #3348


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



Ну нафига такой огромный скрипт для одного малюсенького действа. (жаль визард не все типы скриптов помогает делать).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Neo
сообщение Jul 19 2007, 12:47
Сообщение #3349



Иконки Групп

Класс: Пьяный Мастер
Характер: Lawful Good
Раса: Тварь
MySQL, PHP, JavaScript
Порядок Времени



Код
Create_Undead    780    is_CrUndead    N    S    vs    0x3a    0x2C    NW_S0_CrUndead    ****    6    ****    ****    ****    8    6    1500    head    ****    ****    vco_grndskul    sco_grndskul    vs_chant_necr_hm    vs_chant_necr_hf    out    1000    ****    vca_outneg    ****    sca_outneg    0    ****    ****    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    15    ****    1    6126    1    0    ****    0    ****    ****    ****    1
Greater_Planar_Binding    819    is_GrPlanar    C    S    vs    0x3a    0x2E    NW_S0_GrPlanar    ****    ****    ****    ****    ****    8    8    1500    head    ****    ****    vco_lgsprodd01    sco_lgsprodd01    vs_chant_conj_hm    vs_chant_conj_hf    up    1000    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    15    ****    1    6166    1    0    ****    0    ****    ****    ****    0
Incendiary_Cloud    839    is_IncCloud    V    L    vs    0x3f    0x2E    NW_S0_IncCloud    ****    ****    ****    ****    ****    8    8    1500    head    ****    ****    vco_lgsprfire01    sco_lgsprfire01    vs_chant_evoc_hm    vs_chant_evoc_hf    area    1000    ****    ****    ****    ****    1    vpr_ectofire01    homing    hand    spr_ectofire01    path    Fire    1    ****    ****    ****    ****    ****    11    ****    1    6186    1    0    ****    1    ****    ****    ****    1
Mass_Blindness_and_Deafness    860    is_MassBlDf    I    M    vs    0x3a    0x2E    NW_S0_MassBlDf    ****    ****    ****    ****    ****    8    8    1500    hand    ****    ****    vco_lgrinodd01    sco_lgrinodd01    vs_chant_illu_hm    vs_chant_illu_hf    area    1000    ****    ****    ****    ****    1    vpr_los    accelerating    hand    spr_los    path    ****    1    ****    ****    ****    ****    ****    1    ****    1    6207    1    0    ****    1    ****    ****    ****    1
Mass_Charm    861    is_MsCharm    E    S    v    0x1a    0x2E    NW_S0_MsCharm    ****    ****    ****    ****    ****    8    8    1500    hand    ****    ****    vco_lgrinmind01    sco_lgrinmind01    vs_chant_ench_hm    vs_chant_ench_hf    touch    1000    ****    ****    ****    ****    1    vpr_los    accelerating    hand    spr_los    path    Mind_Affecting    1    ****    ****    ****    ****    ****    1    ****    1    6208    1    0    ****    1    ****    ****    ****    1
Mind_Blank    867    is_MindBlk    A    S    vs    0x3a    0x2F    NW_S0_MindBlk    ****    ****    ****    ****    ****    8    8    1500    head    vco_mehanmind01    ****    ****    sco_mehanmind01    vs_chant_conj_hm    vs_chant_conj_hf    touch    1000    ****    ****    ****    ****    1    vpr_los    accelerating    hand    spr_los    path    ****    0    ****    ****    ****    ****    ****    9    ****    1    6214    1    0    ****    0    ****    ****    ****    1
Premonition    884    is_Premo    D    T    vs    0x3a    0x09    NW_S0_Premo    ****    ****    8    ****    ****    8    8    1500    head    vco_mehanelec03    ****    vco_lgrinmind01    sco_lgrinmind01    vs_chant_illu_lm    vs_chant_illu_lf    self    1000    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    12    ****    1    6228    1    0    ****    0    ****    ****    ****    0
Summon_Creature_VIII    931    is_Summon8    C    S    vs    0x3a    0x2C    NW_S0_Summon    ****    8    8    ****    ****    8    8    1500    hand    ****    vco_mehanodd02    vco_lgrinodd01    sco_lgrinodd01    vs_chant_conj_hm    vs_chant_conj_hf    out    1000    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    15    ****    1    6512    1    0    ****    0    ****    ****    ****    0
Horrid_Wilting    6333    is_HorrWilt    N    M    vs    0x3d    0x2E    NW_S0_HorrWilt    ****    ****    ****    ****    ****    8    8    1500    head    ****    ****    vco_lgupodd01    sco_lgupodd01    vs_chant_necr_hm    vs_chant_necr_hf    out    1000    ****    ****    ****    ****    1    vpr_los    homing    hand    spr_los    path    ****    0    ****    ****    ****    ****    ****    1    ****    1    6533    1    0    ****    1    ****    ****    ****    1
Sunburst    385    is_X1Sunbur    V    M    vs    0x3d    0x3E    x0_s0_sunburst    ****    ****    8    ****    ****    8    8    1500    head    vco_mehedholy01    ****    ****    sco_mehedholy01    vs_chant_evoc_hm    vs_chant_evoc_hf    up    1000    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    Divine    1    ****    ****    ****    ****    ****    1    ****    1    1537    1    0    ****    1    ****    ****    ****    0
Etherealness    2364    is_X1Ether    T    T    v    0x3a    0x09    x0_s0_ether    ****    6    ****    ****    ****    8    7    1500    head    vco_smhanholy01    ****    ****    sco_mehanholy01    vs_chant_evoc_lm    vs_chant_evoc_lf    up    1000    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    ****    ****    1    2371    1    0    ****    0    ****    ****    ****    0
Bigbys_Clenched_Fist    2686    is_X1Bigby4    V    L    vs    0x3f    0x3A    x0_s0_bigby4    ****    ****    ****    ****    ****    8    8    1500    hand    ****    vco_mehanacid03    ****    sco_mehanacid03    vs_chant_conj_hm    vs_chant_conj_hf    out    1000    ****    ****    ****    ****    1    vpr_bigby_c    homing    hand    spr_aroacid    path    ****    1    ****    ****    ****    ****    ****    2    ****    1    2691    1    0    ****    1    ****    ****    ****    1
Blackstaff    3761    is_X2Blckstff    T    T    vs    0x3a    0x0B    X2_S0_Blckstff    ****    ****    ****    ****    ****    8    8    1500    hand    ****    vco_atomgren    ****    sco_atomgren    vs_chant_ench_hm    vs_chant_ench_lf    self    1000    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    ****    0    ****    ****    ****    ****    ****    9    ****    1    3762    1    0    ****    0    ****    ****    ****    0

таблица каста сорка/визарда 8го уровня

(IMG:style_emoticons/kolobok_light/offtopic.gif)
Цитата(Loki87 @ Jul 19 2007, 13:02) [snapback]110747[/snapback]
Ну нафига такой огромный скрипт для одного малюсенького действа. (жаль визард не все типы скриптов помогает делать).

быть может ты не прав и стоит предусмотреть гораздо большее, чем одно малюсенькое действо? (IMG:style_emoticons/kolobok_light/wink3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 19 2007, 13:46
Сообщение #3350


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

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



Цитата
Ну нафига такой огромный скрипт для одного малюсенького действа.

Loki, не все так просто, как кажется на первый взгляд… Диалог это ответственная функция, к тому же у меня она идет через мультик, тут вдвойне нужно быть осторожным. К тому же скрипт универсальный, а значит нужно учесть много игровых ситуаций (проверить идет ли бой, жив ли перс, не враг ли он…). Если у тебя будет перс занят, чем-то, как-то ходит или сидит на стуле или еще что, то нужно почистить ему акции, заблокировать очередь, чтобы он не сбил код. Обычно управление идет с ХБ перса, там цикл в 6 секунд… почистил это скрипт акции, и все привет – диалога нет!

Тут даже в этом скрипте есть вероятность 1/60, что произойдет чистка акций во время исполнения скрипта, поэтому и сделаны блокировки, через DelayCommand. Да…, когда идет диалог, то герой переходит в режим бога, поэтому нужно знать, что он не притащил на хвосте врагов, а то получится некрасиво… Порой просто диву даешься на что способны игроки!

Скрипт учитывает также и дистанцию до перса, и сделает прыжок герою, если тот где-то застрял, плюс диалог запускается как героем, так и персом (на всякий пожарный), ну и пробил разные фразы в зависимости от злобности героя (IMG:style_emoticons/kolobok_light/biggrin.gif) … это для того если все же чтой-то пойдет не так, то хоть по фразам игрок сориентируется. У меня к тому же есть плейсы одним тэгом с НПС…

Так что если не хочешь ловить баги, то нужно всегда делать страховки и блокировки в скрипте. Вспоминаю, как в Невере и в ХоТу за моим героем долго бегали персы со своими диалогами с триггера (IMG:style_emoticons/kolobok_light/biggrin.gif) … Про висяки начала диалога с камеры в Леворе, вообще промолчу, т.к. ребятам на форуме за эти баги плешь проели…
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 19 2007, 14:46
Сообщение #3351


Level 3
*

Класс: Некромант
Характер: Chaotic Evil
Раса: Эльф



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

вообще получается один такой скрипт начала диалога написал, универсальный, и юзай копи-пэйст на весь модуль. (IMG:style_emoticons/kolobok_light/good.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Jul 19 2007, 15:15
Сообщение #3352


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



Товарищи !! чето я немогу найти этот spell 2da помогите а ???


нашел spell 2da ( если точнее дали готовый так что вопрос де он лежит остался открытый)

Большогосвятилища там нет
Еще раз прошу помочь с сим вопросом ни какими поисками и тп найти егоне удаеться
скрипт обычногосвятилища ни чем не связан с большим ибо при его коментировании
большое как работало так и работает

Сообщение отредактировал Teranozavr_REX - Jul 19 2007, 15:50
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 19 2007, 17:13
Сообщение #3353


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

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



Цитата(Loki87 @ Jul 19 2007, 15:46) [snapback]110755[/snapback]
вообще получается один такой скрипт начала диалога написал, универсальный, и юзай копи-пэйст на весь модуль.

зачем копи-паст? 1 скрипт на весь модуль достаточно. Именно в этом и суть.

Цитата(Loki87 @ Jul 19 2007, 15:46) [snapback]110755[/snapback]
и след. врагов нет

А банальный вариант - игрок сам начал геноцид НПС в городе, случайно наступил на триггер разговора, вы не рассматриваете?
А убийство этого самого НПС с дальней дистанции?
А наличие в партии игрока кучи народа и животных, что будет мешать движению?
все чуть сложнее, чем кажется на первый взгляд.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Worldowner
сообщение Jul 21 2007, 10:13
Сообщение #3354


Level 2
*

Класс: Клерик
Характер: Chaotic Good
Раса: Полуэльф



Пасиб большое! Нашёл и начал читать (IMG:style_emoticons/kolobok_light/good.gif)
Цитата(Dik Morris @ Jul 15 2007, 13:37) *
2 Worldowner, он прячется в этих краях, и найти его, можно набрав в поиске слово: Lexicon.

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Valor
сообщение Jul 21 2007, 23:34
Сообщение #3355


Level 2
*

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



(Может это уже рассматривалось, но я не нашел.) Как снять ограничение на максимальное количество хенчманов в партии?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jul 22 2007, 09:55
Сообщение #3356


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

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



"Добавить с скрипт на onModuleLoad - cтроку:
Цитата
SetMaxHenchmen(х);

где Х - это количество разрешенных хенчманов"

© в ХХХ раз.

Сообщение отредактировал Dik Morris - Jul 22 2007, 09:56
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Jul 22 2007, 10:18
Сообщение #3357


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



как с криптом изменитьфракцию Моба или Плеера
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 22 2007, 10:47
Сообщение #3358


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

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



Можно даже враждебного монстра сделать дружественным, сменив ему фракцию:
Neverwinter Script Source
void main()
{
  object oPC = GetFirstPC();
  object oGoblin = GetObjectByTag("TAG");
  object oNeytral = GetObjectByTag("DEVA");
  if(GetIsEnemy(oPC, oGoblin)) // Если враги
  ChangeFaction(oGoblin, oNeytral); // Дать oGoblin фракцию oNeytral
}

И я поффравил...

Сообщение отредактировал gennady - Jul 23 2007, 05:00
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Jul 24 2007, 10:00
Сообщение #3359


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



ЗА пару дней узнал некоторые особенности по фракциям

еще раз перефразирую задачю))
Есть две воюющие стороны
назовем их А и Б
Игрок в начале захода выбирает себе сторону

По карте должны бегать мобы фракции А, фракции Б, нейтральные всем, и враждебные всем )))
Вопрос как заставить игроков быть постоянно в хостайле друг к другу, если они в разных фракциях,
как заставить мобов быть враждеными игрокам А и мирными к игрокам Б, и наоборот.

насколько я понимаю, надо сделать локальные переменные, на плеерах, разных фракций и поним как то менять реакцию мобов.

надо функции изменения реакции моба, + совет куда сие все лудше всего всунуть ( к какому событию прикрепить) так что бы минимально нагружать сервер.

так же еще интересует вопрос я сейчас использую функцию
Neverwinter Script Source
void ActionMoveToObject(object oMoveTo, int bRun=FALSE, float fRange=1.0f)

для того что бы хзаставитьмоба двигаться к вейпоинту
сия функция меня не устраивает по
причинам
того что моб идет попрямой и практически не способен обходить припятствия
во время передвижения практически ни на что не реангирует


нету ли чем ее заменить
стандартным или кто то может что то самописное подсказатьможет??? взамен



P.S. И сильно не бейте
если что то спросил глупое просто сейчас почти нет времени сидетьв тулсете а только время прикидыватьалгоритмы )) со всеми вытикающими

Сообщение отредактировал Teranozavr_REX - Jul 24 2007, 10:05
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jul 24 2007, 10:06
Сообщение #3360


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

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



2 Teranozavr_REX, можно использовать ActionForceMoveToObject. Тогда, когда NPC застрянет где-нибуть, через определенный промежуток времени, который ты указываешь сам, он перенесется в нужную точку.

Еще можно попробовать, поднять АI NPC. SetAILevel. Но это требовательно к ресурсам.


Ах-да, бегло прочитал. По поводу двух враждебных фракций игроков. Тут ты прав - нужно ставить локальные переменные, и потом функцией SetPCDislike выставлять дизлайк, всем "неверным".

Сообщение отредактировал Dik Morris - Jul 24 2007, 10:11
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 133 134 135 136 137 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



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