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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 124 125 126 127 128 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
serafim
сообщение May 10 2009, 12:30
Сообщение #3121


Level 3
*

Класс: Волшебник
Характер: Chaotic Good
Раса: Эльф



как сделать действие эффкта паутины на область триггра длительным?
как сделать эффект паутины я понял, сделал и получилось. вот только беда, если делать его на локацию, например область триггера, то эффект быстро исчезает, даже если я в конце функции указываю время. А если делат этот эффект на ПЦ то выгялдит не красиво--он двидется и вся паутина за ним. Что тоакое SetTime? оно поможет в решении это проблемы???
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение May 11 2009, 17:49
Сообщение #3122


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

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



Серафим, скрипт был рабочий, но с 1 ошибкой:
Neverwinter Script
AssignCommand(oPC, ActionDoCommand(AssignCommand(oSelf, AssignCommand(oPC, SpeakString("Трам-тара-рам!")))));

Тут нужно было было делать через ActionDoCommand...
В остальном это все твои глюки...

Эффект паутины кинь на невидимый объект и будет тебе счатье...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
serafim
сообщение May 12 2009, 17:28
Сообщение #3123


Level 3
*

Класс: Волшебник
Характер: Chaotic Good
Раса: Эльф



Ген, СПС!
еще вопросик. Видел в базе скриптов скрипт на оживление зомби при их смерти.
Нужен скрипт при котором убить зомби можно только одним предметом, например определенным мечем. В противном случае зомбяка оживает. Но, вот беда я немогу понять как прописать такой предмет и как прописать что бы зомби сами себя воскрешали, а не какой-то другой предмет или НПЦ. ХЕЛП!!!!!

Сообщение отредактировал serafim - May 12 2009, 17:34
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Deirel
сообщение May 13 2009, 22:21
Сообщение #3124


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Полуэльф



Я это так делал:

Neverwinter Script
void main()
{
    object oKiller = GetLastKiller();
    string sWeaponTag = GetTag(GetLastWeaponUsed(oKiller));
    if (sWeaponTag != "Тег оружия")
    {
        SendMessageToPC(oKiller, "HELLO");
        object oNewZombie = CreateObject(OBJECT_TYPE_CREATURE, GetResRef(OBJECT_SELF), GetLocation(OBJECT_SELF));
    }
}


Это стояло на OnDeath зомбика.

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

О, Сорри) SenMessageToPc не надо, это я так, для отладки))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 14 2009, 12:13
Сообщение #3125


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

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



Цитата(Deirel @ May 13 2009, 22:21) *
У меня не получилось сделать так, чтобы воскрешался именно тот зомби которого убили

эм.. а в чем проблема?
1. см. SetIsDestroyable() - (или как-то так. ищите в фильтре функций по части "IsDestroyable"). Ею ставим неисчезаемое тело после смерти.
2. с задержкой накладываем эффект воскрешение. или ресурекшн. Или какой хотите.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Deirel
сообщение May 14 2009, 17:51
Сообщение #3126


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Полуэльф



Lex, так я уже пытался, и почему-то не вышло.(

У менятакой вопрос, люди) можно ли скриптами поставить объект в место с определенными координатами?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение May 15 2009, 13:02
Сообщение #3127


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



определяем локацию, куда создаём.
Neverwinter Script
// Create a location.
location Location(object oArea, vector vPosition, float fOrientation)

vPosition - сюда и вписываем наши определённые координаты, например [0.0, 1.0, 0.0]
oArea и fOrientation - соотвественно область и поворот предмета;
а затем используем эту локацию в функции CreateObject.

насчёт воскрешения вот информация к размышлению
Neverwinter Script
void main()
{
    SetIsDestroyable(FALSE);
    effect eEffect = EffectResurrection();
    object oNPC = OBJECT_SELF;
    object oArea = GetArea(oNPC);
    AssignCommand(oArea, DelayCommand(6.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oNPC)));
}


