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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 148 149 150 151 152 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Xfans
сообщение Jun 23 2008, 22:14
Сообщение #3726


Level 3
*

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



Цитата(Ilerien @ Jun 23 2008, 21:17) *
Не хочет сохранять, потому что я с ходу не помню порядок аргументов в ApplyEffectToObject().

Теперь он убивает героя, а как с Boot'om быть? Там вроде написано, что надо тока oPC дописать в скобках, а оно не фурычит(IMG:style_emoticons/kolobok_light/sad.gif)

Убивание ПС нам не подходит, потому что потом можно респауном возродиться и спокойно дальше ходить(IMG:style_emoticons/kolobok_light/sad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 23 2008, 23:11
Сообщение #3727


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

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



Цитата(shadowdweller @ Jun 22 2008, 16:48) *
Не мог бы кто-нибудь подсказать мне, где почитать про установку секретных дверей? Желательно, по-русски, в английском лексиконе как-то не очень понятно. Заранее спасибо

Вот Прикрепленный файл  door_erf.zip ( 22.36 килобайт ) Кол-во скачиваний: 3
ерефка в ней триггер + дверь в палитру. Скрипт создает плейсебл (любой) на вейпоинте. Дверь как пример. Выглядит так: идет РС и Хеньман, если игра на Изи то хеньчман говорит фразу (настраивается) "помоему тут что -то есть!". Если игрок профукал проверку поиска, то ничего не создается. Если нет, то хеньчман говорит типа посомтри внимательно туда! Тут БАХ трат та та! Куча спелов бум в дымке закла появляется дверь! У игрока над головой текст "Вы увидели потайную деврь!" и хеньчман говорит, но вот видишь! (настраивается). Так можно создать хоть что, хоть дверь, хоть корабль, хоть люк в полу. Сама дверь плейсебловая, но у нее в свойствах есть скрипт, который запускает игрока туда куда ты укажешь в свойствах. Локальный стринг равен месту перемещения. Скрипт создает дверь, а потом запускает любой нужный тебе скрипт на эту новую дверь. Она может открыться или ей мойжно присвоить локальный стринг того поинта, куда будет попадать игрок. Если интересно могу набрасать демо мод, как все работает...

Так же есть система такая же для итемов. Наглядно видно как в монете находятся предметы на песке или в домах, как буд то игрок нашел что то случайно.

Но при этом помощники помогают, подсказывают комментирую найденное...

Вот скрипт на плейсебл дверь.
Neverwinter Script
//:://////////////////////////////////////////////
//:: OnExit  am_pus_used_door
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
  Скрипт использования PLC_ дверей и люков.
  LocalString "TRANSITION_TARGET" - Таг вейпоинта
  или триггера, куда мы перемещаемся. Если на
  объекте не будет этого стринга, значит он
  просто откроется - закроется при повторном
  использовании.
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 08.10.2005
//:://///////////////////////////////////////////
#include "am_inc_common"

void main()
{
    object oPC = GetLastUsedBy();
    string sTarget = GetLocalString(OBJECT_SELF, "TRANSITION_TARGET");
    // sTarget - Это ТАГ объекта, куда мы переместимся
    object oTarget = GetObjectByTag(sTarget); // Сам объект

    if (GetLocked(OBJECT_SELF)) // Если закрыт, то ищем ключ и открываем
    {
        string sKey = GetTrapKeyTag(OBJECT_SELF);
        object oKey = GetItemPossessedBy(oPC, sKey);
        if (sKey != "" && GetIsObjectValid(oKey))
        {
            SetLocked(OBJECT_SELF, FALSE);
        }
        else
            {
              DelayCommand(0.1, PlaySound("as_dr_locked2"));
              return;
            }
    }
    if (GetIsOpen(OBJECT_SELF) && sTarget !="") // Если открыт и есть цель
    {
      AssignCommand(oPC, ClearAllActions());
      if(!GetIsObjectValid(oTarget)) // Если ошиблись с тагом цели
      {
        Debug("<cу  >ВНИМАНИЕ! </c>Не могу найти точку перемещения!");
        AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_MID));
        DelayCommand(1.0, ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE));
        SetLocalInt(OBJECT_SELF, "OPEN", FALSE);
        return;
      }
      DelayCommand(0.7, AssignCommand(oPC, JumpToObject(oTarget)));
      // Следом за игроком отправляем всех помощников
      DelayCommand(1.0, JumpAssociateToObject(oPC, oTarget));
      SetLocalInt(OBJECT_SELF, "OPEN", FALSE);
      DelayCommand(1.5, ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE));
      return;
    }
    if (!GetIsOpen(OBJECT_SELF))
    {
        AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_MID));
        DelayCommand(1.0, ActionPlayAnimation(ANIMATION_PLACEABLE_OPEN));
        SetLocalInt(OBJECT_SELF, "OPEN", TRUE);

    }
    else
        {
            ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE);
            SetLocalInt(OBJECT_SELF, "OPEN", FALSE);
        }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 24 2008, 00:23
