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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 201 202 203 204 205 >  
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
ud4ever
сообщение Feb 25 2019, 23:16
Сообщение #5051


Level 3
*

Класс: Бард
Характер: Neutral Evil
Раса: Человек



Цитата(zmeylsdn @ Feb 25 2019, 23:30) *
Спасибо, работает.
Существует ли способ определить школу волшебника-специалиста и применить к ней же какие либо бонусы, например +2 spellDC?


Можно с nwnx, в 1.69 плагин nwnx_funcs, в NWN EE эта функция в плагине nwnx_creature.

1.69
/* Gets whether or not oCreature has a specialist school of wizardry. */
int GetWizardSpecialization (object oCreature);

NWN EE
// Gets whether or not creature has a specialist school of wizardry.
int NWNX_Creature_GetWizardSpecialization(object creature);


Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
zmeylsdn
сообщение Feb 26 2019, 11:56
Сообщение #5052


Level 3
*

Класс: Бледный Мастер
Характер: Chaotic Neutral
Раса: Человек



задумал улучшить эпик самонов blackguard and shadowdancer. За это отвечает скрипт "X2_inc_summscale", который является инклюдом для NW_CH_AC1.
На родном существе x2_s_vrock (из x0_s2_fiend) у меня получилось изменить формулу:
int nLevelTo = GetLevelByClass(CLASS_TYPE_BLACKGUARD, GetMaster(oServant))+10;//-4 (из X2_inc_summscale)
Т.е. стало новый уровень врока = уровень БГ+10 (было уровень БГ-4).
Но вот если заменить x2_s_vrock (из x0_s2_fiend) на собственное существо, скалирование не работает вообще. Стандартный моб со скриптами для призванного существа, в т.ч. и NW_CH_AC1. Может у этих самонов (врок и тень) какой из скриптов уникальный.
Итого, как лучше реализовать скалирование самонов от уровня мастера?
Как вариант нашел такой способ, основа из предыдущего сообщения:
void main()
{
object oSummon = GetAssociate(ASSOCIATE_TYPE_SUMMONED);
EmpowerMySummon(GetHitDice(OBJECT_SELF)-20,oSummon);
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
ud4ever
сообщение Feb 26 2019, 23:05
Сообщение #5053


Level 3
*

Класс: Бард
Характер: Neutral Evil
Раса: Человек



Цитата(zmeylsdn @ Feb 26 2019, 12:56) *
задумал улучшить эпик самонов blackguard and shadowdancer. За это отвечает скрипт "X2_inc_summscale", который является инклюдом для NW_CH_AC1.
На родном существе x2_s_vrock (из x0_s2_fiend) у меня получилось изменить формулу:
int nLevelTo = GetLevelByClass(CLASS_TYPE_BLACKGUARD, GetMaster(oServant))+10;//-4 (из X2_inc_summscale)
Т.е. стало новый уровень врока = уровень БГ+10 (было уровень БГ-4).
Но вот если заменить x2_s_vrock (из x0_s2_fiend) на собственное существо, скалирование не работает вообще. Стандартный моб со скриптами для призванного существа, в т.ч. и NW_CH_AC1. Может у этих самонов (врок и тень) какой из скриптов уникальный.
Итого, как лучше реализовать скалирование самонов от уровня мастера?
Как вариант нашел такой способ, основа из предыдущего сообщения:
void main()
{
object oSummon = GetAssociate(ASSOCIATE_TYPE_SUMMONED);
EmpowerMySummon(GetHitDice(OBJECT_SELF)-20,oSummon);
}


а той же функцией для левелапа хенчмана из X2_inc_summscale воспользоваться не пробовал?

int SSMLevelUpCreature(object oCreature, int nLevelUpTo, int nClass = CLASS_TYPE_INVALID, int bReadySpells =TRUE)

____________

#include "X2_inc_summscale"

void main()
{
object oSummon = GetAssociate(ASSOCIATE_TYPE_SUMMONED);
SSMLevelUpCreature(oSummon,GetHitDice(OBJECT_SELF)
);
}

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
zmeylsdn
сообщение Feb 27 2019, 14:02
Сообщение #5054


Level 3
*

Класс: Бледный Мастер
Характер: Chaotic Neutral
Раса: Человек



В x0_s2_fiend меняю стандартного врока на своего, докидываю DelayCommand(4.0, ExecuteScript("z_sbuff_scale", OBJECT_SELF)); после ApplyEffectAtLocation...
CODE
//z_sbuff_scale
#include "X2_inc_summscale"
void main()
{
object oSummon = GetAssociate(ASSOCIATE_TYPE_SUMMONED);
SSMLevelUpCreature(oSummon,GetLevelByClass(CLASS_T
YPE_BLACKGUARD, OBJECT_SELF)+10);
SendMessageToPC(GetFirstPC(), "oSummon: " + GetName(oSummon)); //в игре oSummon: Самон Эпик Врок
SendMessageToPC(GetFirstPC(), "oSummonlvl: " + IntToString(GetHitDice(oSummon)));//в игре oSummonlvl: 25
SendMessageToPC(GetFirstPC(), "BG+10lvl: " + IntToString(GetLevelByClass(CLASS_TYPE_BLACKGUARD, OBJECT_SELF)+10));//в игре BG+10lvl: 39
}

Но Врок остается 25й лвл как и был. У него стандартный набор скриптов "nw_ch_ac%"
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Feb 27 2019, 18:20
Сообщение #5055


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



SSMLevelUpCreature возвращает 0 на ошибку, это стоит проверить.

Второй момент - чудеса внутри самой функции:
Neverwinter Script
int nLevel = LevelUpHenchman(oCreature,nClass,bReadySpells); // <-- первый ап oCreature
  // level me up until I the same level as my master (or something fails) <-- коммент врёт, нет проверки на уровень мастера (либо эта проверка вшита и её не обойти)
  while (nLevel < (nLevelUpTo) && nLevel != 0)
  {
    // level up to thenext level
      //PrintString(GetName(oCreature) + " is now level "+ IntToString(nLevel));
    nLevel = LevelUpHenchman(OBJECT_SELF,nClass,bReadySpells); // <-- а тут внезапно в цикле OBJECT_SELF
  }

Ещё он не просто так апает. У каждого класса есть пакет стандартных настроек, кажется, это всё в 2да. Тут тоже стоит проверить.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Feb 28 2019, 16:30
Сообщение #5056


Level 6
**

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



Привет всем!
Уважаемые мастера, не могли бы вы подсказать, как правильно похоронить слона?
В смысле, уничтожить одного очень упертого и несговорчивого непися.
Непись так и называется "Мертвый слон". У него нет никаких скриптов, кроме единственного несложного, стоит на порождении (спавне):
Neverwinter Script
void main()
{
    //object oNpc = OBJECT_SELF;
    SetIsDestroyable(FALSE,FALSE,FALSE);
//  ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectDeath(TRUE),oNpc);
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(),OBJECT_SELF);
    SetCommandable(FALSE);
}

