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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 176 177 178 179 180 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
StasMokos
сообщение Nov 27 2010, 13:51
Сообщение #4426


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Извиняюсь за глупые вопросы, но..
1) Как сделать так, чтобы NPC, ходящие по точкам ночью исчезали (или засыпали)
2) Как организовать их активность? (Как в тавернах там каких-нибудь, чтобы они между собой разговаривали или просто двигались и т.п.)
3) Как выключить на ночь свет? (Колонны света, магические вспышки..) Я пытался поставить вот это

void main()
{
object oSelf = OBJECT_SELF;
if (GetIsDay()==FALSE && GetLocalInt(OBJECT_SELF,"on")!=1)
{
SetLocalInt(OBJECT_SELF,"on",1);
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_10);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oSelf);
}

if (GetIsDay()==TRUE && GetLocalInt(OBJECT_SELF,"on")==1)
{
SetLocalInt(OBJECT_SELF,"on",0);
PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
effect eEffect = GetFirstEffect(oSelf);
while (GetIsEffectValid(eEffect) == TRUE)
{
if (GetEffectType(eEffect) == EFFECT_TYPE_VISUALEFFECT)
RemoveEffect(oSelf, eEffect);
eEffect = GetNextEffect(oSelf);
}
}

}

но ничего не вышло (IMG:style_emoticons/kolobok_light/unsure.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Nov 27 2010, 17:06
Сообщение #4427


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

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



Цитата(StasMokos @ Nov 27 2010, 13:51) *
1) Как сделать так, чтобы NPC, ходящие по точкам ночью исчезали (или засыпали)
2) Как организовать их активность? (Как в тавернах там каких-нибудь, чтобы они между собой разговаривали или просто двигались и т.п.)

http://remmgen.narod.ru/tmonster.html
Цитата(StasMokos @ Nov 27 2010, 13:51) *
3) Как выключить на ночь свет?

http://remmgen.narod.ru/tplace.html
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StasMokos
сообщение Dec 1 2010, 18:46
Сообщение #4428


Level 3
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Как сделать так, чтобы NPC лежал на земле (а лучше на алтаре) весь израненый и полуживой, но потом с ним можно было поговорить (при этом он вставал или садился на край алтаря), и он исчез (с анимацией телепортации)?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Dec 3 2010, 05:04
Сообщение #4429


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Neverwinter Script
void main()
{
    effect eKnock = EffectKnockdown();
    ApplyEffectToObject(DURATION_TYPE_PERMANENT,Effect
Damage(3), OBJECT_SELF); // Нанести урон в количестве 3
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, eKnock, OBJECT_SELF);
}

На onSpawn; это положит объект в состояние еле живой и снесет ему сколько-то хитов. Можно говорить. На алтарь положить - вряд ли, размещаемые объекты pc и npc не держат, только если алтарь будет являться частью локации. Ну а про излишества навроде "садился на край" - в каком мире мы живем, набор анимаций в нвне строго ограничен.
Со второй частью хз, что тебе требуется. Если исчезать будет в диалоге, то где-то на ветку диалога и вешать, перемещение - смотреть функцию ActionJumpToObject, эффекты - ApplyEffectToObject и таблицу константы либо лексикон для выбора нужных визуальных эффектов, которые сойдут за телепортацию.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
elsefalse
сообщение Dec 3 2010, 07:59
Сообщение #4430


Level 2
*

Класс: Псионик
Характер: Chaotic Evil
Раса: Чудовище