Сообщение отредактировал azathoth - May 15 2009, 13:14
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Deirel
сообщение May 15 2009, 18:01
Сообщение #3128


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Полуэльф



azathoth, спасибо) теперь мне, наконец, стало понятно, что такое Location и чем оно отличается от Area, а то я их вообще путал=) А на счет скрипта, спасибо за идею, я пытался повесить воскрешение на PC, но не вышло...И с Area почему-то не работает! Ничего не понимаю(

(Ого, я сделал прыгающую колонну!!)))

Сообщение отредактировал Deirel - May 15 2009, 18:39
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
zeon
сообщение May 16 2009, 17:25
Сообщение #3129


Level 1


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



Уважаемые коллеги ,решил и я заняться скрипто0писанием(куда уж без него в хорошем модуле) и появилось очень много вопросов...если позволите я задам вам их.
1.Нужен скрипт простой телепортации ,в редакторе скриптов нашел образец но естественно не понял,скажем телепортация к waypoint.
2.По СВОИМ соображениям решил заблокировать класс варвар в своем модуле ,по шаблону сделал условие и если человек заходит играть barbarian следует end module,но опять же ничего не получилось при входе любым классом клиент просто повисает.
Просьба расписать все по полочкам буду благодарен!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Virake
сообщение May 17 2009, 19:32
Сообщение #3130


Level 5
**

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



Итак, я НЕ ШАРЮ в скриптах. А еще, я запарился лазить в темах по скритах, что бы найти всего один скрипт - скрипт, позволяющий игроку отдыхать ТОЛЬКО на определенном триггере. Мне этот скрипт нужен позарез. Пожалуста, если кто может, выложите этот скрипт здесь или дайте ссылку.

Если я этим постом нарушил какие-нибудь правила - извиняйте, небыло времени с ними познакомиться.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Deirel
сообщение May 17 2009, 20:08
Сообщение #3131


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Полуэльф



Товарищи, я бы сделал так:

На OnEnter триггера:

Neverwinter Script
void main()
{
    object oPC = GetEnteringObject();

    if (GetIsPC(oPC))
    {
        SetLocalInt(oPC, "IS_RESTING_ENABLE", 1);
    }
}


На OnExit триггера:

Neverwinter Script
void main()
{
    object oPC = GetExitingObject();

    if (GetIsPC(oPC))
    {
        SetLocalInt(oPC, "IS_RESTING_ENABLE", 0);
    }
}


На OnPlayerRest (в свойствах модуля) добавил бы:

в начале (после "object oPC = GetLastPCRested()"):

Neverwinter Script
if (GetLocalInt(oPC, "IS_RESTING_ENABLE") == 1)
{


а в конце, перед последней "}"

Neverwinter Script
}
else
{
    AssignCommand(oPC, SpeakString("Вы не можете отдыхать блаблабла"));
}


И в событии области OnEnter:

Neverwinter Script
void main()
{
    oPC = GetEnteringObject();
    SetLocalInt(oPC, "IS_RESTING_ENABLE", 0);
}


Я правильно мыслю, товарищи? )))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 18 2009, 08:32
Сообщение #3132


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

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



Цитата(zeon @ May 16 2009, 18:25) *
1.Нужен скрипт простой телепортации ,в редакторе скриптов нашел образец но естественно не понял,скажем телепортация к waypoint.

я тоже не понял. Из того что ты написал совершенно не понятно какой скрипт тебе нужен. Во-первых потому что ничего не сказано про того, КТО перемещается. Во-вторых не уточнено, КОГДА это происходит. Ну и в-третьих, КАК/КУДА.
если тебе это не принципиально и нужен скрипт с разбором, то собсна вот:
Neverwinter Script
void main()
{
object oCreature = GetEnteringObject(); // кто телепортируется. Входящий в триггер объект (игрок или НПС)
object oTarget = GetObjectByTag("WP_TARGET"); // куда телепортируется. В конкретную точку с тэгом WP_TARGET
AssignCommand(oCreature,ClearAllActions(TRUE)); // убираем текущий стек действий, чтобы не мешал
AssignCommand(oCreature,JumpToObject(oTarget)); // телепортируем
}
Цитата(zeon @ May 16 2009, 18:25) *
2.По СВОИМ соображениям решил заблокировать класс варвар в своем модуле ,по шаблону сделал условие и если человек заходит играть barbarian следует end module,но опять же ничего не получилось при входе любым классом клиент просто повисает.

