Особые Умения - Амен

Welcome Guest ( Log In | Register )

 
Открыть новую тему
> Особые Умения
{ipb.lang['topic_rating']}
Nightalas
{ipb.lang[ 6 August 2007, 17:46
{ipb.lang['posted_on']} #1


Ученик
***

Group: Житель
Posts: 243




Предлагаю на рассмотрение разработчиков и игроков нововведение, которое может сделать Амен существенно более интересным шардом. Выложу здесь всё описание с полными подробностями о том, что это нововведение включает в себе. Все скрипты уже готовы, взяты из модуля "Glorian Empires". Для Амена предлагаю сильно укороченную и немного изменённую систему, более подходящую для баланса Амена.

Наверное вы когда-нибудь играли в РПГ где персонажи используют для особых умений или заклинаний очки маны или стамины, которые потихоньку пополняются. На Аменe можно ввести ряд особых умений, которые требуют для использования энергию ("Energy Points" -> "EP"). Персонаж регенерирует 1 очко энергии за каждые 12 секунд. Всего персонаж имеет 10 очков энергии + 1 очко за каждый свой уровень (до 34-35 очков на 24 уровне). В инвентаре персонажа лежит особый зелёный камушек. Поставив один раз камень в "quickbar" игрок может всегда следить сколько очков EP имеется у персонажа на данный момент.

Сами особые навыки привязаны тоже к камушкам. За использование камушка убывает определённое количество EP зависимо от навыка. Некоторые навыки требуют много EP и их можно использовать только на более высоких уровнях когда у персонажа достаточно высокое максимальное количество EP. О том как персонажу доставались бы камушки с особыми умениями можно ещё вместе подумать. Самый простой вариант - сделать магазин с этими камушками. Чем мощнее навык, тем дороже камень. Купленный камень оставался бы навсегда в инвентаре данного персонажа (т.е. "undroppable"). Второй вариант - ограничить количество камней до 4-6 на каждого персонажа. При этом для получения некоторых навыков надо было бы брать более слабый вариант навыка (т.е. для получения самой мощной версии навыка надо потратить 2 камня на более слабые варианты навыка, например Float -> Hover -> Levitation; Resilience -> Vigorous -> Superhuman и Peace -> Calm -> Tranquility итд.).

Навыки
----------

Focus
Персонаж умеет фокусировать свои силы на регенерацию энергии. Персонаж регенерирует 1 EP за 11 секунд.

Concentration
Персонаж умеет восстанавливать свою энергию более сконцентрированно. Персонаж регенерирует 1 EP за 10 секунд.

Meditation
Персонаж имеет хорошее представление о течении энергии и восстанавливает свои запасы энергии быстрее обычного. Персонаж регенерирует 1 EP за 9 секунд.


Flashstep (4 EP)
Персонаж телепортируется на короткое расстояние (примерно такое же расстояние на которое надо подойти магу чтобы кинуть магию элекртической сферы). С этим навыком можно перепрыгивать реки и овраги, но оно не работает если на пути из точки А в точку Б оказывается какой-то обьект (камень, дерево итп.).

Trickstep (4 EP)
Персонаж создает иллюзию короткой телепортации оставаясь на самом деле на том же месте.

Mist Flashstep (6 EP)
Персонаж телепортируется на короткое расстояние. На месте его появления образуется на короткое время туман.


Float (5 EP)
Персонаж слегка приподнимается и парит над землей, получает иммунитеты от магий опутывания и замедления скорости на несколько минут.

Hover (10 EP)
Персонаж парит над землей, получает иммунитеты от ловушек, магий опутывания и замедления на несколько минут.

Levitation (20 EP)
Персонаж передвигается левитируя, получает иммунитеты от ловушек, магий опутывания и замедления, и нокдауна на несколько минут.


Resilience (5 EP)
Персонаж получает иммунитеты от болезней и ядов на несколько минут.

Vigorous (10 EP)
Персонаж получает иммунитеты от болезней и ядов, а также магий и эффектов Charm, Stun, Daze и Dominate на несколько минут.

Superhuman (20 EP)
Персонаж получает иммунитеты от болезней и ядов, магий и эффектов Charm, Stun, Daze и Dominate, а а также магий смерти, проклятий и магий понижающих абилки на несколько минут.


Peace (4 EP)
Персонаж регенерирует 1 хит поинт за каждые 3 секунды в течении 10 раундов.

Calm (8 EP)
Персонаж регенерирует 1 хит поинт за каждые 2 секунды в течении 10 раундов.

Tranquility (12 EP)
Персонаж регенерирует 1 хит поинт за каждую 1 секунду в течении 10 раундов.


Improved Sense (3 EP)
Персонаж получает +1 ко всем спасам и +5 к навыкам Spot, Listen & Search на 3 минуты.

Mind's Eye (9 EP)
Персонаж получает +3 ко всем спасам, +10 к навыкам Spot, Listen & Search, и эффект See Invisible на 3 минуты.

Premonition (12 EP)
Персонаж получает +3 ко всем спасам, +10 к навыкам Spot, Listen & Search, и эффекты See Invisible и Concealment 15% на 3 минуты.


Energy Guard (5 EP)
Вокруг персонажа появляется защитная энергетическая оболочка, которая поглощает 2 очка физического урона до 10 очков в течении 3 минут.

Energy Wall (10 EP)
Вокруг персонажа появляется защитное энергетическое поле, которое поглощает 4 очка физического урона до 20 очков в течении 3 минут.

Energy Barrier (15 EP)
Вокруг персонажа появляется защитный энергетический барьер, который поглощает 6 очков физического урона до 40 очков в течении 3 минут.


Quickstep (8 EP)
Этот навык помогает персонажу моментально достичь своего максимального физического потенциала. Персонаж получает +15% скорость и +1 додж АС на 10 раундов.

Faststep (14 EP)
Этот навык помогает персонажу моментально достичь и превысить свой максимальный физический потенциал. Персонаж получает +25% скорость, +3 додж АС и одну дополнительную атаку в раунд на 10 раундов.

Speedstep (18 EP)
Этот навык делает физический потенциал персонажа безграничным. Персонаж получает +50% скорость, +5 додж АС и одну дополнительную атаку в раунд на 10 раундов.


Strong (6 EP)
Этот навык поднимает физическую силую персонажа до полного потенциала. Персонаж получает +1 атаку и +1 силу на 15 раундов.

Powerful (12 EP)
Этот навык поднимает физическую силую персонажа до полного потенциала и превышает его. Персонаж получает +2 атаку и +2 силу на 10 раундов.

Unstoppable (16 EP)
Физическая сила персонажа не знает границ. Персонаж получает +5 атаку и +5 силу на 5 раундов.


Toughness (10 EP)
Организм персонажа становится более закаленным против всех видов урона. В течении 5 раундов персонаж получает только 95% урона.

Resistance (15 EP)
Организм персонажа становится очень закаленным против всех видов урона. В течении 5 раундов персонаж получает только 85% урона.

Immunity (20 EP)
Организм персонажа становится чрезвычайно закаленным против всех видов урона. В течении 5 раундов персонаж получает только 75% урона.


Break (6 EP)
Персонаж превращает свою энергию в силы телекинезиса, которые физически бросают жертву в разные стороны. Цель получает 5 очков магического урона.

Shatter (12 EP)
Персонаж превращает свою энергию в силы телекинезиса, которые физически бросают жертву в разные стороны и также проникают внутрь. Цель получает 10 очков магического урона.

Сrush (18 EP)
Персонаж превращает свою энергию в силы телекинезиса, которые создают вокруг жертвы огромное давление. Цель получает 20 очков магического урона.


Weaken (12 EP)
Персонаж изменяет поток энергии в жертве, делая её более хрупкой к повреждению. Иммунитет жертвы ко всем видам урона понижается на 10% на 1 минуты.

Crack (16 EP)
Персонаж изменяет и преостанавливает поток энергии в жертве, делая её более хрупкой к повреждению. Иммунитет жертвы ко всем видам урона понижается на 15% на 1 минуту.

Crumble (22 EP)
Персонаж иссекает поток энергии в жертве, делая её более хрупкой к повреждению. Иммунитет жертвы ко всем видам урона понижается на 20% на 1 минуту.


Jinx (4 EP)
Изменяя поток энергии вокруг жертвы персонаж приносит ей "неудачу". Все спасы жертвы понижаются на -1 на 5 раундов.

Curse (12 EP)
Изменяя поток энергии и состав воздуха вокруг жертвы персонаж приносит ей "неудачу". Все спасы жертвы понижаются на -3 на 5 раундов.

Hexism (20 EP)
Сильно изменяя поток энергии и уменьшая количество воздуха вокруг жертвы персонаж приносит ей "неудачу" и даже затрудняет ее возможность дышать. Все спасы жертвы понижаются на -6 на 5 раундов.
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Гость_Seth_*
{ipb.lang[ 6 August 2007, 18:24
{ipb.lang['posted_on']} #2





Гости





Мда. Тут люди до ума стандартные классы и заклы не довели, а вы предлагаете еще 20+ заклов\абилок. Причем многие из них дают ас, иммун и спасы. Кто все это будет балансить? Кто будет править мобов?
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nightalas
{ipb.lang[ 6 August 2007, 18:46
{ipb.lang['posted_on']} #3


Ученик
***

Group: Житель
Posts: 243




Эта система вписывается прекрасно и я считаю, что только новшества типа неё могут по-настоящему поспособствовать возрождению Амена. Многие игроки никогда ещё не играли на шарде с системой "Energy Points" и поэтому для них будет хоть какая-то новизна на шарде. Будет также новая цель - добывать своему персонажу особые навыки. НВН 1 уже очень заезженная игра, тема баланса классов и субрасс была важна для привлечения игроков 2-3 года тому назад, но не теперь. Над новыми локациями тоже не стоит особо больше мучаться. Локациями никого больше особо не удивишь, если только не делать что-то очень особое. Сейчас публику, особенно игроков которые играли в НВН 1 два года или больше, можно привлечь на шард только создав что-то чего они ещё нигде не видели.

Систему навыков на "EP" кстати можно легко и гибко балансировать меняя время регенерации EP или количество очков нужных для использования какого-то навыка. Главный плюс, что имеются уже готовые скрипты для навыков и регенерации EP, а также .uti файлы для вещей (камень EP и камни навыков). В скриптах надо только некоторые цифры изменить, чтобы немного ослабить навыки для Амена.
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Гость_Deathshade_*
{ipb.lang[ 6 August 2007, 19:41
{ipb.lang['posted_on']} #4





Гости





Не имея на руках готовых скриптов я не хотел морочить голову разрабам этой системой. Собственно аналогичной системой (правда, там была еще правка 2да, но одно это уже отлично) был установлен балланс классов. Каждый класс имеет уникальные абилки Abilities, которые появляются автоматом у чара на определенном уровне. "Энергия" у каждого класса отдельная т.е. у 20 воина/20 варвара будет 4(дается базовому классу при создании чара)+20=24 файтера и 20 варвара СП. Реген - каждые 12 секунд по 1.


Примеры пассивных умений:

Bladedancer - прибавляет 1 додж АС за каждые 5 очков Парирования если персонаж дерется двумя оружиями.

Spirit Barrier - добавляет часть спасброска по воле ко всем другим спасброскам при условии, что естественный (без бонусов вещей) спасбросок по воле выше всех остальных.

Soul Scream (только варвар) - при использовании ярости варвара все существа в пределах действия должны сделать спасбросок по стойкости против текущего уровня атаки варвара + д20 или будут оглушены (Daze) на 3 раунда.

Примеры активных:

Pyro - поджигает цель, нанося 2д6 урона каждый раунд в течении 5 арундов

Shield bash - ударяет противника щитом, нанося АБ щита+мод силы дробящего урона. Цель должна сделать спасбросок по стойкости против атаки атакующего или будет оглушена на 1 раунд. Во время оглушеня цель нельзя оглушить повторно.

Tau throw (только монах) - персонаж бросает камень для пращи в цель, нанося урон статы камня+мод силы+уровень монаха. Цель должна слелать спасбросок по стойкости или будет сбита с ног на один раунд.
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Гость_Seth_*
{ipb.lang[ 6 August 2007, 19:42
{ipb.lang['posted_on']} #5





Гости





Мда. Вы, конечно молодец, что постоянно хотите помочь шарду, это очень похвальное устремление.
Но что такое ПВЕ, ПВМ и ПВП вы упорно не понимаете.
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yalini
{ipb.lang[ 7 August 2007, 09:06
{ipb.lang['posted_on']} #6


Мастер Клинка
Group Icon

Group: Координатор
Posts: 2,292
From: Москва

Раса: Человек
Класс: Ghost Sentinel



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

Чтобы все это ввести, необходимо вначале сбалансировать то, что уже имеется. Нельзя забывать, что введенные умения либо улучшат положение, либо добавят новый хаос.
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
RunneR
{ipb.lang[ 7 August 2007, 09:32
{ipb.lang['posted_on']} #7


Адепт
****

Group: Житель
Posts: 338

Раса: Темный Эльф
Класс: Bounty Hunter
Клан: Дом Кел'фор (Shadow Blades)



Это все конечно звучит хорошо, а тем более если есть почти готовые скрипты... но ИМНО сначала надо закончить старое

Цитата
Speedstep (18 EP)
Этот навык делает физический потенциал персонажа безграничным. Персонаж получает +50% скорость, +5 додж АС и одну дополнительную атаку в раунд на 10 раундов.

Сrush (18 EP)
Персонаж превращает свою энергию в силы телекинезиса, которые создают вокруг жертвы огромное давление. Цель получает 20 очков магического урона.

Energy Barrier (15 EP)
Вокруг персонажа появляется защитный энергетический барьер, который поглощает 6 очков физического урона до 40 очков в течении 3 минут.


Хм по сравнению с первой абилкой(ака Haste) последние как-то скромно выглядят в условиях почти одинаковой стоимости
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nightalas
{ipb.lang[ 7 August 2007, 17:18
{ipb.lang['posted_on']} #8


Ученик
***

Group: Житель
Posts: 243




Они улучшат положение. Я этим летом играл на западном шарде с модулем "Glorian Empire", где эта система намного сложнее предложенного мной здесь. Там сотни навыков и не только на очки "EP", но и "AP" (Astral Points). EP регенерируются со временем, AP даются за убийство монстров. Персонажу даётся через каждые 3 уровня кристалл за который он может у НПС купить новый навык или улучшить имеющийся навык. Я успел протестировать у них эту систему и не стал здесь предлагать навыки, которые могут действительно вызвать дизбаланс. Конечно, с этими навыками качаться на монстрах будет легче. В крайнем случае регенерацию EP можно замедлить до +1 очка за 30 секунд.

Плюсы системы:
+ делает охоту на монстров более интересной и разнообразной
+ больше возможностей файтерам и варварам, также облегчает жизнь другим "слабым" классам
+ новая цель развивать персонажа (на более высоких уровнях максимальное количество EP выше и
можно использовать более крутые навыки)
+ новая цель создавать позже нового персонажа (если сделать ограничение 6-7 камней навыков на одного персонажа)
+ "Flashstep" (IMG:style_emoticons/default/cool.gif)
+ вопрос "кто это будет делать" отпадает, скрипты готовы, надо только немного подправить

Для интереса можно как-то разбить навыки. Например, все проклинающие и атакующие навыки сделать доступными только злым персонажам, все улучшающие навыки добрым персонажам. Навыки первой ступени (например "Float") сделать доступными всем, продавать камни с ними в магазине. Навыки второй и третей степени (более мощные версии тех же навыков.. "Hover" и "Levitate") могли бы даваться в связи с РП или при выполнении квестов, если у персонажа уже имеется тот же навык предыдущей степени.

Другой вариант - сделать все камни с навыками редким лутом из монстров. Навыки третей степени могли бы попадаться реже всего (камень не уничтожается и навык можно использовать сколько угодно, надо только иметь достаточно EP).
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nightalas
{ipb.lang[ 8 August 2007, 00:59
{ipb.lang['posted_on']} #9


Ученик
***

Group: Житель
Posts: 243




Выкладываю все инструкции и нужные скрипты. Я решил пока ограничить количество предложенных навыков самыми слабыми версиями. Их появление точно никак особо не повлияет на баланс Амена. О более сильных версиях этих навыков можно подумать потом. Остаётся тогда всего 13 разных навыков.

Flashstep (-> Trickstep -> Mist Flashstep)
Focus (-> Concentration -> Meditation)
Float (-> Hover -> Levitation)
Resilience (-> Vigorous -> Superhuman)
Peace (-> Calm -> Tranquility)
Improved Sense (-> Mind's Eye -> Premonition)
Energy Guard (-> Energy Wall -> Energy Barrier)
Quickstep (-> Faststep -> Speedstep)
Strong (-> Powerful -> Unstoppable)
Toughness (-> Resistance -> Immunity)
Break (-> Shatter -> Crush)
Weaken (-> Crack -> Crumble)
Jinx (-> Curse -> Hexism)


Позже можно добавить ещё некоторые особые индивидуальные навыки с "EP" для вампиров, певиц, тайных разбойников и всяких других чудиков населяющих Амен. (IMG:style_emoticons/default/tongue.gif)




Нужные скрипты:
---------------------


epenergy.uti
---------------

Сначала создаётся камень с тэгом "epenergy". Камень должен выдаваться в инвентарь персонажа, как мешочек с кубиками и посох эмоций, и при первой выдаче имеет 25 зарядов (charges). Камень работает в качестве батарейки для очков EP.

Этот камень помогает вам следить за регенерацией энергии. Поставив его в квикслот вы можете всегда увидеть сколько энергии у вас на данный момент. Камень регенерирует 1 очко энергии за каждые 12 секунд

Далее идут два скрипта связанные с регенерацией очков EP в камень "epenergy".


epregen1.nss
----------------


void main()
{


object oItem = GetItemPossessedBy(OBJECT_SELF, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges + 1;
if (nNewCharge > (10 + GetHitDice(OBJECT_SELF)))
{nNewCharge = (10 + GetHitDice(OBJECT_SELF));}

float fNum = 12.0;
if (GetItemPossessedBy(OBJECT_SELF, "epfocus")!= OBJECT_INVALID)
fNum = 10.0;

if (GetItemPossessedBy(OBJECT_SELF, "epconcentration")!= OBJECT_INVALID)
fNum = 9.0;

if (GetItemPossessedBy(OBJECT_SELF, "epmeditation")!= OBJECT_INVALID)
fNum = 8.0;

SetItemCharges(oItem, nNewCharge);
DelayCommand(fNum, ExecuteScript("epregen2", OBJECT_SELF));

}




epregen2.nss
-----------------


void main()
{


object oItem = GetItemPossessedBy(OBJECT_SELF, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges + 1;
if (nNewCharge > (10 + GetHitDice(OBJECT_SELF)))
{nNewCharge = (10 + GetHitDice(OBJECT_SELF));}

float fNum = 12.0;
if (GetItemPossessedBy(OBJECT_SELF, "epfocus")!= OBJECT_INVALID)
fNum = 10.0;

if (GetItemPossessedBy(OBJECT_SELF, "epconcentration")!= OBJECT_INVALID)
fNum = 9.0;

if (GetItemPossessedBy(OBJECT_SELF, "epmeditation")!= OBJECT_INVALID)
fNum = 8.0;

SetItemCharges(oItem, nNewCharge);
DelayCommand(fNum, ExecuteScript("epregen1", OBJECT_SELF));

}


epfocus.uti
-----------------------

Для навыка "Focus" надо только создать камень с тэгом "epfocus", названием "Focus". Скрипт по регенерации EP проверяет есть ли у персонажа такой камень. При наличии камня очки EP регенерируются быстрей на 2 секунды.

Ваш персонаж научился фокусировать свои силы на регенерации энергии. Персонаж регенерирует энергию быстрее обычного, 1 EP за 10 секунд.


epflashstep.uti
------------------

Создаётся камень с тэгом "epflashstep", названием "Flashstep".

4 EP
Ваш персонаж научился мгновенно пересекать открытое пространство между двумя точками. Этот метод короткой телепортации не срабатавает, если на пути оказывается какой-то предмет.


Скрипт срабатывающий когда используется камень (навык):


epflashstep.nss
------------------

void main()
{
object oPC = GetItemActivator();
object oTarget = GetItemActivatedTarget();
location lTarget = GetItemActivatedTargetLocation();
location lPC = GetLocation(oPC);

effect eVis = EffectVisualEffect(VFX_IMP_DUST_EXPLOSION);

vector vPC = GetPosition(oPC);
vector vTarget = GetPositionFromLocation(lTarget);

if (LineOfSightVector(vPC, vTarget) != TRUE)
{FloatingTextStringOnCreature("Can't pass through objects", oPC);
return;}

object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 4;
{if (nNewCharge < 1)
nNewCharge = 1;}
if (nCharges < 3)
{FloatingTextStringOnCreature ("Not enough EP!", oPC, FALSE);
return;}

effect eBad = GetFirstEffect(oPC);
while(GetIsEffectValid(eBad))
{if (GetEffectType(eBad) == EFFECT_TYPE_INVISIBILITY ||
GetEffectType(eBad) == EFFECT_TYPE_SANCTUARY ||
GetEffectType(eBad) == EFFECT_TYPE_ETHEREAL)
{RemoveEffect(oPC, eBad);}
eBad = GetNextEffect(oPC);}

SetItemCharges(oItem, nNewCharge);


JumpToLocation(lTarget);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, lTarget);


}


epfloat.uti
------------

Камень с тэгом "epfloat", название "Float".

5 EP
Персонаж слегка приподнимается и парит над землей, получает иммунитеты от магий опутывания и замедления скорости на несколько минут.


Скрипт срабатывающий когда используется камень (навык):

epfloat.nss
-------------

void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 5;
{if (nNewCharge < 1)
nNewCharge = 1;}

if (nCharges < 4)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}


SetItemCharges(oItem, nNewCharge);


object oTarget = GetItemActivator();
effect eParal = EffectImmunity(IMMUNITY_TYPE_ENTANGLE);
effect eEntangle = EffectImmunity(IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE);


effect eLink = EffectLinkEffects(eParal, eEntangle);


effect eLook = GetFirstEffect(oTarget);
while(GetIsEffectValid(eLook))
{
if(GetEffectType(eLook) == EFFECT_TYPE_MOVEMENT_SPEED_DECREASE ||
GetEffectType(eLook) == EFFECT_TYPE_ENTANGLE)
{
RemoveEffect(oTarget, eLook);
}
eLook = GetNextEffect(oTarget);
}
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 30.0);
}




epresilience.uti
------------------
Камень с тэгом "epresilience", название "Resilience".

5 EP
Персонаж умеет использовать энергию для повышения своего иммунитета от болезней и ядов на несколько минут.


Скрипт срабатывающий когда используется камень (навык):

epresilience.nss
-------------------

void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 5;
{if (nNewCharge < 1)
nNewCharge = 1;}

if (nCharges < 4)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}


SetItemCharges(oItem, nNewCharge);

object oTarget = GetItemActivator();
effect eParal = EffectImmunity(IMMUNITY_TYPE_DISEASE);
effect eEntangle = EffectImmunity(IMMUNITY_TYPE_POISON);


effect eLink = EffectLinkEffects(eParal, eEntangle);


effect eLook = GetFirstEffect(oTarget);
while(GetIsEffectValid(eLook))
{
if(GetEffectType(eLook) == EFFECT_TYPE_POISON ||
GetEffectType(eLook) == EFFECT_TYPE_DISEASE)
{
RemoveEffect(oTarget, eLook);
}
eLook = GetNextEffect(oTarget);
}

ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 30.0);
}


eppeace.uti
-------------
Камень с тэгом "eppeace", название "Peace".

4 EP
Персонаж регенерирует 1 хит поинт за каждые 3 секунды в течении 10 раундов.


Скрипт срабатывающий когда используется камень (навык):

eppeace.nss
--------------

#include "x2_inc_spellhook"

void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 4;
{if (nNewCharge < 1)
nNewCharge = 1;}

if (nCharges < 3)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}


SetItemCharges(oItem, nNewCharge);


object oTarget = oPC;
effect eRegen = EffectRegenerate(1, 6.0);
effect eVis = EffectVisualEffect(VFX_IMP_MAGIC_PROTECTION);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);

effect eLink = EffectLinkEffects(eRegen, eDur);



ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(10));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);

}


epimprovedsense.uti
------------------------

Камень с тэгом "epimprovedsense" и названием "Improved Sense".

6 EP
Персонаж способен ощущать окружающую среду намного более тоньше направляя в неё свою энергию. Персонаж получает +1 ко всем спасам и +5 к навыкам Spot, Listen и Search на 10 раундов.


Скрипт срабатывающий когда используется камень (навык):

epimprovedsense.nss
-------------------------

void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 6;
{if (nNewCharge < 1)
nNewCharge = 1;}


if (nCharges < 5)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}


SetItemCharges(oItem, nNewCharge);

object oTarget = GetItemActivator();
effect eVis = EffectVisualEffect(VFX_IMP_SUPER_HEROISM);
effect eAC1, eAC2, eAC3, eAC4;
eAC1 = EffectSavingThrowIncrease(SAVING_THROW_ALL, 1);
eAC2 = EffectSkillIncrease(SKILL_LISTEN, 5);
eAC3 = EffectSkillIncrease(SKILL_SPOT, 5);
eAC4 = EffectSkillIncrease(SKILL_SEARCH, 5);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);

effect eLink = EffectLinkEffects(eAC1, eDur);
eLink = EffectLinkEffects(eLink, eAC2);
eLink = EffectLinkEffects(eLink, eAC3);
eLink = EffectLinkEffects(eLink, eAC4);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 60.0);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}



epenergyguard.uti
---------------------

Камень с тэгом "epenergyguard" и названием "Energy Guard".

6 EP
Вокруг персонажа материализуется защитная энергетическая оболочка, которая поглощает 2 очка физического урона до 20 очков в течении 10 раундов.


Скрипт срабатывающий когда используется камень (навык):

epenergyguard.nss
----------------------

void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 6;
{if (nNewCharge < 1)
nNewCharge = 1;}



if (nCharges < 5)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}


SetItemCharges(oItem, nNewCharge);


object oTarget = GetItemActivator();
int nDuration = GetCasterLevel(oTarget);
int nResistance = 2;
int nMetaMagic = GetMetaMagicFeat();
effect eCold = EffectDamageResistance(DAMAGE_TYPE_SLASHING, nResistance, 20);
effect eFire = EffectDamageResistance(DAMAGE_TYPE_PIERCING, nResistance, 20);
effect eAcid = EffectDamageResistance(DAMAGE_TYPE_BLUDGEONING, nResistance, 20);



effect eDur = EffectVisualEffect(VFX_DUR_PARALYZED);
effect eVis = EffectVisualEffect(VFX_IMP_SUPER_HEROISM);
effect eDur2 = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);



effect eLink = EffectLinkEffects(eCold, eFire);
eLink = EffectLinkEffects(eLink, eAcid);
eLink = EffectLinkEffects(eLink, eDur);
eLink = EffectLinkEffects(eLink, eDur2);




ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 60.0);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}


epquickstep.uti
-----------------

Камень с тэгом "epquickstep" и названием "Quick Step".

6 EP
Этот навык помогает персонажу моментально достичь своего максимального физического потенциала. Персонаж получает +15% скорость и +1 додж АС на 10 раундов.


Скрипт срабатывающий когда используется камень (навык):

epquickstep.nss
------------------


void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 6;
{if (nNewCharge < 1)
nNewCharge = 1;}



if (nCharges < 5)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}


