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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
135 страниц V  « < 68 69 70 71 72 > »   
Ответить в эту темуОткрыть новую тему
> ОДИНОЧНЫЙ ВОПРОС, на любую тулсетовскую тему
Milfes
сообщение Aug 4 2006, 15:56
Сообщение #1726


Level 5
**

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



Огромное спасибо! (IMG:style_emoticons/kolobok_light/thank_you.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Noah
сообщение Aug 9 2006, 11:17
Сообщение #1727


Level 5
**

Класс: Убийца
Характер: Chaotic Neutral
Раса: Полуэльф



Привет!У меня вопрос,что нового в версии 1.66 чем она лучше предыдущих?Кто знает напишите.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Aug 9 2006, 11:20
Сообщение #1728


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

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



QUOTE(Noah @ Aug 9 2006, 12:17) [snapback]89299[/snapback]

Привет!У меня вопрос,что нового в версии 1.66 чем она лучше предыдущих?Кто знает напишите.
Смотри файл NWNv166.txt в своей папке с НВНом или раздел патчей на сайте Bioware.
Кстати, последний патч - 1.67.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Aug 9 2006, 11:24
Сообщение #1729


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



QUOTE(virusman @ Aug 9 2006, 12:20) [snapback]89300[/snapback]
Кстати, последний патч - 1.67.

Скоро уже 1.68 будет
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Aug 9 2006, 16:20
Сообщение #1730


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Неужели мы наконец-то увидим в игре официальных лошадок? (IMG:style_emoticons/kolobok_light/smile.gif) Именно в этом патче обещали их, да и многие другие вкусности. Странно, когда известили, что поддерживать НВН больше не будут, и мы не увидим патча 1.68, пропала всякая надежда на дальнейшие косметические улучшения игры.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Aug 9 2006, 16:39
Сообщение #1731


Level 5
**

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



При помощи како функции можно определить тег только что купленного предмета?

Сообщение отредактировал Milfes - Aug 9 2006, 16:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Waromon
сообщение Aug 9 2006, 17:14
Сообщение #1732


Level 4
**

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить



В смысле только что купленного ????

NSS
string GetTag(object oObject);


QUOTE
Description:

Returns the tag of oObject. Returns an empty string if oObject is not a valid object.
PC's do return a valid value - an empty string! This is because they have no string defined as thier tag (Even GetObjectByTag("") may return a PC object).

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Aug 9 2006, 17:33
Сообщение #1733


Level 5
**

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



QUOTE
В смысле только что купленного ????


Последний купленый в магазине обьект. Я правда не уверен, что это возможно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Aug 9 2006, 17:49
Сообщение #1734


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Milfes, не совсем тебя понятно, если честно. Тэги у вещей такие, какие ты назначил вещам в палитре, когда их делал. Узнать же тэг можно с помощью вышеописанной функции. Тебе надо сделать какую-нибудь вещь с возможностью использования уникальной силы на любой объект, и после использования этой вещи, запускать скрипт, с помощью которого узнавать тэг объекта, на который был наведен предмет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Neo
сообщение Aug 9 2006, 18:22
Сообщение #1735



Иконки Групп

Класс: Пьяный Мастер
Характер: Lawful Good
Раса: Тварь
MySQL, PHP, JavaScript
Порядок Времени



QUOTE(Milfes @ Aug 9 2006, 18:33) [snapback]89313[/snapback]
Последний купленый в магазине обьект. Я правда не уверен, что это возможно.

Почему же (IMG:style_emoticons/kolobok_light/wink3.gif) возможно.
Правда вариант нетривиален (IMG:style_emoticons/kolobok_light/spiteful.gif)
Объект торговца,
скрипт onOpenStore ставим флаг, указывающий на то, что идет торговля
скрипт onStoreClose снимаем этот флаг
модуль onAcquireItem - проверяем флаг торговли, если true определяем тег предмета (функция указана выше (IMG:style_emoticons/kolobok_light/wink3.gif) ) и запоминаем в локалку, на тот же модуль к примеру. имхо.

ну или это, onOpenStore - запоминаем весь инвентарь, onStoreClose - сравниваем текущий с запомненным (IMG:style_emoticons/kolobok_light/rofl.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Aug 9 2006, 18:35
Сообщение #1736


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

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



QUOTE(NeoJSmith @ Aug 9 2006, 19:22) [snapback]89317[/snapback]

Почему же (IMG:style_emoticons/kolobok_light/wink3.gif) возможно.
Правда вариант нетривиален (IMG:style_emoticons/kolobok_light/spiteful.gif)
Объект торговца,
скрипт onOpenStore ставим флаг, указывающий на то, что идет торговля
скрипт onStoreClose снимаем этот флаг
модуль onAcquireItem - проверяем флаг торговли, если true определяем тег предмета (функция указана выше (IMG:style_emoticons/kolobok_light/wink3.gif) ) и запоминаем в локалку, на тот же модудб к примеру. имхо.
Или просто использовать функцию GetModuleItemAcquiredFrom (а потом - GetObjectType).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Aug 9 2006, 19:13
Сообщение #1737


Level 5
**

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



Всем спасибо разобрался.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nuprahtor
сообщение Aug 24 2006, 15:57
Сообщение #1738


Level 3
*

Класс: Некромант
Характер: Chaotic Neutral
Раса: Человек



Здравствуйте.
Как можно запретить персонажу брать второй\третий класс(если можно)?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elf-Drow
сообщение Aug 24 2006, 17:12
Сообщение #1739


Level 8
***

Класс: Теневой Танцор
Характер: True Neutral
Раса: Эльф



Здравия желаю! Давно меня здесь не было...
Итак вот пара вопросов, которые помогли бы разнообразить модуль:
1) Можно ли сделать, чтобы описание персонажа менялось после разговора с ним?
То есть. Первоначальное описание формирует лишь внешнее представление, а после оно обновляется...
2) Хочется сделать, чтобы пометок на карте не было совсем. Но чтобы они появлялись после того, как персонаж зайдет в оные места. Думаю это можно сделать скриптами, я прав?
3) Нужно, чтобы люди из опред. локации время от времени исчезали из оной( случайно - не в опред. время) где-то на полдня-день, но не слишком часто. Как бы это сделать???
4) Есть ли мысли как более удобно сделать систему отношений. То есть одни персонажи в зависимости от твоего поведения тебя любить не будут, а другие будут?
Благодарю) (IMG:style_emoticons/kolobok_light/thank_you.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 24 2006, 17:51
Сообщение #1740


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



1. вроде SetDescription нету пока. Обещали в НВН2 и мб в 1.68
2. прав. я делал. Вначале метки ставь не активными, потом активируй. Можно сделать это одним скриптом, но тады надо продумывать систему тэгов меток и связи тэгов с тэгами локаций\локальными переменными на локациях.
3. писать управляющий скрипт. тут в 2х словах не скажешь. Я такое делал (днем ходят по городу, ночью к дверям идут и исчезают)0
4. На локалках. Тут много копий сломано, как лучше. Надо продумать баланс между работой над этим и конечным эффектом.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Waromon
сообщение Aug 24 2006, 18:02
Сообщение #1741


Level 4
**

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить



2.

NSS
SetMapPinEnabled(object oMapPin, int nEnabled)


3. В Левор гамал ? Там неписи ночью уходят по домам, вот и погляди как там ето реализованно.
(См. скрипты локи - эвенты oXB, oUserDef...)

4. На локалках, тут в принципе все просто тока нужно в них не запутатся.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Elf-Drow
сообщение Aug 24 2006, 18:49
Сообщение #1742


Level 8
***

Класс: Теневой Танцор
Характер: True Neutral
Раса: Эльф



А вот про систему локалок можно поподробнее? Много проверок на intы? Это не так уж и просто...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Вишес
сообщение Aug 31 2006, 14:35
Сообщение #1743


Level 13
****

Класс: Ниндзя
Характер: Chaotic Evil
Раса: Танар'ри



смотря что надо в твоем модуле. Простейший вариант - на персонажа вешается сокалка и в зависимости от твоих дейсвий ее значение меняется (на+1 или -1 за одно действие). Если тебе нужно, так сказать, общественное мнение, то можно разбить "общество" на группы, по какому-либо признаку(можно по алайментам например) и у каждой будет одна такая переменная.

У меня такой ворос возник: можноли сделать фит-состояние, вроде пауэр атак или экспертизы? и если можно, то как?

и еще возник вопрос относительно parts_bicep.2da и parts_forearm.2da

за что отвечает строчка ACBONUS? (не ужели за броню? 0.02 брони - это круто)
и вот например pmh0forer041.mdl относится к 4 или 41 строчке parts_forearm.2da?

(просто в одном хаке копаюсь, пытаюсь понять, почему в тулсете не отображаются все модели рук, которые есть в хаке)

Сообщение отредактировал Вишес - Aug 31 2006, 16:07
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 31 2006, 16:39
Сообщение #1744


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE(Nuprahtor @ Aug 24 2006, 16:57) [snapback]90426[/snapback]
Здравствуйте.
Как можно запретить персонажу брать второй\третий класс(если можно)?

на onPlayerLevelUp (есть такой слот в свойствах модуля) написать скрипт-проверку. Если классов 2/3 (те первый и второй/третий валидны), то отбираем опыт и на левелап заново.
Сам напишешь скрипт?


Вишес, а хз. Это точно не АС. Я по аналогии с другими (стандартными) строками делал и не парил себе моск.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Misty Archer
сообщение Sep 5 2006, 12:36
Сообщение #1745


Level 2
*

Класс: Тайный Лучник
Характер: True Neutral
Раса: Эльф



Доброго времени суток. Вот тут у меня пара вопросов:
1 Как сделать чтобы метка на карте появлялась после разговора с персонажем ( персонаж указывает в разговоре на это место)?
2 Я создал предмет, но он должен быть невидимым и при определенном значении навыка обнаружения должен появляться. Так вот, как сделать невидимым предмет и проводить проверку?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Sep 5 2006, 12:53
Сообщение #1746


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



1:

Размести в модуле вайпоинт с уже подготовленной пометкой.
(Только не забуть убрать галочку на св-ве: Map Note Enabled)
Далее, простой скрип на ActionTakes:

NSS
void main()
{
object oWP = GetWaypointByTag(""); // Здесь укажи Таг вайпоинта

SetMapPinEnabled(oWP, TRUE);
}


2:

В официальных модулях, это уже было реализовано. Посмотри там. (IMG:style_emoticons/kolobok_light/wink3.gif)

Сообщение отредактировал Dik Morris - Sep 5 2006, 12:57
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Misty Archer
сообщение Sep 5 2006, 17:11
Сообщение #1747


Level 2
*

Класс: Тайный Лучник
Характер: True Neutral
Раса: Эльф



По поводу второго ответа - можно поподробней.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Sep 5 2006, 18:08
Сообщение #1748


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

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



QUOTE(Misty Archer @ Sep 5 2006, 20:11) [snapback]91104[/snapback]
По поводу второго ответа - можно поподробней

Не думаю что поймешь.. но все же.
NSS
//:://////////////////////////////////////////////
//:: OnEnter  am_ten_skl_searh
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
  ПРИ УСПЕШНОЙ ПРОВЕРКЕ СКИЛА ПОИСК, СОЗДАЕМ Item.

ResRef создаваемого объекта равен локальному
стрингу на триггере, для всех классов CLASS_TYPE_ALL,
для всех остальных классов персонально для каждого:
CLASS_TYPE_BARBARIAN, CLASS_TYPE_FIGHTER и т.д.
Поле триггера KeyTag - сложность проверки скилла:
DC_EASY = 0; DC_MEDIUM = 1; DC_HARD = 2;
Флоат "DISTANCE" расстояние на котором создается
объект вокруг РС. Локалка "ACTION_MODE_DETECT"
устанавливает свойство триггера, он сработает только
когда РС в режиме обнаружения.

int CLASS_TYPE_BARBARIAN = 0;
int CLASS_TYPE_CLERIC    = 2;
int CLASS_TYPE_DRUID    = 3;
int CLASS_TYPE_FIGHTER  = 4;
int CLASS_TYPE_PALADIN  = 6;
int CLASS_TYPE_RANGER    = 7;
int CLASS_TYPE_INVALID  = 255;

nwscript

*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 31.12.2005 23:24 С новым Годом!
//:://///////////////////////////////////////////
#include "nw_i0_tool"
#include "am_inc_common"

void main()
{
  object oPC = GetEnteringObject();
  //object oHench = GetAssociate(ASSOCIATE_TYPE_HENCHMAN, oPC);
  object oSelf = OBJECT_SELF;
  string sMessage = GetName(oSelf); // Сообщение при обнаружении предмета PC
  string sHench1 = GetLocalString(oSelf, "HENCHMAN_string_1");
  string sHench2 = GetLocalString(oSelf, "HENCHMAN_string_2");
  string sHench3 = GetLocalString(oSelf, "HENCHMAN_string_3");
  string sHench4 = GetLocalString(oSelf, "HENCHMAN_string_4");
  string sHench5 = GetLocalString(oSelf, "HENCHMAN_string_5");
  float f = GetLocalFloat(oSelf, "DISTANCE"); // Расстояние от РС для находки
  if(f==0.0) f = 2.0; // Если нет, то по умолчанию 2 метра радиус
  location lLoc = CreateRandomLocation(oPC, f);
  int iDC = StringToInt(GetLockKeyTag(oSelf)); // Сложность проверки скилла
  if(!GetIsPC(oPC)||GetIsInCombat(oPC)||GetLocalInt(oSelf, "DEACTIVATED"))
      return;

  //-----------------------------------
  //    Ищем в списке помощников Алишан
  //-----------------------------------
  object oHench = GetObjectByTag("AM_HEN_ALISHAN");
  if(!GetIsAssociate(oPC, oHench))
  {
    oHench = OBJECT_INVALID;
  }
  //-----------------------------------

  if(!GetActionMode(oPC, ACTION_MODE_DETECT) && GetLocalInt(oSelf, "ACTION_MODE_DETECT"))
  {
    if (GetIsObjectValid(oHench)) // Хеньчман нас предупреждает, что тут что-то есть
    {
    if(!GetLocalInt(oSelf, "HENCHMAN_SPEAK"))
    {
      SetLocalInt(oSelf, "HENCHMAN_SPEAK", TRUE);
      DelayCommand(0.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_SEARCH)));
      DelayCommand(0.21, AssignCommand(oHench, SpeakString(sHench1)));
    }
    }
    if(GetGameDifficulty() == GAME_DIFFICULTY_EASY || !GetLocalInt(GetModule(), "DEBAG_PC"))
      SendMessageToPC(oPC, "<cу  >ВКЛЮЧИТЕ РЕЖИМ ОБНАРУЖЕНИЯ.</c>");
    return;
  }

  SetLocalInt(oSelf, "DEACTIVATED", TRUE);
  string sResRef = GetLocalString(oSelf, "CLASS_TYPE_ALL");  // Предмет для всех
  string sB = GetLocalString(oSelf, "CLASS_TYPE_BARBARIAN"); // Каждому персонально
  string sC = GetLocalString(oSelf, "CLASS_TYPE_CLERIC");
  string sF = GetLocalString(oSelf, "CLASS_TYPE_FIGHTER");
  string sP = GetLocalString(oSelf, "CLASS_TYPE_PALADIN");
  string sR = GetLocalString(oSelf, "CLASS_TYPE_RANGER");
  string sD = GetLocalString(oSelf, "CLASS_TYPE_DRUID");

  int iBestClass = GetCreatureBestClass(oPC); // Ищем лучший класс мультиклассов

  // Дебаг класса
  string sClass;
  if(iBestClass==0) sClass="BARBARIAN";
  if(iBestClass==2) sClass="CLERIC";
  if(iBestClass==3) sClass="DRUID";
  if(iBestClass==4) sClass="FIGHTER";
  if(iBestClass==6) sClass="PALADIN";
  if(iBestClass==7) sClass="RANGER";
  Debug("Лучший класс игрока - "+sClass);

  if(sResRef=="") // Если создаем предметы для классов
  {
    // Приравняем ResRef-ы к единому значению взяв от каждого класса
    if(iBestClass==0) sResRef=sB;  if(iBestClass==6) sResRef=sP;
    if(iBestClass==2) sResRef=sC;  if(iBestClass==7) sResRef=sR;
    if(iBestClass==4) sResRef=sF;  if(iBestClass==3) sResRef=sD;
  }

  if(AutoDC(iDC, SKILL_SEARCH, oPC))
    {
    if(sResRef != "")
    {
        object oItem = CreateObject(OBJECT_TYPE_ITEM, sResRef, lLoc);
        AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_LOOKHERE));
        string sRunScript = GetLocalString(oSelf, "RUN_SCRIPT");
        if(sRunScript!="")
        DelayCommand(2.0, ExecuteScript(sRunScript, oItem));
        if(sMessage == "Предмет + [Текст над РС]" || sMessage =="Item + [Текст над РС]")
          sMessage = "";
        AssignCommand(oPC, SpeakString(sMessage));
        SendMessageToPC(oPC, "<c у >Вы обнаружили предмет.</c>");
        AssignCommand(oPC, ClearAllActions());
        AssignCommand(oPC, ActionDoCommand(SetFacingPoint(GetPositionFromLocation(lLoc))));
        DelayCommand(0.3, SetCommandable(FALSE, oPC));
        DelayCommand(2.0, SetCommandable(TRUE, oPC));

        if (GetIsObjectValid(oHench))
        {
          AssignCommand(oHench, ClearAllActions());
          AssignCommand(oHench, SetFacingPoint(GetPositionFromLocation(lLoc)));

          if(GetLocalInt(oSelf, "HENCHMAN_SPEAK"))
          {
            DelayCommand(3.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_YES)));
            DelayCommand(3.21, AssignCommand(oHench, SpeakString(sHench2)));
          }
          else
            {
              DelayCommand(3.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_GOODIDEA)));
              DelayCommand(3.21, AssignCommand(oHench, SpeakString(sHench3)));
            }
      }
    }
    else
        {
          // Если мы забыли написать ResRef предметов, то ошибка
          Debug("<cу  >ОШИБКА!</c> Не могу создать объект. Нет ResRef-а для класса - "+sClass);
        }
    }
    else
        {
          if(GetLocalInt(oSelf, "HENCHMAN_SPEAK"))
          {
              AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_CANTDO));
              AssignCommand(oPC, SpeakString("Я ничего не вижу."));
              DelayCommand(3.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_NO)));
              DelayCommand(3.21, AssignCommand(oHench, SpeakString(sHench4)));
              DelayCommand(6.2, AssignCommand(oHench, PlayVoiceChat(VOICE_CHAT_MOVEOVER)));
              DelayCommand(6.21, AssignCommand(oHench, SpeakString(sHench5)));

          }
        }
}