Собственно, и метода, и сам скрипт повзаимстовован с покойников Верхнего Хаспура, крушиморд и стражников, их там много. А проблема в том, что слон уничтожаться не желает. Джамповаться куда-нибудь на... на вейп в закрытой локе тоже не хочет. Вообще никаких команд не признает.
Если я правильно понял, дестрою мешает строка:
Neverwinter Script
SetIsDestroyable(FALSE,FALSE,FALSE);

Но именно эта строка держит чертову тварь в мире! Пробовал ее отключить - так слон исчезает мгновенно, без всяких команд на дестрой. Стоит только персонажу его просто увидеть.
Пробовал чередовать FALSE и TRUE, перебрал все варианты - не помогает. В любых сочетаниях если первой стоит TRUE - слон исчезает сам, если FALSE - не выжжешь каленым железом! Пробовал вернуть все дефолтные скрипты на модельку - эффект нулевой.
Собрался уже применить способ, который советовал уважаемый denis0k, то есть скопировать локацию, в одной - мертвый слон, в копии - евонная могила. И джамповать туда персонажа. Но есть причины, по которым этого делать очень не хотелось бы.
Может, кто-то вспомнит какой-нибудь более другой способ? Или удержать модельку до команды "дестрой" в диалоге, без строки "SetIsDestroyable..." или все-таки уничтожить тварь невзирая на целых три FALSE-а?
Заранее спасибо и прошу простить за многабукафф.

