![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#611
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
вопрос номер 1 переделал...
по вопросу номер два: т.е. возможно к.л. макаром всетаки указать в runscript аргумент для скрипта ? |
![]()
Сообщение
#612
|
|||||||||||
Level 10 ![]() Класс: Монах Характер: Lawful Good Раса: Человек NWN: Контент ![]() |
Нет. Ты С или С++ знаешь? Хоть чуть-чуть? Там есть возможность группировать часто используемые универсальные ф-ции для вызова из других частей программы или из других программ. Это называется include файлом. В NWNScript тоже есть такая кракозябра. Т.е. создается файл - что-то вроде:
В скрипте, где надо использовать:
ОБЯЗАТЕЛЬНО пересобрать модуль. Данный пример от-балды, вряд ли заработает, но идея такова. <small>Добавлено в 12:15</small> Вопрос номер один. а. В свойствах предмета поставить: Заклинание -> Только собственное питание (это позволяет тыкать палкой :D ). б. Надо (или не надо, еще не разобрался :D ) переписать OnActivateItem в свойствах модуля на такой:
Это позволит запустить скрипт с именем тэга используемого предмета.! в. Создать скрипт с именем тэга палки:
Сообщение отредактировал Lemegeton - Jan 27 2005, 12:17 |
||||||||||
![]()
Сообщение
#613
|
|||
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
Хех, пасибо, за вопрос №2, хоть ты сам точно не знаешь, но хоть ткнул меня где копать. А по вопросу №1 ты по-моему не понял, я в курсе про инклуды. Я говорю о такой ситуации распишу по шагам: 1. Зашел ДМ-ом на шард. 2. написал в консоли runscript имя_скрипта - работает само-собой. 3. поддерживаются-ли такие скрипты, где можно написать, вызвав иго из консоли runscript имя_скрипта(параметр) ? По поводу скрипта:
А разве OBJECT_SELF не на того, кто палкой тыкал сработает ? Сообщение отредактировал Leon PRO - Jan 27 2005, 13:03 |
||
![]()
Сообщение
#614
|
|||||
Level 10 ![]() Класс: Монах Характер: Lawful Good Раса: Человек NWN: Контент ![]() |
Не, извиняй. Я не в курсе про ДМ скрипты. :xz:
Ф-ция ExecuteScript в качестве второго параметра получает объект, от лица которого запускается скрипт. Т.е. в запущеном скрипте этот объект будет как раз OBJECT_SELF. |
||||
![]()
Сообщение
#615
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
Ок, я дома попробую, завтра еще напишу, спасибо огромное!
|
![]() ![]()
Сообщение
#616
|
|
Лорд AxisTown'a ![]() Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг ![]() |
Leon PRO "умный в гору не пойдет,умный гору обойдет" - если ты хочешь передать параметр в скрипт вызванный с ExecuteScript, например :
ExecuteScript(tgItem, oPC ); , то повесь нужное значение на oPC локалкой какой нить..а в скрипте ты эту локалку(значение) сможешь считать и использовать, а потом эту локалку изничтожить, чтоб место зря не занимала...( это один из приемов серии"голь на выдумку хитра" :D ) Сообщение отредактировал mamuc - Jan 27 2005, 14:06 |
![]()
Сообщение
#617
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
mamuc Да вот пока на этом и остановился =\ но думаю как-бы попроще.
|
![]()
Сообщение
#618
|
|||
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Как сделать так чтобы мешки с лутом исчезали через указанное время, например 250 секунд? Есть плэйс мешка на открытия которого стоит срипт генерации лута, с этим понятно, есть скрипт на смерть моба при испольнении скрипта создается заданый мешок, пробовал такой вариант :
Но мешок не дестроится, подскажите вариант лучше, три часа на это убил а результата не добился :xz: |
||
![]()
Сообщение
#619
|
|
Level 10 ![]() Класс: Монах Характер: Lawful Good Раса: Человек NWN: Контент ![]() |
Был такой вопрос... Решился "Чистильщиком". Т.е. НПЦ, который через некоторое время убирает все "левое" шмотье на карте. Где-то на форуме даже скрипты есть.
|
![]() ![]()
Сообщение
#620
|
|
Лорд AxisTown'a ![]() Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг ![]() |
ммм ..выше уже писалось - нельзя уничтожить обьект если его инвентарь не пуст..сначало надо весь инвентарь вычистить..
Сообщение отредактировал mamuc - Jan 27 2005, 18:51 |
![]()
Сообщение
#621
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ну так чистильщик так и работает. :)
А вообще в ХОТУ стандартная система выпадения вещей разве не кактит? Я в ней не копался, но вроде там можно указать время, через которое дестроится лут. |
![]()
Сообщение
#622
|
|||||
Level 2 ![]() Класс: Монах Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] ![]() |
Не уверен, но, по-моему объект не уничтожается потому, что назначаешь команду уничтожения исполнить объекту, который сам будет уничтожен (умерший моб должен уничтожить мешок). К тому же у тебя просто ошибка в скрипте: DestroyObject(OBJECT_SELF, 250.0); должна уничтожить моба (если скрипт запускает моб). Попробуй в скрипте вместо DestroyObject(OBJECT_SELF, 250.0); такую конструкцию: object oBag = CreateObject(OBJECT_TYPE_PLACEABLE, sTemplate, lLoc, TRUE, sTag); AssignCommand(GetModule(), DestroyObject(oBag , 250.0)); т.е. чтобы какой то другой объект уничтожал (в данном случае модуль) Сообщение отредактировал Тобур - Jan 27 2005, 19:31 |
||||
![]()
Сообщение
#623
|
|||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Объект может сам себя уничтожать, так что все ок со скриптом, надо только содержимое почистить перед этим. так:
посему лучше такой вариант:
|
||||
![]()
Сообщение
#624
|
|
Level 10 ![]() Класс: Монах Характер: Lawful Good Раса: Человек NWN: Контент ![]() |
Кстати, получает ли такая система ограничение на количество лута? Есть ведь ограничение на количество команд (Actions) в стэке. Кроме того, таймер (ХартБит) "халявит" в тех картах на которых нет игрока. Там все будет ОК?
|
![]()
Сообщение
#625
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
??
- Никаких ограничений на кол-во вещей в луте. - с ХБ эта система никак не связанна. - ХБ не халявит нигде. Он во всех локах работает. |
![]()
Сообщение
#626
|
|||
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Спасибо за помощь, сейчас буду пробовать :good: Кстати не хотите ли завести второй том скриптов?Как сделали с вопросами новичков, 27 страниц как то многовато :xz: Не помогло... После смерти моба из него вываливается мешок, лут генерится нормально, но мешки не исчезают... этот скрипт стоит на OnDeath моба, может я его не туда впихнул?:)
поставил 10 секунд чтобы побыстрее проверить Сообщение отредактировал Лито - Jan 27 2005, 20:14 |
||
![]()
Сообщение
#627
|
|
Level 10 ![]() Класс: Монах Характер: Lawful Good Раса: Человек NWN: Контент ![]() |
С ХБ напрямую не связана. Но есть ведь буффер для подобных команд с задеркой. Он может и переполниться?! Или нет?
ХБ халявит еще как! Он раз в 7-10 секунд происходит на локации, где нет других игроков. По крайней мере, не в серверной версии... |
![]()
Сообщение
#628
|
|||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ХБ сам по себе происходит раз в 6 секунд. Я не проверял, что там в локах, где нет игрока, но по идее так же должно быть. Дома проверю. то Лито, сорри, я ступил... так надо:
почему было неправильно то, что раньше щас объясню.. OBJECT_SELF в скрипте смерти НПС это сам НПС а не мешок лута, так что DestroyObject(OBJECT_SELF,1.0) и тд это удаление НПС. а нам то нужен лут, поэтому вводим object oloot и привязываем к нему (а не к НПС) команду с задержкой на 10 секунд. Кстати, а сам НПС у тебя исчезает, или как? Пожалуй щас сделаем второй том. А из этой темы надо будет в базу скриптов перенести потом готовые коды. Том II находится тут |
||
![]()
Сообщение
#629
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
|
![]()
Сообщение
#630
|
|
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Lex к унитожению лута
Все дестроится в точно указанное время, и спасибо за то что разъяснил в чем была ошибка, для меня важно разобратся в чем проблема:) |
![]()
Сообщение
#631
|
|||
Level 10 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
Нарот все кто в состоянии мне помочь помогите у меня огромный зов о помощи. я написал скрипт всё компилится вот только действия все сразу делаются а мне надо пости пенно кашмар мне очень трудно обяснить поэтому поставте мой скрипт на синюю строчку ПК в диалоге и разу все уаидете Помогите очень прошу. :swoon: вот мой проклятый скрипт
|
||
![]()
Сообщение
#632
|
|||
Level 10 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
Вот обяснение моего скрипта для Lex. :D Скрипт мой состоит вот так. Говариш со старухой она ваще нейтральна от всего так просто для диалога На строке ПК стоит мой скрипт И дело пошло, затемнение камеры и вдруг раз и все функции DelayCammand срабатывают не в порядке очереди в указанное время а сразу, далее прибегают орки На заранее написанные и поставленные точки это делается ровно без прерываний Зажигаются факелы здесь проблема , факелы должны зажыгатся поочередно функцией
Далее идут действия появляются 2 главных орка функция указона в моём скрипте. Скрипт мой Кампилится но делается все сразу это такой ужас все выглядит ужасно поговоришь камера тока пошла сразу появляется 2 орка и тому подобное, короче скрипт работает как будто его основные функции поставлены не DelayCommand а AssignCommand. Заранее извеняюсь дабы писал на форуме в без Тоолсета поэтому могут быть ошибки но всё было так на скока я помню. |
||
![]()
Сообщение
#633
|
|
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Кто знает как выполнена краска на шардах?(итем которым игроки могут красить броню и шлемы)
|
![]()
Сообщение
#634
|
|||
Level 10 ![]() Класс: Монах Характер: Lawful Good Раса: Человек NWN: Контент ![]() |
:hi: Отвечу. ( - Не мог в "одиночном вопросе" ответить да?! Морочишь людям голову :angry: - Извентиляюсь, не знал, что будет время :xz: ) Если надо что-то сложное нафигачить - смотри ф-цию:
Параметры: oItem - Бронька на покраску. nColorType - константа из ITEM_APPR_ARMOR_COLOR_* (тип покраски) nColor - собственно цвет (от нуля до 63-х) Внимание: Объект oItem просто дестроится, а ф-ция возвращает новый "покрашенный" предмет. oItem уничтожится даже в том случае, когда ф-ция будет применена не к броне!!! А нового не вернет!!! Надо делать проверки. А вообще, есть способ гораздо проще. Смотри в св-вах предмета "Наложить Заклинание" -> Dye_что-то_там :D З.Ы. Кстати, почему именно на шардах? Что ты имеешь ввиду? Не скрытые цвета случайно? Сообщение отредактировал Lemegeton - Jan 30 2005, 15:24 |
||
![]()
Сообщение
#635
|
|||
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Именно :yes: Кстати за этот ответ все равно спасибо, этот я не знал ;) И еще на счет Dye_ там нельзя выбрать цвет в который будешь красить вещь. Сообщение отредактировал Лито - Jan 30 2005, 16:53 |
||
![]() ![]() |
Текстовая версия | Сейчас: 12th May 2025 - 18:52 |