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

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

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


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

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



Цитата(Loki87 @ Jul 11 2007, 21:46) [snapback]110464[/snapback]
effect EffectAppear ()

Та нафик тебе этот эффект? Это типа потрясти экран. Толку то мало. Тебе надо отпраивть НПС в точку или на локальный объект. Я написал скрипт и там есть описание каждого шага. Если ты напряжешь серое вещество то все твои задачи можно решить моими командами.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 11 2007, 21:07
Сообщение #3327


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

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



Цитата
дальше вроде надо написать - AssignCommand (oNPC, и какую тут функцию впихнуть??? типа надо effect EffectAppear () тока у меня не сработало.


Тут два варианта появления NPC на точке: или прыжок или вызов из палитры.
Neverwinter Script
AssignCommand(oNPC, ActionJumpToObject(oPoint)); // Прыжок

// ВЫЗОВ ИЗ ПАЛИТРЫ
object oWP = GetWaypointByTag("furyspawn01");
location Loc = GetLocation(oWP);
CreateObject(OBJECT_TYPE_CREATURE,"ResRef",Loc,FALSE,"newTag"); // Существо из палитры


EffectAppear () накладывает на существо эффект падения с неба, т.е. существо уже должно быть!

P.S. Я тут почти закончил писать мануал для чайников, можно найти в шпаргалке все часто используемые функции, плюс набор некоторых скриптов для модуля, ну и описание что откуда растет… Рекомендую ознакомиться, ну и конечно мануал Айва окажет большую помощь в модостроительстве.
Игроделу: http://remmgen.narod.ru/shpora.html

Цитата
за вот это - location Loc = GetLocation(oWP);
вылезла ошибка - ERROR: VARIABLE DEFINED WITHOUT TYPE

короче или я дурак, или аврора

Помедетировав, обнаружил ошибку в обозначение точки. (У тебя было oWp)...

Сообщение отредактировал gennady - Oct 8 2010, 09:49
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 12 2007, 12:01
Сообщение #3328


Level 3
*

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



Вот как раз из палитры самое то. но я зделал все как было сказано и в итоге вот что получил:

за вот это - location Loc = GetLocation(oWP);
вылезла ошибка - ERROR: VARIABLE DEFINED WITHOUT TYPE

короче или я дурак, или аврора
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 12 2007, 12:47
Сообщение #3329


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

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



Цитата(Loki87 @ Jul 12 2007, 13:01) [snapback]110490[/snapback]
короче или я дурак, или аврора

не аврора.
oWP определен выше? как? Приводите или целиком скрипты, или рабочие кусочки (+ определения используемых переменных.)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 12 2007, 13:29
Сообщение #3330


Level 3
*

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



Цитата(Lex @ Jul 12 2007, 11:47) [snapback]110497[/snapback]
не аврора.
oWP определен выше? как? Приводите или целиком скрипты, или рабочие кусочки (+ определения используемых переменных.)


Neverwinter Script Source
void main()
{
object oWp=GetWaypointByTag("furyspawn01");
object oNPC = GetObjectByTag("NW_DROWROGUE001");

location Loc = GetLocation(oWP);
CreateObject(OBJECT_TYPE_CREATURE,"ResRef",Loc,FALSE,"NW_DROWROGUE001");

}


по-моему я просто от незнания забыл что то добавить.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 12 2007, 13:49
Сообщение #3331


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

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



Цитата(Loki87 @ Jul 12 2007, 14:29) [snapback]110500[/snapback]
по-моему я просто от незнания забыл что то добавить.

Короче, пиши так:
Neverwinter Script Source
// ВЫЗОВ ИЗ ПАЛИТРЫ
void main()
{
object oWP = GetWaypointByTag("furyspawn01");
location Loc = GetLocation(oWP);
string ResRef = "РесРеф твоего перса в палитре, не путать с тэгом!!!";

CreateObject(OBJECT_TYPE_CREATURE, ResRef, Loc, FALSE, "NW_DROWROGUE001"); // Существо из палитры
}

Скрипт видит различие между большой и малой буквой в обозначении точки (P - p). Здесь и крылась ошибка! Кстати, РесРеф в скрипте можно писать как малыми, так и дольшими буквами, ошибки не будет. А вот тэг нет, будет ошибка! (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 12 2007, 14:42
Сообщение #3332


Level 3
*

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



Зделал все так все равно ошибка.

Neverwinter Script Source
void main()
{
object oWP = GetWaypointByTag("furyspawn01");
location Loc = GetLocation(oWP);
string ResRef = "fury";

CreateObject (OBJECT_TYPE_CREATURE, "ResRef", Loc, FALSE, "NW_DROWROGUE001");
}


ERROR: DECLARATION DOES NOT MATCH PARAMETERS - это относилось к последней строчке - CreateObject и т.д.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jul 12 2007, 17:03
Сообщение #3333


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

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



Цитата(Loki87 @ Jul 12 2007, 15:42) [snapback]110507[/snapback]
"ResRef"

там надо без ковычек
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Loki87
сообщение Jul 12 2007, 17:57
Сообщение #3334


Level 3
*

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



без ковычек сначало было, но все равно не сработало. я поставил их - тоже не работает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jul 12 2007, 19:59
Сообщение #3335


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

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



2 Loki87, ты точно делаешь все так?

Третья строка: точное указание тэга вайпоинта;

Пятая строка: указание ResRef'a того NPC которого нужно создать;

Седьмая строка: собственно настройка всех параметров, указание того, что нужен именно NPC (не плейс и т.д), и как мне кажется, ошибка у тебя в самом последнем параметре. Почему ошибка? Потому что может быть, ты задаешь, новый тэг: NW_DROWROGUE001, сам того не ведая, и хотя создать NPC именно по нему.


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


PS: вот тебе небольшой модуль в помощь (версия для игры, максимальная, на данный момент).

Сообщение отредактировал Dik Morris - Jul 12 2007, 20:12
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
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) … Про висяки начала диалога с камеры в Леворе, вообще промолчу, т.к. ребятам на форуме за эти баги плешь проели…
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



Текстовая версия Сейчас: 29th April 2024 - 05:41