![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2786
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Evil Раса: Человек ![]() |
Да, именно так (IMG:style_emoticons/kolobok_light/angel.gif) более того, смотрю 12ю максу, поворот объекта - всегда были окружности, за которые вращать, я всегда считал это фичей максы и фичей очень удачной... и вдруг - приплыли: теперь надо дёргать за оси (IMG:style_emoticons/kolobok_light/wacko.gif) (может конечно оно настраивается, пока не пробовал)
|
![]()
Сообщение
#2787
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Здравствуйте.
У меня в тулсете при редактирований какого нибудь персонажа выскакивает ошибка Скриншот правда после этого если нажать "ОК", все будет нормально И еще все монстры или неписи, которых я ставлю в свой модуль, не появляются при игре. Подскажите как лечить пожалуйста. На всяк. случай: Нвн золотое издание версий 1.69 Система Windows XP SP3 Заранее спасибо. |
![]()
Сообщение
#2788
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Поставить dialog.tlk от 1.69.
Русскую версию (правда, я бы советовал английскую) отсюда (переименовать в dialog.tlk и бросить в корень игры). |
![]()
Сообщение
#2789
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Поставить dialog.tlk от 1.69. Русскую версию (правда, я бы советовал английскую) отсюда (переименовать в dialog.tlk и бросить в корень игры). Всё заработало, спасибо. |
![]()
Сообщение
#2790
|
|
Level 2 ![]() Класс: Мастер Оружия Характер: True Neutral Раса: Коробокуру ![]() |
Помогите пожалуйста разобраться с глобальными переменными.
Если я задам в скрипте onModuleLoad глобальную переменную, например: Код int number_red_PC = 0; Как мне её изменить из другого скрипта? |
![]()
Сообщение
#2791
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Как мне её изменить из другого скрипта? Никак. Область видимости глобальной переменной ограничена скриптом, в котором она определена (как в данном случае), либо, в случае библиотеки, теми скриптами, которые используют эту библиотеку. В любом случае, глобальная переменная инициализируется каждый раз при запуске скрипта, который её использует, так что "глобальной" в смысле возможности использования отовсюду она не является. Честно говоря, глобальные переменные лучше вообще не использовать - у меня был случай, когда глобальная переменная стала причиной бага, на поиск которого я потратил несколько часов.Единственный правильный путь сохранить информацию для использования в другом скрипте - "локальные" переменные, которые локальные не потому, что живут в пределах одной функции, а потому, что локализованы на объекте. За работу с ними отвечают функции (Get|Set|Delete)Local*(). |
![]()
Сообщение
#2792
|
|
Level 2 ![]() Класс: Мастер Оружия Характер: True Neutral Раса: Коробокуру ![]() |
Благодарю за ответ, сей вопрос понял. Ещё хотелось бы узнать, существует ли перевод лексикона и какие либо способы связи модуля с базой данных?
|
![]()
Сообщение
#2793
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
|
![]()
Сообщение
#2794
|
|
Level 2 ![]() Класс: Мастер Оружия Характер: True Neutral Раса: Коробокуру ![]() |
Ещё раз благодарю.
|
![]()
Сообщение
#2795
|
|
Level 2 ![]() Класс: Мастер Оружия Характер: True Neutral Раса: Коробокуру ![]() |
Новый вопрос:
Код object GetFirstPC(); Возвращает первого игрока из списка игроков. Если модуль для одного игрока всё понятно. Если играет несколько игроков, как быть в таком случае? Код void main() { object oPC = GetFirstPC(); object oArea = GetArea(OBJECT_SELF); vector vPosition = Vector(20.0, 20.0, 0.0); float fAngle = 90.0; location locTarget = Location(oArea, vPosition, fAngle); AssignCommand(oPC, JumpToLocation(locTarget)); } |
![]()
Сообщение
#2796
|
|
Level 6 ![]() ![]() Класс: Маг Характер: Lawful Evil Раса: Нежить ![]() |
Смотря для чего...
Neverwinter Script object oPC = GetFirstPC(); while(GetIsObjectValid(oPC)) { //:: Действия над чаром [...] oPC = GetNextPC(); } Т.е. так как-то: Neverwinter Script void main()
{ object oArea = GetArea(OBJECT_SELF); vector vPosition = Vector(20.0, 20.0, 0.0); float fAngle = 90.0; location locTarget = Location(oArea, vPosition, fAngle); object oPC = GetFirstPC(); while(GetIsObjectValid(oPC)) { AssignCommand(oPC, JumpToLocation(locTarget)); oPC = GetNextPC(); } } Сообщение отредактировал Talarasha - Jan 8 2012, 09:24 |
![]()
Сообщение
#2797
|
|
Level 2 ![]() Класс: Мастер Оружия Характер: True Neutral Раса: Коробокуру ![]() |
Т.е. так как-то: Neverwinter Script void main() { object oArea = GetArea(OBJECT_SELF); vector vPosition = Vector(20.0, 20.0, 0.0); float fAngle = 90.0; location locTarget = Location(oArea, vPosition, fAngle); object oPC = GetFirstPC(); while(GetIsObjectValid(oPC)) { AssignCommand(oPC, JumpToLocation(locTarget)); oPC = GetNextPC(); } } Тут получается что все игроки из списка будут переброшены. Суть такая: При загрузке локации выполняется скрипт. Если игрок, вошедший в локацию оказался четным ( не по списку, а четным по заходам в локацию), то он перенаправляется в локацию №1. Если нечетный, то соответственно в локацию №2. Поэтому в скрипте object oPC должен быть непосредственно вошедший игрок. |
![]()
Сообщение
#2798
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
При загрузке локации выполняется скрипт. Если игрок, вошедший в локацию оказался четным ( не по списку, а четным по заходам в локацию), то он перенаправляется в локацию №1. Если нечетный, то соответственно в локацию №2. Neverwinter Script object GetEnteringObject()
Сообщение отредактировал greye - Jan 8 2012, 10:23 |
![]()
Сообщение
#2799
|
|
Level 2 ![]() Класс: Мастер Оружия Характер: True Neutral Раса: Коробокуру ![]() |
greye, то что нужно. Большое спасибо =)
|
![]()
Сообщение
#2800
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
то что нужно Рекомендую - для написания тривиальных эвентов и в качестве удобного пособия примеров для изучения NWN-скриптинга. P.S.: А если с инглишем не оч – например можно использовать хотя бы это. (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал Flaristan - Jan 8 2012, 15:18 |
![]()
Сообщение
#2801
|
|
Level 2 ![]() Класс: Мастер Оружия Характер: True Neutral Раса: Коробокуру ![]() |
Рекомендую - для написания тривиальных эвентов и в качестве удобного пособия примеров для изучения NWN-скриптинга. Спасибо большое, но мне лексиконом как то удобнее пользоваться =) P.S.: А если с инглишем не оч – например можно использовать хотя бы это. (IMG:style_emoticons/kolobok_light/smile.gif) С этим пока проблем не возникало =) |
![]()
Сообщение
#2802
|
|
Level 2 ![]() Класс: Мастер Оружия Характер: True Neutral Раса: Коробокуру ![]() |
Как "поссорить" игроков? =)
Если я создам две враждебные фракции, репутацию игрока по умолчанию к обоим 100. А потом скриптом сделаю первому игроку - 100 репутации ко второй фракции, а второму игроку -100 репутации к первой фракции, то будут ли игроки враждебны по умолчанию друг к другу? |
![]()
Сообщение
#2803
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Не будут. Смена отношения к одним и тем же фракциям никак не повлияет на отношения между субъектами ее смены. К тому же PC - фракция не имеющая отношений сама к себе (т.е. все ПС итак сами за себя).
Для выставления ПС-шного «дизлайка» есть отдельная функция: SetPCDislike. Чисто на всякий случай: - Набираешь в поисковой строке Лексикона «Function Functions» и он тебе предлагает сноску «Function Categories» - открыв ее, получишь классификацию всех функций НВН-скриптинга (это удобно чтоб не искать нужную функцию перебором всех функций в тулсете); - Тем не менее, рекомендую сделать и это (перебор всех функций в тулсете) как-нибудь хотя бы 1 раз, чтоб отметить заведомо интересные. (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#2804
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Цитата Как "поссорить" игроков? =) Легко - никак. Все игроки - одна фракция.Сложно - заморачиваться с дизлайками - прогонять всех в цикле и выставлять друг дружке вражду. Но т.к. игрок вручную может снять дизлайк через меню, то делать это надо ещё и регулярно, например, в хертбите модуля. |
![]()
Сообщение
#2805
|
|
Level 2 ![]() Класс: Мастер Оружия Характер: True Neutral Раса: Коробокуру ![]() |
SetPCDislike Большое спасибо. А делает ли SetPCDislike дизлайк между игроками "насильственным?" =) Т.е. смогут ли игроки поставить обратно "лайк" из списка игроков? denis0k, опередил. Спасибо за ответ =) Пока что всё стало ясно =) Не совсем по теме тулсета, но всёже: можно как-нибудь запустить 2 копии Невервинтера на одном компе не заморачиваясь с виртуальными машинами и тд? |
![]()
Сообщение
#2806
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
|
![]()
Сообщение
#2807
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Поиск кинул сразу на Гем. (IMG:style_emoticons/kolobok_light/smile.gif)
(походу там залито корявовато но можно поискать сами файлы отдельно в инете) |
![]()
Сообщение
#2808
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Попробуй самый простой вариант - запустить от разных пользователей (только вроде админ права нужны обоим).
|
![]()
Сообщение
#2809
|
|
Level 1 Класс: Бледный Мастер Характер: Chaotic Evil Раса: Баатезу ![]() |
А можно ли отредактиривоать оригенальную расу? например чтоб у дроу небыло измение уровня +2?
|
![]()
Сообщение
#2810
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
В нвн1 субрас нет по дефолту. В нвн2 есть субрасовый 2да (имя что-то типа racialsubtype), там должен быть столбец ECL.
|
![]() ![]() |
Текстовая версия | Сейчас: 9th July 2025 - 19:23 |