Перейти к содержанию

Gaikotsu

Постоялец
  • Публикаций

    1567
  • Зарегистрирован

  • Посещение

  • Победитель дней

    61
  • Отзывы

    0%

Весь контент Gaikotsu

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

    Формулы стат PW

    0x08 используется для базовой установки параметра 0x10 используется для базовой модификации параметра 0x30 для множителей параметров 0x40 для прибавления статических бонусов к параметру, на которые должен так же влиять множитель с очередностью 0x50 0x50 для множителей параметров 0x60 для прибавления статических бонусов после всех множителей при желании можно и дальше продолжать, у меня к примеру задействованы очередности до 0х80 для нескольких специфичных скиллов, которые должны влиять на все другие прибиавки к конкретным статам.
  3. Gaikotsu

    Замена бафа

    ну дык даже сборку не указал в овере к примеур есть параметр negateEffects, а так же одноименный эффект, в кторых можно перечислить стэктайпы эффектов, которые надо снять при касте данного скилла добавляешь к примеру в элементал протекшн перед эффектом баффа эффект negateEffects с перечислением нужных стэктайпов и все. более серезная проработка подобных ситуаций - это полная переделка взаимодействия стэктайпов по тому принципу что сделан в офф скриптах - там в скилле указываются специальные эффекты, в кторых перечисляются те стэктайпы что надо снять при наложении скилла, а так же запретить класть эти перечисленные стэктайпы пока висит эффект от этого скилла. к примеру так сделаны импровед баффы, для примера описание в офф сервере и у меня skill_begin skill_name = [s_improve_combat1] /* [임프로브 컴뱃] */ skill_id = 1499 level = 1 operate_type = A2 magic_level = 70 special_level = 0 magic_critical_rate = 5 change_skill_id = 0 self_effect = {} effect = {{i_dispel_by_slot;pa_up;9};{i_dispel_by_slot;pd_up;9};{p_block_buff_slot;{pa_up;pd_up}};{p_physical_attack;{all};15;per};{p_physical_defence;{all};15;per}} end_effect = {} is_magic = 1 is_double = 0 mp_consume1 = 6 mp_consume2 = 21 cast_range = 400 effective_range = 900 skill_hit_time = 1.5 skill_cool_time = 0 skill_hit_cancel_time = 0.5 reuse_delay = 2 activate_rate = -1 lv_bonus_rate = 0 basic_property = none abnormal_time = 2400 abnormal_lv = 1 abnormal_type = improve_pa_pd_up abnormal_instant = 0 irreplaceable_buff = 0 buff_protect_level = 0 attribute = {attr_none;0} trait = {trait_none} effect_point = 679 target_type = target affect_scope = single affect_limit = {0;0} next_action = none debuff = 0 ride_state = {@ride_none;@ride_strider;@ride_wyvern;@ride_wolf} multi_class = 0 olympiad_use = 1 skill_end <!-- Improve Combat / Совершенство в Бою --> <skill id="1499" levels="1" name="Improve Combat"> <!-- Сочетание эффектов увеличения Физ. Атк. и увеличения Физ. Защ. дает значительное преимущество в бою. Увеличивает Физ. Атк. и Физ. Защ. на 15%. Время действия: 40 мин. --> <set name="magicType" val="MAGIC" /> <set name="icon" val="icon.skill1499" /> <set name="reuseDelay" val="2000" /> <set name="magicLevel" val="70" /> <set name="castRange" val="400" /> <set name="hitTime" val="1500" /> <set name="hitCancelTime" val="500" /> <set name="mpConsume1" val="6" /> <set name="mpConsume2" val="21" /> <set name="effectPoint" val="679" /> <set name="target" val="ONE" /> <set name="skillType" val="BUFF" /> <set name="operateType" val="OP_ACTIVE" /> <set name="nextAction" val="NONE" /> <set name="blockSlot" val="pa_up;pd_up" /> <for> <effect count="1" name="Buff" stackOrder="1" stackType="improve_pa_pd_up" time="2400" val="0"> <mul order="0x30" stat="pAtk" val="1.15" /> <mul order="0x30" stat="pDef" val="1.15" /> </effect> </for> </skill>
  4. если речь только о черном цвете, то значит при восстановлении из базы значение 0 считается отсутствием нестандартного цвета и потому окраски не происходит а может и при сохранении такая же проверка, в которой значение 0 является указанием просто удалить текущий сохраненный цвет и все.
  5. Ты бы хоть код квеста привел своего чтоб понятней было. Хотя даже так могу сказать вероятную причину - ты или нужных нпс в нем не зарегал как стартовых или же в onTalk не обрабатываешь нужный стейт/кондишн. а по [] вместо названий - это потому-что туда должны подставляться определенные строки из NpcString-e.dat/NpcString-ru.dat клиента, вместо спецкода вставленного сервером в это место диалога. а т.к. на стороне клиента этих строк нет - подставляются пустые строки.
  6. и что, будешь для таких вещей для каждой расписывать проверки? тут кондишн надо вводить новый, если еще нет такого. типа такого к примеру package l2p.gameserver.stats.conditions; import org.apache.commons.lang3.ArrayUtils; import l2p.gameserver.model.Player; import l2p.gameserver.stats.Env; public class ConditionPlayerClassId extends Condition { private final int[] _ids; public ConditionPlayerClassId(int... ids) { _ids = ids; } @ Override protected boolean testImpl(Env env) { return env.character.isPlayer() && ArrayUtils.contains(_ids, ((Player) env.character).getActiveClassId()); } } зарегать его как зареганы остальные кондишны и потом юзать в описаниях вещей, к примеру так <!-- Greater Abelius Cloak (20-day) [Sigel Knight] / Хороший Плащ Авелиуса - 20 дн. [Рыцарь Сигеля] --> <armor id="40243" name="Greater Abelius Cloak (20-day)" add_name="Sigel Knight"> <!-- Плащ того, кто унаследовал силу Древнего Гиганта Авелиуса. При надевании Маг. Защ. +40, СИЛ+1, ИНТ+1, ВЫН+1, ДУХ+1. Можно использовать в течение 20 дней. --> <set name="icon" value="icon.vesper_cloack_i00" /> <set name="type" value="NONE" /> <set name="ex_type" value="CLOAK" /> <set name="crystal_type" value="R" /> <set name="crystal_count" value="0" /> <set name="crystallizable" value="false" /> <set name="weight" value="220" /> <set name="price" value="0" /> <set name="durability" value="28800" /> <set name="temporal" value="true" /> <set name="keep_type" value="1" /> <set name="enchantable" value="false" /> <set name="attributable" value="false" /> <set name="augmentable" value="false" /> <set name="destroyable" value="false" /> <set name="dropable" value="false" /> <set name="sellable" value="false" /> <set name="tradeable" value="false" /> <set name="commissionable" value="false" /> <cond msgId="113" addName="1"> <player classId="148,149,150,151" /> </cond> <skills> <skill id="16426" level="1" /> <!-- Greater Abelius Cloak (20-day) / Плащ Авелиуса - 20 дн. --> </skills> <equip> <slot id="BACK" /> </equip> <for> <add stat="pDef" order="0x10" value="50" /> <add stat="mDef" order="0x10" value="40" /> <enchant stat="pDef" order="0x0C" value="0" /> <enchant stat="mDef" order="0x0C" value="0" /> <enchant stat="maxHp" order="0x80" value="0" /> </for> </armor> P.S. пример для овера, но для акиса можно по аналогии написать без проблем.
  7. что скорее всего и будет. З.Ы. ничего личного, просто взгляд реалиста.
  8. Gaikotsu

    ошибка

    Сколько лет уже прошло, а XaTTa6bI4 все так же по любой мелочи бежит на макси с просьбами помочь. Конечно - это же проще, чем хоть сколько-то поднапрячься и все же хотя бы на базовом уровне выучить яву.
  9. чистый овер и пилить под себя всякие гринд тимы и т.п. брать не стоит
  10. это же pw - чудо что там хоть что-то работает.
  11. в pw то хоть есть такое понятие как скиллы-триггеры и т.п.?
  12. Gaikotsu

    Не работает скилл

    skill_begin skill_name = [s_veil1] /* [베일] */ skill_id = 106 level = 1 operate_type = A2 magic_level = 43 self_effect = {} effect = {{p_passive}} end_effect = {} is_magic = 0 mp_consume2 = 19 cast_range = 500 effective_range = 900 skill_hit_time = 1.2 skill_cool_time = 0 skill_hit_cancel_time = 0.5 reuse_delay = 5 activate_rate = 70 lv_bonus_rate = 0 basic_property = men abnormal_time = 120 abnormal_lv = 1 abnormal_type = turn_passive abnormal_instant = 0 irreplaceable_buff = 0 buff_protect_level = 0 attribute = {attr_none;0} trait = {trait_derangement} effect_point = 0 target_type = enemy_only affect_scope = single affect_limit = {0;0} next_action = none debuff = 1 ride_state = {@ride_none} multi_class = 0 olympiad_use = 1 skill_end p_passive - если память не подводит, то просто мобу на время действия очищает агролист и сводит агрорадиус к нулю, т.е. моб временно становится не агром.
  13. Gaikotsu

    Не работает скилл

    эм... с какого перепуга то? мобы именно что должны отключать свое агроповедение пока на них висит этот эффект принцип тот же что к примеру у Peace или Requiem чинится легко - если есть конечно исходники.
  14. и нафига такие извращения? просто доработать скиллы пенальти, дающиеся при неподходящем грейде и все чтобы они так сильно резали статы, что было бы просто невыгодно надевать неподходящие по уровню вещи к примеру чтоб пенальни умножала атаку/защиту на 0.01 - много ли навоюет игрок с 1% от обычного значения статы?
  15. только еще работу эффектов надо чуток допиливать - далеко не на всех серверах можно указать тик эффекта ниже секунды, а проверка хп/мп/цп раз в секунду - это зачастую слишком много. </skill> <!-- Автоиспользование зелий HP --> <skill id="90081" levels="1" name="Автоиспользование зелий HP"> <!-- Активирует автоматическое использование зелий HP. Настроить порог срабатывания, а так же посмотреть список используемых зелий можно при помощи команды .auto. --> <set name="icon" val="icon.etc_potion_red_i00" /> <set name="magicLevel" val="85" /> <set name="target" val="SELF" /> <set name="skillType" val="CONT" /> <set name="operateType" val="OP_TOGGLE" /> <set name="isSaveable" val="false" /> <set name="protectType" val="DEATH;REFLECTION;SUBCLASS;CANCEL;SELF_DISPEL" /> <for> <effect count="0x7fffffff" name="Handler" time="0.333" val="1" /> </for> </skill> чекает состояние 3 раза в секунду.при смерти, переключении сабы, входе в инстансы не слетает, так же иммунно к канселу и селф-снятию. ну и там еще за капотом - может юзать много разных поушнов - если один кончился, то ищет другой в инвентаре и польузет его и так до тех пор пока все подходящие бутыли не кончатся - только тогда тогл отключится с сообщением о невозможности дальнейшей работы.
  16. если не хочется сильно лезть в скрипты, то можно сделать копию скилла вызова голема-торговца у гномов - сменив там ид вызваемого нпс и все такое. не помню правда с каких хроник этот скилл у них появился.
  17. а еще можно положить на большую часть слушателей и запилить ацп в виде тогл скиллов - получится еще проще и понятней тогда и потребуется в минимуме всего 2 листенера - на вход в игру и на переключение сабов - чтобы обратно добавлять игроку тоглы ацп притом и без листенеров можно обойтись, если тоглы тупо добавить в список изучаемых скиллов игрокам.
  18. пример не для акиса, но по аналогии написать не проблема
  19. Gaikotsu

    NPC в Pagan temple

    тут экстрасенсов просто нет - наложением рук на скриншот проблему не лечат.
  20. Gaikotsu

    NPC в Pagan temple

    изучай сам квест, связанный с этим итемом и т.д.
  21. Gaikotsu

    Убрать квест

    AllowLearnTransSkillsWOQuest = true в altsetting.properties
  22. по идее закомментить да и вобще поискать где еще вызывается обработка нажатия на среднюю кнопку
  23. Мне вот интересно откуда вы все только эти сборки с кучей багов то находите? Почему не взять банально чистый овер/лост? не так уж и много в нем исправлять надо, и то в основном всякие мелочи. Хотя конечно да, для большинства "одминов" тут будет непосильным трудом прикручивать к чистому оверу/лосту всякие свистелки и перделки, которые понапиханы в другие сборки и без которых им вобще ну никак.
×
×
  • Создать...