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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 109 110 111 112 113 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Артём
сообщение Jul 29 2006, 22:11
Сообщение #2751


Level 5
**

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



В OnHeartbet/

NSS
//=============== СНЯТЬ ЭФФЕКТ =================================================
void DelOneEffectOnPC(object oObject, int iOne)
{
effect eEffect = GetFirstEffect(oObject);
while (GetIsEffectValid(eEffect))
{
  if (GetEffectType(eEffect) == iOne)
  RemoveEffect(oObject, eEffect);
  eEffect = GetNextEffect(oObject);
}
//  int iOne -  EFFECT_TYPE_...
}


А у меня глупый вопрос как сделать, чтобы после окончания диалога у непися при повторном разговоре поменялась строка с текстом?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 30 2006, 07:43
Сообщение #2752


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

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



QUOTE(Noah @ Jul 29 2006, 13:31) [snapback]88606[/snapback]
Привет! Вопрос такой куда или в какой слот npc ставить скрипт чтобы он все время спал?И как убрать эффект когда надо!

Noah, у меня есть такой скрипт для персов спящих ночью. Задай свои условия для сна, или просто сделай спящию красавицу.
NSS
//:://////////////////////////////////////////////////
//:: Created By: Gennady
//:: Created On: 12.02.2006
//:://////////////////////////////////////////////////
#include "nw_i0_generic"
//=============== СКРИПТ ДЛЯ СПЯЩИХ ==================
void main()
{
if(GetArea(GetFirstPC()) != GetArea(OBJECT_SELF)) return; // если ПС нет в локе
object oPC = OBJECT_SELF;
int T = GetTimeHour();
if(T>=7 && T<21) // день
SetLocalInt(oPC,"SLEEP",FALSE);
else            // ночь
SetLocalInt(oPC,"SLEEP",1);
if (GetLocalInt(oPC, "SLEEP") == 1 && !IsInConversation(oPC))
{
  AssignCommand(oPC, ClearAllActions(TRUE));
  AssignCommand(oPC,ActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT, 1.0, 10.0));
  ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_SLEEP), oPC);
}
else
  WalkWayPoints();
}
// Для корректной работы, у ходячих удалить скрипты  nw_c2_default9 и nw_c2_default2

Можешь использовать и другой подобный скрипт, но в обоих случаях персы откликаются на разговор. Оба скрипта ставятся на ХБ персов.
NSS
void main()
{
if(GetArea(GetFirstPC()) != GetArea(OBJECT_SELF)) return; // если ПС нет в локе
  if (!IsInConversation(OBJECT_SELF))
  {
    int T = GetTimeHour();
    if(T>=21 || T<6)
    {
    ActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT, 1.0, 10.0);
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_SLEEP), OBJECT_SELF);
    }
    else
    {
    if(Random(100) >= 50)
    ActionPlayAnimation(ANIMATION_FIREFORGET_DRINK);
    else
    {
      switch (Random(3)+1)
      {
      case 1:
      ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD);
      break;
      case 2:
      ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_BORED);
      break;
      case 3:
      if (GetGender(OBJECT_SELF)==GENDER_MALE)
      PlaySound("as_pl_laughingm2");
      else
      PlaySound("as_pl_laughingf2");
      ActionPlayAnimation(ANIMATION_LOOPING_TALK_LAUGHING, 1.0, 4.0);
      break;
      }
    }
    }
  }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Артём
сообщение Jul 30 2006, 20:20
Сообщение #2753


Level 5
**

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



Кто сможет выложить скрипт атаки непися при наступлении на триггер?
Я пребывал этот скрипт

[/nss]#include "NW_I0_GENERIC"
void main()
{

object oNPC = GetObjectByTag("NPC_01");

DelayCommand(1.0, AssignCommand(oNPC, SetIsTemporaryEnemy(GetPCSpeaker())));
DelayCommand(1.0, AssignCommand(oNPC, DetermineCombatRound()));
}
Ошибку навыдает но и непашет. Может, кто исправит или другой выложит?

