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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 76 77 78 79 80 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
justshurik
сообщение Jan 31 2006, 16:37
Сообщение #1926


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Народ, помогите нубу.
Есть некий предмет с свойством "активировать предмет:использовать собственное питание(длинная дистанция)". Так вот, необходимо, чтобы при использовании этого предмета в точке куда он активирован можно было вызвать существо или хотябы просто поставить waypoint. Если кто знает как это сделать, подскажите. Заранее благодарен.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vanes
сообщение Jan 31 2006, 17:38
Сообщение #1927


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

Класс: Вор
Характер: Neutral Evil
Раса: Эльф
NWN: Скриптинг [PW]
Validor2



Lex
может быть в данном вопросе это не суть важно, но лучше использовать GetXP() и SetXP()...
в описании GiveXPToCreature() есть оговорочка
QUOTE
Gives nXpAmount to oCreature, adjusted by any multiclass penalty.

ничего катастрофичного нет, но недопонимание определенно появится, когда вместо 100 экспы дадут 60...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Night Elf
сообщение Jan 31 2006, 18:58
Сообщение #1928


Level 1


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



:D :good: спасибки =))
Добавлено в [mergetime]1138723276[/mergetime]
To Vanes
В смысле? слухай воть я допустим квест хатю сделать,
Записи в журнале нашёл как делать и в принципе квест выполняется играет соответствующая музыка но куда и как вставлять скрипт опыта?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Jan 31 2006, 20:10
Сообщение #1929


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



2 всем задававшим последние "вопросы"
граждане, это уже перебор... имейте совесть.
я понимаю ситуацию, когда человеку нужно что-то сделать быстро, не вникая в суть и он задает такого рода вопросы (для ответа на которые нужно прочитать один абзац текста). но в случае разработки модуля такой вариант не канает. либо вникаете и учитесь, либо ищете скриптеров, которые согласятся вам помочь/присоединиться к проету.

1. качайте и читайте - FAQ по Aurora Toolset
2. читайте здесь - Вопросы и Ответы по Toolsetу!
3. потыкайтесь по форуму Neverwinter Nights Aurora Toolset.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Jan 31 2006, 20:25
Сообщение #1930


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Ты предлагаешь больше никому здесь не задавать вопросы?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
[MoF]Darth_Nick
сообщение Jan 31 2006, 20:28
Сообщение #1931


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

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить
NWN: Скриптинг [PW]



ну есть просто элементарные вещи, которые можно в туториалах(и т.д.) найти
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Jan 31 2006, 22:43
Сообщение #1932


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Обьясните пожалуйста в чем ошибка.
поставил на OnActivateItem
CODE

void main()
{
object oPC=GetItemActivator();
object oItem=GetItemActivator();
location lTarget;
if("panel"==GetTag(oItem))
{
lTarget=GetItemActivatedTargetLocation();
AssignCommand(oPC,ActionJumpToLocation(lTarget));
};

}

(я сильно упростил код)
Нужно чтобы игрок при активации предмета с тегом panel перемещался в точку на которую он скастовал активацию(т.е. точка находиться на некотором удалении от игрока). На предмет я добавил в свойства "активировать предмет(далнее расстояние)"
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nymor
сообщение Jan 31 2006, 22:53
Сообщение #1933


Level 8
***

Класс: Рейнджер
Характер: Chaotic Neutral
Раса: Эльф



justshurik
CODE
object oPC=GetItemActivator();
object oItem=GetItemActivator();


замени оИтем на нормальную функцию

Сообщение отредактировал Nymor - Jan 31 2006, 22:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Jan 31 2006, 22:56
Сообщение #1934


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



блин. там же GetItemActivated() должно быть! Е-мое! А я с этим уже 2 дня сижу!
Добавлено в [mergetime]1138741420[/mergetime]
Кстати, все хотел узнать. Поддерживает ли редактор скриптов ООП?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
[MoF]Darth_Nick
сообщение Feb 1 2006, 01:29
Сообщение #1935


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

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить
NWN: Скриптинг [PW]



