Вопросы новичков
|
|
Anttton | Дата: Воскресенье, 16.03.2014, 13:42 | Сообщение # 41 |
Алебардщик
Группа: Пользователи
Сообщений: 28
Репутация: 1
Статус: Offline
| Всем привет) Помогите мне с модулем, хочу создать свой) Хочу сделать сцену в модуле подскажите как, сейчас объясню какую хочу. В начале при старте чтобы проходила сценка, показывали как героя под гипнозом ведет колдун и когда приходит на место назначения убирает гипноз и герой теряет сознание, колдун уходит, герой через некоторое время просыпается и говорит что-то) Подскажите плиз) Подскажите еще , нужен камень, я его выкидываю, появляется у персонажа пьедистал, нажимаю на пьедистал, происходит следующие : в радиусе 10 метров каждый раунд Герой лечится полностью и от ядов и болезней. Еще нужно камень, выкидываю его появляется алтарь другой, и из него в радиусе 20 метров во всех врагов вылетают огненные стрелы каждый раунд) Извинете что столько вопросов) Заранее спасибо)
|
|
| |
Remm | Дата: Понедельник, 17.03.2014, 08:52 | Сообщение # 42 |
Капитан
Группа: Администраторы
Сообщений: 269
Репутация: 10
Статус: Offline
| Задачи вполне реализуемые. А вот как у вас обстоят дела со скриптингом? Если есть скрипт могу помочь оптимизировать.
Модмейкер Рыцарская Сага
|
|
| |
Anttton | Дата: Понедельник, 17.03.2014, 16:29 | Сообщение # 43 |
Алебардщик
Группа: Пользователи
Сообщений: 28
Репутация: 1
Статус: Offline
| Дела не очень со скриптингом, пока только сделал, что при выбрасывании предмета, появляется пьедистал) А остальное не знаю( Помогите плиз) Еще есть вопрос: Я вот у вас на сайте скачал модуль для просмотра эффектов, открыл его, эфекты там классные были, открыл модуль в тулсете, а там не нашел скрипт на эффекты, там только около 300 эффектов только нашел, а остальных в скриптах нету, а так хочу сделать эффект ловушек ( топоры, шипы из полу и стен ) Добавлено (17.03.2014, 16:29) --------------------------------------------- И еще у меня не скачивается ваш 2 модуль, загрузка доходит до половины и выключается(
|
|
| |
Remm | Дата: Понедельник, 17.03.2014, 16:34 | Сообщение # 44 |
Капитан
Группа: Администраторы
Сообщений: 269
Репутация: 10
Статус: Offline
| Модуль просмотра эффектов как раз позволяет визуально найти нужный. Чтобы записать понравившейся нужно просто знать его численное значение.. У нас в модуле есть // *** БИБЛИОТЕКА ЭФФЕКТОВ *** #include "effect_one" // с их условным визуальным пояснением: http://remmgen.narod.ru/tscript2.html Значение всех эффектов вашей версии невера можно посмотреть в базовом скрипте nwscript
Относительно помощи, давайте выкладывайте что у вас есть, посмотрим...
Модмейкер Рыцарская Сага
|
|
| |
Anttton | Дата: Понедельник, 17.03.2014, 16:51 | Сообщение # 45 |
Алебардщик
Группа: Пользователи
Сообщений: 28
Репутация: 1
Статус: Offline
| Так, вот что есть) Это на OnUnAquire модуля) И все( void main() { object oItem = GetModuleItemLost(); // * Generic Item Script Execution Code // * If MODULE_SWITCH_EXECUTE_TAGBASED_SCRIPTS is set to TRUE on the module, // * it will execute a script that has the same name as the item's tag // * inside this script you can manage scripts for all events by checking against // * GetUserDefinedItemEventNumber(). See x2_it_example.nss if (GetModuleSwitchValue(MODULE_SWITCH_ENABLE_TAGBASED_SCRIPTS) == TRUE) { SetUserDefinedItemEventNumber(X2_ITEM_EVENT_UNACQUIRE); int nRet = ExecuteScriptAndReturnInt(GetUserDefinedItemEventScriptName(oItem),OBJECT_SELF); if (nRet == X2_EXECUTE_SCRIPT_END) { return; }
} { object oLost = GetModuleItemLost(); object oPC = GetModuleItemLostBy(); if (GetTag(oLost)=="wood") { CreateObject(OBJECT_TYPE_PLACEABLE,"blueprint001",GetLocation(oPC)); //âûêëàäûâàåì ïëåéñ äðîâ DestroyObject(oLost); //óíè÷òîæàåì âûëîæåííû ìåøî÷åê ñ èòåìîì äðîâ } } }Добавлено (17.03.2014, 16:42) --------------------------------------------- А можно к вам в команду?) Я не скриптер, но я сюжет хороший придумываю) Добавлено (17.03.2014, 16:51) --------------------------------------------- А, я еще хотел спрость: Как вы сделали эффекты, в которых например дом появляется или горы?)
|
|
| |
Вяч | Дата: Вторник, 18.03.2014, 09:28 | Сообщение # 46 |
Алебардщик
Группа: Модераторы
Сообщений: 24
Репутация: 5
Статус: Offline
| Цитата Anttton ( ) А можно к вам в команду?) Я не скриптер, но я сюжет хороший придумываю) Мы больше не планируем делать игр на базе "Невера". В настоящее время заняты работой над 2-й частью "Пути гоблина" на базе движка "Инстед". Если тебе интересно поработать в этом направлении, то готовы рассмотреть твою кандидатуру.
|
|
| |
Remm | Дата: Вторник, 18.03.2014, 10:54 | Сообщение # 47 |
Капитан
Группа: Администраторы
Сообщений: 269
Репутация: 10
Статус: Offline
| Цитата Anttton ( ) И еще у меня не скачивается ваш 2 модуль, загрузка доходит до половины и выключается Скачал, открыл, всё играет...Цитата Anttton ( ) А, я еще хотел спрость: Как вы сделали эффекты, в которых например дом появляется или горы? Это базовые эффекты, нового мы ничего не делали. Теперь по скрипту. Это видно часть кода из неверского, в принципе ее можно выкинуть.
Код void main() { object oLost = GetModuleItemLost(); object oPC = GetModuleItemLostBy(); if (GetTag(oLost)=="wood") { CreateObject(OBJECT_TYPE_PLACEABLE,"blueprint001",GetLocation(oPC)); DestroyObject(oLost); } } Тут мы проверили тег предмета, который выкинули, ставим плейс и удаляем предмет. Теперь, судя по вашей задумке, должен сработать скрипт на объекте при клике. Так его нужно написать... Потом нужен еще скрипт на переодическое лечение в слот ХБ объекта. Получается: активируем объект и он начинает лечить. Можно всё засунуть в один скрипт активации, если циклов лечения не большое количество...
Модмейкер Рыцарская Сага
|
|
| |
Anttton | Дата: Вторник, 18.03.2014, 14:32 | Сообщение # 48 |
Алебардщик
Группа: Пользователи
Сообщений: 28
Репутация: 1
Статус: Offline
| Remm, Если честно, ничего не понял((((( Можете поподробней что куда делать?((( Добавлено (18.03.2014, 14:32) --------------------------------------------- Вяч, Хочу с вами в команде быть) Сюжет я всегда хороший придумываю, но не могу скрипты писать, какие условия вступления к вам в команду?)
|
|
| |
Remm | Дата: Вторник, 18.03.2014, 15:32 | Сообщение # 49 |
Капитан
Группа: Администраторы
Сообщений: 269
Репутация: 10
Статус: Offline
| Тут нужно конкретно знать с чего запускать скрипт и на сколько, т.е. чтобы постоянно было или определенное число раз... Давайте подробности! Потом еще нужно будет сделать кого лечить, перса или перса и его пати...
По поводу команды. Проект вроде закончили, если Артлира не надумает доработать 2 модуль Саги. Браться за новый на 1 Невере уже и смысла и сил нет... На движке 2 Невера делать полный геморой... Вон ребята делают Гоблина, а я курю в стороне. Как-то так.
Вот функция снятия эффектов и лечение Код //::////////////////////////////////////////////// //:: Created By: Gennady //::////////////////////////////////////////////// void FakeRestore(object oTarget) { effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION_GREATER);
effect eBad = GetFirstEffect(oTarget); //Search for negative effects while(GetIsEffectValid(eBad)) { if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE || GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS || GetEffectType(eBad) == EFFECT_TYPE_DEAF || GetEffectType(eBad) == EFFECT_TYPE_CURSE || GetEffectType(eBad) == EFFECT_TYPE_DISEASE || GetEffectType(eBad) == EFFECT_TYPE_POISON || GetEffectType(eBad) == EFFECT_TYPE_PARALYZE || GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL) { //Remove effect if it is negative. RemoveEffect(oTarget, eBad); } eBad = GetNextEffect(oTarget); } if(GetRacialType(oTarget) != RACIAL_TYPE_UNDEAD) { //Apply the VFX impact and effects int nHeal = GetMaxHitPoints(oTarget) - GetCurrentHitPoints(oTarget); effect eHeal = EffectHeal(nHeal); if (nHeal > 0) ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oTarget); } ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oTarget); }
Модмейкер Рыцарская Сага
|
|
| |
Anttton | Дата: Вторник, 18.03.2014, 15:45 | Сообщение # 50 |
Алебардщик
Группа: Пользователи
Сообщений: 28
Репутация: 1
Статус: Offline
| Remm, нужно постоянное лечение в радиусе 10 метров, алтарь должен стоять 3 мин реального времени) Это получается вы больше ничего делать не будете?((( Давайте в 1 части делать, сделаем большой хороший модуль, как проклятие левора)
|
|
| |
Вяч | Дата: Вторник, 18.03.2014, 16:25 | Сообщение # 51 |
Алебардщик
Группа: Модераторы
Сообщений: 24
Репутация: 5
Статус: Offline
| Цитата Anttton ( ) Вяч, Хочу с вами в команде быть) Сюжет я всегда хороший придумываю, но не могу скрипты писать, какие условия вступления к вам в команду? Да никаких особых условий у нас нету. О возможном сотрудничестве предлагаю поговорить в личке.
|
|
| |
Remm | Дата: Вторник, 18.03.2014, 16:56 | Сообщение # 52 |
Капитан
Группа: Администраторы
Сообщений: 269
Репутация: 10
Статус: Offline
| Цитата Anttton ( ) нужно постоянное лечение в радиусе 10 метров, алтарь должен стоять 3 мин реального времени) Я бы сделал на слот OnUsed объекта скрип активации и дестроя. Т.е. вешам на объект локалку и включаем через команду DestroyObject(oSelf, 3.0); Если нужно, то можно просто оставить объект и заблокировать лечение... На слоте OnHeartbeat пишем скрипт лечения, который включается после получения объекта нашей локалки... Пробуйте написать сами, не получится, выкладывайте разберем...
Модмейкер Рыцарская Сага
|
|
| |
Anttton | Дата: Вторник, 18.03.2014, 17:21 | Сообщение # 53 |
Алебардщик
Группа: Пользователи
Сообщений: 28
Репутация: 1
Статус: Offline
| Remm, ничего не понимаю в скриптах почти, сам не смогу написать( Добавлено (18.03.2014, 17:21) --------------------------------------------- Remm, А как сделать радиус 10 метров?
|
|
| |
Remm | Дата: Вторник, 18.03.2014, 17:44 | Сообщение # 54 |
Капитан
Группа: Администраторы
Сообщений: 269
Репутация: 10
Статус: Offline
| Код ////////////////////////////////////////////////////// ////: Слот OnUsed – При клике по объекту ///////////////////////////////////////////////////// void main() { object oSelf = OBJECT_SELF; effect e8i = EffectVisualEffect(VFX_FNF_LOS_HOLY_10);// круг желтый 2
if (GetLocalInt(oSelf, "ACTIVATE") == 0) { SetLocalInt(oSelf, "ACTIVATE", 1); ApplyEffectToObject(DURATION_TYPE_PERMANENT, e8i , oSelf); DestroyObject(oSelf, 3.0); } } попробуй
Модмейкер Рыцарская Сага
|
|
| |
Anttton | Дата: Вторник, 18.03.2014, 18:06 | Сообщение # 55 |
Алебардщик
Группа: Пользователи
Сообщений: 28
Репутация: 1
Статус: Offline
| Remm, ок) А как радиус сделать?)
|
|
| |
Remm | Дата: Пятница, 21.03.2014, 08:54 | Сообщение # 56 |
Капитан
Группа: Администраторы
Сообщений: 269
Репутация: 10
Статус: Offline
| Радиус уже нужно делать в скрипте на ХБ. Там нужно сделать проверку кого будем лечить и уже сам радиус: Код if (GetDistanceBetween(oPC, OBJECT_SELF) < 10.0)//проверить растояние
Модмейкер Рыцарская Сага
|
|
| |
Anttton | Дата: Пятница, 21.03.2014, 15:33 | Сообщение # 57 |
Алебардщик
Группа: Пользователи
Сообщений: 28
Репутация: 1
Статус: Offline
| Remm, Спасибо) А как сделать пьедистал чтоб огненными стрелами стрелял во всех врагов каждый ход?)
|
|
| |
Remm | Дата: Суббота, 22.03.2014, 09:05 | Сообщение # 58 |
Капитан
Группа: Администраторы
Сообщений: 269
Репутация: 10
Статус: Offline
| Давайте сперва посмотрим что у вас получилось с первым скриптом на ХБ. Т.с. скрипт в студию!
Модмейкер Рыцарская Сага
|
|
| |
Anttton | Дата: Суббота, 22.03.2014, 10:19 | Сообщение # 59 |
Алебардщик
Группа: Пользователи
Сообщений: 28
Репутация: 1
Статус: Offline
| Remm, не получилось((( Я нажимаю на пьедистал и он исчезает и все(
|
|
| |
Revole | Дата: Суббота, 22.03.2014, 12:37 | Сообщение # 60 |
Алебардщик
Группа: Пользователи
Сообщений: 31
Репутация: 1
Статус: Offline
| Anttton, а зачем тебе сразу такие сложные вещи создавать? Насколько я понял, свой модуль ты только начал делать.
|
|
| |