Привет всем!
Уважаемые мастера, не могли бы вы подсказать, как правильно похоронить слона?
В смысле, уничтожить одного очень упертого и несговорчивого непися.
Непись так и называется "Мертвый слон". У него нет никаких скриптов, кроме единственного несложного, стоит на порождении (спавне):
Neverwinter Script
void main()
{
    //object oNpc = OBJECT_SELF;
    SetIsDestroyable(FALSE,FALSE,FALSE);
//  ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectDeath(TRUE),oNpc);
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(),OBJECT_SELF);
    SetCommandable(FALSE);
}

Собственно, и метода, и сам скрипт повзаимстовован с покойников Верхнего Хаспура, крушиморд и стражников, их там много. А проблема в том, что слон уничтожаться не желает. Джамповаться куда-нибудь на... на вейп в закрытой локе тоже не хочет. Вообще никаких команд не признает.
Если я правильно понял, дестрою мешает строка:
Neverwinter Script
SetIsDestroyable(FALSE,FALSE,FALSE);

Но именно эта строка держит чертову тварь в мире! Пробовал ее отключить - так слон исчезает мгновенно, без всяких команд на дестрой. Стоит только персонажу его просто увидеть.
Пробовал чередовать FALSE и TRUE, перебрал все варианты - не помогает. В любых сочетаниях если первой стоит TRUE - слон исчезает сам, если FALSE - не выжжешь каленым железом! Пробовал вернуть все дефолтные скрипты на модельку - эффект нулевой.
Собрался уже применить способ, который советовал уважаемый denis0k, то есть скопировать локацию, в одной - мертвый слон, в копии - евонная могила. И джамповать туда персонажа. Но есть причины, по которым этого делать очень не хотелось бы.
Может, кто-то вспомнит какой-нибудь более другой способ? Или удержать модельку до команды "дестрой" в диалоге, без строки "SetIsDestroyable..." или все-таки уничтожить тварь невзирая на целых три FALSE-а?
Заранее спасибо и прошу простить за многабукафф.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Feb 28 2019, 17:23
Сообщение #5057


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Можно одной строкой, что именно нужно сделать? (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Feb 28 2019, 18:44
Сообщение #5058


Level 6
**

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



Цитата(denis0k @ Feb 28 2019, 17:23) *
Можно одной строкой, что именно нужно сделать? (IMG:style_emoticons/kolobok_light/smile.gif)


Нужно уничтожить непися.
Команда " DestroyObject(GetObjectByTag("ELEFANT_DEATH"));" не срабатывает.
Причины, как я их понял, описаны в предыдущем посту.

Можно было бы еще убрать этого непися в закрытую локу. Но команда "JumpToObject" также игнорируется. Полагаю, по тем же причинам. То есть из-за строчки " SetIsDestroyable(FALSE,FALSE,FALSE);" в графе "Порожден" (спавн) тела непися. Но без этой строки непись исчезает сама, не дожидаясь команды.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Feb 28 2019, 19:11
Сообщение #5059


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Может перед дестроем сделать SetIsDestroyable(true)?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Mar 1 2019, 13:14
Сообщение #5060


Level 6
**

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



Цитата(denis0k @ Feb 28 2019, 19:11) *
Может перед дестроем сделать SetIsDestroyable(true)?


Пробовал в разных вариантах. Весь вечер и половину ночи.
Исчезает невидимый плейс, с которым, собственно, и ведется диалог. (На саму непись нельзя кликнуть, как и задумано.) Но плейс-то легко уничтожить одной строчкой без всяких танцев с бубнами. А вот объяснить компилятору что применять SetIsDestroyable(true) надо не к плейсу, к этой чертовой неписи, я не сумел...
Пробовал и другой путь: привязать SetIsDestroyable к переменным. Есть переменная - TRUE, а пока ее нет - FALSE. Если не трудно, взгляни на скрипт. Может, поймешь, в чем моя ошибка. На мой взгляд, ошибаться там просто нечему, но это взгляд дилетанта, не знающего английского.
Neverwinter Script
void main()
{
    object oNpc = GetObjectByTag("ELEFANT_DEATH"); // Этот чертов слон

          ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectDeath(TRUE),oNpc); // Слон мертв. Лежит и не рыпается, кликнуть нельзя.

              SetCommandable(FALSE);

                            if  (GetLocalInt(oNpc, "SLON") != 1) // Переменной еще нет.
    SetIsDestroyable(FALSE,FALSE,FALSE); // Слона не расшибешь ядрен-батоном.

                  if  (GetLocalInt(oNpc, "SLON") == 1) // Переменная присвоена

              SetIsDestroyable(TRUE,TRUE,TRUE); // Слон должен исчезнуть сам или по команда скрипта - не важно.
}