// OnSpawn
void main()
{
ApplyEffectToObject(OBJECT_SELF, EffectDamage(GetCurrentHitPoints(OBJECT_SELF) - 1);
AssigCommand(OBJECT_SELF, ActionPlayAnimation(ANIMATION_LOOPING_DEAD_BACK, 1.0, 100000.0));
}

На OnConversation(или где-нибудь на старте диалога) вешать AssignCommand(OBJECT_SELF, ActionSit(GetNearestObjectByTag("тег_невидимого обьекта"))); // невидимый обьект на котором будем сидеть, вроде есть в стандартной палитре, ставим его на край алтаря или куда мы там хотим садиться.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Dec 3 2010, 10:40
Сообщение #4431


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Да уж. Сам-то пробовал? Мало того, что он не соберется из-за опечаток и неправильного оформления функции, так еще и фактические ошибки. Во-первых, событие на onSpawn, оно не нуждается в AssignCommand(OBJECT_SELF... , так как само по себе уже выполняется объектом, вызвавшим скрипт. Во-вторых, анимация сбросится после первого же обращения к НПС.
А посадить на алтарь с помощью невидимого объекта кстати вряд ли получится - персонажи фиксированы по z-координате, поэтому в самом лучшем случае нпс просто будет торчать из середины объекта.

Сообщение отредактировал Talarasha - Dec 3 2010, 10:43
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
elsefalse
сообщение Dec 3 2010, 11:37
Сообщение #4432


Level 2
*

Класс: Псионик
Характер: Chaotic Evil
Раса: Чудовище



Не пробовал, вполне могут быть опечатки. Что не так с оформлением? С AssignCommand просто привык, а анимацию можно ресторить на других событиях. Алтарь да, по-другому думаю никак, только эти костыли.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Dec 3 2010, 12:56
Сообщение #4433


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Цитата
Что не так с оформлением?

Neverwinter Script
void ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f)

Сравни со своим вариантом.
Цитата
а анимацию можно ресторить на других событиях.

Вопрос - а зачем? Эффективность кода не растет вместе с искуственным наращиванием его сложности.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
elsefalse
сообщение Dec 3 2010, 13:48
Сообщение #4434


Level 2
*

Класс: Псионик
Характер: Chaotic Evil
Раса: Чудовище



Затем чтобы решить поставленную задачу.
Цитата
чтобы NPC лежал на земле

И причем тут эффективность кода? (IMG:style_emoticons/kolobok_light/wacko.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Dec 3 2010, 14:06
Сообщение #4435


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Цитата
Затем чтобы решить поставленную задачу.
И причем тут эффективность кода?

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

Сообщение отредактировал Talarasha - Dec 3 2010, 14:09
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
elsefalse
сообщение Dec 3 2010, 14:55
Сообщение #4436


Level 2
*

Класс: Псионик
Характер: Chaotic Evil
Раса: Чудовище



У нас разные понятия об эффективности кода.
Кстати, покажешь этот нормальный скрипт? Только не тот который кночит чара.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Dec 4 2010, 14:15
Сообщение #4437


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Ну, в принципе... если требуется именно анимация на спине, тогда да, это вполне разумный вариант.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
likkil
сообщение Dec 8 2010, 17:57
Сообщение #4438


Level 2
*

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



У меня возник такой вопрос даже 2

1- Как привезать скрипт к свитку ?

2- Как поставить огранечение по уровню к томуже свитку ?

Заранее при много блогодарен
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
elsefalse
сообщение Dec 8 2010, 18:35
Сообщение #4439


Level 2
*

Класс: Псионик
Характер: Chaotic Evil
Раса: Чудовище



1. В скрипте события загрузки модуля('OnModuleLoad') пишем эту
Neverwinter Script
SetModuleSwitch (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE);
строчку, потом создаем скрипт с таким же именем как тег у свитка. Копируем в скрипт вот это http://pastie.org/pastes/1359105/text (украдено с lexicon'а) и дописываем по своему желанию.
2. Ограничение по уровню ставим в том же скрипте функцией GetHitDice() либо если включен ILR, в св-вах шмотки накручиваем стоимость.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kiruhs
сообщение Dec 8 2010, 18:51
Сообщение #4440


Level 6
**

Класс: Клерик
Характер: Chaotic Neutral
Раса: Животное



Цитата(elsefalse @ Dec 8 2010, 17:35) *
Копируем в скрипт вот это http://pastie.org/pastes/1359105/text (украдено с lexicon'а)


Стоит добавить, что если используются дефолтные скрипты в слотах
OnEquip - x2_mod_def_equ
OnUnEquip - x2_mod_def_unequ
OnAcquire - x2_mod_def_aqu
OnUnAcqucire - x2_mod_def_unaqu
OnActivate - x2_mod_def_act

То копировать ничего не надо. А если кастомные, тогда или копировать в каждый новый скрипт, то что в ссылке (что муторно) или просто вызвать с кастомных скриптов, соответствующие дефолтные
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
likkil
сообщение Dec 8 2010, 19:01
Сообщение #4441


Level 2
*

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



Что то я вообше не догнал
Можно по подробнее сам скрипт куда пехать тег придмета
А на счёт OnModuleLoad куда сунуть SetModuleSwitch (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE); У меня вот такой:

Neverwinter Script
// HCR v3.2.0 -
//::////////////////////////////////////////////////////////////////////////////
//:: FileName:  HC_On_Mod_Load
//::////////////////////////////////////////////////////////////////////////////
/*

*/

//::////////////////////////////////////////////////////////////////////////////
#include "HC_Inc"
#include "HC_Inc_On_Load"
#include "HC_Inc_HTF"
#include "X2_Inc_Switches"
//PC Vampire Subrace System by Fallen code:
#include "x2_inc_switches"
//ATS code:
#include "ats_inc_init"
//PCs Autosaving
#include "pc_export_inc"
//Player Guild System
#include "inc_gsystem_evnt"
//::////////////////////////////////////////////////////////////////////////////
void main()
{
//**************************************************
**************************
//PCs Autosaving function
pc_export_onmoduleload();
//----------------------------------------------------------------------------

//PC Vampire Subrace System by Fallen:
//
//if you are using another spellscript override you will need to execute the
//"f_vampirespells" script right before returning to the spell. If an altered
//spell is ran by f_vampirespells SetModuleOverrideSpellScriptFinished will be
//set (see x2_inc_switches and x2_inc_spellhook for more info).
SetModuleOverrideSpellscript("f_vampirespells");

// ----------------------------------------------------------- //
    //ATS code
  {
    object oMod=GetModule();
    ATS_Initialize();
    //Player Guild System
    PGSModuleLoadEvent();
  }
// ----------------------------------------------------------- //
//HCR code:
  if (!preEvent()) return;

  // Bioware Module Switches.
  if (GetGameDifficulty() >= GAME_DIFFICULTY_CORE_RULES)
    {
    // * Setting the switch below will enable a seperate Use Magic Device
    // * Skillcheck for rogues. This only applies to scrolls.
    //SetModuleSwitch(MODULE_SWITCH_ENABLE_UMD_SCROLLS, TRUE);

    // * Activating the switch below will make AOE spells hurt neutral NPCS by
    // * default.
    SetModuleSwitch(MODULE_SWITCH_AOE_HURT_NEUTRAL_NPC
S, TRUE);
    }

  // * AI: Activating the switch below will make the creaures using the WalkWaypoint function
  // * able to walk across areas
  SetModuleSwitch(MODULE_SWITCH_ENABLE_CROSSAREA_WAL
KWAYPOINTS, TRUE);

  // * Spells: Activating the switch below will make the Glyph of Warding spell behave differently:
  // * The visual glyph will disappear after 6 seconds, making them impossible to spot
  //SetModuleSwitch(MODULE_SWITCH_ENABLE_INVISIBLE_GLY
PH_OF_WARDING, TRUE);

  // * Craft Feats: Want 50 charges on a newly created wand? We found this unbalancing,
  // * but since it is described this way in the book, here is the switch to get it back...
  //SetModuleSwitch(MODULE_SWITCH_ENABLE_CRAFT_WAND_50
_CHARGES, TRUE);

  // * Craft Feats: Use this to disable Item Creation Feats if you do not want
  // * them in your module
  //SetModuleSwitch(MODULE_SWITCH_DISABLE_ITEM_CREATIO
N_FEATS, TRUE);

  // * Palemaster: Deathless master touch in PnP only affects creatures up to a certain size.
  // * We do not support this check for balancing reasons, but you can still activate it...
  //SetModuleSwitch(MODULE_SWITCH_SPELL_CORERULES_DMAS
