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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 55 56 57 58 59 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Lex
сообщение Jun 10 2005, 00:58
Сообщение #1401


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

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



Вот самый примитив краффта через стол. Никаких проверок на навыки, 0 работа в плане стеков, не самый оптимальный вариант проверки рецепта и прочее. Короче катит только как примерчик..и то с напрягом.

В слот onClose стола
Neverwinter Script Source
int CheckCombo1()
    {
    int C1,C2,C3,C4;
    object oItem = GetFirstItemInInventory();
    while (GetIsObjectValid(oItem))
        {
        if (GetTag(oItem)=="ITM_1") { C1 = TRUE; }
        if (GetTag(oItem)=="ITM_2") { C2 = TRUE; }
        if (GetTag(oItem)=="ITM_3") { C3 = TRUE; }
        if (GetTag(oItem)=="ITM_4") { C4 = TRUE; }
        oItem = GetNextItemInInventory();
        }
    if (C1&&C2&&C3&&C4) return TRUE;
    return FALSE;
    }
void Combo1()
    {
    object oItem = GetFirstItemInInventory();
    while (GetIsObjectValid(oItem))
        {
        if (GetTag(oItem)=="ITM_1") DestroyObject(oItem);
        if (GetTag(oItem)=="ITM_2") DestroyObject(oItem);
        if (GetTag(oItem)=="ITM_3") DestroyObject(oItem);
        if (GetTag(oItem)=="ITM_4") DestroyObject(oItem);
        oItem = GetNextItemInInventory();
        }
    CreateItemOnObject("nw_it_gem012",GetLastUsedBy());
    }

void main()
{
if(CheckCombo1())
    {
    Combo1();
    }
}



положите на стол 4 вещи с тэгами "ITM_1","ITM_2","ITM_3","ITM_4" и получите изумруд.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Убо-Сатло
сообщение Jun 10 2005, 02:00
Сообщение #1402


Level 5
**

Класс: Маг
Характер: True Neutral
Раса: Человек



QUOTE (Garou @ Jun 9 2005, 21:39)

Neverwinter Script Source
GetCalendarDay()+19);/*Странно, но если поставить 20, то при узании с 1го числа идет переход в 22?!*/

Вот это действительно странно! Но может быть в этом вся проблема? Ты установил этим скриптом дату через 19 дней вместо 20, и, если ты и в 1 скрипте
Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
int d = GetLocalInt(oPC, "data");
SetLocalInt(oPC, "data", GetCalendarDay());
if(d<=8)
{
  SetLocalInt(GetModule(), "STRELKA", d+20);
}
else
{
  SetLocalInt(GetModule(), "STRELKA", (d+20)-28);
}
}
не поменял тоже 20 на 19, то события произойдут ЗАВТРА, в это же время! А почему с первого на 22 переходит, я понять не могу, единственный вариант, который можно предположить, это ты дергал рычаг в полночь ровно, но это вряд ли.
2 вариант: после первого разговора с угрозой непись куда у тебя девается? Если дестроится, то причина в этом. Тогда вместо
Neverwinter Script Source
AssignCommand(oNPC, ActionJumpToObject(oPC));

нужно ставить
Neverwinter Script Source
CreatObject(OBJECT_TYPE_CREATURE, "ResRefNPC", GetLocation(oPC), FALSE, "TagNPC");

если нет, то извиняюсь, этот вариант отпадает.
И еще, судя по твоему варианту скрипта, NPC не нападает сразу, а сначала начинает диалог. В таком случае лучше
Neverwinter Script Source
SetLocalInt(oPC, "RAZBORKA", TRUE);
это поставь в диалог на последнюю фразу диалога, но в условие if() добавь еще && !IsInConversation(oNPC). Это чтобы NPC не джампал во время диалога. А на последнюю чтобы игрок не мог уклониться от боя. И сразу там же после установки локалки начинай бой
Neverwinter Script Source
AssignCommand(oNPC, ActionAttack(oPC));

Еще, попробуй на рычаг поставить там где GetCalendarDay() +1 и юзай его 20 раз. Запаристо, но можешь проследить, что там с календарем. Если ничего не поможет, попробуй все локалки("STRELKA","RAZBORKA") навесить на PC а не на модуль. Если все равно ничего не выйдет, отпости все свои показатели(календарную дату и время первого разговора, когда NPC угрожает), я попробую у себя все это воспроизвести и проверить.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Jun 10 2005, 02:08
Сообщение #1403


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



Убо-Сатло
не по теме, но акцентирую ваше внимание на одном моменте - SetTime двигает время только вперед. т.е. если, скажем, в 14:00 ставить 00:00, то поставится 00:00 следущего дня.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Puh
сообщение Jun 10 2005, 07:14
Сообщение #1404


Level 2
*