SetItemCharges(oItem, nNewCharge);




effect eHaste = EffectMovementSpeedIncrease(15);
effect eDodge = EffectACIncrease(1, AC_DODGE_BONUS);
effect eVis = EffectVisualEffect(VFX_IMP_SUPER_HEROISM);

effect eLink = EffectLinkEffects(eHaste, eDodge);




ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oPC, 60.0);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC);
}



epstrong.uti
--------------

Камень с тэгом "epstrong" и названием "Strong".

6 EP
Этот навык поднимает физическую силу персонажа до полного потенциала. Персонаж получает +1 атаку и +1 силу на 10 раундов.


Скрипт срабатывающий когда используется камень (навык):

epstrong.nss
---------------


void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 6;
{if (nNewCharge < 1)
nNewCharge = 1;}


if (nCharges < 5)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}


SetItemCharges(oItem, nNewCharge);


object oTarget = GetItemActivator();
effect eVis = EffectVisualEffect(VFX_IMP_SUPER_HEROISM);



effect eImpact = EffectVisualEffect(VFX_FNF_LOS_NORMAL_10);
effect eAttack = EffectAttackIncrease(1);
effect eSave = EffectAbilityIncrease(ABILITY_STRENGTH, 1);
effect eLink = EffectLinkEffects(eAttack, eSave);



ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, GetLocation(oTarget));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 10.0);

}