Сообщение #3728


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Теперь он убивает героя, а как с Boot'om быть? Там вроде написано, что надо тока oPC дописать в скобках, а оно не фурычит
Бут, наверное, в сингле не работает (IMG:style_emoticons/kolobok_light/smile.gif) Можно попробовать
Neverwinter Script
EndGame("");
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Jun 24 2008, 02:45
Сообщение #3729


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Цитата(Aiwan @ Jun 24 2008, 00:11) *
Если интересно могу набрасать демо мод, как все работает...

Интересно. (IMG:style_emoticons/kolobok_light/smile.gif) А еще интересно, можно ли настроить скрипт так, чтобы дверь появлялась только тогда, когда у игрока в слоте "амулет" надет определенный предмет (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ogneslav
сообщение Jun 24 2008, 08:09
Сообщение #3730


Level 4
**

Класс: Друид
Характер: True Neutral
Раса: Человек



Эээ... так ктонибудь знает как заставить новый класс использовать магию друида?

Заранее спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 24 2008, 08:47
Сообщение #3731


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

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



Цитата(shadowdweller @ Jun 24 2008, 05:45) *
Интересно. А еще интересно, можно ли настроить скрипт так, чтобы дверь появлялась только тогда, когда у игрока в слоте "амулет" надет определенный предмет

Легко. (IMG:style_emoticons/kolobok_light/smile.gif) Но мне надо будет пару строк внести в общий код. А можно отдельно скрипт написать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 24 2008, 15:52
Сообщение #3732


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Интересно. А еще интересно, можно ли настроить скрипт так, чтобы дверь появлялась только тогда, когда у игрока в слоте "амулет" надет определенный предмет
Легко, могу внести опцию в систему (IMG:style_emoticons/kolobok_light/smile.gif) Шад, ты спрашивай, если что-то в моих доках непонятно (IMG:style_emoticons/kolobok_light/wink3.gif)
Цитата
Эээ... так ктонибудь знает как заставить новый класс использовать магию друида?
Насколько я понимаю, можно только убрать друида и вместо него прописать свой класс...

Сообщение отредактировал Ilerien - Jun 24 2008, 17:32
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ogneslav
сообщение Jun 24 2008, 16:11
Сообщение #3733


Level 4
**

Класс: Друид
Характер: True Neutral
Раса: Человек



И снова я!

Я тут покопался и нашел аддон позволяющий развивать 60 уровней, но как его ставить не врублюсь может ктонибудь знает?

P.S. Когда я создаю свой класс он всегда престиж и берется минимум со 2 уровня, в чем проблема?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 24 2008, 17:20
Сообщение #3734


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Когда я создаю свой класс он всегда престиж и берется минимум со 2 уровня, в чем проблема?
Возможно, не указывать ссылку на табличку пререквизитов (IMG:style_emoticons/kolobok_light/smile.gif) Если не поможет - хз, так глубоко в этом направлении не копал.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jun 24 2008, 18:01
Сообщение #3735


Level 3
*

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



Цитата(Ilerien @ Jun 24 2008, 01:23) *
Бут, наверное, в сингле не работает (IMG:style_emoticons/kolobok_light/smile.gif) Можно попробовать
Neverwinter Script
EndGame("");

А что ставить в кавычках, которые в скобках? (после EndGame) Название файла модуля? Или имя PC? Или что-то еще?
А про бут мы так почему-то и подумали=)))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 24 2008, 19:13
Сообщение #3736


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



"" - это пустая строка. Там реф финального ролика, но в этом случае он нафиг не нужен (IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал Ilerien - Jun 24 2008, 19:22
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jun 24 2008, 19:32
Сообщение #3737


Level 3
*

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



Он конечно нафиг не нужен, но без него компайлер не хочет скрипт сохранять, пришлось титры присобакать. А как мона самим эти титры сделать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 24 2008, 19:55
Сообщение #3738


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Почему вдруг не хочет? Он проверяет исключительно соответствие типа формального параметра типу фактического, а наличие ролика ему глубоко пофиг. "" - это тоже строка, так что компилироваться должно прекрасно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jun 24 2008, 20:07
Сообщение #3739


Level 3
*

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



Значит пустые кавычки мона=)) Гым! А на всякий случай, титры-то ваще мона свои сделать? Вроде, где-то кто-то говорил, что есть специальная прога... или у нас глюки?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 24 2008, 20:47
Сообщение #3740


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

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



