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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 102 103 104 105 106 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Aiwan
сообщение Oct 4 2006, 06:31
Сообщение #2576


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

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



Чертишь триггер перед дверью сразу. И вешаешь на ОнЕнтер триггера скрипт:
NSS
//:://////////////////////////////////////////////
//:: OnEnter  am_ten_door_d_n
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
      Триггер закрыв. двери ночью
          и открыв. днем/утром
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 20.04.2005
//:://////////////////////////////////////////////
void main()
{
object oDoor = GetNearestObject(OBJECT_TYPE_DOOR);
int iLock = GetLocalInt(oDoor, "LOCKED_NIGHT");
if ((GetIsNight()&&iLock==TRUE)||(GetIsDay()||GetIsDawn()&&iLock==FALSE))
  {
  return;
  }
  if (GetIsNight())
  {
  SetLocked(oDoor, TRUE);
  SetLocalInt(oDoor, "LOCKED_NIGHT", TRUE);
  return;
  }
  if (GetIsDay()||GetIsDawn() && iLock == TRUE)
      {
      SetLocked(oDoor, FALSE);
      SetLocalInt(oDoor, "LOCKED_NIGHT", FALSE);
      }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Oct 4 2006, 14:05
Сообщение #2577


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

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Маленькая модернизация скрипта Лекса. Можно менять час закрытия у нужной двери.
NSS
//:://///////////////////////////////////////
//:: Закрытие двери: день - ночь.  Слот ХБ
//:: Created By: Gennady
//:://///////////////////////////////////////
void main()
{
  object oSelf = OBJECT_SELF;
  int T = GetTimeHour();
  int iNewT = StringToInt(GetLockKeyTag(oSelf)); // Новый час ЗАКРЫТИЯ
  int iT = 21; // БАЗОВЫЙ час ЗАКРЫТИЯ

  if (iNewT >= 1) iT = iNewT;
  if(T>=iT || T<6)
  {
    AssignCommand(oSelf, ActionCloseDoor(oSelf));
    AssignCommand(oSelf, ActionDoCommand(SetLocked(oSelf, TRUE)));
  }
  else
    AssignCommand(oSelf, SetLocked(oSelf, FALSE));
}
/* Если в слоте тэга ключа стоит цифра, то это новый час закрытия этой двери */


Сообщение отредактировал gennady - Oct 4 2006, 14:15
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 4 2006, 14:40
Сообщение #2578


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

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



gennady, имхо:
- прятать инфу в LockKeyTag когда можно уже локалки делать в тулсе как-то попахивает нафталином (IMG:style_emoticons/kolobok_light/smile.gif)
- ставить SetLocked в очередь совершенно не обязательно. Фишка в том, что SetLocked(..,TRUE) можно сделать даже открытой двери. И закрыв ее - мы сразу ее и запрем. (ну эт так, придирка)
- чтобы не сравнивать каждый раз if (iNewT >= 1) iT = iNewT; проще вписать базовый час открытия в локалку (если ее не задал пользователь) и потом всегда работать с локалкой.
- ну и самое главное - ты не проверяешь, заперта ли уже дверь или нет, а значит всю ночь (с 21 до 6) ты будешь ее закрывать и запирать. Это лишнее.

доступно объяснил? (IMG:style_emoticons/kolobok_light/smile.gif)

Animeslave в принципе нормальный скрипт привел, только там else лишние малек.
так же у Айва неплохой вариант, позволяющий не загружать ХБ, только его конечно лучше немного переписать в плане структуры и проверок - корявенький. А идея интересная.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Neo
сообщение Oct 6 2006, 00:21
Сообщение #2579



Иконки Групп

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



не совсем понял смыла таких эээ... больших скриптов (IMG:style_emoticons/kolobok_light/pardon.gif) я бы написал нечто вроде
NSS
int nLock = GetTimeHour() < GetLocalInt(OBJECT_SELF, "open_time") || GetTimeHour() >= GetLocalInt(OBJECT_SELF, "close_time");
if( GetLocked(OBJECT_SELF) != nLock ) {
  if( nLock ) AssignCommand(OBJECT_SELF, ActionCloseDoor(OBJECT_SELF));
  SetLocked(OBJECT_SELF, nLock);
}

не проверял понятно (IMG:style_emoticons/kolobok_light/pardon.gif)

можно еще добавить проверку на open_time > close_time (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
r1Stranger
сообщение Oct 21 2006, 16:02
Сообщение #2580


Level 4
**

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



Какой скрипт (если есть) отвечает за восстановление заклинаний у кастеров?

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 22 2006, 00:10
Сообщение #2581


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

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



NSS
ForceRest(oPC);

Такой не помогает?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
SoulReaver
сообщение Oct 26 2006, 13:28
Сообщение #2582


Level 1


Класс: Рейнджер
Характер: Lawful Neutral
Раса: Эльф



Человек я здесь новый, но перейду сразу к делу. Меня интересует следующее - как ограничить развитие oPC по классу (т.е. задать для пользователя развитие только по тому классу, который определит разработчик). Или скажите хотя бы, как называется скрипт, который описывает все классы.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vhall
сообщение Oct 26 2006, 14:18
Сообщение #2583


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

Класс: Обыватель
Характер: True Neutral
Раса: Дварф
NWN: Контент



Тебе нужен не скрипт, а classes.2da
Там есть столбец PlayerClass: 1 - игрок может выбирать при генерации, 0 - нет.

Сообщение отредактировал Vhall - Oct 26 2006, 14:19
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
SoulReaver
сообщение Oct 27 2006, 10:42
Сообщение #2584


Level 1


Класс: Рейнджер
Характер: Lawful Neutral
Раса: Эльф



Это я знаю, но мне этот вариант не подходит. Мысль в следующем: oPC развивается по классу который задал автор, но по ходу игры некоторые NPC могут предоставить возможность обучатся и по другому классу. Вся сложность в том, что необходимо выдержать линейность сюжета, а иначе полная белеберда получится.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 27 2006, 15:13
Сообщение #2585


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

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



хм.. ну в принципе можно сделать следующее:
перевести все классы, кроме начального в позицию "престиж класс". (или что наверное более логично - сделать копии нужных классов в формате престижа, закрыв базовые классы). Так как в условия взятия престижа можно внести локалку (те определенная локалка имеет определенное значение), то установив ее в диалоге нужном, можно открыть нужный престиж класс.
Я ясно выражаюсь? (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ноин
сообщение Oct 27 2006, 18:59
Сообщение #2586


Level 3
*

Класс: Дварф-Защитник
Характер: Chaotic Good
Раса: Дварф



Мне нужно, чтобы персонаж выглядел определенным образом - То есть человек, с рожей с рогами и с хвостом (по сюжету это тифлинг) Как это сделать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 27 2006, 19:07
Сообщение #2587


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

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



ы? у НПС в свойствах Appearance все настраивается.
Если скриптами, то есть
NSS
// Sets the body part model to be used on the creature specified.
// The model names for parts need to be in the following format:
//  p<m/f><race letter><phenotype>_<body part><model number>.mdl
//
// - nPart (CREATURE_PART_*)
//      CREATURE_PART_RIGHT_FOOT
//      CREATURE_PART_LEFT_FOOT
//      CREATURE_PART_RIGHT_SHIN
//      CREATURE_PART_LEFT_SHIN
//      CREATURE_PART_RIGHT_THIGH
//      CREATURE_PART_LEFT_THIGH
//      CREATURE_PART_PELVIS
//      CREATURE_PART_TORSO
//      CREATURE_PART_BELT
//      CREATURE_PART_NECK
//      CREATURE_PART_RIGHT_FOREARM
//      CREATURE_PART_LEFT_FOREARM
//      CREATURE_PART_RIGHT_BICEP
//      CREATURE_PART_LEFT_BICEP
//      CREATURE_PART_RIGHT_SHOULDER
//      CREATURE_PART_LEFT_SHOULDER
//      CREATURE_PART_RIGHT_HAND
//      CREATURE_PART_LEFT_HAND
//      CREATURE_PART_HEAD
// - nModelNumber: CREATURE_MODEL_TYPE_*
//      CREATURE_MODEL_TYPE_NONE
//      CREATURE_MODEL_TYPE_SKIN (not for use on shoulders, pelvis or head).
//      CREATURE_MODEL_TYPE_TATTOO (for body parts that support tattoos, i.e. not heads/feet/hands).
//      CREATURE_MODEL_TYPE_UNDEAD (undead model only exists for the right arm parts).
// - oCreature: the creature to change the body part for.
// Note: Only part based creature appearance types are supported.
// i.e. The model types for the playable races ('P') in the appearance.2da
void SetCreatureBodyPart(int nPart, int nModelNumber, object oCreature=OBJECT_SELF)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ноин
сообщение Oct 27 2006, 21:57
Сообщение #2588


Level 3
*

Класс: Дварф-Защитник
Характер: Chaotic Good
Раса: Дварф



Я говорю про гг естественно
мне нужно, чтобы при создании персонажа был достпен только один вид лица и тела + уже забитые цвета. совсем хорошо было бы сделать его с хвостом...

Сообщение отредактировал Ноин - Oct 27 2006, 22:00
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 27 2006, 22:36
Сообщение #2589


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

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



зафиксировать части тела врядли получится.. можно конечно накопировать нужную голову под всеми возможными номерами, чтобы как не переключай, все равно была одна и та же, но это плохой выход.
Хвост приделать после генережки.. голову тоже там рекомендую поменять, как и все остальное. Цвета - хз.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Don_Beavis
сообщение Oct 27 2006, 23:11
Сообщение #2590


Level 1


Класс: Клерик
Характер: Neutral Evil
Раса: Дварф



Народ, подскажите хороший скриптик генератора лута.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Oct 28 2006, 03:01
Сообщение #2591


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Генерация лута не просто скриптик - это целая система.
Понятие "хороший" тут вообще не приемлимо, так как все системы пишутся под четкие нужды, концепцию модуля.

Для начала нужно понять, что тебе нужно от этой системы, что собственно должно получиться после после ее работы, что она и как должна генерировать. Я не про примудрости скриптинга, не про саму реализацию - об этом скриптер будет думать. А о самой концепции - нужно четко представлять, как она будет работать, и каким должен быть конечный результат.

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

Но опять же, советовать что-то по такому поводу очень проблематично. Ты сам должен определиться с тем, что собственно нужно и уже исходя из этого выбрать тот "хороший скриптик".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ноин
сообщение Oct 28 2006, 22:38
Сообщение #2592


Level 3
*

Класс: Дварф-Защитник
Характер: Chaotic Good
Раса: Дварф



QUOTE
зафиксировать части тела врядли получится.. можно конечно накопировать нужную голову под всеми возможными номерами, чтобы как не переключай, все равно была одна и та же, но это плохой выход.
Хвост приделать после генережки.. голову тоже там рекомендую поменять, как и все остальное. Цвета - хз


мне нужно, чтобы у игрока, начавшего играть в мой модуль, не было выбора в создании персонажа насчет его внешнего вида. себе я то могу сделать что угодно через эдитор, а вот как так сделать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Oct 28 2006, 23:45
Сообщение #2593


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

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



процитированный тобой текст и есть ответ. Скриптами после генережки игрока (в слоте onClientEnter наверное) функцией указанной выше менять голову, приделывать хвост.. а чтобы не было выбора, тут я имею лишь 2 варианта.. Первый тот, что написан в цитируемой части, а второй - поковырять GUI и попробовать там проскочить настройку внешности или заблокировать возможности ее изменения.. но как - я глубоко хз.

__
ну и вариант 3 - не забивать себе голову такими мелочами. Когда начнешь нормально делать модуль, влезешь в сюжетно-квестовые заморочки, диалоги и скриптование всего этого, такие вот вещи как ненастраеваемая внешность покажутся пустяками, на которые не стоит тратить время.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Neo
сообщение Oct 29 2006, 00:15
Сообщение #2594



Иконки Групп

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



QUOTE(Lex @ Oct 29 2006, 00:45) [snapback]96085[/snapback]
поковырять GUI и попробовать там проскочить настройку внешности или заблокировать возможности ее изменения.. но как - я глубоко хз.

Ноин, берешь файлО cg_appearance.gui, бирешь любой гыфыфы-едитор, смотришь кнопки по тегу с частью тела, в примере HairButton, конкренто показываю:
(IMG:http://www.city-of-masters.ru/portal/uploads/gui.jpg)
и убиваешь ее, либо помечаешь неактивной, либо выставляешь координаты точно за пределами экрана.
Если не получиццо ничего из этого - делаешь страшшшнае лицо (IMG:style_emoticons/kolobok_light/orc.gif) и кричишь грозным голосом: "Не будешь работать, буду под нывыны2 делать" (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ноин
сообщение Oct 29 2006, 10:47
Сообщение #2595


Level 3
*

Класс: Дварф-Защитник
Характер: Chaotic Good
Раса: Дварф




QUOTE
ну и вариант 3 - не забивать себе голову такими мелочами. Когда начнешь нормально делать модуль, влезешь в сюжетно-квестовые заморочки, диалоги и скриптование всего этого, такие вот вещи как ненастраеваемая внешность покажутся пустяками, на которые не стоит тратить время.


Весь смысл всего модуля потеряется если гг будет обычным человеком, а ему будут кричать люди при встрече - демон, демон, страааажа, помогиите!

2NeoJSmith - спасибо
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Oct 30 2006, 16:44
Сообщение #2596


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

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



С переходом на версию 1.68 возник вопрос, как менять облик плаща скриптово? Пробовал по старинке с помощью функции "CopyItemAndModify". Не копирует. Конечно, спасибо им за плащи, как говорится, не прошло и года. Долго ждали. Но, чувствуется, не все до конца доделали.

Пробовал так, бесполезно:
NSS
#include "x2_inc_craft"

void main()
{
    object oPC = GetPCSpeaker();
    object oCloak = CIGetCurrentModItem(oPC);

    int nPart = StringToInt(Get2DAString("cloakmodel", "MODEL", Random(14)+1));

    if (GetIsObjectValid(oCloak))
    {
        object oItem = CopyItemAndModify(oCloak, ITEM_APPR_TYPE_SIMPLE_MODEL, 0, nPart);
        AssignCommand(oPC, ActionEquipItem(oItem, INVENTORY_SLOT_CLOAK));
        DestroyObject(oCloak);
        CISetCurrentModItem(oPC, oItem);
    }
}

Можно, в принципе, обойтись и без "Get2DAString", но все равно ничего не меняется. Из-за этого изменения перестали генерироваться случайные плащи в модуле (IMG:style_emoticons/kolobok_light/sad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Oct 30 2006, 17:08
Сообщение #2597


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Хм, копировать руками?
Тобишь создавать плащ, навешивать на него св-ва нужные и мудрить с моделью, а старый удалять????
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Oct 31 2006, 01:19
Сообщение #2598


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

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



-fenix-, берем плащ, и изменяем ему, к примеру, модель. С другими вещами эта функция работает как нужно, с новыми плащами она отказывается работать. Плащ просто исчезает. И правильно, потому что функция дальше удаляет старый объект, только нового плаща нет.

Навешивать что-либо на вещь можно и без изменения модели. С этим проблем нет, а вот что касается плащей, тут загвоздка. Видимо придется делать 14 разных моделей плаща, чтобы не менять модель. Я еще это делал для крафта, чтобы можно было поменять облик шлема, ну и плаща, раз такая появилась возможность.

Сообщение отредактировал Zirrex - Oct 31 2006, 01:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Oct 31 2006, 03:14
Сообщение #2599


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Для крафта шапок и щитов приходилось делать кучу итемов в палитре, а потом ручками создавать/удалять. Этак "по-скриптерски в лоб" (IMG:style_emoticons/kolobok_light/smile.gif) Но как говорил один мой друг, самый простой метод - самый правильный (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2_advanced
сообщение Oct 31 2006, 11:01
Сообщение #2600


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

Класс: Вор
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]



QUOTE(denis0k @ Oct 31 2006, 03:14) [snapback]96282[/snapback]

Для крафта шапок и щитов приходилось делать кучу итемов в палитре, а потом ручками создавать/удалять. Этак "по-скриптерски в лоб" (IMG:style_emoticons/kolobok_light/smile.gif) Но как говорил один мой друг, самый простой метод - самый правильный (IMG:style_emoticons/kolobok_light/smile.gif)

угу =) особенно если стоит СЕП.
100 плащей и х100 на каждый цвет)
итого - плащи весят больше чем модуль (IMG:style_emoticons/kolobok_light/ph34r.gif)

(IMG:style_emoticons/kolobok_light/offtopic.gif) (зы. от плащей вылеты чаще раз в 6, может стоит их нафиг отключить?)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 102 103 104 105 106 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th April 2025 - 21:55