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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 72 73 74 75 76 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Proydoha
сообщение Aug 16 2005, 13:24
Сообщение #1826


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



У меня такие два вопроса:
1. Почему когда я делаю кастомные токены у меня в диалоге высвечиваеться только первый из нескольких.(Остальные <Унрекогнайзед Токен>). Из-за чего это может случаться?
2. Мне нужно генерировать случайные числа в пределах от -1 до 36. Я пробовал:
Neverwinter Script Source
iNumber=Random(37)-1;

Но почему-то всегда получаеться 10. Что делать? :xz:

Сообщение отредактировал Proydoha - Aug 16 2005, 13:30
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 16 2005, 14:29
Сообщение #1827


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

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



QUOTE (zmey @ Aug 16 2005, 11:26)
вопрос номер (ВЫРЕЗАНО ЦЕНЗУРОЙ) его знает какой: Как сделать, чтобы эффект при использовании уникальной силы накладывался случайным образом. Например, или каменная кожа, или проклятие, или повреждние персу на Х хр?

Как обычно, ставешь у объекта уникальную силу, зетем в Св-вах модуля на OnActivateItem скрипт.
Neverwinter Script Source
void main()
{
object oActivator = GetItemActivator();
object oActivated = GetItemActivated();
int iRandom = Random(3); // это рандомное число от 0 до 2
string sTag = GetTag(oActivated);

if (sTag == "таг предмета") // проверяем, кокой объект используется

switch(iRandom)
{
case 0: // если равно 0
    {
    // накладываем один эффект
    ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f)
    break;
    }
case 1: // если равно 1
    {
    // накладываем другой эффект и т.д
    ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f)
    break;
    }
case 2: // если равно 2
    {
    ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f)
    break;
    }
}

}


Как сделать ущерб смотри в примере выше(с молнией)
.
QUOTE (Proydoha @ Aug 16 2005, 13:24)
Остальные <Унрекогнайзед Токен>

Чего? :)
QUOTE (Proydoha @ Aug 16 2005, 13:24)
2. Мне нужно генерировать случайные числа в пределах от -1 до 36. Я пробовал:

Ну не знаю почему все время 10 :xz:
А вообще через рэндом числа с минусом не генерируются. Т.к Он их генерирует от 0 до твоего числа -1.
Это значит, что random(3) сгенерирует от 0 до 2.
Еще, где ты эти числа используешь?
Скажем в switch могут быть только целые числа.
У меня if (iRandom == -1), реагировал на int iRandom = Random(2)-1.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Анамиэль
сообщение Aug 16 2005, 17:15
Сообщение #1828


Level 2
*

Класс: Теневой Танцор
Характер: True Neutral
Раса: Полуэльф



насколько я помню 1 часть НВН, бегая по тюрьме в поисках сбежавших существ,нарываешся на орка охранника,который после битвы меняет фракцию с враждебной на дружественную...
вопрос в том возможно ли ведение диалога с НПС враждебной фракции?(т.е. без смены)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 16 2005, 17:36
Сообщение #1829


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

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



QUOTE (Анамиэль @ Aug 16 2005, 17:15)
возможно ли ведение диалога с НПС враждебной фракции?(т.е. без смены)

Нет. Если он враждебный, то будет курсор атаки и через меню НПС ты с ним поговорить не сможешь.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 16 2005, 20:22
Сообщение #1830


Level 7
**

Класс: Маг
Характер: Lawful Neutral
Раса: Эльф



Вот у меня вопрос... Ка зделать вид сражения двух воинов? Ну что бы они дрались, но не наносили повреждений.. :vava:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Aug 16 2005, 20:39
Сообщение #1831


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

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



1) Вариант:
Сделай им оружие которое не наносит повреждения.
2) Вариант:
Сделай их сюжетными (т.е бессмертными)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Aug 16 2005, 20:40
Сообщение #1832


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