Шад, вот демо-мод Прикрепленный файл  plc_item_modules.zip ( 64.03 килобайт ) Кол-во скачиваний: 3
и все настроено в нем. короче. Иди на магические вспышки. Возьми перса, у которого нет режима обнаружения по умолчанию. На картинках написано как настроить триггеры. Что бы дверь которая появляется (а можно хоть дом плейсебл сделать) была рабочей, ты должна установить заранее вейпоинт и при создании двери просто на нее запустить скрипт присвоения локального стринга равного имени вейпоинта. если лень, то можеш создать сколько надо дверей и в их свойствах сразу указать куда перемещается РС. И закинуть в палитру. В каждом новом триггере пропишешь нужный ресреф двери и все.

Прикрепленный файл  Plc.jpg ( 185.29 килобайт ) Кол-во скачиваний: 7


Настройки триггера для плейсеблов. Создаем рандомно на случайной локации. Если как у нас на специальном месте то SECRET_PLC_TR_SEARCH_PLC_DOOR_01 - Таг вейпоинта. Жирным - таг триггера он равен таг поинта (создал в палитре) + таг триггера.
Код
ResRef объекта =  стрингу на триггере PLC_ResRef
Поле триггера KeyTag - сложность проверки скилла:
DC_EASY = 0;
DC_MEDIUM = 1;
DC_HARD = 2;

Имя триггера - фраза над игроком

float "DISTANCE" радиус на котором находим объект или специально на месте объекта "SECRET_PLC_"+[Таг Триггера]

LocalInt "ACTION_MODE_DETECT" == 1 устанавливает свойство триггера, он сработает только когда РС в режиме обнаружения.
специально на месте объекта


Прикрепленный файл  Item.jpg ( 73.96 килобайт ) Кол-во скачиваний: 3


Код
ResRef объекта =  стрингу на триггере CLASS_TYPE_ALL
Если его нет, то создаем для каждого класса свой.
Поле триггера KeyTag - сложность проверки скилла:
DC_EASY = 0;
DC_MEDIUM = 1;
DC_HARD = 2;

Имя триггера - фраза над игроком

float "DISTANCE" радиус на котором находим объект

LocalInt "ACTION_MODE_DETECT" ==1 устанавливает свойство триггера, он сработает только когда РС в режиме обнаружения.


Настройки для итемов такие же. Только тут можно создать для каждого класса что я прописал. Это из ПВ, там ограничения я все классы не обработал. Какой надо скажешь, добавим.

Триггер для фраз над игроком проще пареной репы. Читай его описание в свойствах триггера.

Триггер старт диалога с НПС так же. Он работает по принципу таг триггера - TR_CONV_ТАГ_НПС.
Код
Тест над NPC, KeyTag - больше 0 - подбежит. К тагу триггера добавляете таг НПС. Пример: TR_CONV_[ТАГ_НПС]
--------------------------------------------------------------------
Если поле Deity НПС содержит цифру (см внизу), то НПС вроспроизведет анимацию:
5 - Смотрит вдаль
9 - Просить
10 - Ругать
11 - Смех
104 - Салют
107 - Приветствие
108 - Насмешка


Вот простой скрипт am_exe_door_001 который мы запустили после создания двери. там может быть что угодно...
Neverwinter Script
//:://////////////////////////////////////////////
//:: OnSpawn  am_exe_door_001
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
  Дверь в склеп. Секретная. Присваиваем место
  перемещения при создании двери скриптом.

*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 26.09.2005
//:://////////////////////////////////////////////

void main()
{
  object oSelf = OBJECT_SELF;
  SetLocalString(oSelf, "TRANSITION_TARGET", "AM_EXIT_DOOR_002");
}


В ствойствах двери создаваемой посмотри локалки. поймешь как работает эта дверь.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Jun 24 2008, 22:47
Сообщение #3741


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Ilerien, Aiwan, спасибо! (IMG:style_emoticons/kolobok_light/thank_you.gif) Коврыяю демки. никогда не думала, что это настолько сложно...