eptoughness.uti
------------------

Камень с тэгом "eptoughness" и названием "Toughness".

14 EP
Организм персонажа становится более закаленным против всех видов урона. В течении 5 раундов персонаж получает только 90% урона.


Скрипт срабатывающий когда используется камень (навык):


eptoughness.nss
-------------------

void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 14;
{if (nNewCharge < 1)
nNewCharge = 1;}


if (nCharges < 13)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}


SetItemCharges(oItem, nNewCharge);


effect eImp = EffectVisualEffect(VFX_IMP_SUPER_HEROISM);
effect eVis = EffectVisualEffect(VFX_DUR_PROT_BARKSKIN);
object oTarget = OBJECT_SELF;

effect eCold = EffectDamageImmunityIncrease(DAMAGE_TYPE_COLD, 10);
effect eFire = EffectDamageImmunityIncrease(DAMAGE_TYPE_FIRE, 10);
effect eElec = EffectDamageImmunityIncrease(DAMAGE_TYPE_ELECTRICAL, 10);
effect eSoni = EffectDamageImmunityIncrease(DAMAGE_TYPE_SONIC, 10);
effect eAcid = EffectDamageImmunityIncrease(DAMAGE_TYPE_ACID, 10);
effect eSlash = EffectDamageImmunityIncrease(DAMAGE_TYPE_SLASHING, 10);
effect ePierce = EffectDamageImmunityIncrease(DAMAGE_TYPE_PIERCING, 10);
effect eBludge = EffectDamageImmunityIncrease(DAMAGE_TYPE_BLUDGEONING, 10);