И ещё один вопрос.
Как сделать чтобы после окончания диалога у непися при повторном разговоре поменялась строка с текстом?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Jul 30 2006, 23:21
Сообщение #2754


Level 5
**

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



QUOTE
Кто сможет выложить скрипт атаки непися при наступлении на триггер?



Вот, ставится на onEnter тригера.
NSS
void main()
{

object oNPC = GetObjectByTag("NPC_01");
object oPC = GetEnteringObject();

DelayCommand(1.0, AssignCommand(oNPC, ActionAttack(oPC)));
}


QUOTE
Как сделать чтобы после окончания диалога у непися при повторном разговоре поменялась строка с текстом?


В условие появления первой ветки разговора пишеш скрипт

NSS
int StartingConditional()
{
  object oPC = GetPCSpeaker();
  object oNPC = OBJECT_SELF;
  int iResult = GetLocalInt(oNPC, "PER");

  if (iResult == 0)
      return TRUE;

  return FALSE;
}


А в совершаемых действиях

NSS
void main()
{
  object oNPC = OBJECT_SELF;
  SetLocalInt(oNPC, "PER", 1);
}


И после первого разговора появиться второй.




Сообщение отредактировал Milfes - Jul 31 2006, 00:46
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 31 2006, 06:07
Сообщение #2755


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

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



QUOTE(Артём @ Jul 29 2006, 23:11) [snapback]88636[/snapback]
А у меня глупый вопрос как сделать, чтобы после окончания диалога у непися при повторном разговоре поменялась строка с текстом?

На действие:
NSS
void main()
{
SetLocalInt(GetPCSpeaker(),"D1_"+GetTag(OBJECT_SELF),1);
// присвоить переменную
}

На проверку:
NSS
int StartingConditional()
{
    if(!(GetLocalInt(GetPCSpeaker(), "D1_"+GetTag(OBJECT_SELF)) == 1))
    return FALSE;
    return TRUE;
}
// Проверить местные переменные

Скрипт универсальный, привязан к тэгу перса. Если тэги тоже уникальные, то не нужно писать новые скрипты, и выдумывать переменные. Напишите несколько пар подобных скриптов, меняя номер диалога D2, D3, D4 ... и используйте в построении диалогов.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mandrake
сообщение Jul 31 2006, 10:54
Сообщение #2756


Level 3
*

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



NSS
void main()
{

object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;
//...........День............
if((GetIsDay())== TRUE)
{

SetEncounterActive(FALSE, OBJECT_SELF);

}

//...............Ночь.............
/*
if((GetIsDay())== FALSE)
{
if((GetEncounterActive(OBJECT_SELF))== FALSE)
{
SetEncounterActive(TRUE, OBJECT_SELF);
}
}
*/

}


Объект триггер стандартного тулсетовского респавна. Задачей ставил себе сделать так, чтобы ночью он был активен, а днем нет(хотел восоздать бандитов появляющихся ночью на дорогах и в городе). Вроде по логике(моей (IMG:style_emoticons/kolobok_light/biggrin.gif) ) вещей все делал правильно, но как всегда не работает (IMG:style_emoticons/kolobok_light/vava.gif)