пиши, что за скрипт у тебя получился. Разбирать и исправлять свои ошибки эффективнее, чем вставлять чужое готовое решение.

Цитата(Virake @ May 17 2009, 20:32) *
Если я этим постом нарушил какие-нибудь правила - извиняйте, небыло времени с ними познакомиться.

тем не менее с правилами лучше ознакомиться. Во избежании.

Цитата(Deirel @ May 17 2009, 21:08) *
Я правильно мыслю, товарищи? )))

вроде да, а зачем перестраховка с последним скриптом?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Virake
сообщение May 18 2009, 13:16
Сообщение #3133


Level 5
**

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



Deirel, большое спасибо за скрипты. (IMG:style_emoticons/kolobok_light/clapping.gif)

Цитата(Lex @ May 18 2009, 07:32) *
... а зачем перестраховка с последним скриптом?

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

Последний скрипт не компилируется.
Что-то не так со строкой oPC = GetEnteringObject();
Как это исправлять?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 18 2009, 13:17
Сообщение #3134


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

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



Neverwinter Script
object oPC = GetEnteringObject();
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Virake
сообщение May 18 2009, 13:41
Сообщение #3135


Level 5
**

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



Теперь все ясно.

Снова что-то не так. Неработает скрипт система. Вместо того, чтобы показывать "Это неподходящее место для отдыха" тогда, когда герой жмет REST не на триггере, оно показывает это сообщ. когда игрок сам прерывает отдых. Т.е. главная функция не работает. Не знаю как решить эту проблему.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 18 2009, 15:05
Сообщение #3136


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

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



это уже косяк того, что ты внутри OnPlayerRest напихал. Без полного текста скрипта тебе никто не поможет.
А вообще советую начинать разбираться самому. Дело пойдет быстрее, чем с каждым вопросом сидеть на форуме и ждать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
zeon
сообщение May 18 2009, 15:34
Сообщение #3137


Level 1


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



Цитата(Lex @ May 18 2009, 16:05) *
это уже косяк того, что ты внутри OnPlayerRest напихал. Без полного текста скрипта тебе никто не поможет.
А вообще советую начинать разбираться самому. Дело пойдет быстрее, чем с каждым вопросом сидеть на форуме и ждать.

спасибо за ответы на все вопросы,но пока ждал уже сам во всем разобрался.
Оффтоп,теперь борюсь с глючностью самой игры=(
intel core 2 duo e6750,radeon hd 2600xt,4gb ram 800mghz,vista sp1 x64.
В игре что на минимальных что на максимальных одинаково глючит,производительность как в crysis на максимальных,тобишь играть невозможно!
При чем на старом кампьютере тоже самое но в меньшей степени(картинку ощутимо поддергивает)-там стоит все с точностью на оборот winxp 32,amd athlon 3000+,geforse 6600.
P.S версия diamond 1.69 eng.
В самом редакторе тоже одни ошибки постоянно выскакивают Atioglxx.dll
P.S.S не ужели придется перебираться на NWN2 там все идет ровно!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 18 2009, 18:24
Сообщение #3138


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



В nwnplayer.ini поставить Client CPU Affinity=0
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
zeon
сообщение May 18 2009, 18:46
Сообщение #3139


Level 1


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



Цитата(Ilerien @ May 18 2009, 18:24) *
В nwnplayer.ini поставить Client CPU Affinity=0

я конечно извеняюсь но оно там и стоит=(
скорее всего что то в видео карте ,у кого на radeon игра нормально ползет?
P.S опросил пару друзей играющих в нвн,сказали что не совсем уж и глючит но подлагивает,это что такие особенности движка?!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Deirel
сообщение May 18 2009, 22:10
Сообщение #3140


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Полуэльф



Ну не знаю, на моем средненьком Radeon X1550 ничего не лагает) Хотя...блеск воды не работает))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 19 2009, 23:09
Сообщение #3141


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Ну, тогда могу могу посоветовать с дровами на видео пошаманить. Как вариант, поставить в advanced sound options другой кодек, например, miles fast 2D - у кого-то из-за этого были подобные глюки.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Virake
сообщение May 20 2009, 12:04
Сообщение #3142


