![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1451
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Тем кто может разобраться со скриптингом, мой код не очень то и нужен. А молодежи трудно будет объяснить куда вешать локалку, да еще если у нег например только СОУ... ТАк что этот код хоть и старомоден, но универсален для любого варианта. |
||
![]()
Сообщение
#1452
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
У меня опять вопрос...
Вот скрипт для открытия (и закрытия) двери, рычагом: void main() { object oDoor=GetNearestObjectByTag("ТЭГ_ДВЕРИ"); if(GetIsOpen(oDoor)) // если она открыта { AssignCommand(OBJECT_SELF,ActionCloseDoor(oDoor)); // захлопнуть дверь. действие привязанно к рычагу. SetLocked(oDoor,TRUE); // запереть дверь ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE); // рычаг переходит в другое положение } else if(!GetIsOpen(oDoor)) //иначе, если дверь не открыта { SetLocked(oDoor,FALSE);// отпереть дверь AssignCommand(OBJECT_SELF,ActionOpenDoor(oDoor)); // открыть дверь. ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE); // перевод рычага в другое положение } } Как все поняли этот скрипт на OnUsed рычага, я его туда ставлю, соответственно ввожу ТЭГ двери, но почемуто когда использую рычаг нечего не происходит. |
![]()
Сообщение
#1453
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Проверил скрипт, у меня все работает. Может ты тег не тот пишешь?
Сообщение отредактировал -fenix- - Jun 19 2005, 11:10 |
![]()
Сообщение
#1454
|
|||
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
Тута как я понимаю такое дело. Это значит, что "впитывание" пробивается только +1 и выше оружием. Т.е. Если тебя бьют обычным мечом, то все как сказал ДБ. Если +1, то твое "впитывание" уже не работает. Обычно такое свойство висит на шкурках всяких мэджик бистов, которые пробиваются только зачарованным оружием. Если я ничего не перепутал. |
||
![]()
Сообщение
#1455
|
|||||
Level 5 ![]() ![]() Класс: Убийца Характер: True Neutral Раса: Чудовище ![]() |
Dark@ngel
А вообще, возьми и покопайся в стандартных скриптах - найдешь много интересного. |
||||
![]()
Сообщение
#1456
|
|
Level 2 ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Friedrich, DBColl, Санькс.
Тогда еще вопросик: Есть задачка, для решения которой у меня, пока что, слишком мало знаний: Есть стафф, с тегом staf и РезРеф’ом staf. Задача: Если стафф лежит в контейнере. И на контейнер кастуется заклинание. То: если это заклинание 0-го уровня то у стаффом можно колдовать это заклинание бесконечно в день. если 1-го то – 5\день если 2-го 4\день 3-го 3\день 4-го 2 5-го 1 Если у стаффа уже есть восемь заклинаний, и этим способом в него пытаются запихнуть девятое – стафф уничтожается с такой-то анимацией на контейнере. В принципе, там еще проверки на наличие определенных предметов в том же контейнере, но это я и сам напишу. =) Второй вопрос: Можно ли сделать проверку на Школу магии, выбранную волшебником(цой)? Не пакет, а именно школу (Некромантия, Воскрешение, Иллюзия, Защитная...) |
![]() ![]()
Сообщение
#1457
|
|||||
Восставший из пепла ![]() ![]() ![]() Класс: Бледный Мастер Характер: Neutral Evil Раса: Человек ПОДМАСТЕРЬЕ ![]() |
Вставь это в OnHeartBeat НеПиСя:
А Агрессинг тебе загнул супер пупер скрипт с просто дофигищем проверок. В большинстве случаев просто ненужных. Ну что уж поделать - у BioWare все оч продумано :D ЗЫ Агрессинг! Не пугай новичков! :lol: Сообщение отредактировал Archangel - Jun 20 2005, 13:34 |
||||
![]()
Сообщение
#1458
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Актион НПС не выдержит больше 75 действий. Соотвественно, если каждые 6 секунд будет даваться акция сесть, то скоро начнется дикий дебаг :) |
||
![]() ![]()
Сообщение
#1459
|
|||
Восставший из пепла ![]() ![]() ![]() Класс: Бледный Мастер Характер: Neutral Evil Раса: Человек ПОДМАСТЕРЬЕ ![]() |
Да у меня НеПиСей так 30 с таким скриптом в OnHeartBeat стоят и ниче, живы еще :D Ну есть еще один вариант.... моно вставить в OnSpawn, но тогда правильность действий не гарантирую... :no: Сообщение отредактировал Archangel - Jun 20 2005, 13:35 |
||
![]()
Сообщение
#1460
|
|||
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
В страшном скрипте Биоваров есть на такой случай проверка на занятость. |
||
![]()
Сообщение
#1461
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Это настолько тупо и безгамотно, что я бы даже постеснялся говорить о таком на форуме. :D У меян испоьзуется хербит пару раз для Евентов, но не больше. |
||
![]()
Сообщение
#1462
|
|
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
Equilibrium
В общем, тебе нужно 1. получить кастуемый спел (константу) 2. получить левел спела. Функции типа GetSellLevel вроде нету (тем более, что одни и те же спелы могут быть разного уровня у разных классов. Да они еще метамагическими). Так что, придется ручками перебирать все константы и с помощью if ... else расставлять уровни. (Или упростить задачу). 3. Проверить на вещи кол-во свойств ITEM_PROPERTY_CAST_SPELL 4. Уничтожить вещь или добавить свойство (c этим тоже придется по париться). |
![]()
Сообщение
#1463
|
|
Level 1 Класс: Друид Характер: Lawful Neutral Раса: Полуэльф ![]() |
У меня тут проблемка возникла, сама я не дойду:
Допустим есть локация-корабль с триггером выхода. Хочу сделать так, чтобы выйти с этой локации нельзя было в течение одного дня, а если будешь ломиться - то на триггере всплывал текст типа еще рано. Но потом по стечению 24 часов можно было выйти. Если это очень сложно, можно не отвечать я пойму. |
![]()
Сообщение
#1464
|
|||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
просто, но я не уловил условие блокировки выхода в начале.. Те в какой момент лока закрывается.. Добавлено в [mergetime]1119287097[/mergetime]
На клике на переход местности. |
||||
![]()
Сообщение
#1465
|
|||
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
В общем, должно быть на onClick триггера должны быть что-то в этом роде:
Локалку с датой, в которую нельзя сходить с корабля нужно повесить заранее (кстати, может быть лучше не на триггер, а на ПС или модуль). Н.п. при заходе чувака на корабль, загрузке модуля и т.п. (в зависимости от конкретных обстоятельств). :D |
||
![]()
Сообщение
#1466
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Dark@ngel это просто как 2х2=5. Чертишь триггер, соединяешь его с нужным, на он Ентр триггера ставь.
Добавлено в [mergetime]1119292497[/mergetime] :lol: ЛОЛ... |
||
![]()
Сообщение
#1467
|
|||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
LOL. 3 чела кинулись помогать девушке... гы.. Понеслась. Фрид - привязка к дате это не есть гут ну а в остальном как у меня. :) Айв - привязка к секундам не канает, если например отдохнуть 3 раза по 8 часов, то пройдет 100 секунд например и 24 часа игровых.. но выйти никак - плохо, что отсчет времени идет от первого наступания короче мой вариант само то. Вот только к нему продолжение: там, где надо (может в диалоге, может еще где)
в ХБ локации
не проверял, но примерно так.. Friedrich, сенькс за скобки. |
||||
![]()
Сообщение
#1468
|
|
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
Айв, на онЕнтер инициализировать локалки не есть вери гуд. Я тоже сначала об этом подумал. Вряд ли нам нужно чтобы игрок не мог выйти в течении суток именно с момента первой попытки выйти.
Так что, время блокирования нужно задавать отдельно. И делать что Лекс сказал. Тока: if ( (nTime > (nBTime + 24)) && (nBTime != 0) ){ Гы-гы. :D Скобки забыл! ХЗ вообще, у кого приоритет больше у "+" или ">". |
![]()
Сообщение
#1469
|
|
Level 2 ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Friedrich
Спасибочки. 1)Понятно... почти... как у нас константа возвращается? 2)Эз... понятно... думал будет легче. 3)Санькс. 4)А по подробнее можно? Именно про добовление свойств? |
![]()
Сообщение
#1470
|
|
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
Equilibrium
1) int GetLastSpell(); This is for use in a OnSpellCastAt script, it gets the ID (SPELL_*) of the spell that was cast. 4) Создаешь свойство: itemproperty ItemPropertyCastSpell(int nSpell, int nNumUses); Ахтунг! nSpell - это не константа спела (SPELL_*), это константа свойства предмета IP_CONST_CASTSPELL_* Чтобы преобразовать одну в другую есть функция IPGetIPConstCastSpellFromSpellID(int) из x2_inc_itemprop. Пользуй ее или пиши свою. Добавляешь: void AddItemProperty( int nDurationType, itemproperty ipProperty, object oItem, float fDuration = 0.0f ); Внимательно почитай описания этих функций. |
![]()
Сообщение
#1471
|
|
Level 2 ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Ой мамочки! Ох... Эээ... Дамссс...
В-вобщем с-спасибо т-тебе б-б-большое... Чувст-твую н-на б-ближайшую нед-делю у м-меня уже есть з-задачка... :unsure: |
![]()
Сообщение
#1472
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Lex, Friedrich согласен с вами. НО вы не понимаете. Ваш код верный, но слишком сложен для новичка. Мой код воткнул и забыл. Когда она сможет сама разобраться в скриптинге наши советы отпадут. :D
|
![]()
Сообщение
#1473
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Если кому не трудно выложите скрипт, чтобы хейчман присоединялся к игроку.(или укажите название стандартного)
П.с: не думайте что ленюсь, искал этот скрипт в разговоре с хейчманом, но там их море. |
![]()
Сообщение
#1474
|
|
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
void AddHenchman(
object oMaster, object oHenchman = OBJECT_SELF ); |
![]()
Сообщение
#1475
|
|
Level 5 ![]() ![]() Класс: Убийца Характер: True Neutral Раса: Чудовище ![]() |
Dik Morris
Советую таки получше изучить и всмотрется в стандартны оруженосческий диалог, если не хочешь, чтобы даже после присоединения он говорил что нибудь вроде: "Здраствуйте незнакомец, не хотите ли вы нанять оружееносца?" Легче всего посмотреть на фразе "Хотите взять Томи/Делана/Лину/Г-г-римгноу" к себе в команду." ЗЫ Кстати, скачай демо модуль из файлов и посмотри там скрипты - откроешь для себя много интересного, да и в своем модуле использовать ни кто не запрещает Sorry за оффтоп, но надо же человеку посоветовать, как лучше, а то обойдется только одним скриптом. |
![]() ![]() |
Текстовая версия | Сейчас: 30th April 2025 - 13:48 |