Ilerien, комментарии обязательно поднадобятся, вот только сформулирую. Так-то, в принципе, понятно, для чего и как. Но сама никогда не напишу такого, конечно. (IMG:style_emoticons/kolobok_light/smile.gif) Интересно, что ты плейс создаешь на Invisible Object... А если я захочу, чтобы дверь никуда не исчезала после ухода игрока (делаю сингл), мне просто с хартбита у резрефа снять скрипт, и все? Или закомментить строки эти просто в скрипте?

Айв, амулет от поноса и дракон на водопое - сила-вещь! Кстати, игроку с прокачанным поиском интереснее там ходить (IMG:style_emoticons/kolobok_light/smile.gif)

Вообще, я попробую соединить все и посмотреть, что получится. Спасибо еще раз!

Сообщение отредактировал shadowdweller - Jun 24 2008, 23:23
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 25 2008, 13:19
Сообщение #3742


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Интересно, что ты плейс создаешь на Invisible Object... А если я захочу, чтобы дверь никуда не исчезала после ухода игрока (делаю сингл), мне просто с хартбита у резрефа снять скрипт, и все? Или закомментить строки эти просто в скрипте?
Если ты закомментишь уничтожение двери, то каждый раз будет создаваться новая на том же месте. Можно убрать скрипт из хб видимой двери - тогда скрипт создания будет думать, что она есть.
Н-да, система делалась для PW (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Jun 25 2008, 22:43
Сообщение #3743


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



А еще такой вопрос - обязательно такой сложный скрипт писать на проверку надетого предмета у игрока или можно воспользоваться стандартным условием? Я просто скрипт у Айва посмотрела и жутко впечатлилась. Ключевое слово - жутко. (IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал shadowdweller - Jun 25 2008, 22:44
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 25 2008, 23:48
Сообщение #3744


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Neverwinter Script
if(GetTag(GetItemInSlot(oPC, <...>)) == "<...>")

этого хватит (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
shadowdweller
сообщение Jun 26 2008, 02:07
Сообщение #3745


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

Класс: Вор
Характер: Chaotic Good
Раса: Эльф
МАСТЕР Переводов



Ilerien,
Neverwinter Script
if
(GetTag(GetItemInSlot(oPC, INVENTORY_SLOT_NECK)) == "Branzuletko")
return TRUE;
return FALSE;

Так? И в начале скрипта его ставить, и потом выполнение?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lirulin
сообщение Jun 26 2008, 10:23
Сообщение #3746


Level 3
*

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



Установил я патч 1.68, и сразу же полезли вопросы! Почему на некоторых NPC плащи не отображаются совсем? Причем на PC той же расы отображаются... Может и на NPC'ей как-то можно "надеть" их, скриптами, или через 2da (что, подозреваю, более вероятно)?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 26 2008, 11:53
Сообщение #3747


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
Так? И в начале скрипта его ставить, и потом выполнение?
Neverwinter Script
//::///////////////////////////////////////////////
//:: Name: Heartbeat Secret Door Script (Invisible Object)
//:: FileName: il_scdoor_hb
//:: Copyright © 2007 Gem of the North Team
//:://////////////////////////////////////////////
/*
    Creates, if object have found, 2 binded doors
*/

//:://////////////////////////////////////////////
//:: Created By: Ilerien Phoenix
//:: Created On: 20.10.2007
//:://////////////////////////////////////////////


void main()
{
    object oSelf = OBJECT_SELF;
    string sTag = GetTag(oSelf);
    string sLetter = GetStringRight(sTag, 1);
    if(sLetter == "a")
        sLetter = "b";
    else
        sLetter = "a";
    int bShown = GetLocalInt(oSelf, "Shown");
    if(bShown)
        return;
    bShown = GetLocalInt(GetObjectByTag(GetStringLeft(sTag, GetStringLength(sTag) - 1) + sLetter), "Shown");
    if(bShown)
        return;
    //declare major variables
    string sCreatedDoorTag = "";
    float fSearchDist = IntToFloat(GetReflexSavingThrow(oSelf));
    int nDifficulty = GetWillSavingThrow(oSelf);
    int nLockDC = GetFortitudeSavingThrow(oSelf);
    int nSkillSearch = -50;
    int nCounter = 1;
    int nSkill;
    object oNearestCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE);
    int bDoneSearch = 0;
    int bDone = 0;
    int bNeedDetectMode = GetLocalInt(oSelf, "IL_SCDOOR_DETECTION_NEED_ACTION_MODE");
    int bNeedLock = GetLocalInt(oSelf, "IL_SCDOOR_LOCK_DOOR");
    float fDist;
    object oDoor;
    object oSearcher;
    object oComp;
    location lLoc;
    string sFirstTag = "il_scdoor_c";

    while (!bDone && !bDoneSearch && GetIsObjectValid(oNearestCreature))
    {
        if(GetIsObjectValid(GetMaster(oNearestCreature)) || GetIsPC(oNearestCreature) || GetIsDMPossessed(oNearestCreature))
        {
            // what is the distance of the PC to the door location
            fDist = GetDistanceBetween(oSelf, oNearestCreature);

            if (fDist <= fSearchDist)
            {
                if (LineOfSightObject(oSelf, oNearestCreature) && (!bNeedDetectMode || GetActionMode(oNearestCreature, ACTION_MODE_DETECT)) && GetTag(GetItemInSlot(oPC, INVENTORY_SLOT_NECK)) == "Branzuletko")
                {
                    nSkill = GetSkillRank(SKILL_SEARCH, oNearestCreature);
                    if((nSkill + 20 >= nDifficulty) && (nSkill + d20() >= nDifficulty))
                    {
                        bDone = 1;
                        oSearcher = oNearestCreature;
                    }
                }
            }
            else
                // If there is no one in the search radius, don't continue to search
                // for the best skill.
                bDoneSearch = 1;
        }
        nCounter = nCounter + 1;
        oNearestCreature = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oSelf ,nCounter);
    }//the secret door is founded

    if(bDone)
    {
        sCreatedDoorTag = sFirstTag + GetStringRight(sTag, 4);//tag is, for example, "il_scdoor_c_1_a"
        lLoc = GetLocation(oSelf);
        oDoor = CreateObject(OBJECT_TYPE_PLACEABLE, sFirstTag, lLoc, TRUE, sCreatedDoorTag);
        SetLockUnlockDC(oDoor, nLockDC);
        if(bNeedLock)
            SetLocked(oDoor, TRUE);
        if(GetIsObjectValid(oDoor))
        {
            PlayVoiceChat(VOICE_CHAT_LOOKHERE, oSearcher);
            sLetter = GetStringRight(sTag, 1);
            if(sLetter == "a")
                sLetter = "b";
            else
                sLetter = "a";
            sCreatedDoorTag = GetStringLeft(sFirstTag + GetStringRight(sTag, 4), GetStringLength(sFirstTag) + 3) + sLetter;
            oComp = GetObjectByTag(GetStringLeft(sTag, GetStringLength(sTag) - 1) + sLetter);
            lLoc = GetLocation(oComp);
            nLockDC = GetFortitudeSavingThrow(oComp);
            SetLockUnlockDC(oComp, nLockDC);
            bNeedLock = GetLocalInt(oSelf, "IL_SCDOOR_LOCK_DOOR");
            if(bNeedLock)
                SetLocked(oComp, TRUE);
            oDoor = CreateObject(OBJECT_TYPE_PLACEABLE, sFirstTag, lLoc, TRUE, sCreatedDoorTag);
            SetLocalInt(oSelf, "Shown", 1);
        }
    }
}

Вчитался в скрипт - омг, там можно столько оптимизировать (IMG:style_emoticons/kolobok_light/smile.gif)
Заодно нашёл одну кривость (IMG:style_emoticons/kolobok_light/wacko.gif)
Новая версия: Прикрепленный файл  sc_door.rar ( 16.14 килобайт ) Кол-во скачиваний: 4
(IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал Ilerien - Jun 26 2008, 12:06
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jun 26 2008, 16:06
Сообщение #3748


Level 3
*

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



Цитата(Lirulin @ Jun 26 2008, 10:23) *
Почему на некоторых NPC плащи не отображаются совсем? Причем на PC той же расы отображаются... Может и на NPC'ей как-то можно "надеть" их, скриптами, или через 2da (что, подозреваю, более вероятно)?

Ой! У нас тоже странная фигня с этими плащами - в тулсете эльфам они на уши надеваются! Мы даже испугались, что у них головы пропали! А на других, значит, вовсе не надеваются?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 26 2008, 17:38
Сообщение #3749


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Это бага 1.68, в 1.69 пофиксили.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Xfans
сообщение Jun 26 2008, 21:16
Сообщение #3750


Level 3
*

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



Цитата(Ilerien @ Jun 26 2008, 17:38) *
Это бага 1.68, в 1.69 пофиксили.

Ясно! А 1.69 вроде еще только на стадии проверки? Или уже все, можно качать и пользоваться?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 148 149 150 151 152 > » 
Ответить в эту темуОткрыть новую тему
7 чел. читают эту тему (гостей: 7, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28th April 2025 - 19:24