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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 136 137 138 139 140 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
gennady
сообщение Sep 7 2007, 06:38
Сообщение #3421


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

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



shadowdweller, я привел два скрипта для примера, т.к. там есть два варианта уложить перса, анимацией и эффектом. (к тому же кто-то недавно спрашивал…) Если наложен эффект, то нужно учесть, что игроки попытаются его снять… Это нужно писать еще один скрипт на OnSpellCastAt. (если эффект не поддерживает SupernaturalEffect) Чтобы персы не говорили при анимации, то достаточно заблокировать их стек, или навесить локалку и изменить скрипт на OnConversation написав:
Neverwinter Script Source
void main()
{
  object oSelf = OBJECT_SELF;

if (GetLocalInt(oSelf, "LOCAL") == 1) return; // Проверить
ExecuteScript("nw_c2_default4", oSelf);
}

Lex ругается за готовые скрипты, т.ч. скрипт писать не буду (IMG:style_emoticons/kolobok_light/biggrin.gif) … Кстати, навесить на перса сюжет после урона, можно прописав через DelayCommand. Хотя в вашем случае просто достаточно сразу проставить персу бессмертие. Вот для примера скрипт на ранение из моего мода.
Neverwinter Script Source
//::////////////////////////////////////////
//:: СКРИПТ:  СМЕРТЬ - РАНЕНИЕ
//:: File name:
//:: Слот: OnHeartBeat
//::////////////////////////////////////////
void main()
{
  object oSelf = OBJECT_SELF;
  if(GetArea(GetFirstPC()) != GetArea(oSelf)) return; // если ПС нет в локе
  if(GetLocalInt(oSelf, "P_smert") == 1) return;
  if (!IsInConversation(oSelf))
  {
   if(GetCurrentHitPoints(oSelf) < 30)
   {
    ClearAllActions();  // Почистим все Action у НПС
    ActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT, 1.0, 7.0);
   }
else ExecuteScript("nw_c2_default1", oSelf);
  }
if(GetLocalInt(oSelf, "smert") != 1)
{
  if(GetAbilityScore(oSelf, ABILITY_INTELLIGENCE) >= 17)
  {
   effect eDamage = EffectDamage(GetCurrentHitPoints(oSelf)-3);
   ApplyEffectToObject(DURATION_TYPE_INSTANT,eDamage,
Self);
   SetLocalInt(oSelf, "smert", 1);
  }
  else
  {
   effect eDeath = EffectDeath();
   ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oSelf);
   SetLocalInt(oSelf, "P_smert", 1);
  }
}
}
/*   Если интеллект выше 17, то ранение и падение.
     Если вылечить, то если ХР выше 30, падать не будет.
     Если интеллект ниже 17, то смерть.  */

С хенчем и триггером все просто. Кстати, не увидел в скрипте функций из инклюды…
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return// Если не герой
object oSP = GetHenchman(oPC);
if (GetIsObjectValid(oSP)) return; // Если есть хенчь

object oZOM1 = GetNearestObjectByTag("NPC_MON_FSKEL01");
object oZOM2 = GetNearestObjectByTag("NPC_MON_FSKEL02");
object oZOM3 = GetNearestObjectByTag("NPC_MON_FSKEL03");
object oDr1 = GetObjectByTag("DOOR_ZOM_01");
object oDr2 = GetObjectByTag("DOOR_ZOM_02");
object oDr3 = GetObjectByTag("DOOR_ZOM_03");
object oPoint1 = GetObjectByTag("WP_ZOM1");
object oPoint2 = GetObjectByTag("WP_ZOM2");
object oPoint3 = GetObjectByTag("WP_ZOM3");

ChangeToStandardFaction
(oZOM1,STANDARD_FACTION_HOSTILE);
ChangeToStandardFaction
(oZOM2,STANDARD_FACTION_HOSTILE);
ChangeToStandardFaction
(oZOM3,STANDARD_FACTION_HOSTILE);
AssignCommand(oZOM1,ClearAllActions());
AssignCommand(oZOM2,ClearAllActions());
AssignCommand(oZOM3,ClearAllActions());
AssignCommand(oZOM1, ActionAttack(oPC));
AssignCommand(oZOM2, ActionAttack(oPC));
AssignCommand(oZOM3, ActionAttack(oPC));
AssignCommand(oDr1, DestroyObject(oDr1));
AssignCommand(oDr2, DestroyObject(oDr2));
AssignCommand(oDr3, DestroyObject(oDr3));
}

P.S. Нео, ну че за фигня?! Задолбался править скрипты!!! При переносе строки режет последний символ…

