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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 90 91 92 93 94 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Tiger Greyhawk
сообщение Nov 7 2005, 09:38
Сообщение #2261



Иконки Групп

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



Дик, в зависимости от ...
GetItemPossessor(oItem); - вернуть владельца конкретного предмета. В качестве предмета, по-моему, можно указать тот предмет, который он получает в данный момент.
Если сингл, то вообще просто: GetFirstPC();
ну и т.п.
GetNearestCreature(...); и значение выборки сделать "PLAYER_CHAR_IS_PC"
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
_kaa_
сообщение Nov 7 2005, 12:50
Сообщение #2262


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [PW]



QUOTE (Dik Morris @ Nov 7 2005, 10:16)
Народ, помогите. Блин, вещи в 10 раз сложнее у меня получаются, а всякая фигня нет. :)
Сказывается незнание английского и функций тулсета.
Как обозначить ПС ? Скрипт, стоит на слоте, когда игрок получает предмет. (В мод свойствах)

Открывай лексикон, вбивай имя нужного события On.. и смотри, там обязательно указаны функции, которые актуальны для работы с этим событием.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Nov 7 2005, 13:44
Сообщение #2263


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

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



QUOTE (Dik Morris @ Nov 7 2005, 10:16)
Скрипт, стоит на слоте, когда игрок получает предмет. (В мод свойствах)

QUOTE (Tiger Greyhawk @ Nov 7 2005, 10:38)
Дик, в зависимости от ...
GetItemPossessor(oItem); - вернуть владельца конкретного предмета. В качестве предмета, по-моему, можно указать тот предмет, который он получает в данный момент.
Если сингл, то вообще просто: GetFirstPC();
ну и т.п.
GetNearestCreature(...); и значение выборки сделать "PLAYER_CHAR_IS_PC"

хм.. Тигра, не, тут проще. Каа верно сказал, глянуть надо было в Лексиконе.
Вообще тут технология была проста: набиваем в поиске функций Acquir и получаем это:
Neverwinter Script Source
// Use this in an OnItemAcquired script to get the item that was acquired.
// * Returns OBJECT_INVALID if the module is not valid.
object GetModuleItemAcquired()

// Gets the object that acquired the module item.  May be a creature, item, or placeable
object GetModuleItemAcquiredBy()

// Use this in an OnItemAcquired script to get the creatre that previously
// possessed the item.
// * Returns OBJECT_INVALID if the item was picked up from the ground.
object GetModuleItemAcquiredFrom()

// in an onItemAcquired script, returns the size of the stack of the item
// that was just acquired.
// * returns the stack size of the item acquired
int GetModuleItemAcquiredStackSize()

все, что надо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Nov 9 2005, 19:25
Сообщение #2264


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

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



Установил, NWN + SoU + HotU, пропатчил с помощью критикала 1.66, до 1.66.
Вопрос, после этого некоторые буквы превратились в каракули (в частности в редакторе скриптов, при сохранении, скрипта, и при создании НПС (характеристики))
ЗЫ: Возможно, вопрос и глупый но тем не менее не знаю как быть.
********************
AliceDiren спасибо! Щас все в норме!
Вообще, я догадывался что конфликт именно в шрифтах, но честно сказать боялся лезть туда.
Имеется печальный опыт... :D
*********************
QUOTE
Или я не опнял о чем ты.

Дык, я вообще то все оч. подробно расписал ;)


Сообщение отредактировал Dik Morris - Nov 10 2005, 10:27
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Nov 9 2005, 21:41
Сообщение #2265


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

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



Dik Morris, а патч дамбо пробовал заново запускать? Или я не опнял о чем ты.

Сообщение отредактировал -fenix- - Nov 9 2005, 21:43
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Nov 9 2005, 21:50
Сообщение #2266


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



Dik, помоему тебе нужно просто поменять настройки шрифтов. Там по умолчанию стоит Courier New. Поставь обычный Courier
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Nov 10 2005, 20:06
Сообщение #2267


Level 4
**

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Что-то не хочет работать одна бандура: есть диалог с NPC, там шесть вопросов и несколько вариантов ответа (подобное было, может кто помнит мою "загадку"). В конце две фразы - обычная и появляющаяся при правильных ответах. На правильный ответ вещаю сие:
CODE
void main()
{

   object oPC = GetPCSpeaker();
   SetLocalInt(oPC, "ZAG", GetLocalInt(oPC, "ledi") + 1);
}

На появляющейся фразе вот это:
CODE
int StartingConditional()
{
   object oPC = GetPCSpeaker();

   if (GetLocalInt(oPC, "ledi") == 6)
       return TRUE;
   return FALSE;
}

А если игрок не угадывает, то на последнюю фразу такой:
CODE
void main()
{
object oPC = GetPCSpeaker();
DeleteLocalInt(oPC, "ledi");
}

Дык вот, проблема в том, что при правильных ответах нужная фраза не появляеться! Из-зи чего?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Nov 10 2005, 20:12
Сообщение #2268


Level 9
***

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