Level 5
**

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



Цитата(Lex @ May 18 2009, 15:05) *
это уже косяк того, что ты внутри OnPlayerRest напихал. Без полного текста скрипта тебе никто не поможет.
А вообще советую начинать разбираться самому. Дело пойдет быстрее, чем с каждым вопросом сидеть на форуме и ждать.

Спасибо за совет. Это помогло. Как окозалось, перед последней вставленой строкой, нужна была еще всего-то одна строка:
Neverwinter Script
AssignCommand(oPC, ClearAllActions());


Теперь все работает. Огромное спасибо всем за помощь.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Virake
сообщение Jun 9 2009, 11:33
Сообщение #3143


Level 5
**

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



Еще вопрос:
Вот это (из городской базы скриптов) инклюд:
Neverwinter Script
const string TXT_COLOR_GRAY    = "<c°°°>"; // Gray
const string TXT_COLOR_WHITE    = "<cууу>"; // White
const string TXT_COLOR_CYAN    = "<c уу>"; // Light Cyan
const string TXT_COLOR_MAGENTA  = "<cу у>"; // Magenta
const string TXT_COLOR_YELLOW  = "<cуу >"; // Yellow
const string TXT_COLOR_RED      = "<cу  >"; // Red
const string TXT_COLOR_GREEN    = "<c у >"; // Green
const string TXT_COLOR_BLUE    = "<c  у>"; // Blue
const string TXT_COLOR_NONE    = "";      // Default (no color)
const string TXT_COLOR_END      = "</c>"// (color end TAG)
const string TXT_COLOR_DEFAULT  = TXT_COLOR_CYAN;


// Function changes color of the string
// * Param sText - text to color
// * Param sColor - parse a color constant here
// * Returns colored string
string colorText(string sText, string sColor);


string colorText(string sText, string sColor)
{
  return sColor + sText + TXT_COLOR_END;
}

А это пример:
Neverwinter Script
#include "lib_colortext"
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
AssignCommand(oPC, SpeakString(colorText("you are entering object", TXT_COLOR_RED)));
}

А вот, собственно, и сам вопрос (их вообще-то два):
1) Как построить скрипт, чтобы вместо SpeakString работало FloatingTextStringOnCreature;
2) Как построить скрипт, чтобы вместо SpeakString работало SendMessageToPC.
Кто знает ответ (может об таком скрипте уже спрашивали, но мне лень 126 страниц читать)?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jun 9 2009, 13:20
Сообщение #3144


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

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



а в чем проблема то?
Ничего принципиально не меняется. В месте вывода текста ставишь вместо "текст" конструкцию
Neverwinter Script
colorText("you are entering object", TXT_COLOR_RED)
Работает со всеми функциями по выводу текста, и FloatingTextStringOnCreature с SendMessageToPC - не исключение.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Virake
сообщение Jun 9 2009, 14:49
Сообщение #3145


Level 5
**

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



Забыл сказать. Мне нужно, что б это работало через object oPC = GetLastUsedBy.
Вот например:
Neverwinter Script
#include "lib_colortext"
void main()
{
object oPC = GetLastUsedBy();

AssignCommand(oPC, FloatingTextStringOnCreature(colorText("You are using object", TXT_COLOR_RED)));
}

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

147 страниц V  « < 124 125 126 127 128 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 31st July 2025 - 11:21