только структуры...
юзай лексикон....

Сообщение отредактировал [MoF]Darth_Nick - Feb 1 2006, 01:32
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Feb 1 2006, 02:22
Сообщение #1936


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Спасибо за ответ. Лексикон уже давно использую. :yes:
Добавлено в [mergetime]1138801732[/mergetime]
Народ, извините за глупый вопрос, но сам никак не могу додуматься.
Как преобразовать тип vector в тип location?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nashman
сообщение Feb 1 2006, 17:33
Сообщение #1937


Level 8
***

Класс: Тайный Лучник
Характер: Lawful Good
Раса: Эльф



QUOTE
Как преобразовать тип vector в тип location?
Что-то мне подсказывает, что этого сделать нельзя... ИМХО - невозможно!!!
А зачем тебе? Может кто-то найдеть другой способ решить задачу...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 1 2006, 18:02
Сообщение #1938


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

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



justshurik,
Neverwinter Script Source
// Create a location.
location Location(object oArea, vector vPosition, float fOrientation)

Собсна локация это и есть позиция на карте и направление.
Нэш, ну ты отразил. :D
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Feb 1 2006, 21:13
Сообщение #1939


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Функцию я эту встречал. Единственное что меня смущает в ней, это object oArea. Зачем он здесь нужен?

Сообщение отредактировал justshurik - Feb 1 2006, 21:15
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Feb 1 2006, 21:27
Сообщение #1940


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Location(object oArea, vector vPosition, float fOrientation)
oArea - локация, карта
vPosition - местоположение на карте
fOrientation - направление взгляда
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Feb 1 2006, 21:37
Сообщение #1941


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Спасибо за ответ. Теперь понял что и как. :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nashman
сообщение Feb 2 2006, 01:56
Сообщение #1942


Level 8
***

Класс: Тайный Лучник
Характер: Lawful Good
Раса: Эльф



Я ничо не понял зачем эта функция. Теперь мне интересно где ее используют?


QUOTE
Нэш, ну ты отразил
- это....ааа....эээ...."ИМХО"
Добавлено в [mergetime]1138834657[/mergetime]
Ее можно использовать для определения дистанции к обекту?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение Feb 2 2006, 11:00
Сообщение #1943


Лорд AxisTown'a
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Дварф
NWN: Маппинг



нет..для определиния расстояния вполне лостаточно просто использовать
GetDistanceBetween(object oFirst, object oSecond)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Feb 2 2006, 18:16
Сообщение #1944


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



QUOTE
Я ничо не понял зачем эта функция. Теперь мне интересно где ее используют?

Просто ты еще с этим не сталкивался. Она очень полезна при работе с координатами.


Сообщение отредактировал justshurik - Feb 3 2006, 01:02
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Feb 3 2006, 23:46
Сообщение #1945


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Чето заглохла эта тема :swoon:
Добавлено в [mergetime]1138999971[/mergetime]
Народ. Маленький вопросик. Как делать указатели и ссылки на переменные в редакторе скриптов?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 3 2006, 23:55
Сообщение #1946


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

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



QUOTE (justshurik @ Feb 3 2006, 23:46)
Чето заглохла эта тема :swoon:

наивный. до 100 скоро дойдет :)
QUOTE (justshurik @ Feb 3 2006, 23:46)
Как делать указатели и ссылки на переменные в редакторе скриптов?

никак
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
[MoF]Darth_Nick
сообщение Feb 4 2006, 05:38
Сообщение #1947


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

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить
NWN: Скриптинг [PW]



а зачем? это не с++(к примеру) ...

Сообщение отредактировал [MoF]Darth_Nick - Feb 4 2006, 08:16
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Feb 4 2006, 13:34
Сообщение #1948


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



QUOTE ([MoF)
Darth_Nick,Feb 4 2006, 05:38]а зачем? это не с++(к примеру) ...

да просто немного неудобно без указателей. Хотя вроде бы и без них все работает
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nashman
сообщение Feb 5 2006, 03:02
Сообщение #1949


