![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1716
|
|||
Level 10 ![]() ![]() ![]() Класс: Мастер Оружия Характер: Lawful Good Раса: Человек ![]() |
Ну кто-нибудь, помогите! :this:
Ну и так и так делал, все деньги у игрока НИ В КАКУЮ не забирает! Ошибок тут нет, но вот не забирает деньги и всё, хотя строка такая есть... |
||
![]()
Сообщение
#1717
|
|||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Мля.. не первый раз уже такое.. Daemonix функция:
из Лексикона
ну народ, блин, :RTFM: |
||||
![]()
Сообщение
#1718
|
|
Level 6 ![]() ![]() Класс: Варвар Характер: Chaotic Good Раса: Полуорк ![]() |
Друзья, есть у меня проблема, вобщем есть два города, допустим город А и город В, в окрестностях каждого города 6 лок, между городами можно передвигаться. Так вот, как сделать так чтобы если вы умерли в одной из шести лок города А, то вы появлялись в храме города А, а если в одной из 6 лок города В то в храме города В.
Я как то раз уже спрашивал про это дело в разделе Шарды Рунета, тогда мне никто толком ниче не разъяснил, может поможете? |
![]()
Сообщение
#1719
|
|||
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
KoYuKi в скрипте OnPlayerDeath добавь:
edit: ой, ой. облажался :oops: - OnPlayerDeath идет на модуле ж... не OBJECT_SELF, а GetLastPlayerDied(). thx 2 AliceDiren ;) Сообщение отредактировал dumbo - Nov 10 2005, 21:06 |
||
![]()
Сообщение
#1720
|
|||
Level 7 ![]() ![]() Класс: Маг Характер: True Neutral Раса: Эльф NWN: Скриптинг [Sn] ![]() |
KoYuKi, самый простой вариант - проверять таг локи, в которой умер персонаж. В скрипте на OnPCDeath
|
||
![]()
Сообщение
#1721
|
|||||||||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
мм... имхо этот вариант проще и малек удобнее:
Что мы имеем. В каждой локации ставим Waypoin с тэгом "RP" и именем = тэгу точки респауна. И все... Берется поинт, по имени берется другой поинт и мы туда джампаемся. Думаю все локации пометить такими поинтами - не проблема. (можно сделать, что в локации будет храниться локалка, но имхо ставить поинты проще.. не надо никуда лазать.) + что добавление новых областей и новых мест респауна не требует изменения скрипта. Просто поставь поинты в локацию и все (имеет смысл сделать их в палитре). имхо Добавлено в 21:20
не до конца поправил Добавлено в 21:24
тебе посоветовали, как сделать. Причем в том же ключе, в каком тут скрипты написаны. ЗЫ: вопрос - 3 ответа от мастеров... ГЫ :D |
||||||||||
![]()
Сообщение
#1722
|
|||
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
:offtop: (маленький и незаметный)
и, что характерно, все написаны в блокноте и нерабочие... :crazy: |
||
![]()
Сообщение
#1723
|
|
Level 6 ![]() ![]() Класс: Варвар Характер: Chaotic Good Раса: Полуорк ![]() |
Спасибо всем, но вот насчёт блокнота это проблема, тогда мне тоже дали такой ответ как Lex, вот только он был не рабочий... щас этот проверю
|
![]()
Сообщение
#1724
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
это куски кодов. Доводи их до состояния скриптов уже сам. Сам не научишься - мы за тебя все скрипты в модуль не напишем же.
С твоей стороны надо чуть больше, чем "дайте мне скрипт". Тем более в такой теме, где задаются вопросы и просятся советы |
![]()
Сообщение
#1725
|
|
Level 6 ![]() ![]() Класс: Варвар Характер: Chaotic Good Раса: Полуорк ![]() |
Lex да я то понимаю что это куски кодов, вот только куда эти коды писать, всмысле как, по каким законам, относительно чего... я с учебником по скриптингу довольно долго возился, порядка пары месяцев, но так толком ничего в C++ и не понял, так основы... видать не моё это...
|
![]()
Сообщение
#1726
|
|
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
KoYuKi, не отступать и не сдавацца!
Попробуй сначала изучить абстрактную объектно-ориентированную технологию, без привязки к определенному языку. События, свойства, классы, инкапсуляция, перекрытие и т.п. - усвой все это. Я, пока не прошел курс основ Объектно-Ориентированного Прогарммирования (оООП), тоже нифига не понимал и бросил скриптинг аж на 8 месяцев. Дело в том, что в случае NWNа объекты очень сильно замкнуты в себе, и чтобы манипулировать ими, ты должен на интуитивном уровне понимать, кто кому и кем приходится.... Непонятно сказал, кажись... Поясняю: если объект замкнут в себе, достучаться до него и использовать можно только через события... Чтобы из него достучаться до другого объекта, нужно определить, кем приходится тот объект этому.... Damager-ом, Killer-ом, EnteringObject-ом.... Я, лично, C++ в глаза никогда не видел, но это мне нимало не мешает. |
![]()
Сообщение
#1727
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Ну ООП для скриптинга не необходимость. NWScript (или как он там) процедурный язык, хотя "абстрактнуя объектно-ориентированную технология", конечно, тоже не помешает, даже поможет.
Куда эти коды писать, всмысле как, по каким законам, относительно чего: 1. Понять что надо (если сумел написать, что надо - значит уже понял что надо делать на шаг ближе к скрипту). 2. Алгоритм -- перед тем как доверить гудящему монстру что-то считать подумай, что бы ты сам сделал чтобы решить эту задачу. Например: "Есть два города, допустим город А и город В, в окрестностях каждого города 6 лок, между городами можно передвигаться. Так вот, как сделать так чтобы если вы умерли в одной из шести лок города А, то вы появлялись в храме города А, а если в одной из 6 лок города В то в храме города В?" Выше было предложено три варианта: а) находим место, где умер персонаж, если тэг этого места находится в списке 1, переносим в точку А, если в списке 2, переносим в точку B, если ни в каком списке нет, переносим в точку С. б) находим место, где умер персонаж, есил это тег Т1, Т2, T3, Т4, Т5 или Т6 -- переносим в точку А, если это тэг Т7, ... , Т12 -- в точку В. Ну и про запасной вариант не забудем -- если ни там - ни там, сообщим игроку, что его сьели гулли месяц спустя после кончины, ибо в такую жопь ему взбрело в голову забрести, и прежде времени избавляем его от мучений. в) находим ближайшую точку, где можно возродится и переносим умершего туда. Алгоритм выбираем тот, который кажется наиболее естественным (но это уже на любителя). 3. Вот только теперь берем книжицу и ищем как те же самые мысли написать с помощью предоставленых команд и функций. Я первые три дня знакомства со скриптами НВН только и делал, что читал описания функций, ищя названия тех, что выполняли нужные мне действия. Пример: "Находим место, где умер персонаж." используем функцию GetArea(), возвращающую область в которой находится объект (в частности персонаж); под тем что место найдено также подразумевается, что мы его запомним (иначе как бы мы далее искали его тэг) для етого создаем переменную (читаем книжицу много-много раз, иначе никак). 4. Используем шаг 3. до посинения -- читаем описание языка, просматриваем действие функций, пытаемся с помощью них воплотить аглоритм. |
![]()
Сообщение
#1728
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
"Скрипты, Все вопросы и ответы по скриптам"
Давайте не будем вдаваться в азы програмирования и то, как надо алгоритмизировать задачу и потом ее програмировать. |
![]()
Сообщение
#1729
|
|
Level 19 ![]() Класс: Обыватель Характер: True Neutral Раса: Дварф NWN: Контент ![]() |
Существует задача запрещения использования лечебных спеллов (всех из healing subschool, за исключением Rise Dead и Resurrect) на определенной расе.
Допустим, кастанул cure light wounds – эффекта ноль + StrRef-сообщение. Может кто теорией помочь? |
![]()
Сообщение
#1730
|
|||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
----------- вариант номер 1 "геморойный" Правка скриптов соотв. заклов. Не так сложно (точнее очень просто), но мутно. Хотя там вроде всего то с 10-ок спеллов поправить. Добавление проверки и отправка сообщения.
Пишу тут на форуме, не в тулсете (с) ----------- вариант номер 2 "ущербный" Повесить на цель шкурку (если есть уже, то добавить свойства) с имунами к определенным заклам. Ущербность в том, что сообщения не будет. ----------- |
||
![]()
Сообщение
#1731
|
|
Level 19 ![]() Класс: Обыватель Характер: True Neutral Раса: Дварф NWN: Контент ![]() |
Ага, спасибо, Лекс. Думаю остановиться на правке заклов.
------------------------------ Какие имеются варианты добавления персу Damage Reduction (а-ля поглощение варвара)?; Варианты добавления, не зависящего от других факторов, AC (Natural?!) И еще. Можно ли оперировать Spellcasting Failure? Добавлять свойство вещи, изменять значение (да\нет) Сообщение отредактировал Vhall - Nov 12 2005, 18:38 |
![]()
Сообщение
#1732
|
|||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
через добавку на шкурку свойств.
можно. Можно сделать, скажем, крутой кинжал для мага, который мешает кастовать. Применяй как хочешь Добавлено в [mergetime]1131810152[/mergetime] это не совсем скриптовые вопросы.. в Одиночные скорее |
||||
![]()
Сообщение
#1733
|
|||
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Чтобы не править скрипты спеллов - поправь один скрипт, spellhook кажется называется. С HoTu все спеллы вызывают его перед запуском любого спелла. Там ты можешь узнать и расу кастера, и ID спелла, отменить его и выдать сообщение. |
||
![]()
Сообщение
#1734
|
|||||
Level 19 ![]() Класс: Обыватель Характер: True Neutral Раса: Дварф NWN: Контент ![]() |
Дык, забыл я, конечно, уточнить что предпочтительны скриптовые решения. =)
Так скриптами никак? Я не очень хочу редактировать itemprops* и перескприпчивать шаги. Вот и ищу рациональное решение.
Угумс, довелось видать такую вкладку на айтеме - Properties. Можно ли назначить ScF _без_ свойсва вещи? Добавлено в [mergetime]1131819169[/mergetime] _kaa_, благодарю |
||||
![]()
Сообщение
#1735
|
|||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
эффектами на игрока. Каа, ага, я про спеллхук забыл совершенно :) |
||
![]()
Сообщение
#1736
|
|
Level 1 Класс: Обыватель Характер: Chaotic Good Раса: Эльф ![]() |
Здравствуйте.
У меня такой вопрос: Как сделать, чтобы при взломе двери игроком, находящиеся рядом охранники НПС становились для него враждебными, и нападали? |
![]()
Сообщение
#1737
|
|||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
скриптами на слоты onDamage onUnLock двери. логика там простая: берем дамагера/анлокера и натравливаем на него охрану, что рядом. функции:
Добавлено в [mergetime]1131887341[/mergetime] с такими вопросами малек не сюда. Тривиальные скрипты и прочие начальные вопросы в тему "Вопросы новичков". + посмотри обязательно тему "Вопросы и Ответы". Там же есть ссылка на туториал. Читать обязательно. |
||||
![]()
Сообщение
#1738
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Хм, такой вопросик.
Как отследить, кто первым начал бой, герой или НПС? |
![]()
Сообщение
#1739
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Ну НПС редко сам нападает :) Говори нормально. Где отследить, на шарде или сингл. Ситуацию... Как первый раз за мужем. |
||
![]()
Сообщение
#1740
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
хм.. по идее в слоте onAttack NPC смотрим. Если во время атаки игрока НПС нейтрален и не в бою, то игрок по идее напал первый.
|
![]() ![]() |
Текстовая версия | Сейчас: 1st May 2025 - 18:48 |