Помогите пожалуйста найти правильное решение (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Waromon
сообщение Jul 31 2006, 12:35
Сообщение #2757


Level 4
**

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



Astoret

Чтобы добавить новый предмет (именной новый) нужно как я понимаю править 2DA файл baseitems.2DA, а чтобы включить новую картинку для предмета, то ищем через NWN Explorer: data/textures_01.bif, там находим нужный тип предмета, (скажем iit_neck_*)
смотрим последний предмет из данного списка (у меня это iit_neck_026) далее, сохраняем рисунок в TGA и называем например iit_neck_027, (Но ИМХО, лучше указать число побольше, 050 к примеру) включаем в хак/кидаем в оввериде .

Вроде так это делается. (IMG:style_emoticons/kolobok_light/smile.gif)

Noah

Существует эвент – onSpawn, значит туда и нужно прописывать скрипт.
QUOTE
The script attached to this event fires when the creature is first spawned and allows you to specify the default behaviors for the creature (i.e. does the creature flee when attacked, walk a set of waypoints, etc).

QUOTE
Rus.
Событие OnSpawn происходит, когда чудовище первый раз появляется на местности.


Артем

Вообще, лучше сделать так:

NSS
#include "NW_I0_GENERIC"
void main()
{
string sNAME = GetName(OBJECT_SELF); /* В поле NAME триггера укажи таг НПС */
object oPlayer = GetEnteringObject();
object oNPC = GetNearestObjectByTag(sNAME);

if (!GetIsPC(oPlayer))return;
if (GetLocalInt(OBJECT_SELF, "Enter_player")==1)return;

SetLocalInt(OBJECT_SELF, "Enter_player",1);

if (GetIsEnemy(oPlayer, oNPC) == FALSE)
SetIsTemporaryEnemy(oPlayer, oNPC);

AssignCommand(oNPC, ClearAllActions(TRUE));
AssignCommand(oNPC, ActionAttack(oPlayer));
}


Почему именно так ? Да потому что, такой скрипт универсален и не нужно будет если у тебя скажем 10 таких NPC, для каждого из них писать свой скрипт. (IMG:style_emoticons/kolobok_light/smile.gif)

По поводу работы локальных переменных, думаю подойдет ЭТА статья, по крайней мере после ее прочтения я разобрался. (IMG:style_emoticons/kolobok_light/smile.gif)

gennady

Гм... А зачем ети заморочки с тагами ?
Можно ведь делать просто:

NSS
void main()
{
  SetLocalInt(OBJECT_SELF, "Remember", 1);
}


Потом проверять переменную... По идее эффект то тот-же, но скрипт проще. (IMG:style_emoticons/kolobok_light/smile.gif) )))

QUOTE(gennady @ Jul 30 2006, 07:43) [snapback]88659[/snapback]

Можешь использовать и другой подобный скрипт, но в обоих случаях персы откликаются на разговор. О


Ведь эвент onConversation - отвечает за разговор ? Значит просто нужно чистить акции NPC.

Mandrake

Использовал поиск и нашел много интересной инфы,

http://www.city-of-masters.ru/forums/index...EncounterActive


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

Сообщение отредактировал Waromon - Jul 31 2006, 14:07
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 31 2006, 12:42
Сообщение #2758


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

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



QUOTE(Mandrake @ Jul 31 2006, 11:54) [snapback]88728[/snapback]
Объект триггер стандартного тулсетовского респавна. Задачей ставил себе сделать так, чтобы ночью он был активен, а днем нет(хотел восоздать бандитов появляющихся ночью на дорогах и в городе). Вроде по логике(моей ) вещей все делал правильно, но как всегда не работает