Dik Morris,при переходе на 1.66 стирается оверрайд, а следовательно и русские шрифты + патчить надо с оригинальным английским .тлк файлом. А может действительно просто поменять настройки шрифтов.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Nov 10 2005, 20:19
Сообщение #2269


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

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



QUOTE (Vitalist @ Nov 10 2005, 20:06)
SetLocalInt(oPC, "ZAG", GetLocalInt(oPC, "ledi") + 1);

QUOTE (Vitalist @ Nov 10 2005, 20:06)
if (GetLocalInt(oPC, "ledi") == 6)

вот тебе расхождение. Ты не в ту локалку накапливаешь ответы. Накапливай в "ledi"
а ты некой "Заг" присваиваешь "леди"+1.. накомпления нет
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Master Wu
сообщение Nov 11 2005, 00:01
Сообщение #2270


Level 3
*

Класс: Некромант
Характер: True Neutral
Раса: Полуэльф



Задаю ОЧЕНЬ глупый вопрос, но тем не менее ответа не нашел. КАК подключить хак к создаваемому модулю (загрузить из него все плейсиблы, портреты и т. д.). Ну ламер я, что поделать :swoon:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Nov 11 2005, 00:10
Сообщение #2271


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



Master Wu, в меню Редактировать\Модульные св-ва. На закладке Настройки пользователя добавляй хаки :)
Лито, а зачем нужен оригинальный .tlk, если Dik патчил CriticalRebuild'ом? И 1.66 ребил не стирает override. Он его бэкапит и оригинал оставляет в порядке. Я сама засомневалась и специально проверила.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Master Wu
сообщение Nov 11 2005, 00:16
Сообщение #2272


Level 3
*

Класс: Некромант
Характер: True Neutral
Раса: Полуэльф



To AliceDiren:
Респект! Нда, а я все же ламер, мог ведь и сам найти... Еще раз Респект.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ashram
сообщение Nov 14 2005, 15:46
Сообщение #2273


Level 1


Класс: Обыватель
Характер: Chaotic Good
Раса: Эльф



Есть такой вопрос:
Я написал скрипт смерти игрока, который переносит его в фугу, а на месте остается тело и вещи. Как можно сделать, чтобы при воскрешении (использовании на тело) игрок возвращался из фуги, именно тот игрок который умер? Предполагаю что нужно как-то привязать ID игрока к трупу, но не понимаю как. Скрипт для мультиплеера.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Nov 14 2005, 22:19
Сообщение #2274


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

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



Ashram, ПС находятся по имени. Вот функция для получения имени
Neverwinter Script Source
string GetPCPlayerName(object oPlayer)

Значит вешаем на тело локалку с именем умершего ПС, а при воскрешении находим игрока с нужным именем.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ashram
сообщение Nov 14 2005, 22:23
Сообщение #2275


Level 1


Класс: Обыватель
Характер: Chaotic Good
Раса: Эльф



Спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Nov 14 2005, 22:41
Сообщение #2276


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



Можно я тоже скажу мяу?
-fenix-, все равно могут быть глюки имхо.
Ashram, в "базе скриптов", по-моему, есть один интересный скрипт, он помечает игроков уникальными номерами (как раз для мультиплеера написан).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Nov 15 2005, 02:07
Сообщение #2277


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



А что, ActionJumpToObject переносит игрока только к объеку, который расположен в данной локе? Как же мне тогда джампнуть перса к объекту в другой локе?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Nov 15 2005, 02:23
Сообщение #2278


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

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



QUOTE

ActionJumpToObject()

The calling object will be relocated to the position of oTarget (or as near as possible). This function will work within or across area borders.


Вот нужные функции
Neverwinter Script Source
void JumpToLocation(location lDestination)

location Location(object oArea, vector vPosition, float fOrientation)

object GetArea(object oTarget)

vector GetPosition(object oTarget)

float GetFacing(object oTarget)

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Nov 15 2005, 12:36
Сообщение #2279


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

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



QUOTE (Daemonix @ Nov 15 2005, 02:07)
А что, ActionJumpToObject переносит игрока только к объеку, который расположен в данной локе? Как же мне тогда джампнуть перса к объекту в другой локе?

ты бредишь. К любому объекту.
QUOTE (AliceDiren @ Nov 14 2005, 22:41)
Можно я тоже скажу мяу?
-fenix-, все равно могут быть глюки имхо.
Ashram, в "базе скриптов", по-моему, есть один интересный скрипт, он помечает игроков уникальными номерами (как раз для мультиплеера написан).

угу. 100% согласен. По именам не канает. Надо делать индексацию в любом случае.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Nov 15 2005, 14:07
Сообщение #2280


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



QUOTE
ты бредишь. К любому объекту.

Блин, странно. Если так, то почему скрипт не джампает перса к вэйпоинту в другой локе? Или вэйпоинты - не объекты? Скрипт-то компилируется, а не пашет...
Neverwinter Script Source
void main()
{
object oWP = GetObjectByTag("WP_kld");
ActionJumpToObject(oWP, 1);
}