TERTOUCH, TRUE);

  // * Epic Spellcasting: Some Epic spells feed on the liveforce of the caster. However this
  // * did not fit into NWNs spell system and was confusing, so we took it out...
  //SetModuleSwitch(MODULE_SWITCH_EPIC_SPELLS_HURT_CAS
TER, TRUE);

  // *
  //SetModuleSwitch(MODULE_SWITCH_RESTRICT_USE_POISON_
TO_FEAT, TRUE);

  // * Spellcasting: Some people don't like caster's abusing expertise to raise their AC
  // * Uncommenting this line will drop expertise mode whenever a spell is cast by a player
  //SetModuleSwitch(MODULE_VAR_AI_STOP_EXPERTISE_ABUSE
, TRUE);

  // * SpellScript: This is the name of the spell router script.
  SetModuleOverrideSpellscript("hc_spell_router");

  // Hark - Remarked out all PWDB stuff since it isnt used anymore.
  //if (GetLocalInt(oMod, "AlreadyExecutedOMD") == 1)
  //  {
  //  postEvent();
  //  return;
  //  }
  //else
  //  { SetLocalInt(oMod, "AlreadyExecutedOMD", 1); }
  //ExecuteScript("hc_pwdb_data", oMod);
  //SetLocalInt(GetModule(), "ModLoadEvent", 1);
  //int PWDB_HEARTBEAT_EVENT = 502;
  //event evEvent = EventUserDefined(PWDB_HEARTBEAT_EVENT);
  //SignalEvent(OBJECT_SELF, evEvent);

  // Execute the default script and set the HTF area variables.
  ExecuteScript("hc_defaults", oMod);
  ExecuteScript("hc_setareavars", oMod);

  // Store the starting year, month, day and hour.
  if (!GetPersistentInt(oMod, "HourStart"))
    SetPersistentInt(oMod, "HourStart", GetTimeHour());
  if (!GetPersistentInt(oMod, "DayStart"))
    SetPersistentInt(oMod, "DayStart", GetCalendarDay());
  if (!GetPersistentInt(oMod, "MonthStart"))
    SetPersistentInt(oMod, "MonthStart", GetCalendarMonth());
  if (!GetPersistentInt(oMod, "YearStart"))
    SetPersistentInt(oMod, "YearStart", GetCalendarYear());

  // Restore the calendar if one was saved.
  int iCurYear = GetPersistentInt(oMod, "CurrentYear");
  if (iCurYear > 0)
    {
    int iCurMonth = GetPersistentInt(oMod, "CurrentMonth");
    int iCurDay  = GetPersistentInt(oMod, "CurrentDay");
    int iCurHour  = GetPersistentInt(oMod, "CurrentHour");
    int iCurMin  = GetPersistentInt(oMod, "CurrentMin");
    SetCalendar(iCurYear, iCurMonth, iCurDay);
    SetTime(iCurHour, iCurMin, 0, 0);
    }

  // HCR v3.1.
  //LoopHTFSystemChk();

  postEvent();
{
//Music Changer:
}  ExecuteScript("toj_cm_ol",GetModule());
}
//::////////////////////////////////////////////////////////////////////////////
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kiruhs
сообщение Dec 8 2010, 19:49
Сообщение #4442