Рандомную локацию глянь код в теме базы скриптов.

Вешается на он ентр триггера.
NSS
location CreateRandomLocation(object oTarget, float fRadius, int bOnLine = TRUE)
{
if(!bOnLine)
fRadius=IntToFloat(Random(FloatToInt(fRadius)));

float iXO=VectorMagnitude(GetPosition(oTarget))*cos(VectorToAngle(GetPosition(oTarget)));
float iYO=VectorMagnitude(GetPosition(oTarget))*sin(VectorToAngle(GetPosition(oTarget)));
float fRndomAngle=IntToFloat(Random(360));
location lNEW=Location(GetArea(oTarget),Vector(iXO+fRadius*cos(fRndomAngle),iYO+fRadius*sin(fRndomAngle)),360.0);
return lNEW;
}


int GetCreatureBestClass(object oCr)
{
    int class1 = GetClassByPosition(1, oCr);
    int class2 = GetClassByPosition(2, oCr);
    int class3 = GetClassByPosition(3, oCr);
    int classlev1, classlev2, classlev3;
    classlev1 = GetLevelByClass(class1, oCr);
    if (class2 != CLASS_TYPE_INVALID)
        classlev2 = GetLevelByClass(class2, oCr);
    if (class3 != CLASS_TYPE_INVALID)
        classlev3 = GetLevelByClass(class3, oCr);
    int BestClass = class1;
    if (classlev1 < classlev2)
        BestClass = class2;
    if (classlev2 < classlev3)
        BestClass = class3;
    return BestClass;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Misty Archer
сообщение Sep 7 2006, 16:22
Сообщение #1749


Level 2
*

Класс: Тайный Лучник
Характер: True Neutral
Раса: Эльф



Спасиб, будем разбираться (IMG:style_emoticons/kolobok_light/biggrin.gif) .
Опять новый вопрос:
1 хочу вставить в книгу рисунок карты, возможно ли это?
2 можно ли сделать что-то типа проверки на ловкость при вскрытии замков
( так же хочу сделать в модуле отмычки которые будут влиять на результат этой проверки если их держать в руках, как это зделать)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Sep 7 2006, 17:37
Сообщение #1750


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

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



1. Нет.
2. Слот OnUnlocked. Проверка идет и так. Отмычки делай как в палитре + к скилу открыть замок. Вот тебе скрипт на экспу. Мож поправить чо надо.
NSS
//:://////////////////////////////////////////////
//:: OnUnlocked am_dul_unlocked
//:: Copyright © 2004 WRG!
//:://////////////////////////////////////////////
/*
              УНИВЕРСАЛЬНЫЙ СКРИПТ
    РАЗДЕЛЕНИЕ ХР ЗА ОТКРЫТИЕ-ОБЕЗВРЕЖИВАНИЕ
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 09.05.2004
//:://////////////////////////////////////////////
#include "nw_i0_tool"
void main()
{
int iL = GetLockUnlockDC(OBJECT_SELF);
int iT = GetTrapDisarmDC(OBJECT_SELF);
object oDisarmed = GetLastDisarmed();
object oUnlocked = GetLastUnlocked();
//================ ОТКРЫВАЕМ ЗАМОК ================
if ((!GetLocalInt(OBJECT_SELF, "UNLOCKED"))&&(GetIsObjectValid(oUnlocked)))
  {
  SetLocalInt(OBJECT_SELF, "UNLOCKED", TRUE);
  if (HasItem(oUnlocked,GetLockKeyTag(OBJECT_SELF))) return;
  if (GetIsPC(oUnlocked)) // Если замок вскрыл РС
    {
    GiveXPToCreature(oUnlocked, (iL * GetHitDice(oUnlocked)/3));
    // XP = DC двери умноженное на 1/3 уровень РС
    return;
    }
  else // Если замок вскрыл Henchman
    RewardPartyXP((iL*2), GetMaster(oUnlocked));
    // XP = DC двери умноженное на 2
  return;
  }
//=============== ОБЕЗВРЕЖИВАЕМ ЛОВУШКУ ============
if ((!GetLocalInt(OBJECT_SELF, "DISARMED"))&&(GetIsObjectValid(oDisarmed)))
  {
  SetLocalInt(OBJECT_SELF, "DISARMED", TRUE);
  if (HasItem(oDisarmed,GetTrapKeyTag(OBJECT_SELF))) return;
  if (GetIsPC(oDisarmed)) // Если ловушку обезвредил РС
    {
    GiveXPToCreature(oDisarmed, (iT * GetHitDice(oDisarmed)/3));
    // XP = DC ловушки умноженное на 1/3 уровень РС
    return;
    }
  else // Если ловушку обезвредил Henchman
    RewardPartyXP((iT*2), GetMaster(oDisarmed));
    // XP = DC ловушки умноженное на 2
  }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

135 страниц V  « < 68 69 70 71 72 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th April 2024 - 18:49