Класс: Теневой Танцор
Характер: Neutral Evil
Раса: Полуэльф



Извиняюсь, если мой странный вопрос уже где-то есть, но как сделать чтобы при разговоре у персонажа отнималось какое-то количество одинаковых вещей? :xz: , если вопрос повторяется, то где?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Pather
сообщение Jun 10 2005, 08:53
Сообщение #1405


Level 1


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



QUOTE (Puh @ Jun 10 2005, 07:14)
Извиняюсь, если мой странный вопрос уже где-то есть, но как сделать чтобы при разговоре у персонажа отнималось какое-то количество одинаковых вещей? :xz: , если вопрос повторяется, то где?

Lexicon отменили?

Например так:
TakeNumItems(object, string, int)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dark@ngel
сообщение Jun 10 2005, 20:11
Сообщение #1406


Level 1


Класс: Друид
Характер: Lawful Neutral
Раса: Полуэльф



У меня вопрос: 2 разных гильдии, как сделать так, чтобы если НП согласится состоять в одной, во вторую его не принимали? :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Garou
сообщение Jun 10 2005, 20:52
Сообщение #1407


Level 3
*

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



Lex, спасибо за: ЕЩЕ РАЗ УВИЖУ СКРИПТЫ, НАПИСАННЫЕ НЕ В NSS - СРАЗУ ПРЕД. Работает на 100%. Сразу научился использовать NSS!!! Почаще так!!! Может еще с меня и люди получатся:)
Теперь позвольте спросить: Недавно Aiwan выкладывал скрипт который при атаке непися превращал его в оборотня. У меня в диалоге игрока превращают в голем плоти, но единственное, что я нашел о големах :
Neverwinter Script Source
void main()
{
    effect eShape = EffectPolymorph(POLYMORPH_TYPE_GOLEM_AUTOMATON);
    object oPC = GetPCSpeaker();
    if (GetLocalInt(oPC, "GOLEM_FLESH_YES") == 1)
      return;
    {
    SetLocalInt(oPC, "GOLEM_FLESH_YES", 1);
    ApplyEffectToObject(DURATION_TYPE_INSTANT, eShape, oPC);
    }
}