Level 6
**

Класс: Клерик
Характер: Chaotic Neutral
Раса: Животное



Цитата(likkil @ Dec 8 2010, 18:01) *
А на счёт OnModuleLoad куда сунуть SetModuleSwitch (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE); У меня вот такой:

Куда угодно после воид майн и между {}. И прячь скрипт в тэг, читать неудобно
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
likkil
сообщение Dec 8 2010, 20:03
Сообщение #4443


Level 2
*

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



Цитата(likkil @ Dec 8 2010, 19:01) *
Что то я вообше не догнал
Можно по подробнее сам скрипт куда пехать тег придмета
А на счёт OnModuleLoad куда сунуть SetModuleSwitch (MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE); У меня вот такой:

Neverwinter Script
// HCR v3.2.0 -
//::////////////////////////////////////////////////////////////////////////////
//:: FileName:  HC_On_Mod_Load
//::////////////////////////////////////////////////////////////////////////////
/*

*/

//::////////////////////////////////////////////////////////////////////////////
#include "HC_Inc"
#include "HC_Inc_On_Load"
#include "HC_Inc_HTF"
#include "X2_Inc_Switches"
//PC Vampire Subrace System by Fallen code:
#include "x2_inc_switches"
//ATS code:
#include "ats_inc_init"
//PCs Autosaving
#include "pc_export_inc"
//Player Guild System
#include "inc_gsystem_evnt"
//::////////////////////////////////////////////////////////////////////////////
void main()
{
//**************************************************
**************************
//PCs Autosaving function
pc_export_onmoduleload();
//----------------------------------------------------------------------------

//PC Vampire Subrace System by Fallen:
//
//if you are using another spellscript override you will need to execute the
//"f_vampirespells" script right before returning to the spell. If an altered
//spell is ran by f_vampirespells SetModuleOverrideSpellScriptFinished will be
//set (see x2_inc_switches and x2_inc_spellhook for more info).
SetModuleOverrideSpellscript("f_vampirespells");

// ----------------------------------------------------------- //
    //ATS code
  {
    object oMod=GetModule();
    ATS_Initialize();
    //Player Guild System
    PGSModuleLoadEvent();
  }
// ----------------------------------------------------------- //
//HCR code:
  if (!preEvent()) return;

  // Bioware Module Switches.
  if (GetGameDifficulty() >= GAME_DIFFICULTY_CORE_RULES)
    {
    // * Setting the switch below will enable a seperate Use Magic Device
    // * Skillcheck for rogues. This only applies to scrolls.
    //SetModuleSwitch(MODULE_SWITCH_ENABLE_UMD_SCROLLS, TRUE);

    // * Activating the switch below will make AOE spells hurt neutral NPCS by
    // * default.
    SetModuleSwitch(MODULE_SWITCH_AOE_HURT_NEUTRAL_NPC
S, TRUE);
    }

  // * AI: Activating the switch below will make the creaures using the WalkWaypoint function
  // * able to walk across areas
  SetModuleSwitch(MODULE_SWITCH_ENABLE_CROSSAREA_WAL
KWAYPOINTS, TRUE);

  // * Spells: Activating the switch below will make the Glyph of Warding spell behave differently:
  // * The visual glyph will disappear after 6 seconds, making them impossible to spot
  //SetModuleSwitch(MODULE_SWITCH_ENABLE_INVISIBLE_GLY
PH_OF_WARDING, TRUE);

  // * Craft Feats: Want 50 charges on a newly created wand? We found this unbalancing,
  // * but since it is described this way in the book, here is the switch to get it back...
  //SetModuleSwitch(MODULE_SWITCH_ENABLE_CRAFT_WAND_50