effect eLink = EffectLinkEffects(eElec, eCold);
eLink = EffectLinkEffects(eLink, eFire);

eLink = EffectLinkEffects(eLink, eVis);
eLink = EffectLinkEffects(eLink, eSoni);
eLink = EffectLinkEffects(eLink, eAcid);
eLink = EffectLinkEffects(eLink, eSlash);
eLink = EffectLinkEffects(eLink, ePierce);
eLink = EffectLinkEffects(eLink, eBludge);

ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 30.0);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImp, oTarget);
}


epbreak.uti
--------------

Камень с тэгом "epbreak" и названием "Break".

4 EP
Персонаж превращает свою энергию в силы телекинезиса, которые физически бросают жертву в разные стороны. Цель получает 5 очков магического урона.



Скрипт срабатывающий когда используется камень (навык):


epbreak.nss
---------------

#include "epdc"

void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 4;
{if (nNewCharge < 1)
nNewCharge = 1;}


if (nCharges < 3)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}

effect eBad = GetFirstEffect(oPC);
while(GetIsEffectValid(eBad))
{if (GetEffectType(eBad) == EFFECT_TYPE_INVISIBILITY ||
GetEffectType(eBad) == EFFECT_TYPE_SANCTUARY ||
GetEffectType(eBad) == EFFECT_TYPE_ETHEREAL)
{RemoveEffect(oPC, eBad);}
eBad = GetNextEffect(oPC);}