QUOTE
Вот у меня вопрос... Ка зделать вид сражения двух воинов? Ну что бы они дрались, но не наносили повреждений..

Просто сделай обоих НПС бессмертными. Т.е. поставь галочку, в закладке св-в НПС "Улучшенный", на "бессмертный".
Добавлено в [mergetime]1124214104[/mergetime]
CODE
Aug 16 2005, 23:39

CODE
Aug 16 2005, 23:40

Упс. Немного опоздал...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 16 2005, 22:34
Сообщение #1833


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



Наверное я плохо описал в чем суть дела...
1.Скриптовая команда
Neverwinter Script Source
SetCustomToken(номер токена, стринг)

позволяет вставлять в диалоги различные, меняющиеся в зависимости от стринга, фрагменты. Так вот у меня при использовании нескольких таких токенов в диалоге отображаеться только первый, а вместо остальных <UNRECOGNIZED TOKEN>. Из-за чего такое может быть?
2. Команда
Neverwinter Script Source
Random(38)

генерирует числа от 0 до 37. Следовательно если сделать так:
Neverwinter Script Source
iNumber=Random(38)-1;

То должно выйти что переменной iNumber должны присваиваться случайные числа от -1 до 36. Почему все время получаеться "10"? Может есть какие другие методы генерации случайных чисел в таком диапазоне?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Aug 17 2005, 01:03
Сообщение #1834


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

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



Proydoha
1. приведи кусок скрипта, а так же расскажи где и в какой момент ты вызываешь этот скрипт. по идее тут нечему просто "ломаться" ;)
2. варианта два: первый - у тебя лохматая версия, в которой могли быть проблемы с рандомизацией сид-кодов. второй - у тебя где-то написано "...if(iNumber=10)..."
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 17 2005, 10:10
Сообщение #1835


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



1.А это не может происходить из-за sString=""; ?
2.А что? if(iNumber=10) это так фатально? Да у меня есть такой кусок в скрипте, но ведь это условие?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 17 2005, 12:13
Сообщение #1836


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

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



QUOTE (Proydoha @ Aug 17 2005, 10:10)
2.А что? if(iNumber=10) это так фатально? Да у меня есть такой кусок в скрипте, но ведь это условие?

Смысл совсем другой!
"=" - это оператор присваивания, присваивает левой части значение правой. А равно это "==".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 17 2005, 13:03
Сообщение #1837


Level 7
**

Класс: Маг
Характер: Lawful Neutral
Раса: Эльф



э-Э-Э-Э-э-э-э, вот у меня такой вопросик :D КОторый кроме как в "ВОПРОСЫ НОВИЧКОВ" нельзя поместить :D Как зделат что бы НеПиСь выполняла сразу несколько действий оновремено? Пробовал зделать так:
Neverwinter Script Source
DelayCommand(2.5, AssignCommand(oJREC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL))); // Жрец машет руками, как бы сердитсья
DelayCommand(2.5, AssignCommand(oJREC, ActionSpeakString("Деритесь! Вы же войны!!!"))); // Жрец говорит

И так:
Neverwinter Script Source
DelayCommand(2.5, AssignCommand(oJREC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL))); // Жрец машет руками, как бы сердитсья
DelayCommand(2.5, AssignCommand(oJREC, SpeakString("Деритесь! Вы же войны!!!"))); // Жрец говорит


Но ничего... :this: :vava:

Сообщение отредактировал DEM - Aug 17 2005, 13:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 17 2005, 13:19
Сообщение #1838


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

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



DEM, второй вариант рабочий (нужно через SpeakString).
Наверное у тебя есть еще действия, которые мешают(мож скрипт покажешь).



Сообщение отредактировал -fenix- - Aug 17 2005, 14:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 17 2005, 17:09
Сообщение #1839


Level 4
**

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



Можно ли в диалоге сделать так, чтобы у перса сняли XP'у?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
baskan
сообщение Aug 17 2005, 17:30
Сообщение #1840