_CHARGES, TRUE);

  // * Craft Feats: Use this to disable Item Creation Feats if you do not want
  // * them in your module
  //SetModuleSwitch(MODULE_SWITCH_DISABLE_ITEM_CREATIO
N_FEATS, TRUE);

  // * Palemaster: Deathless master touch in PnP only affects creatures up to a certain size.
  // * We do not support this check for balancing reasons, but you can still activate it...
  //SetModuleSwitch(MODULE_SWITCH_SPELL_CORERULES_DMAS
TERTOUCH, TRUE);

  // * Epic Spellcasting: Some Epic spells feed on the liveforce of the caster. However this
  // * did not fit into NWNs spell system and was confusing, so we took it out...
  //SetModuleSwitch(MODULE_SWITCH_EPIC_SPELLS_HURT_CAS
TER, TRUE);

  // *
  //SetModuleSwitch(MODULE_SWITCH_RESTRICT_USE_POISON_
TO_FEAT, TRUE);

  // * Spellcasting: Some people don't like caster's abusing expertise to raise their AC
  // * Uncommenting this line will drop expertise mode whenever a spell is cast by a player
  //SetModuleSwitch(MODULE_VAR_AI_STOP_EXPERTISE_ABUSE
, TRUE);

  // * SpellScript: This is the name of the spell router script.
  SetModuleOverrideSpellscript("hc_spell_router");

  // Hark - Remarked out all PWDB stuff since it isnt used anymore.
  //if (GetLocalInt(oMod, "AlreadyExecutedOMD") == 1)
  //  {
  //  postEvent();
  //  return;
  //  }
  //else
  //  { SetLocalInt(oMod, "AlreadyExecutedOMD", 1); }
  //ExecuteScript("hc_pwdb_data", oMod);
  //SetLocalInt(GetModule(), "ModLoadEvent", 1);
  //int PWDB_HEARTBEAT_EVENT = 502;
  //event evEvent = EventUserDefined(PWDB_HEARTBEAT_EVENT);
  //SignalEvent(OBJECT_SELF, evEvent);

  // Execute the default script and set the HTF area variables.
  ExecuteScript("hc_defaults", oMod);
  ExecuteScript("hc_setareavars", oMod);

  // Store the starting year, month, day and hour.
  if (!GetPersistentInt(oMod, "HourStart"))
    SetPersistentInt(oMod, "HourStart", GetTimeHour());
  if (!GetPersistentInt(oMod, "DayStart"))
    SetPersistentInt(oMod, "DayStart", GetCalendarDay());
  if (!GetPersistentInt(oMod, "MonthStart"))
    SetPersistentInt(oMod, "MonthStart", GetCalendarMonth());
  if (!GetPersistentInt(oMod, "YearStart"))
    SetPersistentInt(oMod, "YearStart", GetCalendarYear());

  // Restore the calendar if one was saved.
  int iCurYear = GetPersistentInt(oMod, "CurrentYear");
  if (iCurYear > 0)
    {
    int iCurMonth = GetPersistentInt(oMod, "CurrentMonth");
    int iCurDay  = GetPersistentInt(oMod, "CurrentDay");
    int iCurHour  = GetPersistentInt(oMod, "CurrentHour");
    int iCurMin  = GetPersistentInt(oMod, "CurrentMin");
    SetCalendar(iCurYear, iCurMonth, iCurDay);
    SetTime(iCurHour, iCurMin, 0, 0);
    }

  // HCR v3.1.
  //LoopHTFSystemChk();

  postEvent();
{
//Music Changer:
}  ExecuteScript("toj_cm_ol",GetModule());
}
//::////////////////////////////////////////////////////////////////////////////