SetItemCharges(oItem, nNewCharge);

if (iDefend > iAttack)
{FloatingTextStringOnCreature("Saved!", oPC, TRUE);
return;}


object oTarget = GetItemActivatedTarget();
int nCasterLevel = GetCasterLevel(oPC);


effect eVis = EffectVisualEffect(VFX_COM_CHUNK_RED_SMALL);
if(!GetIsReactionTypeFriendly(oTarget))
{

{

effect eBad = EffectDamage(5, DAMAGE_TYPE_MAGICAL);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBad, oTarget);
}
}
}




epweaken.uti
----------------

Камень с тэгом "epweaken" и названием "Weaken".

14 EP
Персонаж изменяет поток энергии в жертве, делая её более хрупкой к повреждению. Иммунитет жертвы ко всем видам урона понижается на 10% на 5 раундов.


Скрипт срабатывающий когда используется камень (навык):


epweaken.nss
-----------------

#include "x2_inc_spellhook"

void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 14;
{if (nNewCharge < 1)
nNewCharge = 1;}



if (nCharges < 13)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}


SetItemCharges(oItem, nNewCharge);



int iDn = 10;
object oTarget = GetItemActivatedTarget();
effect eAcid = EffectDamageImmunityDecrease(DAMAGE_TYPE_ACID, iDn);
effect eSonic = EffectDamageImmunityDecrease(DAMAGE_TYPE_SONIC, iDn);
effect eFire = EffectDamageImmunityDecrease(DAMAGE_TYPE_FIRE, iDn);
effect eCold = EffectDamageImmunityDecrease(DAMAGE_TYPE_COLD, iDn);
effect eElec = EffectDamageImmunityDecrease(DAMAGE_TYPE_ELECTRICAL, iDn);
effect eSlas = EffectDamageImmunityDecrease(DAMAGE_TYPE_SLASHING, iDn);
effect ePier = EffectDamageImmunityDecrease(DAMAGE_TYPE_PIERCING, iDn);
effect eBlud = EffectDamageImmunityDecrease(DAMAGE_TYPE_BLUDGEONING, iDn);
effect ePosi = EffectDamageImmunityDecrease(DAMAGE_TYPE_POSITIVE, iDn);
effect eVis = EffectVisualEffect(VFX_IMP_BREACH);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);