В игре этот скрипт игрока просто растворяет:(! Как заменить AUTOMATON на FLESH. Да и возможно ли сделать способность надевать на игрока потом шмотки?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jun 10 2005, 23:06
Сообщение #1408


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

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



QUOTE
Добрый вечер всем! Хотела поинтересоваться какой скрипт надо вешать, чтобы НПС дал НП определенный предмет.


Neverwinter Script Source
void main()
{
   
    CreateItemOnObject("тег предмета", GetPCSpeaker(), кол-во);

}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tiger Greyhawk
сообщение Jun 11 2005, 06:29
Сообщение #1409



Иконки Групп

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (-fenix- @ Jun 11 2005, 00:06)
QUOTE Добрый вечер всем! Хотела поинтересоваться какой скрипт надо вешать, чтобы НПС дал НП определенный предмет.

Neverwinter Script Source void main() { CreateItemOnObject("тег предмета", GetPCSpeaker(), кол-во);

}


Сорри, поправочка. Если Create, то РезРеф. Но можно использовать и ActionGiveItem(oObject, oPC); oObject должен быть у непися, который его дает, и задан в скрипте: object oObject=GetObjectByTag("Здесь_именно_тэг_предмета");
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Puh
сообщение Jun 11 2005, 07:58
Сообщение #1410


Level 2
*

Класс: Теневой Танцор
Характер: Neutral Evil
Раса: Полуэльф



QUOTE (Pather @ Jun 10 2005, 08:53)
Lexicon отменили?

Например так:
Neverwinter Script Source
TakeNumItems(object, string, int)

Имеешь ввиду функцию добавить что-ли, у м-я в тулсе таких строк нету :bad:

Сообщение отредактировал Leon PRO - Jun 13 2005, 15:13
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Puh
сообщение Jun 11 2005, 08:04
Сообщение #1411


Level 2
*

Класс: Теневой Танцор
Характер: Neutral Evil
Раса: Полуэльф



QUOTE (Dark@ngel @ Jun 10 2005, 20:11)
У меня вопрос: 2 разных гильдии, как сделать так, чтобы если НП согласится состоять в одной, во вторую его не принимали? :xz:

Попробуй к примеру так: при переходе перса в одну из гильдий добавляется запись в журнале. А у второй гильдии поставь запрет на существование этой записи у перса, к примеру через разговор, чтобы вариант предложения на вступление в гильдию не появлялся если есть запись в журнале.:yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Garou
сообщение Jun 11 2005, 10:37
Сообщение #1412


Level 3
*

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



У меня в диалоге непись при грубом с ней обращении должна доставать оружие. Оружие при этом находится у нее в рюкзаке. Я написал
Neverwinter Script Source
void main()
{
object oNPC = GetObjectByTag("тег неписи");
object oItem = GetObjectByTag("тег итема");
AssignCommand(oNPC, ActionEquipItem(oItem, INVENTORY_SLOT_RIGHTHAND));
}

и повесил на ActionTaken грубой реплики игрока. Но результата нет?!
!!! Да!!! Еще, я спрашивал о превращении игрока в голем плоти..., а как потом обратно превратить в игрока?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 11 2005, 11:09
Сообщение #1413


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

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



QUOTE (Dark@ngel @ Jun 10 2005, 23:11)
меня вопрос: 2 разных гильдии, как сделать так, чтобы если НП согласится состоять в одной, во вторую его не принимали?

Вешай локалку на него или на предмет какой. В диалоге торжественной клятвы обществу.

Neverwinter Script Source
SetLocalInt(oPC, "ОБЩЕСТВО_БОРЬБЫ_С_ОБОРТАМИ"1);


Внизу проверка на принадлежность. Ставь в диалоге на верхнюю корневую строку прием в ОБЩЕСТВО НОСИТЕЛЕЙ ПЕНИСОВ. Проверится строка и выдаст НПС фразу, типа а ты уже там состоишь! Пошел вон! МОжно это все сделать через фракции. Если тебе надо что бы одни дубасили других, то скажи, перепишу через фракции.
Neverwinter Script Source
int StartingConditional()
{
  if (GetLocalInt(oPC, "ОБЩЕСТВО_БОРЬБЫ_С_ОБОРТАМИ")==1);
      {
      return TRUE;
        }
        return FALSE;
}


Добавлено в [mergetime]1118477709[/mergetime]
Я писал без авроры... Так что мог ошибиться или сабыть что нить..
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jun 11 2005, 21:04
Сообщение #1414


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

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



QUOTE
Извиняюсь, если мой странный вопрос уже где-то есть, но как сделать чтобы при разговоре у персонажа отнималось какое-то количество одинаковых вещей?


Neverwinter Script Source
ActionTakeItem(объект, у кого отнять);
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
minion
сообщение Jun 11 2005, 21:21
Сообщение #1415


Level 4
**

Класс: Волшебник
Характер: Chaotic Good
Раса: Эльф



Слушай Aiwan , у нас тут с Darkot возникла идея про несколько гильдий. Нам имеет смысл делать так или нет?
Neverwinter Script Source
int StartingConditional()
{
  if (GetLocalInt(oPC, "ОБЩЕСТВО_БОРЬБЫ_С_ОБОРТАМИ")==1);
      {
      return TRUE;
        }
        return FALSE;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 11 2005, 22:45
Сообщение #1416


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

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



Почему нет? Смотря на кого вы вешаете локалки. Если у вас сингл, то делайте. Но проверка должна быть такая:
Neverwinter Script Source
int StartingConditional()
{
  if (GetLocalInt(oPC, "ОБЩЕСТВО_БОРЬБЫ_С_ОБОРТАМИ")==1 ||
    GetLocalInt(oPC, "ГИЛЬДИЯ_РАЗДОЛБАЕВ")==1  ||
    GetLocalInt(oPC, "КЛУБ_ЛЮБИТЕЛЕЙ_РЕКТАЛЬНОЙ_ТЕРАПИИ")==1)
      {
      return TRUE;
        }
        return FALSE;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
minion
сообщение Jun 12 2005, 14:54
Сообщение #1417


Level 4
**

Класс: Волшебник
Характер: Chaotic Good
Раса: Эльф



А может сделать допустим так: Если чел не вступил ни в какую гильдию, то на нем висит локалка типа: guild = 0, если же вступил, то другое число, а проверка:
Neverwinter Script Source
int StartingConditional()
{
  if (GetLocalInt(oPC, "guild") == 0);
      {
      return TRUE;
        }
        return FALSE;
}

Или что-то типа такого.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jun 12 2005, 15:13
Сообщение #1418


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

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



QUOTE
А может сделать допустим так: Если чел не вступил ни в какую гильдию, то на нем висит локалка типа: guild = 0, если же вступил, то другое число, а проверка:


Ну тады локалку надо вешать при начале модуля.

А есле есть две яростно-враждебные гильдии и типа они нападают на тебя есле ты во врождебной гильдии или не говорят с тобой и т.д.
Так что, лучше делать как Айван сказал, чтоб потом не переделывать, мало ли что потом в голову прейдет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
minion
сообщение Jun 12 2005, 15:36
Сообщение #1419


Level 4
**

Класс: Волшебник
Характер: Chaotic Good
Раса: Эльф



Проверка написана на то что чел не вступил ни в какую гильдию. Проверки на все остальное можно сделать подобно. Предложение Aiwana я тоже рассмотрю.
Пасибо за подсказку. :good:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Puh
сообщение Jun 13 2005, 04:40
Сообщение #1420


Level 2
*

Класс: Теневой Танцор
Характер: Neutral Evil
Раса: Полуэльф



QUOTE (-fenix- @ Jun 11 2005, 21:04)

Neverwinter Script Source
ActionTakeItem(объект, у кого отнять);

Это шоб одну отнять; даже если несколько раз написать подобную строку, отнимается только одна вещь, а мне нужно несколько. :shout:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Puh
сообщение Jun 13 2005, 04:42
Сообщение #1421


Level 2
*

Класс: Теневой Танцор
Характер: Neutral Evil
Раса: Полуэльф



Вопрос: нужно чтоб при разговоре непись присоединялся к игроку, вроде как помощник, присоединить его получилось, но этот гад за мной бегать не хочет и команды не выполняет :DB: , что нужно прописать чтобы получилось как в невевинтере?

Сообщение отредактировал Puh - Jun 13 2005, 04:50
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Puh
сообщение Jun 13 2005, 05:07
Сообщение #1422


Level 2
*

Класс: Теневой Танцор
Характер: Neutral Evil
Раса: Полуэльф



QUOTE (Garou @ Jun 11 2005, 10:37)
У меня в диалоге непись при грубом с ней обращении должна доставать оружие. Оружие при этом находится у нее в рюкзаке. Я написал
Neverwinter Script Source
void main()
{
object oNPC = GetObjectByTag("тег неписи");
object oItem = GetObjectByTag("тег итема");
AssignCommand(oNPC, ActionEquipItem(oItem, INVENTORY_SLOT_RIGHTHAND));
}

и повесил на ActionTaken грубой реплики игрока. Но результата нет?!
!!! Да!!! Еще, я спрашивал о превращении игрока в голем плоти..., а как потом обратно превратить в игрока?

Попробуй так - на вариант ответа неписи:
Neverwinter Script Source
void main()
{
object oItem = GetObjectByTag("тег итема");
ActionEquipItem(oItem, INVENTORY_SLOT_RIGHTHAND);
}


ЗЫ - точно не уверен...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jun 13 2005, 13:32
Сообщение #1423


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

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



QUOTE
Вопрос: нужно чтоб при разговоре непись присоединялся к игроку, вроде как помощник, присоединить его получилось, но этот гад за мной бегать не хочет и команды не выполняет diablo.gif , что нужно прописать чтобы получилось как в невевинтере?


Короче на стандартной палитре NPS -> Другое. Находишь стандартных оруженосцев, например Томи. Смотришь у него диалог и делаешь себе по аналогии. Еще на заклатке "письмена" в свойствах чела меняешь скрипты на скрипты Томи.

Сообщение отредактировал -fenix- - Jun 13 2005, 13:47
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jun 13 2005, 15:43
Сообщение #1424


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

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



QUOTE (Puh @ Jun 13 2005, 06:07)
У меня в диалоге непись при грубом с ней обращении должна доставать оружие. Оружие при этом находится у нее в рюкзаке. Я написал

Neverwinter Script Source
void main()
{
object oNPC = GetObjectByTag("тег неписи");
object oItem = GetObjectByTag("тег итема");
AssignCommand(oNPC, ActionEquipItem(oItem, INVENTORY_SLOT_RIGHTHAND));
}


и повесил на ActionTaken грубой реплики игрока. Но результата нет?!
!!! Да!!! Еще, я спрашивал о превращении игрока в голем плоти..., а как потом обратно превратить в игрока?

1. в диалоге НПС это OBJECT_SELF, так что 3
Neverwinter Script Source
object oNPC = GetObjectByTag("тег неписи");

не нужно. Как и не нужно
Neverwinter Script Source
AssignCommand(oNPC, ActionEquipItem(oItem, INVENTORY_SLOT_RIGHTHAND));

Тут тебе Puh верно подсказал.
2.
Neverwinter Script Source
object oItem = GetObjectByTag("тег итема");

не факт, что вернет тебе именно ту вещь, что у тебя в рюкзаке. Такой траблы нет, если у тебя тэг уникальный и больше нигде не используется.
Лучше юзать
Neverwinter Script Source
object GetItemPossessedBy(object oCreature,string sItemTag);

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dark@ngel
сообщение Jun 13 2005, 21:24
Сообщение #1425


Level 1


Класс: Друид
Характер: Lawful Neutral
Раса: Полуэльф



LEX твой скрипт по счет создания изумруда не получается. Почему то при смешении стол взрывается! :unsure:
Как заставить НПС сидеть на стуле?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 55 56 57 58 59 > » 
Ответить в эту темуОткрыть новую тему
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0

 



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