Сообщение отредактировал gennady - Sep 7 2007, 07:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Sep 7 2007, 11:13
Сообщение #3422


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



Прошу уточнить OnModuleLoad
это событие которое будет отробатыватьпри каждом старте сервера ???
нету ли на нем какихто подводных камней

что делает стандартный скрипт этого слота что будет если я его удалю???
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 7 2007, 11:18
Сообщение #3423


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Цитата(Teranozavr_REX @ Sep 7 2007, 12:13) *
Прошу уточнить OnModuleLoad
это событие которое будет отробатыватьпри каждом старте сервера ???

да
Цитата(Teranozavr_REX @ Sep 7 2007, 12:13) *
нету ли на нем какихто подводных камней

Есть (IMG:style_emoticons/kolobok_light/smile.gif)
Цитата(Teranozavr_REX @ Sep 7 2007, 12:13) *
что делает стандартный скрипт этого слота что будет если я его удалю???

Включает разные фишки, не чего собо не изменица, я его вообще отключаю, т.к все что там описано настраиваю своими методами (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Sep 7 2007, 11:56
Сообщение #3424


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



QUOTE
Цитата(Teranozavr_REX @ Sep 7 2007, 12:13)
нету ли на нем какихто подводных камней

Есть

А можно узнатькакие
уж очень надоело по 3 часа выяснятьвсякие недокументированые фишки )
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 7 2007, 12:06
Сообщение #3425


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



В скрипте все описано, правда на английском но я тож не преводчик..
так что топор те +2 в руки (IMG:style_emoticons/kolobok_light/smile.gif) и вперед на сайты переводчики и разбирай каждую функцию которая там
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Sep 7 2007, 15:41
Сообщение #3426


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



Сегодня мне сказали чтоестьтакая програмка называеться вроде бы как NWNХ что с её помощью можно проконтролироватькакой скрипт сколько сьедает процесорноговремени занемает в памяти и тп...

если ли такая програмка если естьде взять как пользоваться ???
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 7 2007, 16:03
Сообщение #3427


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Скачать отсюда
отсюда
там же плагины к ней.. а пользоваться ей надо хитро.. помойму там чтоб узнать инфу о скриптах надо плагин один.. profiler
кароч там надо собрать етот плагин с модулями в одной папке и потом все ето кинуть к нвну.. потом в файле нвнх.ини узакать ТОЧНОЕ имя модуля с котором будем вести работы всякие и запустить нвнх, если все верно то автоматом запуститца сервак с загруженным модулем и если краш сервака то автоподъем..
ну а дальше читай папку logs
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 8 2007, 11:10
Сообщение #3428


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Цитата(gennady @ Sep 7 2007, 07:38) *
С хенчем и триггером все просто.

Gennady, да не работает оно в NWN2 все равно! Есть для триггерных скриптов там какая-то особая специфика?
И получается, что инклюда #include "nw_i0_generic" там вообще не нужна?

Кстати, со скриптом на сон/падение/ранение разобралась - надо было поменять местами
Neverwinter Script Source
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSleep, oSelf, 10.0);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eSL, oSelf);

и
Neverwinter Script Source
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(10), oSelf);

Вообще, sKaa, Gennady - спасибо за советы. Только, сдается мне, вы лучшего мнения о моих скриптерских способностях, чем они есть на самом деле. (IMG:style_emoticons/kolobok_light/biggrin.gif)

Сообщение отредактировал shadowdweller - Sep 8 2007, 11:14
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 8 2007, 11:38
Сообщение #3429


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



а я думал скрипт ы под нвн1, (IMG:style_emoticons/kolobok_light/smile.gif)
в нвн2 помойму форум другой.. я нвн2 не наю как там чо
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 8 2007, 23:01
Сообщение #3430


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Извиняюсь за внесенную путаницу. Скрипт на OnSpawn был нужен для НВН1. Скрипт на триггер - на НВН2. Я была абсолютно уверена, что скрипты и в первом, и во втором НВН работают одинаково, поэтому и постила в ту тему, которая привычнее. (IMG:style_emoticons/kolobok_light/sad.gif) Теперь буду постить отдельно для первого, отдельно для второго.
Продолжаю мучить глупыми вопросами. Существует триггер, при входе на который РС полностью вылечивается, если он ранен. На OnEnter этого триггера стоит
Neverwinter Script Source
void main()
{
object oUser;
effect eHeal;
effect eHealVis = EffectVisualEffect(VFX_IMP_HEALING_S);
int nCurrentHitPoints, nMaxHitPoints, nVisualEffectId;
oUser = GetEnteringObject();
nMaxHitPoints = GetMaxHitPoints(oUser);
nCurrentHitPoints = GetCurrentHitPoints(oUser);
if ( nCurrentHitPoints < nMaxHitPoints )
{
eHeal = EffectHeal(nMaxHitPoints - nCurrentHitPoints);
ApplyEffectToObject( DURATION_TYPE_INSTANT, eHeal, oUser );
ApplyEffectToObject( DURATION_TYPE_INSTANT, eHealVis, oUser );
}
}