Это в строке (персовской) диалога.

Сообщение отредактировал Daemonix - Nov 15 2005, 14:44
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Nov 15 2005, 14:27
Сообщение #2281


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

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



У тебя прыгает сам НПС.
Как я понял тебе нужно чтобы джампился игрок, вот вешай на строчку в диалоге:
Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
object oWP = GetObjectByTag("ТАГ ТОЧКИ");
AssignCommand(oPC, ActionJumpToObject(oWP));
}

QUOTE (Dik Morris @ Nov 15 2005, 14:27)
У тебя прыгает сам НПС.

точнее поинт.
*********************
В смысле поинт?! Скрипт стоит, в диалоге.
QUOTE (Dik Morris @ Nov 15 2005, 14:27)
object oPC = GetPCSpeaker();

определять игрка нужно согласно месту, где стоит скрипт. Спикер может не сработать.
*********************
QUOTE
определять игрка нужно согласно месту, где стоит скрипт. Спикер может не сработать.

QUOTE
Это в строке (персовской) диалога.

Лекс, ты видать не заметил ;)

Сообщение отредактировал Dik Morris - Dec 4 2005, 10:01
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
yudgi
сообщение Dec 4 2005, 10:07
Сообщение #2282


Level 4
**

Класс: Друид
Характер: Lawful Good
Раса: Человек



Всем привет. Ребята помогите пожалуйста. Ситуацияя такая: РС разговаривает с драконом после чего дракон исчезает, я на последнюю ветку в диалоге повесила такой скрипт
Neverwinter Script Source
void main()
{
DestroyObject(OBJECT_SELF);
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
}

Дракон исчезает, но без визуальных эффектов. Как добавить визуальные и звуковые эффекты? Спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Dec 4 2005, 10:20
Сообщение #2283


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

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



Используя функции:
Neverwinter Script Source
// Apply eEffect to oTarget.
void ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f)

Neverwinter Script Source
// * Create a Visual Effect that can be applied to an object.
// - nVisualEffectId
// - nMissEffect: if this is TRUE, a random vector near or past the target will
//   be generated, on which to play the effect
effect EffectVisualEffect(int nVisualEffectId, int nMissEffect=FALSE)

+ Константы визуальных эффектов (эффекты просто визуальные, они не наносят урона, не повышают навыки, они просто для красоты) Начинаются с букв: VFX (глянь в фильтре констант.)
Вот простой пример использования:
Neverwinter Script Source
void main()
{
object oDrakon = GetObjectByTag("ТАГ ДРАКОНА");
/*Определяем того на кого хочем наложить эффект, в данном случаее нам поможет фунция:GetObjectByTag. Ну, а если скрипт в диалоге, то все упрощается, можешь просто заменить: object oDrakon=OBJECT_SELF; или еще проще OBJECT_SELF (конечно в ApplyEffectToObject)
*/

effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
/*Определяем эффект.
Название виз. эффекта начинаются со слов VFX_
*/

ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oDrakon);
/*Налаживаем эффект: DURATION_TYPE_INSTANT - Мгновенно налаживаем, а можно DURATION_TYPE_PERMANENT, DURATION_TYPE_TEMPORARY (временно или бесконечно)
Далее: eVis это сам эффект который мы налаживаем (выше мы его определили);
oDrakon тот на кого мы налаживаем эффект (как я писал можно заменить и просто: OBJECT_SELF)
*/

}

Если ты хочешь налажить на НПС НЕ визуальный эффект т.е настоящий (повысить силу, увеличить класс брони) то смотри в фильтре, фун-ции начинающиеся со слов Effect.
*********************
Ну, а вот конкретный ответ на твой вопрос:
Neverwinter Script Source
void main()
{
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,OBJECT_SELF);
DestroyObject(OBJECT_SELF);
}

PS: ты просто определила эффект но забыла его наложить.
*********************
Фух, ну я и размахнулся =)
Народ но ведь надо же человеку обьяснить, а то обойдется одним скриптом.

Сообщение отредактировал Dik Morris - Dec 4 2005, 10:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Dec 4 2005, 20:48
Сообщение #2284


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



Dik Morris, чуть-чуть не так, помоему. :) эффект накладывает сам объект, который ты уничтожаешь. Поэтому последнюю строчку надо чуть сдвинуть во времени.
Neverwinter Script Source
void main()
{
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,OBJECT_SELF);
DelayCommand(2.0, DestroyObject(OBJECT_SELF));//например так :)
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Dec 4 2005, 21:24
Сообщение #2285


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

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



Так как Destroy стоит после наложения эффекта, то эффект наложится, просто увидеть мы успеем одну вспышку. И вот чтобы полностью увидеть эффект и можно время увеличить на Destroy.

QUOTE (yudgi @ Dec 4 2005, 11:07)
Как добавить звуковые эффекты?

Neverwinter Script Source
PlaySound(string sSoundName)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 90 91 92 93 94 > » 
Ответить в эту темуОткрыть новую тему
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 22nd July 2025 - 03:45