А как быть со свитком
Я хочу телепорт через свиток зделать Если вам не трудно помогите плиз
Предположим что мне надо поподать постоянно в точку ( 001 ) а тег свитка TP_001 А ResRef ( item01 )
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kiruhs
сообщение Dec 8 2010, 20:12
Сообщение #4444


Level 6
**

Класс: Клерик
Характер: Chaotic Neutral
Раса: Животное



Так. Постараюсь доступным языком. Сначала идешь в слот OnModuleLoad. Вставляешь сразу же после
void main()
{


такие строчки
Neverwinter Script
ExecuteScript( "x2_mod_def_load", OBJECT_SELF);
SetModuleSwitch ( MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS, TRUE);


Потом идешь в OnEquip и если там стоит не x2_mod_def_equ вставляешь в скрипт

Neverwinter Script
ExecuteScript( "x2_mod_def_equ", OBJECT_SELF);


Если тот - ничего не делаешь. Ту же процедуру проводишь для других слотов по списку ниже, заменяя данные на нужные
OnUnEquip - x2_mod_def_unequ
OnAcquire - x2_mod_def_aqu
OnUnAcqucire - x2_mod_def_unaqu
OnActivate - x2_mod_def_act

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

Скрипт должен быть примерно следующий:

Neverwinter Script
int nEvent =GetUserDefinedItemEventNumber();

  if (nEvent ==  X2_ITEM_EVENT_ACTIVATE)
  {
    //Тут что должно произойти
  }


Вобщем как-то так

Цитата(likkil @ Dec 8 2010, 19:03) *
Предположим что мне надо поподать постоянно в точку ( 001 ) а тег свитка TP_001 А ResRef ( item01 )

Значит делаешь то, что я описал выше. Создаешь скрипт TP_001 и пишешь в нем

Neverwinter Script
int nEvent =GetUserDefinedItemEventNumber();

  if (nEvent ==  X2_ITEM_EVENT_ACTIVATE)
  {
    object oPC  = GetItemActivator(); //наш игрок
    object oTarget = GetObjectByTag("WP_001"); // Предварительно созданный в нужном месте ВП

    // Кидаем чара
    if (GetIsPC(oPC))
    AssignCommand(oPC, ClearAllActions());
    AssignCommand(oPC, JumpToObject(oTarget));
  }


Как-то так

Сообщение отредактировал kiruhs - Dec 8 2010, 20:06
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
likkil
сообщение Dec 8 2010, 20:28
Сообщение #4445


Level 2
*

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



Потом идешь в OnEquip
Чёт у мея токого нет Единственное что похоже это OnPlayerEquipItem но там пусто вообше
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kiruhs
сообщение Dec 8 2010, 20:42
Сообщение #4446


Level 6
**

Класс: Клерик
Характер: Chaotic Neutral
Раса: Животное



Цитата(likkil @ Dec 8 2010, 19:28) *
Потом идешь в OnEquip
Чёт у мея токого нет Единственное что похоже это OnPlayerEquipItem но там пусто вообше

Впиши x2_mod_def_equ
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
likkil
сообщение Dec 8 2010, 21:05
Сообщение #4447


Level 2
*

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



не работает

kiruhs, Может если тебе не трудно полностью напишиш скрипты
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
kiruhs
сообщение Dec 8 2010, 21:43
Сообщение #4448


Level 6
**

Класс: Клерик
Характер: Chaotic Neutral
Раса: Животное



Цитата(likkil @ Dec 8 2010, 20:05) *
kiruhs, Может если тебе не трудно полностью напишиш скрипты

Скрипты, по сути, я тебе уже написал. Дальше, осталось только вместо тебя модуль сделать. Извини, но это уже слишком (IMG:style_emoticons/kolobok_light/rolleyes.gif)


ЗЫ. Глянь - http://www.city-of-masters.ru/forums/index...?showtopic=1612 и не выдумывай велосипед

Сообщение отредактировал kiruhs - Dec 8 2010, 21:45
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
likkil
сообщение Dec 8 2010, 21:45
Сообщение #4449


Level 2
*

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



ну и за это сосибо большое за помошь
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aldaron
сообщение Dec 9 2010, 20:55
Сообщение #4450


Level 1


Класс: Оборотень
Характер: Chaotic Good
Раса: Танар'ри



Снова здрасте.
Как сделать так, чтобы во время диалога игрок сдал свое оружие NPC, а потом мог забрать его обратно?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 176 177 178 179 180 > » 
Ответить в эту темуОткрыть новую тему
9 чел. читают эту тему (гостей: 9, скрытых пользователей: 0)
Пользователей: 0

 



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