Level 7
**

Класс: Бард
Характер: Lawful Good
Раса: Фея



Вставляеш в ячейку Action Taken(выполнить действие)

Neverwinter Script Source
void main()
{
  GiveXPToCreature(GetPCSpeaker(), -количество опыта);
}


Сообщение отредактировал baskan - Aug 17 2005, 17:32
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 17 2005, 18:15
Сообщение #1841


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Neverwinter Script Source
DelayCommand(2.5, AssignCommand(oJREC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL)));
DelayCommand(3.5, AssignCommand(oJREC, SpeakString("Деритесь! Вы же войны!!!"))); // Жрец говорит

Задержку второй строки увеличь. Тогда первое действо начнется, второе чуток попозже, как раз будет реально.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 17 2005, 18:54
Сообщение #1842


Level 4
**

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



Не, мне надо чтобы ЗАБРАЛИ. Такое можно?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 17 2005, 19:18
Сообщение #1843


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

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



QUOTE (Vitalist @ Aug 17 2005, 18:54)
Не, мне надо чтобы ЗАБРАЛИ. Такое можно?

Функции не видел, но наверное можно с помощью
Neverwinter Script Source
int GetXP(object oCreature) // получить ко-во опыта
void SetXP(object oCreature, int nXpAmount) // установить опыт

С помощью GetXP получаешь опыт, затем уменьшаешь его на нужное кол-во и спомощью SetXP устанавливаешь его.
QUOTE (Aiwan @ Aug 17 2005, 18:15)
Задержку второй строки увеличь. Тогда первое действо начнется, второе чуток попозже, как раз будет реально.

А почему так, у меня в одно время и все нормально.?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Valleo
сообщение Aug 17 2005, 19:26
Сообщение #1844


Level 4
**

Класс: Друид
Характер: Neutral Evil
Раса: Эльф
NWN: Скриптинг [PW]



Думаю лучше так:
Neverwinter Script Source
void main()
{
  SetXP(GetPCSpeaker(), GetXP(GetPCSpeaker())-(нужное_колво_опыта_для_снятия));
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 17 2005, 21:15
Сообщение #1845


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (-fenix- @ Aug 17 2005, 22:18)
А почему так, у меня в одно время и все нормально.?

Видишь ли, много задачь в одно время могут порушить цепь или сработать неверно. рекомендую никогда не юзать одно время много раз. Лучше измени на пол секунды, вернее будет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 17 2005, 21:25
Сообщение #1846


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



Исправил с = на == и все равно-таки получаеться 10! Может есть какие другие команды для генерации случайных чисел? Помниться в Turbo Pascal была команда Randomize без нее программа все время генерировала одни и те же случайные числа. Может и тут у меня что-то такое?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 17 2005, 22:04
Сообщение #1847


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Proydoha рандом привязан к локации и тайлам и прочему. ЕСли локи одинаковые и маленькие то будут одни и те же цифры. Я это уже съел. Читай лексикон.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 17 2005, 22:29
Сообщение #1848


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



Понял. Буду искать другие методы.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Aug 17 2005, 22:59
Сообщение #1849


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

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



Aiwan
я тоже прочитал плачевные нотайсы к рандому, но смею тебя заверить: в текущей версии ничего подобного не наблюдается. даже специально проверил - создал две пустые локи 2х2, переход между ними и default.nss[SendMessageToPC(OBJECT_SELF, IntToString(Random(50)));] - нормальный рандом. никаких повторов последовательностей нет. а товарищу Proydoha еще раз посоветую показать скрипт - судя по ошибкам, там им есть где развернуться...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 18 2005, 12:04
Сообщение #1850


Level 4
**

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



Если пользоваться стандартным скриптом на атаку, то атакуют все из этой фракции. А что нужно, чтобы только конкретно говорящий атаковал (после диалога), а остальные не нападали?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 72 73 74 75 76 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27th April 2024 - 19:01