Не исчезает, зараза! Плевал он на переменные.
И что интересно, если строчку " ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectDeath(TRUE),oNpc);" переставить в любое другое место вниз, компилятор считает, что все правильно, а вот непись "оживает". Стоит на ножках, крутит башкой, кликнуть можно. Получаются не "похороны", а цирк какой-то.
Скрипт стоит на порождении (OnSpawn) непися.
Спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Mar 1 2019, 17:39
Сообщение #5061


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Цитата
Исчезает невидимый плейс, с которым, собственно, и ведется диалог.
Почему плейс-то? (IMG:style_emoticons/kolobok_light/smile.gif) Теги что ли одинаковые у плейса и нпс? Так надо разные, или тип объекта проверять.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Mar 1 2019, 18:30
Сообщение #5062


Level 6
**

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



Цитата(denis0k @ Mar 1 2019, 17:39) *
Почему плейс-то? (IMG:style_emoticons/kolobok_light/smile.gif) Теги что ли одинаковые у плейса и нпс? Так надо разные, или тип объекта проверять.


Извини, зря я вообще этот плейс приплел. Путаницу вношу. Просто слона невозможно кликнуть, он же лежит труп-трупом. Диалог ("Снять шкуру --- Вырыть яму --- Закопать слона") идет с невидимым плейсом под брюхом у непися.
Теги у плейса и непися-слона, разумеется, разные.
Просто в конце диалога перс типа хоронит слона, дестроятся оба, и слон и плейс. То есть должны дестроиться. С плейсом все ок, а со слоном-неписью... Просто беда...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Mar 1 2019, 18:34
Сообщение #5063


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Потому что действие дестрой вешается на плейс, и после его уничтожения некому уничтожать слона? Через assign можно дестрой на модуль повесить. Или слона сразу, а плейс - через секунду делэем.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Mar 1 2019, 18:48
Сообщение #5064


Level 6
**

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



В том то и проблема, что у меня не получается объяснить компилятору, что функцию "SetIsDestroyable(TRUE,TRUE,TRUE)" надо применять не к плейсу, ч которым диалог, а к объекту с другим тегом.

Цитата(denis0k @ Mar 1 2019, 18:34) *
Потому что действие дестрой вешается на плейс, и после его уничтожения некому уничтожать слона? Через assign можно дестрой на модуль повесить. Или слона сразу, а плейс - через секунду делэем.


Разумеется, я именно так и делал. Сначала дестрой слону, а потом, через пару строк, в самом конце диалога - плейсу. Разными скриптами. Иначе бы диалог просто прервался.
Причем На последней строчке не только дестрой плейсу, а еще + переключение квеста, куча дебафов на перса, типа задолбался, реплика перса. Через акции. И все работает как часики.
Кроме чертова слона!!!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Mar 2 2019, 00:22
Сообщение #5065


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Цитата
у меня не получается объяснить компилятору, что функцию "SetIsDestroyable(TRUE,TRUE,TRUE)" надо применять не к плейсу, ч которым диалог, а к объекту с другим тегом.
Через ассигн? Кстати, неплохо бы и SetCommandable(true) делать. Иначе ассигн не сработает. А зачем вообще там false делается в начале? Он же вроде невыделяем вообще, его блокировать не надо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Mar 2 2019, 03:05
Сообщение #5066