Не подскажет ли мне кто-нибудь, что нужно добавить, чтобы триггер лечил еще и хенча?
Для хенча тоже нужно прописывать GetMaxHitPoints и GetCurrentHitPoints?

Сообщение отредактировал shadowdweller - Sep 8 2007, 23:28
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Sep 9 2007, 01:05
Сообщение #3431


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

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



этот триггер и так лечит хенча, да и вообще всех кто в него вступит.
Neverwinter Script Source
...
    oUser = GetEnteringObject();
    if (!GetIsPC(oUser) && !GetIsPC(GetMaster(oUser))) return; // <-- лечит только Игроков и Ко
...

в принципе лечение не может дать больше здоровья, чем максимум
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 9 2007, 13:19
Сообщение #3432


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Прошу прощения, торможу. GetEnteringObject - это же действительно любой, кто входит (IMG:style_emoticons/kolobok_light/mosking.gif)
А если соблюдать все эти условия - игрок и компания и раненый, все вводить одной строкой,
Neverwinter Script Source
...
if (GetIsPC(oUser) && GetIsPC(GetMaster(oUser)) && (nCurrentHitPoints < nMaxHitPoints))
{
eHeal = EffectHeal(nMaxHitPoints - nCurrentHitPoints);
...

или это так будет?
Neverwinter Script Source
...
if (!GetIsPC(oUser) && !GetIsPC(GetMaster(oUser))) return;
{
if ( nCurrentHitPoints < nMaxHitPoints )
{
eHeal = EffectHeal(nMaxHitPoints - nCurrentHitPoints);
...


Сообщение отредактировал shadowdweller - Sep 9 2007, 13:28
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Sep 9 2007, 13:22
Сообщение #3433


Level 11
***

Класс: Воин
Характер: Lawful Good
Раса: Человек



Neverwinter Script Source
if (!GetIsPC(oUser) && !GetIsPC(GetMaster(oUser))) return;

Если не ошибаюсь, то так:
Neverwinter Script Source
if ( (!GetIsPC(oUser)) && (!GetIsPC(GetMaster(oUser))) ) return;

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 9 2007, 13:50
Сообщение #3434


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Одинаково, просто скокбок можно нарисовать сколько хочеш
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Sep 9 2007, 13:54
Сообщение #3435


Level 11
***

Класс: Воин
Характер: Lawful Good
Раса: Человек



Ну, не знаю, на Си это грубая синтаксическая ошибка. А, эт ты не мне =)

Сообщение отредактировал Белатрис - Sep 9 2007, 13:55
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Sep 9 2007, 15:51
Сообщение #3436


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Дело, пожалуй, не столько в скобках - скрипты компилируются, и ни в одном варианте - ни с дополнительной парой скобок, ни без - ошибку не выдает.
Дело в том, как вообще лучше написать - первый вариант, где все условия сведены в одну строку, или второй вариант - с двумя условиями - сначала сделать проверку на РС и компанию, а потом уже на урон. Как будет грамотнее?

Сообщение отредактировал shadowdweller - Sep 9 2007, 15:52
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
sKaa
сообщение Sep 9 2007, 16:02
Сообщение #3437


Level 4
**

Класс: Пьяный Мастер
Характер: True Neutral
Раса: Человек



Обинаково, как тебе удобней так и пиши, а остально мелочи.. главное чтоб потом самому легко разобрать можно было
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Sep 10 2007, 00:03
Сообщение #3438


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

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



Пиши как думаешь, заодно избавишься от ошибок при отрицании

ЕСЛИ это игрок ИЛИ хенч, И здоровья маловато, ТО лечить:
Neverwinter Script Source
...
if ((GetIsPC(oUser) || GetIsPC(GetMaster(oUser))) && (nCurrentHitPoints < nMaxHitPoints)) {
{
    ...
}
..

как раз тут скобки нужны, т.к без скобок сначала проверяется И, а потом ИЛИ.

А можно вообще разлениться в плане фигуристых скобок и записать всё по строчкам:
Neverwinter Script Source
void main()
{
    object oUser = GetEnteringObject();

    if (!GetIsPC(oUser) && !GetIsPC(GetMaster(oUser))) return;
    if (GetCurrentHitPoints(oUser) >= GetMaxHitPoints(oUser)) return;

    effect eHeal = EffectHeal(9999);
    effect eHealVis = EffectVisualEffect(VFX_IMP_HEALING_S);

    ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oUser);
    ApplyEffectToObject(DURATION_TYPE_INSTANT, eHealVis, oUser);
}


P.S. if (...) ОднаКоманда; = if (...) { ОднаКоманда; }
P.P.S. Приоритет операторов от высшего к низшему: ! && ||
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Taiko
сообщение Sep 10 2007, 11:58
Сообщение #3439


Level 1


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



Привет всем. (IMG:style_emoticons/kolobok_light/prankster2.gif)

Вопрос: Хотел добавить воину (fighter) фемильяра. Сделал 40 штук фема (на каждый лвл), прописал всё в 2да'шки (дал фит фамильяра воину на первом уровне, как подарочный фит (-1)). Теперь есть проблема. У волшебника/виза новый фам есть, а у воина, как не было так и нет, хотя фит фама в списке фитов отображается.

P.S. Хотел зарегистироваться под подлинным ником Veliant, но т.к. он занят, решил взять альтернативный.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vhall
сообщение Sep 10 2007, 13:09
Сообщение #3440


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

Класс: Обыватель
Характер: True Neutral
Раса: Дварф
NWN: Контент



QUOTE(Taiko @ Sep 10 2007, 12:58) *
дал фит фамильяра воину на первом уровне, как подарочный фит (-1)

List: "3" - получение автоматически.
GainedLevel (LevelGained?): "1" - получаем фит на первом левеле, а не "-1" - просто доступен для выбора. Насколько я знаю, удовлетворить условиям получения фита фамильяра нельзя никому никогда.

Не знаю, что там у тебя точно, но это все что я могу сказать на основе данной тобой информации.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Taiko
сообщение Sep 10 2007, 14:22
Сообщение #3441


Level 1


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



Цитата(Vhall @ Sep 10 2007, 14:09) *
List: "3" - получение автоматически.
GainedLevel (LevelGained?): "1" - получаем фит на первом левеле, а не "-1" - просто доступен для выбора. Насколько я знаю, удовлетворить условиям получения фита фамильяра нельзя никому никогда.

Не знаю, что там у тебя точно, но это все что я могу сказать на основе данной тобой информации.
Точно, тройка. Запамятовал. (IMG:style_emoticons/kolobok_light/smile.gif)
Мм, а если создать новый класс с нуля? (не базовый, а по принципу "престижей") Тож никак не впихнуть? Или, скажем, создать абилку, которая запускала бы спелл и последний в свою очередь проверял, какой лвл у персонажа и, тем самым, вызывал бы соответсвующего фэма. Глупо звучит?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Sep 10 2007, 17:19
Сообщение #3442


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

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



Цитата(Taiko @ Sep 10 2007, 15:22) *
Или, скажем, создать абилку, которая запускала бы спелл и последний в свою очередь проверял, какой лвл у персонажа и, тем самым, вызывал бы соответсвующего фэма.

Это реально, сделать активный фит и привязать его к заклу можно без проблем.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Taiko
сообщение Sep 10 2007, 17:43
Сообщение #3443


Level 1


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



Цитата(Lex @ Sep 10 2007, 18:19) *
Это реально, сделать активный фит и привязать его к заклу можно без проблем.
Спасиб, бум пробовать. 8)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Teranozavr_REX
сообщение Sep 26 2007, 16:19
Сообщение #3444


Level 4
**

Класс: Некромант
Характер: Chaotic Good
Раса: Нежить



Товарищи помогите пожалусто
надо что бы паучек при спавне "с потолка падал"
так как весь АИ уже переписал надо напрямую команду отыграть анимацию, а не какието управляющие флаги ) которые уже нечем обработать)

как сделатьанимацию выпить банку или прочитатьсвиток знаю...
если паучек падает точно также то подскажите константу а еще лудше ссылочку где по "русски" написано описание констант

если же єто делаеться как топодругому, то кто может потрудитесь расказать как
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Sep 26 2007, 19:16
Сообщение #3445


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

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



Цитата(Teranozavr_REX @ Sep 26 2007, 17:19) *
надо что бы паучек при спавне "с потолка падал"
в CreateObject четвертый параметр(bUseAppearAnimation) в TRUE.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 136 137 138 139 140 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 3rd August 2025 - 05:41