Level 8
***

Класс: Тайный Лучник
Характер: Lawful Good
Раса: Эльф



Привет,
Такая вот ситуация: Есть у меня 4 НПС, один из них главный; есть 8 Вепов(Это как бы патруль :)). На капитана я вешаю такой скрипт:

Neverwinter Script Source
void main()
{
object oCommander = GetNearestObjectByTag("ast_s_commader");
int oTrueFalse = FALSE;

if (GetIsDay())
{
oTrueFalse=FALSE;
}
else
{
oTrueFalse=TRUE;
}

if (GetDistanceBetween(oCommander, OBJECT_SELF)<3.0)
ActionDoCommand(AssignCommand(OBJECT_SELF, ClearAllActions(FALSE)));

if (GetDistanceBetween(oCommander, OBJECT_SELF)>6.0)
{
ActionDoCommand(AssignCommand(OBJECT_SELF, ActionForceFollowObject(oCommander, 0.0)));
}
else
{
ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oCommander, oTrueFalse, 1.0f)));
}
}


А на других НПС такой:

Neverwinter Script Source
void main()
{
object oW1 = GetWaypointByTag("ast_s_1level001");
object oW2 = GetWaypointByTag("ast_s_1level002");
object oW3 = GetWaypointByTag("ast_s_1level003");
object oW4 = GetWaypointByTag("ast_s_1level004");
object oW5 = GetWaypointByTag("ast_s_1level005");
object oW6 = GetWaypointByTag("ast_s_1level006");
object oW7 = GetWaypointByTag("ast_s_1level007");
object oW8 = GetWaypointByTag("ast_s_1level008");

string speak1 = "Ñ äîðîãè!!!";
string speak2 = "Ïîñòîðîíèñü!!!";
string speak3 = "Âñå ïîäîìàì!!! Íèêîãî íå äîëæíî áûòü íà óëèöàõ, íî÷üþ!!!";

object oPC = GetFirstPC();

int oTrueFalse = FALSE;

if (GetIsDay())
{
oTrueFalse=FALSE;
}
else
{
oTrueFalse=TRUE;
}

ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oW1, oTrueFalse, 1.0f)));
if (GetDistanceBetween(OBJECT_SELF, oPC) < 8.0)
{
switch (Random(3)+1)
{
case 1:
ActionSpeakString(speak1, TALKVOLUME_SHOUT);
break;
case 2:
ActionSpeakString(speak2, TALKVOLUME_SHOUT);
break;
case 3:
ActionSpeakString(speak3, TALKVOLUME_SHOUT);
break;
}
}
ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oW3, oTrueFalse, 1.0f)));
if (GetDistanceBetween(OBJECT_SELF, oPC) < 8.0)
{
switch (Random(3)+1)
{
case 1:
ActionSpeakString(speak1, TALKVOLUME_SHOUT);
break;
case 2:
ActionSpeakString(speak2, TALKVOLUME_SHOUT);
break;
case 3:
ActionSpeakString(speak3, TALKVOLUME_SHOUT);
break;
}
}
ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oW2, oTrueFalse, 1.0f)));
if (GetDistanceBetween(OBJECT_SELF, oPC) < 8.0)
{
switch (Random(3)+1)
{
case 1:
ActionSpeakString(speak1, TALKVOLUME_SHOUT);
break;
case 2:
ActionSpeakString(speak2, TALKVOLUME_SHOUT);
break;
case 3:
ActionSpeakString(speak3, TALKVOLUME_SHOUT);
break;
}
}
ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oW3, oTrueFalse, 1.0f)));
if (GetDistanceBetween(OBJECT_SELF, oPC) < 8.0)
{
switch (Random(3)+1)
{
case 1:
ActionSpeakString(speak1, TALKVOLUME_SHOUT);
break;
case 2:
ActionSpeakString(speak2, TALKVOLUME_SHOUT);
break;
case 3:
ActionSpeakString(speak3, TALKVOLUME_SHOUT);
break;
}
}

ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oW4, oTrueFalse, 1.0f)));
if (GetDistanceBetween(OBJECT_SELF, oPC) < 8.0)
{
switch (Random(3)+1)
{
case 1:
ActionSpeakString(speak1, TALKVOLUME_SHOUT);
break;
case 2:
ActionSpeakString(speak2, TALKVOLUME_SHOUT);
break;
case 3:
ActionSpeakString(speak3, TALKVOLUME_SHOUT);
break;
}
}

ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oW5, oTrueFalse, 1.0f)));
if (GetDistanceBetween(OBJECT_SELF, oPC) < 8.0)
{
switch (Random(3)+1)
{
case 1:
ActionSpeakString(speak1, TALKVOLUME_SHOUT);
break;
case 2:
ActionSpeakString(speak2, TALKVOLUME_SHOUT);
break;
case 3:
ActionSpeakString(speak3, TALKVOLUME_SHOUT);
break;
}
}

ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oW6, oTrueFalse, 1.0f)));
if (GetDistanceBetween(OBJECT_SELF, oPC) < 8.0)
{
switch (Random(3)+1)
{
case 1:
ActionSpeakString(speak1, TALKVOLUME_SHOUT);
break;
case 2:
ActionSpeakString(speak2, TALKVOLUME_SHOUT);
break;
case 3:
ActionSpeakString(speak3, TALKVOLUME_SHOUT);
break;
}
}

ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oW7, oTrueFalse, 1.0f)));
if (GetDistanceBetween(OBJECT_SELF, oPC) < 8.0)
{
switch (Random(3)+1)
{
case 1:
ActionSpeakString(speak1, TALKVOLUME_SHOUT);
break;
case 2:
ActionSpeakString(speak2, TALKVOLUME_SHOUT);
break;
case 3:
ActionSpeakString(speak3, TALKVOLUME_SHOUT);
break;
}
}

ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oW8, oTrueFalse, 1.0f)));
if (GetDistanceBetween(OBJECT_SELF, oPC) < 8.0)
{
switch (Random(3)+1)
{
case 1:
ActionSpeakString(speak1, TALKVOLUME_SHOUT);
break;
case 2:
ActionSpeakString(speak2, TALKVOLUME_SHOUT);
break;
case 3:
ActionSpeakString(speak3, TALKVOLUME_SHOUT);
break;
}
}
}