effect eLink = EffectLinkEffects(eAcid, eDur);
eLink = EffectLinkEffects(eLink, eSonic);
eLink = EffectLinkEffects(eLink, eFire);
eLink = EffectLinkEffects(eLink, eCold);
eLink = EffectLinkEffects(eLink, eElec);
eLink = EffectLinkEffects(eLink, eSlas);
eLink = EffectLinkEffects(eLink, ePier);
eLink = EffectLinkEffects(eLink, eBlud);
eLink = EffectLinkEffects(eLink, ePosi);




ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 30.0);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);

}




epjinx.uti
-----------

Камень с тэгом "epjinx" и названием "Jinx".

8 EP
Изменяя поток энергии вокруг жертвы персонаж приносит ей "неудачу". Все спасы жертвы понижаются на -1 на 5 раундов.


Скрипт срабатывающий когда используется камень (навык):


epjinx.nss
------------

void main()
{
object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges - 8;
{if (nNewCharge < 1)
nNewCharge = 1;}

if (nCharges < 7)
{FloatingTextStringOnCreature("Not enough EP!", oPC, TRUE);
return;}


SetItemCharges(oItem, nNewCharge);


effect eAOE = EffectSavingThrowDecrease(SAVING_THROW_ALL, 1, SAVING_THROW_TYPE_ALL);
object oTarget = GetItemActivatedTarget();
effect eImpact = EffectVisualEffect(VFX_IMP_DOOM);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oTarget);

ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eAOE, oTarget, 30.0);
}
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yalini
{ipb.lang[ 8 August 2007, 08:44
{ipb.lang['posted_on']} #10


Мастер Клинка
Group Icon

Group: Координатор
Posts: 2,292
From: Москва

Раса: Человек
Класс: Ghost Sentinel



Не понял, а зачем сделано два абсолютно одинаковых скрипта? (epregen1 и epregen2). Причем первый запускает второй. Бред какой-то. Не проще первым запускать вторично первый же? Кстати, если внимательно посмотреть первый скрипт, то видна одна вещь. Если у персонажа есть все 3 камня, то условие по проверке вещей будет запускаться аж 3 раза. Т.е., каждый раз будет назначаться новое время задержки для вторичного запуска скрипта (целых 3 раза). Не вижу в этом смысла. Думаю, стоило бы это сделать проверку через связку if; else if; else. Т.е., та вещь, которая сильнее, должна быть первой в условии, а остальные, которые проще и слабее, ниже.

Какой смысл делать object oPC = GetItemActivator();, а потом назначать новую переменную для того же объекта, используя object oTarget = GetItemActivatedTarget();? (IMG:style_emoticons/default/blink.gif)

Ладно, все это фигня. Хотя скрипты написаны несколько не оптимизировано.

Попробую систему в действии, а потом сообщу, буду я это делать или нет.
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nightalas
{ipb.lang[ 8 August 2007, 14:49
{ipb.lang['posted_on']} #11


Ученик
***

Group: Житель
Posts: 243




Цитата(Yalini @ 8 August 2007, 08:44) [snapback]32982[/snapback]

Не понял, а зачем сделано два абсолютно одинаковых скрипта? (epregen1 и epregen2). Причем первый запускает второй. Бред какой-то. Не проще первым запускать вторично первый же? Кстати, если внимательно посмотреть первый скрипт, то видна одна вещь. Если у персонажа есть все 3 камня, то условие по проверке вещей будет запускаться аж 3 раза. Т.е., каждый раз будет назначаться новое время задержки для вторичного запуска скрипта (целых 3 раза). Не вижу в этом смысла. Думаю, стоило бы это сделать проверку через связку if; else if; else. Т.е., та вещь, которая сильнее, должна быть первой в условии, а остальные, которые проще и слабее, ниже.




Возможно хватит только скрипта epregen1, если будет запускаться вновь. В скрипте учтено три камня (Focus, Concentration, Meditation), потому что в оригинальном варианте у персонажа при апгрейде навыка предыдущий камень исчезает и заменяется более хорошим (Focus исчезает, появляется Concentration, а потом камень Concentration заменяется при улучшении навыка на камень Meditation).

Если оставить только Focus (чтобы немного упростить), следующие строчки можно удалить из скрипта:

if (GetItemPossessedBy(OBJECT_SELF, "epconcentration")!= OBJECT_INVALID)
fNum = 9.0;

if (GetItemPossessedBy(OBJECT_SELF, "epmeditation")!= OBJECT_INVALID)
fNum = 8.0;


Цитата(Yalini @ 8 August 2007, 08:44) [snapback]32982[/snapback]

Какой смысл делать object oPC = GetItemActivator();, а потом назначать новую переменную для того же объекта, используя object oTarget = GetItemActivatedTarget();? (IMG:style_emoticons/default/blink.gif)



Это так в скрипте для навыка "Flashstep", строки вроде не для одного и того же обьекта.
object oPC = GetItemActivator(); -> персонаж игрока
object oTarget = GetItemActivatedTarget(); -> назначается переменная точке куда игрок кликнул используя камень навыка
location lTarget = GetItemActivatedTargetLocation(); -> определяется местонахождение точки
location lPC = GetLocation(oPC); -> определеяется местонахождение персонажа
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yalini
{ipb.lang[ 8 August 2007, 15:32
{ipb.lang['posted_on']} #12


Мастер Клинка
Group Icon

Group: Координатор
Posts: 2,292
From: Москва

Раса: Человек
Класс: Ghost Sentinel



Nightalas, а, да. С объектами не углядел (IMG:style_emoticons/default/smile.gif) Не привык иметь дело со скриптами в однотонном виде.

Удалять не обязательно, а связать через связку условий стоит. Ведь, если умение меняется, скрипт остается прежним. Поэтому в нем нужно учитывать все.
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nightalas
{ipb.lang[ 9 August 2007, 14:41
{ipb.lang['posted_on']} #13


Ученик
***

Group: Житель
Posts: 243




Забыл добавить более подробные инструкции о создании камней.

Все камни со свойствами "Miscellaneous Small", "plot item", "stack size: 1", "undroppable", "identified", "charges: 0" (только у камня "epenergy" в начале "charges 25").

Name "EP Gauge", tag "epenergy" -> "charges 25", Cast Spell: Unique Power Self Only (1 Charge/use)
Name "Flashstep", tag "epflashstep" -> Cast Spell: Activate Item (Long Range) (Unlimited Uses/Day)

Для навыков Float, Resilience, Peace, Improved Sense, Energy Guard, Quickstep, Strong, Toughness -> Cast Spell: Unique Power Self Only (Unlimited Uses/Day)

Для навыков Break, Weaken, Jinx -> Cast Spell: Unique Power (Unlimited Uses/Day)
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Yalini
{ipb.lang[ 9 August 2007, 14:46
{ipb.lang['posted_on']} #14


Мастер Клинка
Group Icon

Group: Координатор
Posts: 2,292
From: Москва

Раса: Человек
Класс: Ghost Sentinel



Nightalas, не проще прислать модуль?
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nightalas
{ipb.lang[ 9 August 2007, 15:23
{ipb.lang['posted_on']} #15


Ученик
***

Group: Житель
Posts: 243




Откуда можно скачать модуль:
http://nwvault.ign.com/View.php?view=Modul...ail&id=5426

Но с ним прийдёться дольше копаться, чем так.

Я в тестовом модуле попробовал сделать камни и скрипты. Навык "Flashstep" почему-то не работает как должен, всё время жалуется, что на пути обьект. Регенерация EP тоже у меня не стала работать как в оригинальном модуле. Получилось только сделать так, что для регенерации EP надо использовать камень "epenergy". По идеи так может даже реалистичней - персонажу надо остановится и сконцентрироваться на восстановлении своей энергии, а пока он бегает и занимается чем-то, он не регенерирует EP просто так. На камень "epenergy" только тогда надо поставить "Cast Spell Unique Power Self Only (0 Charges/Use)". Остальные навыки работают как должны.


epenergy.nss
----------------
Скрипт по регенерации EP, за использование камня "epenergy" прибавляется +2 EP. Камень юзается раз за один раунд (6 секунд), но в другое время персонаж не регенерирует EP просто так.

void main()
{

object oPC = GetItemActivator();
object oItem = GetItemPossessedBy(oPC, "epenergy");
int nCharges = GetItemCharges(oItem);
int nNewCharge = nCharges + 2;
if (nNewCharge > (10 + GetHitDice(oPC)))
{nNewCharge = (10 + GetHitDice(oPC));}


SetItemCharges(oItem, nNewCharge);


}
Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Гость_Anti_*
{ipb.lang[ 10 August 2007, 13:40
{ipb.lang['posted_on']} #16





Гости





Цитата(Yalini)
Не понял, а зачем сделано два абсолютно одинаковых скрипта? (epregen1 и epregen2). Причем первый запускает второй. Бред какой-то. Не проще первым запускать вторично первый же?

Это называется рекурсия для чайников. %)
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Set Invisible (Unapprove Post)  
Открыть новую тему
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



//
Lo-Fi Version Time is now: 18 May 2024 - 12:44
IBR Beige Style V.2.1 by: Fisana (IBR Team) © 2005