Скрипты на энкаучере не работают. Когда триггер заряжается, то к нему вообще не достучатся. Ставь скрипт управления на ХБ локи.
NSS
void main()
{
if(GetIsDay())
SetEncounterActive(FALSE, GetObjectByTag("BANDIT"));
else
SetEncounterActive(TRUE, GetObjectByTag("BANDIT"));
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 31 2006, 13:15
Сообщение #2759


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

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



Енкаучер должен быть НЕАКТИВНЫМ и СИНГ-ШОТ. Если непонятно что это, читай мой мануал. Скрипт на OnEnter. Сработает ТОЛЬКО ночью.
NSS
//:://////////////////////////////////////////////
//:: OnEnter  am_een_day_night
//:: Copyright © 2006 WRG!
//:://////////////////////////////////////////////
/*
  Включает енкаучер, если ночь.
  float "TIME" - время срабатывания енкаучера
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 31.07.2006
//:://////////////////////////////////////////////
void main()
{
  object oPC = GetEnteringObject();
  object oEnc = OBJECT_SELF;
  object oArea = GetArea(OBJECT_SELF);
  float f = GetLocalFloat(oEnc, "TIME"); // Время задержки енкаучера

  if(!GetIsPC(oPC)) return;
  if(GetLocalInt(oEnc, "FIGHT!")) return; // Енкаучер сработал

  if((GetIsDay() || GetIsDawn() || GetIsDusk()) && GetEncounterActive(oEnc)==TRUE)
  {
    SetEncounterActive(FALSE);
    return;
  }
    else if(GetIsNight() && GetEncounterActive(oEnc) == FALSE)
    {
        if (f == 0.0) f = 600.0; // 10 минут, стандартный респавн
        SetEncounterActive(TRUE);
        DelayCommand(1.0, SetEncounterActive(FALSE, oEnc));
        SetLocalInt(oEnc, "FIGHT!", TRUE); // Энкаучер сработал один раз
        // Тут самое интересное. Неактивный енкаучер DelayCommand не исполняет
        // поэтому я попросил это сделать локацию, в котором он стоит. Она вроде
        // как не против...
        AssignCommand(oArea, DelayCommand(f, SetLocalInt(oEnc, "FIGHT!", FALSE)));
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mandrake
сообщение Jul 31 2006, 13:44
Сообщение #2760


Level 3
*

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



Aiwan, большое спасибо. Разобрался наконец.

Еще такой вопрос, есть ли функция, которая меняет рассу игрока? Я тут начал эксперементы с разными субрассами, но разговор о превращении игрока в андеда, внешний вид и свойства нежити удается дать, кроме одной. Это реакция на некоторые спелы, в частности лечения и противоположного нанесения ран, а также спел хоррид витинг и санберст(может еще есть, но это первое, что пришло на ум). Нет ли способа дать это свойство игроку, кроме как правки действия самих спелов, через проверку на другие параметры(типа субрасс и др).

Сообщение отредактировал Mandrake - Jul 31 2006, 16:49
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Jul 31 2006, 16:51
Сообщение #2761


Level 5
**

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



У меня есть два вопроса:

1. у меня есть скрипт, что в статую бьёт молния, можно ли добавить, что бы она разрушалась или хотя бы проподала после этого;

2. можно ли сделать затемнение на части локации(но не заклинанием).

Сообщение отредактировал Milfes - Jul 31 2006, 16:52
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Waromon
сообщение Jul 31 2006, 17:18
Сообщение #2762


Level 4
**

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



Mandrake

Не подскажу, не дорос пока. (IMG:style_emoticons/kolobok_light/smile.gif) )

Milfes

1. Тут вариантов тьма, можно DestroyObject, можно применить эффект смерти, еще чего нить...
2. Хм... То есть затемнение...? Точно знаю, что эффектом это реально сделать... (Спелл темнота (IMG:style_emoticons/kolobok_light/smile.gif) ) а так, можно попробовать сменить освещение у тайла. Сойдет ? (IMG:style_emoticons/kolobok_light/smile.gif)

CODE
void SetTileSourceLightColor(
    location lTileLocation,
    int nSourceLight1Color,
    int nSourceLight2Color
);

Parameters
lTileLocation

The location of the tile to change the light color.

nSourceLight1Color

TILE_SOURCE_LIGHT_COLOR_*

nSourceLight2Color

TILE_SOURCE_LIGHT_COLOR_*

Description
Set the source light color on the tile located at lTileLocation.


Сообщение отредактировал Waromon - Jul 31 2006, 17:18
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Noah
сообщение Jul 31 2006, 17:51
Сообщение #2763


Level 5
**

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



QUOTE(Milfes @ Jul 31 2006, 16:51) [snapback]88747[/snapback]

У меня есть два вопроса:

1. у меня есть скрипт, что в статую бьёт молния, можно ли добавить, что бы она разрушалась или хотя бы проподала после этого;

2. можно ли сделать затемнение на части локации(но не заклинанием).

1.Не проблема.Добавляешь desтrоy оbjест.2.Тоже не беда,добавляешь Visual(vfx_dur_blokout) своему петру и всё
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Jul 31 2006, 18:35
Сообщение #2764


Level 5
**

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



Извините пожалуйсто, что неверно обьяснил.
Я имел ввиду, что эффект должен быть такой же как отз аклинания шар тьмы(если не ошибаюсь), но без наложения самого заклинания.

Noah и Waromon, ваши функции затемняют вся локацию, а мне надо что бы небольшой участок.

Сообщение отредактировал Milfes - Jul 31 2006, 18:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Waromon
сообщение Jul 31 2006, 18:40
Сообщение #2765


Level 4
**

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



Спелл, не обязательно накладывать, можно наложить визуальный эффект. (константа - VFX_DUR_BLACKOUT )


Млин!!! Попробовал наложить эффект темноты (EffectDarkness() ну и VFX_DUR_BLACKOUT еще) на плейс... Нифига! Походу они тока к игроку применимы. (IMG:style_emoticons/kolobok_light/pleasantry.gif)

Сообщение отредактировал Waromon - Jul 31 2006, 18:48
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Jul 31 2006, 20:16
Сообщение #2766


Level 5
**

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



А как заставить человека наложить заклинание на другое существо?

И какая анимация подойдёт, что бы человек молился.

Сообщение отредактировал Milfes - Jul 31 2006, 20:44
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kreon
сообщение Jul 31 2006, 21:01
Сообщение #2767


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

Класс: Некромант
Характер: Chaotic Evil
Раса: Дракон
NWN: Скриптинг [PW]



1.
NSS
// This action casts a spell at oTarget.
// - nSpell: SPELL_*
// - oTarget: Target for the spell
// - nMetamagic: METAMAGIC_*
// - bCheat: If this is TRUE, then the executor of the action doesn't have to be
//  able to cast the spell.
// - nDomainLevel: TBD - SS
// - nProjectilePathType: PROJECTILE_PATH_TYPE_*
// - bInstantSpell: If this is TRUE, the spell is cast immediately. This allows
//  the end-user to simulate a high-level magic-user having lots of advance
//  warning of impending trouble
void ActionCastSpellAtObject(int nSpell, object oTarget, int nMetaMagic=METAMAGIC_ANY, int bCheat=FALSE, int nDomainLevel=0, int nProjectilePathType=PROJECTILE_PATH_TYPE_DEFAULT, int bInstantSpell=FALSE)

2.
NSS
ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP)


Сообщение отредактировал kreon - Jul 31 2006, 21:02
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Jul 31 2006, 21:48
Сообщение #2768


Level 5
**

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



kreon, мне надо что бы, когда игрок вставал на тригер, какой-то человек применял заклинание к другому человеку.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kreon
сообщение Aug 1 2006, 01:28
Сообщение #2769


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

Класс: Некромант
Характер: Chaotic Evil
Раса: Дракон
NWN: Скриптинг [PW]



Человек - PC? Если не PC, то так и говори - непись (NPC, Non Player Character)
на onEnter триггера:
NSS
void main()
{
    object oCaster = GetObjectByTag("npc_caster"); // тег нпц-кастера
    object oTarget = GetObjectByTag("npc_target"); // тег нпц-обьекта каста
    if(!GetCommandable(oCaster))  SetCommandable(TRUE, oCaster); // если триггер уже активировался - открываем стек
    AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_FINGER_OF_DEATH, oTarget, METAMAGIC_ANY, TRUE)); // кастуем Палец Смерти (для примера)
    SetCommandable(FALSE, oCaster); // закрываем стек (чтоб скастовал)
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Aug 1 2006, 09:30
Сообщение #2770


Level 5
**

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



Огромное спасибо! И извините, что не сразу всй понятно объяснил, что ине надо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Aug 9 2006, 22:51
Сообщение #2771


Level 5
**

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



Объясните пожалуйсто почему не работает:

NSS
TakeGoldFromCreature(100,GetFirstPC(),TRUE);


Не выкидывает золото игрок никак. Я может не ту функцию использую?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Waromon
сообщение Aug 9 2006, 23:04
Сообщение #2772


Level 4
**

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



Эта функция, берет нужное количество золота у обжекта. Кстати, нужно включить проверку - есть ли у игрока нужная сумма,

NSS
void main()
{
if (GetGold(GetFirstPC()) >= 100)
    {
    TakeGoldFromCreature(100, GetFirstPC(), TRUE);
    }
}


З.Ы:
QUOTE
Не выкидывает золото игрок никак. Я может не ту функцию использую?


ИМХО золото выложить вроде никак (?) не получится, вот айтемы можно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Aug 9 2006, 23:20
Сообщение #2773


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

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



не игнорируем лексикон:
QUOTE

Description
Take nAmount of gold from oCreatureToTakeFrom.

The taker needs to be a non-area and non-module for it to work correctly. It can be the creature passed into oCreatureToTakeFrom, of course.

Remarks
Although the default value for bDestroy is FALSE the most common usage is TRUE. In fact, Bioware has created a function TakeGold (in NW_I0_TOOL) that takes the same parameters except defaults bDestroy to TRUE (and subsequently calls this function).

This function will fail if called from an area or module event (like an area's OnEnter). However, it works on triggers, so you can just paint a trigger around the arrival area to get the same effect.


перевожу - скрипт в таком виде, как он у вас написан, будет работать, если только будет запускаться не из скриптовых "слотов" локаций и модуля. т.е. работать будет на неписях, на игроке, в диалогах итд.

более универсальный метод изъятия, работающий везде:
NSS
object oPC = GetFirstPC();
AssignCommand(oPC, TakeGoldFromCreature(100, oPC, TRUE));


ps. (IMG:style_emoticons/kolobok_light/wizard.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Milfes
сообщение Aug 9 2006, 23:49
Сообщение #2774


Level 5
**

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



Спасибо, лексикон не игнорирую, но с английским туго, а переводчик плохо переводит(не всё понятно).

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
[=!DoHeJI!=]
сообщение Aug 11 2006, 22:30
Сообщение #2775


Level 1


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



(IMG:style_emoticons/kolobok_light/biggrin.gif) ! Привет всем (IMG:style_emoticons/kolobok_light/thank_you.gif) ! Я хотел бы научитьсЯ строить модули! в скриптах Я ваще не понимаю мнеб учебник какойнить! Я проходил Ночи(раз 5) и Андердарк(1.5 раз)! знаю почти ни чего в тулсете! только копировать скрипты умею (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) ! знаю что такое тэг, нпс, перс, точка маршрута, триггер и мож ещё чё! могу легкие вещи делать типа: инвентарь тама чёнить пихнуть, хар-ки настроить закл-иЯ, ну вообщем довольно простые вещи! Научите ! !!!<b>Заполните пустое (IMG:style_emoticons/kolobok_light/crazy.gif) полным и тогда оно станет полезным (IMG:style_emoticons/kolobok_light/rolleyes.gif) длЯ всех!!!!</b>

Сам на (IMG:style_emoticons/kolobok_light/bb.gif) хожу, а в нвн Я (IMG:style_emoticons/kolobok_light/swoon.gif) !
В заранее сеньк!


Сообщение отредактировал [=!DoHeJI!=] - Aug 11 2006, 22:33
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 109 110 111 112 113 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



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