Level 6
**

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



Цитата(denis0k @ Mar 2 2019, 00:22) *
Через ассигн?

Нет. Через ассинг у меня последний скрипт в диалоге. Но там иначе никак. Много всего: переключение квеста, анимация, затемнение, отсчет времени, крейт с палитры кучи мусора (могила слона) и т. д. Но этот скрипт как раз работает нормально. Все команды выполняются.
А для "SetIsDestroyable(TRUE)" я пытался сочинить отдельный скрипт. Тоже в диалоге, парой строк раньше. Исключительно для нее. Где тупо, в лоб, желательно вообще одной строкой объяснить компилятору, что эту функцию надо применить к объекту с тегом "ELEFANT_DEATH". И не сумел.
Понимаешь, я вообще впервые с этой функцией столкнулся. Нет примера перед глазами, как правильно сформулировать. На все попытки сформулировать по аналогии с другими функциями компилятор ругается.
А сам сочинять я умею, увы, только на русском.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Mar 2 2019, 17:31
Сообщение #5067


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Как всё сложно. Нелегко ванговать, но могу предложить следующее:

SetCommandable(FALSE); - убрать. Кажется, оно ни на что не влияет, пациент дохлый.

Для разрушения сделать в диалоге:
Neverwinter Script
AssignCommand("слон", SetIsDestroyable(TRUE));
AssignCommand(GetModule(), DestroyObject("слон"));
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Mar 2 2019, 20:56
Сообщение #5068


Level 6
**

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



Цитата(denis0k @ Mar 2 2019, 17:31) *
Как всё сложно.


Дык, я обычно и не прошу помощи пока сам не расшибу лоб апстену. (IMG:style_emoticons/kolobok_light/vava.gif)

Цитата(denis0k @ Mar 2 2019, 17:31) *
SetCommandable(FALSE); - убрать. Кажется, оно ни на что не влияет, пациент дохлый.


В том то и беда, что влияет. И еще как. Без этого FALSE-а моделька исчезает совершенно самостоятельно. Без всяких диалогов-команд-дестроев. Стоит только персонажу ее просто увидеть. Даже подходить не обязательно. И не получается как раз отменить эту функцию через скрипт диалога. Ну, или заменить на SetCommandable(труЪ); - тот же арбуз, только сбоку.
Кстати, я еще в первом посту на эту тему спрашивал: может, существует какой-то более другой способ удержать модельку? Без SetCommandable(FALSE); И тогда в нужный момент можно бы ее убрать простым дестроем, без танцев с бубнами.
За "GetModule()," спасибо огромное! Мне эта идея почему-то не приходила в голову. А надо бы! Нутром чую, раз моделька так себя ведет, - это модульные заморочки.
Пошел пробовать всякие варианты.
Спасибо еще раз!

denis0k, мой должок тебе, и без того немаленький, увеличился на порядок! Все работает! Мерзкая тварь исчезла.
Больше того, я понял, почему компилятор ругался на мои прежние попытки. Я писал как в теле (на OnSpawn) непися, т. е. SetIsDestroyable(TRUE,TRUE,TRUE); Оказалось, в диалоге надо всего 1 раз.
Я специально не писал, как для меня важен этот издевательский квест. А он не просто сюжетный, он ключевой. Понимаешь, мой Робинзон наконец-то добрал к людям, нашел деревушку с прекрасными туземками. Бежит к ним весь на крыльях, готовый спасать принцесс и побеждать драконов. А его все игнорят. И только старый ехидный шаман дает квест: иди как ты, геройский наш, закопай слона. Герой в ауте, но... куда деваться!
В общем, прошу прощения за оффтоп и многабукв.
denis0k, спасибо еще раз. Огромное!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Mar 2 2019, 20:59
Сообщение #5069


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Если нужно вырубать очередь, то можно её потом и включить: SetCommandable(TRUE, "слон").
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chiffa
сообщение Mar 2 2019, 21:07
Сообщение #5070