Как оно работает(Так не должно!!!!), НПС доходит к вепу 3 останавливается, потом когда он должен произнести фразу(ночью если Вы ближе 8 футов), то это не работае, он все сразу выскажет и ВСЕ... Они еще должны нормально ходить(ВСЕСТЕ). У меня в скрипт из базы немножко не подходит...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Feb 5 2006, 20:24
Сообщение #1950


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Nashman, че та я не понял, ты что вообще от них хочешь???

QUOTE (Nashman @ Feb 5 2006, 04:02)
На капитана я вешаю такой скрипт:

Куда именно?
Neverwinter Script Source
//это кто, капитан или кто-то посторонний?
object oCommander = GetNearestObjectByTag("ast_s_commader");
//...

//Если oCommander это капитан и скрипт стоит на нем, то он что, сам за собой ходит? А если oCommander это не капитан, то закем он ходит?
ActionDoCommand(AssignCommand(OBJECT_SELF, ActionForceFollowObject(oCommander, 0.0)));



oTrueFalse - это они типа днем ходят, а ночью бегают?!
QUOTE (Nashman @ Feb 5 2006, 04:02)
он должен произнести фразу(ночью если Вы ближе 8 футов)

И где проверка на текущее время?
Neverwinter Script Source
ActionDoCommand(AssignCommand(OBJECT_SELF, ActionMoveToObject(oW3, oTrueFalse, 1.0f)));
if (GetDistanceBetween(OBJECT_SELF, oPC) < 8.0)


Второй скрипт именно таким стоит на каждом рядовом?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 76 77 78 79 80 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th April 2025 - 03:04