![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2826
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Neverwinter Script Source void main( ) { object oPC = GetFirstPC( ); int iGold = GetGold( oPC ); effect eSTR = EffectAbilityIncrease( ABILITY_STRENGTH, 1 ); } Здорово! Сама недавно искала такой скрипт. Но в связи с этим возникает вопрос: это увеличение способности накладывается насовсем или на какое-то время? Вроде, временной промежуток не задается, но это же базовая способность, все-таки. |
![]()
Сообщение
#2827
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
тут пока еще ниче не накладывается.
В ApplyEffect есть параметр duration. Ставь там DURATION_TYPE_INSTANT - будет постоянный бонус (или PERMANENT.. я за много лет так и не понял какой когда правильнее использовать (IMG:style_emoticons/kolobok_light/smile.gif) ). Однако есть пара моментов: - бонус можно отдиспелить - бонус можно снять отдыхом чтобы этого избежать, надо использовать EffectSupernatural и EffectExtraordinary (ну или как-то так, по памяти пишу). |
![]()
Сообщение
#2828
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Эээ... Все бы ничего, да вот только этих EffectSupernatural и EffectExtraordinary в тулсете нет ни в функциях, ни в константах, а у функции EffectAbilityIncrease только два параметра - (int nAbilityToIncrease, int nModifyBy). (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Неужели шкурку придется делать? Я не смогу... (IMG:style_emoticons/kolobok_light/sad.gif) |
![]()
Сообщение
#2829
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
перестановка слов даст офигенный результат: SupernaturalEffect, ExtraordinaryEffect.
зы: могли бы сами искать не тупо по полному названию, а по ключевой части (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#2830
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
перестановка слов даст офигенный результат: SupernaturalEffect, ExtraordinaryEffect. зы: могли бы сами искать не тупо по полному названию, а по ключевой части (IMG:style_emoticons/kolobok_light/smile.gif) Если тебе интересно, о остроумнейший, искала по слову Effect. Извини, что побеспокоила. |
![]()
Сообщение
#2831
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Если тебе интересно, о остроумнейший, искала по слову Effect. Извини, что побеспокоила. эффектов куча, искать надо по более уникальной части. Ну это совет на будущее (IMG:style_emoticons/kolobok_light/smile.gif) нашла хотяб? (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#2832
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Сделай сейв и загрузи его. Проверь сохранится или нет.
|
![]()
Сообщение
#2833
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Ну, раз и меня подключили к этому скрипту, то хочу немного добавить. Вам нужно выбрать что-то одно, т.к. это разные эффекты…
Как уже неоднократно писалось, да и в WIKI тема эффектов разобрана по полочкам, да и я тут тоже типа обучалки скриптингу написал, можно посмотреть и там о наложение эффектов: http://remmgen.narod.ru/tscript2.html Neverwinter Script void main( ) { object oPC = GetFirstPC( ); effect eSTR = EffectAbilityIncrease( ABILITY_STRENGTH, 3 ); // Экстраординарные ( Extraordinary ) – не могут быть сняты с помощью заклинания, автоматически снимаются в конце отдыха. effect eExt = ExtraordinaryEffect( eSTR ); // Сверхъестественные ( Supernatural ) – не могут быть сняты ни заклинанием, ни с помощью отдыха. effect eSup = SupernaturalEffect( eSTR ); // Накладываем эффекты ApplyEffectToObject( DURATION_TYPE_PERMANENT, eExt, oPC ); // или чтобы не снимался ApplyEffectToObject( DURATION_TYPE_PERMANENT, eSup, oPC ); } а у функции EffectAbilityIncrease только два параметра - (int nAbilityToIncrease, int nModifyBy). Тут все просто… меняем константы: ABILITY_CHARISMA ABILITY_CONSTITUTION ABILITY_DEXTERITY ABILITY_INTELLIGENCE ABILITY_STRENGTH ABILITY_WISDOM и величину int nModifyBy т.е. на сколько хотим добавить тот или иной бонус к характеристики. Если не ошибаюсь, то max= 176… Неужели этого недостаточно?! Сообщение отредактировал gennady - Sep 4 2010, 16:50 |
![]()
Сообщение
#2834
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Неужели этого недостаточно?! неа (IMG:style_emoticons/kolobok_light/ph34r.gif) это не совсем корректно, точнее совсем не корректно. Твоим скриптом мы получим 2х кратный бонус, часть которого снимется после отдыха, а часть после диспела. Задача же базово совсем в другом. зы: влезание в тему, это похвально, но надо внимательнее читать пост про поставленную задачу. (IMG:style_emoticons/kolobok_light/smile.gif) Сделай сейв и загрузи его. Проверь сохранится или нет. это не то. Нужно проверять отдыхом и диспелом. Сэйв/Лоад сохраняет временные эффекты, что уж говорить об Инстант или Перманент Я Шад уже все в приват написал, но там что-то не работает. Приеду домой, сам посмотрю. зы: самый надежный способ - шкуркой. |
![]()
Сообщение
#2835
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
зы: самый надежный способ - шкуркой. Но самый муторный. Самое надежное забить на это и жить длаьше. Игрок вашего геммора даже не заметит, не то что бы оценить! (IMG:style_emoticons/kolobok_light/declare.gif) |
![]()
Сообщение
#2836
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Но самый муторный. да ладно? дать свойство на шкурку - 2 строки. Шкурку надо одевать вообще в начале модуля (IMG:style_emoticons/kolobok_light/smile.gif) так что не вводи людей в заблуждение, шкурка форевар (IMG:style_emoticons/kolobok_light/smile.gif) зы: легкий гимор есть при отслеживании перезаходов. |
![]()
Сообщение
#2837
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Если шкурка одна то да. А если всякие системы шкурок то великое тра та та... Типа наборы доспехов в монете судьбы.
|
![]()
Сообщение
#2838
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Если шкурка одна то да. А если всякие системы шкурок то великое тра та та... Типа наборы доспехов в монете судьбы. ты просто не умеешь их готовить. "Системы шкурок". 1 шкурка и свойства на нее вешать. И удалять если нада. Всего делов то (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#2839
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
лЕКС, не мог бы объяснить мне, как одеть и и "нацепить" способности на эту шкурку?
Заранее спасибо. |
![]()
Сообщение
#2840
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
одеть - EquipItem. Слот *_MARMOR. (Monster Armor).
свойство дать - AddProperty |
![]()
Сообщение
#2841
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Почему в результате(вроде нормально работающего) этого скрипта, туман, который должен появится в дождь, появляется, а потом мигает при смены ракурса камеры? Если мне не показалось, он также уменьшается, а потом увеличивается(снова и снова), когда я хожу по локации...
П.С. Не показалось, перепроверил. Получается, цикл повторяется... по почему? Я же специально для этого переменные ввел... Кто-нибудь может помочь? Neverwinter Script Source int i, o, k; void main( ) { object oArea = GetArea( GetFirstPC( ) ); if( GetWeather( oArea ) == WEATHER_RAIN ) { k = 0; if( o == 0 ) { SetSkyBox( SKYBOX_GRASS_STORM, oArea ); // Цвет тумана SetFogColor( FOG_TYPE_ALL, 0x9F9F9D, oArea ); // задержка float fDelay = 0.0; // Постепенное увеличение тумана for( i = 5; i < 51; i++ ) { DelayCommand( fDelay, SetFogAmount( FOG_TYPE_SUN, i, oArea ) ); fDelay = fDelay + 0.2; if( i == 25 ) { // Сейчас пойдет дождик DelayCommand( fDelay, SetWeather( oArea, WEATHER_RAIN ) ); } } o = 1; } else { return; } } else if ( GetWeather( oArea ) == WEATHER_CLEAR ) { o = 0; if( k == 0 ) { SetSkyBox( SKYBOX_GRASS_CLEAR, oArea ); // Цвет тумана float fDelay = 0.0; for( i = 61; i != 1; i-- ) // Постепенное уменьшение тумана { DelayCommand( fDelay, SetFogAmount( FOG_TYPE_SUN, i, oArea ) ); fDelay = fDelay + 0.2; if( i == 48 ) { // Сейчас выползет солнышко DelayCommand( fDelay, SetWeather( oArea, WEATHER_CLEAR ) ); } } DelayCommand( fDelay, SetFogColor( FOG_TYPE_ALL, 0x6AC7FC, oArea ) ); } k = 1; } else { return; } } Заранее спасибо! Сообщение отредактировал Белатрис - Dec 18 2007, 15:40 |
![]()
Сообщение
#2842
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
вроде он мигает при смене настроек (туман).
По поводу зацикленности - надо смотреть, как меняется weather. Она может у тебя поменяться пока туман увеличивается для дождя и начнутся 2 противоречивых процесса. Добавлено через 1 минуту 14 секунды и непонятен смысл Neverwinter Script Source DelayCommand( fDelay, SetWeather( oArea, WEATHER_CLEAR ) ); ты же выше проверил, чтоп огода у тебя Neverwinter Script Source if ( GetWeather( oArea ) == WEATHER_CLEAR ) те эта команда ничего не сделает |
![]()
Сообщение
#2843
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Цитата DelayCommand( fDelay, SetWeather( oArea, WEATHER_CLEAR ) ); Просто сюда вошли два скрипта и, видимо, я пропустил этот момент. Цитата По поводу зацикленности - надо смотреть, как меняется weather. Она может у тебя поменяться пока туман увеличивается для дождя и начнутся 2 противоречивых процесса. Я даже специально поставил 100% дождя. Все равно мигает... (IMG:style_emoticons/kolobok_light/vava.gif) Блин, а ведь так прикольно получается... неужели придется сносить этот эффект? (IMG:style_emoticons/kolobok_light/unsure.gif) |
![]()
Сообщение
#2844
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
хм.. тады возможно эти 100% сбивают все
|
![]()
Сообщение
#2845
|
|
Level 1 Класс: Обыватель Характер: True Neutral Раса: Человек ![]() |
2Белатрис: Здравствуйте, проблема во временных переменных. Насколько я понял, вы вешаете этот скрипт как OnHeartbeat, который выполняется каждые шесть секунд. Но действие вашего скрипта больше шести секунд. Во второй части скрипта вы к fDelay(вначале 0) в цикле добавляете по 0.2 секунды, что за 60 итераций составляет 12 секунд (а второй раз этот скрипт запускается через 6), соответственно у вас начинают одновременно выполняться два скрипта, которые поочередно меняют насыщенность тумана.
|
![]()
Сообщение
#2846
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Даже это не помогает... Ладно, уберу нафиг эту идею из головы.
Тут еще один вопрос: Neverwinter Script Source void main( ) { object DAG = GetObjectByTag( "dag" ); object wp1 = GetObjectByTag( "DAG_RASP_WP1" ); // ТОЧКА РЫНКА object wp2 = GetObjectByTag( "DAG_RASP_WP2" ); // ТОЧКА НА ПЛОЩАДИ int i = GetTimeHour( ); float fTime = 17.0; if ( IsInConversation( DAG ) ) { return; } else { if ( i > 7 && i < 19 ) { SetLocalInt( DAG, "DAG_BRETT_DIALOG", 0 ); if( GetDistanceBetween( DAG, wp1 ) > 1.0 ) AssignCommand( DAG, ActionForceMoveToObject( wp1, FALSE, 1.0, 25.0 ) ); ActionWait( 5.0 ); SetLocalInt( DAG, "ACTION", 1 ); // ДЛЯ ХБ DelayCommand( fTime, SetLocalInt( DAG, "ACTION", 0 ) ); // ДЛЯ ХБ } if ( i > 19 && i < 24 ) { SetLocalInt( DAG, "DAG_BRETT_DIALOG", 1 ); if( GetDistanceBetween( DAG, wp1 ) > 1.0 ) AssignCommand( DAG, ActionForceMoveToObject( wp2, FALSE, 1.0, 25.0 ) ); ActionWait( 5.0 ); SetLocalInt( DAG, "ACTION", 1 ); // ДЛЯ ХБ DelayCommand( fTime, SetLocalInt( DAG, "ACTION", 0 ) ); // ДЛЯ ХБ } if ( i > 0 && i < 7 ) { SetLocalInt( DAG, "DAG_BRETT_DIALOG", 1 ); if( GetDistanceBetween( DAG, wp1 ) > 1.0 ) AssignCommand( DAG, ActionForceMoveToObject( wp2, FALSE, 1.0, 25.0 ) ); ActionWait( 5.0 ); SetLocalInt( DAG, "ACTION", 1 ); // ДЛЯ ХБ DelayCommand( fTime, SetLocalInt( DAG, "ACTION", 0 ) ); // ДЛЯ ХБ } } } Почему чел, как стоял на точке 1, так и продолжает в независимости от времени суток? (IMG:style_emoticons/kolobok_light/unsure.gif) П.С. Никто не знает, как проверить, открыл ли ПС дверь?(скрипт на OnHeatbat П.П.С. И еще, как при создании NPC сделать так, чтобы он сверху спускался? Как пауки в ХОТУ. П.П.П.С. Чуть не забыл: Neverwinter Script Source AddItemProperty( int nDurationType, itemproperty ipProperty, object oItem, float fDuration=0.0f ) Все, кроме третьего параметра, мне не понятны... Объясните кто-нибудь... Заранее спасибо! Сообщение отредактировал Белатрис - Dec 22 2007, 09:09 |
![]()
Сообщение
#2847
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Lawful Neutral Раса: Человек ![]() |
Если я правильно понял, то когда проверяются промежутки времени между 19 и 24 часами и между 0 и 7 у тебя строку
Neverwinter Script Source if( GetDistanceBetween( DAG, wp1 ) > 1.0 ) надо заменить на Neverwinter Script Source if( GetDistanceBetween( DAG, wp2 ) > 1.0 ) Цитата П.П.П.С. Чуть не забыл: Neverwinter Script Source AddItemProperty( int nDurationType, itemproperty ipProperty, object oItem, float fDuration=0.0f ) Все, кроме третьего параметра, мне не понятны... Объясните кто-нибудь... nDurationType - тип продолжительности(DURATION_TYPE_PERMANENT-постоянный или DURATION_TYPE_TEMPORARY-временный) ipProperty - свойство добавляемое на предмет fDuration-время на которое добавится свойство Сообщение отредактировал Milfes - Dec 22 2007, 16:12 |
![]()
Сообщение
#2848
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Спасибо огромное! Но тут еще один вопрос вытекает...
Почему это: Neverwinter Script Source AddItemProperty( DURATION_TYPE_PERMANENT, ABILITY_DEXTERITY, GetObjectByTag( "SKURKA" ), DURATION_TYPE_PERMANENT ); И это: Neverwinter Script Source AddItemProperty( DURATION_TYPE_PERMANENT, ABILITY_DEXTERITY, GetObjectByTag( "SKURKA" ), 100.0 ); Считаются неправильными? |
![]()
Сообщение
#2849
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Давно я сюда уже не забегал...
Впрочем и не тянет уже... Откровенно говоря. Помните? Былые времена? Заходишь... "Новые сообщения"... ...А там... Пардон. 2 Белатрис, последний защитник тулсета? Удачи (но помни, дело это довольно гиблое). Я конечно не знаю, что у тебя там не так, а что так, но, попробуем разобраться. Первая строка: имеется переменная: "DURATION_TYPE_PERMANENT", причем последнее слово из её название означает грубо говоря, "постоянный". Так? Так. Значит, во-втором случае, значение: "100.0" совсе не нужно. Константа делает этот эффект постоянным. Так же рекомендую прочитать описание самой функции: "AddItemProperty", поверь там очень, много полезного и думаю, после этой маленькой операции, вопрос разрешится. Сообщение отредактировал Dik Morris - Dec 23 2007, 12:08 |
![]()
Сообщение
#2850
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
А где именно почитать? Те две строчки на английском и есть описание? (IMG:style_emoticons/kolobok_light/prankster2.gif)
Даже если и так: Neverwinter Script Source AddItemProperty( DURATION_TYPE_PERMANENT, ABILITY_DEXTERITY, GetObjectByTag( "SKURKA" ) ); Все равно: ОШИБКА: ДЕКЛАРАЦИЯ НЕ СООТВЕТСТВУЕТ ПАРАМЕТРАМ (IMG:style_emoticons/kolobok_light/shok.gif) Цитата 2 Белатрис, последний защитник тулсета? Удачи (но помни, дело это довольно гиблое). Хех... А вот еще пара вопросов: Цитата П.С. Никто не знает, как проверить, открыл ли ПС дверь?(скрипт на OnHeatbat)
П.П.С. И еще, как при создании NPC сделать так, чтобы он сверху спускался? Как пауки в ХОТУ. Сообщение отредактировал Белатрис - Dec 23 2007, 14:21 |
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 01:10 |