Level 6
**

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



Ага, спасибо. Щас попробую слепить оба скрипта в один, в конец диалога. Так будет правильней, а то он, гад, сразу исчезает. Пусть исчезает во время затемнения.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Feron
сообщение Mar 4 2019, 02:06
Сообщение #5071


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

Класс: Обыватель
Характер: True Neutral
Раса: Человек
NWN: Модмейкер
Сиала



Цитата(Chiffa @ Mar 2 2019, 22:07) *
Ага, спасибо. Щас попробую слепить оба скрипта в один, в конец диалога. Так будет правильней, а то он, гад, сразу исчезает. Пусть исчезает во время затемнения.


Получилось? Если нет, скинь модуль, я посмотрю и поправлю, а то разбираться на форуме дольше, чем сделать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
zmeylsdn
сообщение Mar 4 2019, 17:18
Сообщение #5072


Level 3
*

Класс: Бледный Мастер
Характер: Chaotic Neutral
Раса: Человек



При копировании русского текста из тулсета вставляется в виде нечитабельных символов (Óðîâåíü(íè) Çàêëèíàòåëÿ). Русификатор для тулсета NWTSrus.rar не помогает. Как пофиксить?
Вот кстати сейчас когда редактировал один раз показало как нужно.

Сообщение отредактировал zmeylsdn - Mar 4 2019, 18:12
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Mar 4 2019, 23:08
Сообщение #5073


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Попробуй в nwtoolset.ini шрифт сменить на Courier New Cyr, раньше что-то такое работало. Ещё можно попробовать вставлять в какой-нить крутой редактор типа notepad++ и баловаться с кодировками.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Mar 5 2019, 11:37
Сообщение #5074


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

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



Самый простой способ это переключить раскладку там где вы копируете и там куда копируете. Это реально работает.
Если раскладка разная будут кракозябры. Вроде надо рус / рус, чтобы было нормально

Сообщение отредактировал Melisse - Mar 5 2019, 11:39
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
zmeylsdn
сообщение Mar 8 2019, 21:45
Сообщение #5075


Level 3
*

Класс: Бледный Мастер
Характер: Chaotic Neutral
Раса: Человек



-0-Это реально работает, спасибо)
-1-Есть ли способ, чтобы при достижении DAMAGE_BONUS_20 (вроде как предел для нвн без доп програм), добавлялся следующий тип урона например
CODE
#include "x2_inc_itemprop"
/*
int IPGetDamageBonusConstantFromNumber(int nNumber)
{
switch (nNumber)
{
case 1: return DAMAGE_BONUS_1;
// здесь строки для 2-19
case 20: return DAMAGE_BONUS_20;
//a)case 21: return DAMAGE_BONUS_20 дробящий +DAMAGE_BONUS_1 режущий вплоть до
//case 40: return DAMAGE_BONUS_20 дробящий +DAMAGE_BONUS_20 режущий

}
}
*/
void EmpowerMySummon(int iBonus, object oSummon)
{
eSummonBonuses = EffectDamageIncrease(IPGetDamageBonusConstantFromN
umber(iBonus), DAMAGE_TYPE_BLUDGEONING);
//б)или здесь DAMAGE_TYPE_BLUDGEONING, DAMAGE_TYPE_SLASHING
}

в)Или может через два эффекта (EffectDamageIncrease()), но чтобы второй подключался только когда первый достигнет максимума
г)По идее можно и так:
eSummonBonuses = EffectDamageIncrease(IPGetDamageBonusConstantFromN
umber(iBonus/2), DAMAGE_TYPE_BLUDGEONING);
eSummonBonuses = EffectDamageIncrease(IPGetDamageBonusConstantFromN
umber(iBonus/2), DAMAGE_TYPE_SLASHING);
Тогда при iBonus=40 будет 20+20.
-2-SSMLevelUpCreature не разобрался, сделал ап через эффекты EffectDamageIncrease(iBonus=GetHitDice) и т.п. Если у кого есть готовый пример поделитесь пож).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 201 202 203 204 205 >
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28th March 2024 - 16:04