-
Публикаций
1567 -
Зарегистрирован
-
Посещение
-
Победитель дней
61 -
Отзывы
0%
Тип контента
Профили
Форумы
Загрузки
Магазин
Инструкции
Весь контент Gaikotsu
-
CharacterSelectionInfo writeC(0x09); writeD(size); writeD(0x07); // Максимальное количество персонажей на сервере writeC(0x00); // 0x00 - Разрешить, 0x01 - запретить. Разрешает или запрещает создание игроков writeC(0x01); // ? writeD(0x01); // 0x00 - Выводит предупреждение о лимитированной игре. writeC(0x00); // 0x01 - Предлагает купить ПА. ... ... ... ...
-
потому что нефиг заниматься декомпиляцией такими декомпиляторами, которые не в силах разобрать весь код в классе и потому просто частично выкидывают его в итоге. З.Ы. вобще твои попытки что-то выправить в этой сборке посредством декомпиляции, правки и обратной компиляции только еще больше косяков внести смогут, чем исправлений.
-
дак там по сути чисто импорты сменить, да поменять названия некоторых классов и все - что на что и так понятно по сути, достаточно чуть подумать.
-
ну, в датапаке тоже скрипты имеются. или под своими услугами по датапаку ты подразумеваешь только разные мелкие редактирования хмлок и хтмлок в датапаке?
-
ну дык вот возьми из феникса или овера и переделай под себя, благо там код достаточно простой.
-
он видимо про итем брокера как на фениксе/овере - нпс, собирающий и показывающий в удобном виде (по категориям, с сортировкой по цене и т.д.) информацию о том что покупают/продают/крафтят все игроки в определенном радиусе от этого нпс.
-
исходники есть? если есть от смотреть в каких переменных хранятся рейты и не идет ли где случаем их округление до ближайшего целого. если исходников нет - смириться с текущим положением или менять сборку.
-
ты надеюсь учел, что в результате твоей правки урон от этого скилла упал?
-
зависит от того сколкькиядерный проц на сервере и других условий
-
и лучше всего сделать работу со стэктайпами как в птс, если конечно есть исходники ядра выкинуть весь этот ад с перечислением кучи стэктайпов, чтобы запретить таким образом возможность наложить старые баффы в дополнение к новым и ввести как в птс блокирование определенных слотов - тем самым запрещая те скиллы, стэктайпы которых совпадают с блокированными. я про вот такое - как это может выглядеть
-
совет тут один - не пытаться что-то с этим г..м делать. у тебя изначально все очень криво декомпильнулось, а ты еще пытаешься этот мусор получившийся обратно скомпилировать. даже если в конце концов ты все же сможешь это скомпилить - у тебя это уж точно будет работать не так как предполагалось.
-
ага, как же без правки FuncEnchant в ядре на тему обработки всех необходимых стат, нифига у него не будет повышаться
-
хроники то какие и сборка? если сборка поддерживает добавление enchant bonus'ов вещам, то делаем через них типа такого
-
почему нет? -100, -200 и -300 - вполне себе стандартные значения для очков pc cafe, клановых очков и очков славы.
-
идея Изменение максимального lvl персонажей и добавление нового рейда шмота
тема ответил Gaikotsu в теме Обсуждения
если я не ошибаюсь, то в интерлюде вроде клиенту шлется только количество текущей экспы, а не уровень и % на текущем уровне, как в хрониках далее. т.е. уже на сам клиент интерлюда возложена обязаность высчитывать сам уровень и % на нем по полученному значению экспы по заложенным в нем таблицам. т.е. простым увеличением максимального уровня на стороне серва обойтись не удастся - надо еще и клиент править - таблица опыта вроде бы заложена в engine.dll. -
int lvlDiff = Math.max(npcLvl - openerLvl, 0);
- 4 ответа
-
- 1
-
наиболее вероятная причина - из-за чего-то клиенту не отсылается пакет Die. Если ты говоришь что такое как с игроками так и с мобами, то скорее всего ты где-то при правках убил в методах обрабатывающих смерть вызовы этих же самых методов из родительских классов.
-
любовью к деньгам конечно же
-
карта мира L2 по секторам геодаты основная карта 15_10 ... 26_10 15_11 ... 26_11 15_12 ... 26_12 ... ... ... ... ... ... ... ... ... 15_23 ... 26_23 15_24 ... 26_24 15_25 ... 26_25 карта грации 11_23 ... 14_23 11_24 ... 14_24 11_25 ... 14_25 В линдвиоре и далее есть еще 6 скрытых секторов, которые в клиенте, в окне карты не отображаются, т.к. находятся за пределами основной карты - сектора 27_19, 27_20, 27_21, 28_19, 28_20, 28_21.
-
ну тогда проще всего начать с пакета RequestMagicSkillUse и по цепочке иследовать весь путь каста скиллов.
- 4 ответа
-
- 2
-
ковырять ядро, а конкретно методы checkCondition и checkTarget в классе Skill (хз так ли точно в этой сборке так эти методы называются).
- 4 ответа
-
- 1
-
что мешает расписать все нужные эффекты раздельно? ну типа так: <skill id="358" levels="1" name="Bluff"> <!-- Deceives the enemy into turning his back, losing his urge to attack and becoming stunned for 9 seconds. Requires a dagger. Target cancel is possible. --> <!-- Обманом поворачивает противника к себе спиной. Отнимает у противника желание атаковать, противник теряет цель. Оглушает врага на 9 сек. Требуется кинжал. --> <table name="#activateRate">40</table> <table name="#magicLevel">77</table> <set name="levelModifier" val="20" /> <set name="icon" val="icon.skill0358" /> <set name="reuseDelay" val="8000" /> <set name="magicLevel" val="#magicLevel" /> <set name="hitTime" val="1000" /> <set name="hitCancelTime" val="500" /> <set name="mpConsume2" val="35" /> <set name="target" val="ONE" /> <set name="activateRate" val="#activateRate" /> <set name="skillType" val="DEBUFF" /> <set name="operateType" val="OP_ACTIVE" /> <set name="trait" val="DERANGEMENT" /> <set name="basicProperty" val="PSYCHO" /> <set name="nextAction" val="NONE" /> <set name="allowSkill" val="10279;10517;10025;10776;11770;1904;11264;11093;13314;1912" /> <set name="effectPoint" val="1" /> <set name="debuff" val="1" /> <cond msgId="113" addName="1"> <using kind="Dagger,Dual Dagger" /> </cond> <enchant1 levels="15" name="Chance"> <table name="#activateRate">42 44 46 48 50 52 54 56 58 60 62 64 66 68 70</table> <table name="#magicLevel">81 81 81 82 82 82 83 83 83 84 84 84 85 85 85</table> </enchant1> <for> <effect count="1" name="Stun" stackOrder="-1" stackType="stun" time="9" val="0" /> <effect count="1" name="Turner" time="0" val="0" chance="80" /> <effect count="1" name="DeleteHateOfMe" time="0" val="0" chance="80" /> <effect count="1" name="RemoveTarget" time="0" val="0" chance="80" /> </for> </skill> С заданным рейтом срабатывает стан, если он прошел, то только тогда с указанными шансами срабатывают остальные 3 эффекта.все полностью соответствует оффициальному описанию скилла skill_begin skill_name = [s_bluff1] /* [블러프] */ skill_id = 358 level = 1 operate_type = A2 magic_level = 77 special_level = 0 magic_critical_rate = 5 change_skill_id = 0 self_effect = {} effect = {{i_align_direction;80};{i_target_cancel;80};{i_delete_hate_of_me;80};{p_condition_block_act_skill;{10279;10517;10025;10776;11770;1904;11264;11093;13314;1912}}} end_effect = {} operate_cond = {{equip_weapon;{dagger;dualdagger}}} is_magic = 0 is_double = 0 mp_consume2 = 35 cast_range = 40 effective_range = 400 skill_hit_time = 1 skill_cool_time = 0 skill_hit_cancel_time = 0.5 reuse_delay = 8 activate_rate = 40 lv_bonus_rate = 20 basic_property = magic_abnormal_resist abnormal_time = 9 abnormal_lv = 1 abnormal_type = stun abnormal_instant = 0 irreplaceable_buff = 0 buff_protect_level = 0 attribute = {attr_none;0} trait = {trait_derangement} effect_point = -1 target_type = enemy_only affect_scope = single affect_limit = {0;0} next_action = none abnormal_visual_effect = {ave_stun} debuff = 1 ride_state = {@ride_none} multi_class = 0 olympiad_use = 1 skill_end
-
ой не нес бы ты пургу, не понимая о чем вобще речь идет...
-
<add - добавить <mul - умножить <sub - отнять <div - разделить <set - установить order означает порядок выполнения действий над статой - операции выполняются в порядке возрастания order. по сути можно использовать любые значения, но на практике обычно используют только несколько: 0x08 / 0x10 - для установки/прибавления базового значения параметра 0x0C - для прибавок бонусов от заточки предмета (используется только в описаниях предметов) 0x20 - используется во внутренних расчетах самого ядра, в случаях когда к базовому значения статы например надо прибавить значение, зависящее еще от чего-то (в основном это используется в StatFunctions) 0x30 - используется для умножения/деления базового значения (ну почти базового, т.к. к этому времени оно может быть уже модифицировано операциями с ордером 0x0C и 0x20) 0x40 - используется для установки/прибавления/вычитания из значения после 0х30. обычно используется для прибавления статичных значений к параметру 0x50 - используется для умножения/деления значений в которых должны учитываться и статичные прибавки 0x60 - используется для установки/прибавления/вычитания значений, на котрые более ничего не должно в дальнейшем влиять
-
запускаешь клиент в dev-режиме и смотришь что хочешь.