Hotaka 769 Опубликовано 17 октября, 2016 (изменено) В общем такая ситуация: Добавил на сервер Dynasty armor и weapon. Но хочется сделать так, чтобы они одевались без штрафов только с 80 уровня(ну или вообще не одевались до 80). Думал в качестве примера использовать части Apella сета <item id='7861' name="Apella Plate Armor"> <cond msgId="1518"> <player pledgeClass="5"/> </cond> <for> <add val='278' order='0x10' stat='pDef'/> <enchant val='0' order='0x0C' stat='pDef'/> </for> </item> но никакие изменения 3-ей строки кода не помогли. Вообще реально ли такое сделать без изменений ядра? И конечно же я забыл указать о том что сборка Lucera Изменено 18 октября, 2016 пользователем Hotaka Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Tamago4i 35 Опубликовано 17 октября, 2016 Да,перенести s грейд на 80 уровень,и сделать остальное А. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrDozoR 73 Опубликовано 17 октября, 2016 (изменено) В общем такая ситуация: Добавил на сервер Dynasty armor и weapon. Но хочется сделать так, чтобы они одевались без штрафов только с 80 уровня(ну или вообще не одевались до 80). Думал в качестве примера использовать части Apella сета <item id='7861' name="Apella Plate Armor"> <cond msgId="1518"> <player pledgeClass="5"/> </cond> <for> <add val='278' order='0x10' stat='pDef'/> <enchant val='0' order='0x0C' stat='pDef'/> </for> </item> но никакие изменения 3-ей строки кода не помогли. Вообще реально ли такое сделать без изменений ядра? попробуй это <skill id="2286" levels="6" name="Scroll: Recovery (No Grade)"> <table name="#itemConsumeId">8594 8595 8596 8597 8598 8599</table> <table name="#levelMin">1 20 40 52 61 76</table> <table name="#levelMax">19 39 51 60 75 85</table> <set name="magicType" val="SPECIAL"/> <set name="icon" val="icon.skill0000"/> <set name="magicLevel" val="1"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="DEATH_PENALTY"/> <set name="operateType" val="OP_ACTIVE"/> <set name="itemConsumeId" val="#itemConsumeId"/> <set name="itemConsumeCount" val="1"/> <set name="isHandler" val="true"/> <cond msgId="1902"> <and> <player minLevel="#levelMin"/> <player maxLevel="#levelMax"/> </and> </cond> </skill> в том плане что бонусы от сета будут даваться лишь на 80 в твоем случае.... но одевать можно будет как обычный к примеру.... грубо говоря если персонаж будет 79 лвл в династии = тоже самое что 76 в запечатанном ИК))) думаю так будет проще всего Изменено 17 октября, 2016 пользователем MrDozoR 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Tamago4i 35 Опубликовано 18 октября, 2016 попробуй это <skill id="2286" levels="6" name="Scroll: Recovery (No Grade)"> <table name="#itemConsumeId">8594 8595 8596 8597 8598 8599</table> <table name="#levelMin">1 20 40 52 61 76</table> <table name="#levelMax">19 39 51 60 75 85</table> <set name="magicType" val="SPECIAL"/> <set name="icon" val="icon.skill0000"/> <set name="magicLevel" val="1"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="DEATH_PENALTY"/> <set name="operateType" val="OP_ACTIVE"/> <set name="itemConsumeId" val="#itemConsumeId"/> <set name="itemConsumeCount" val="1"/> <set name="isHandler" val="true"/> <cond msgId="1902"> <and> <player minLevel="#levelMin"/> <player maxLevel="#levelMax"/> </and> </cond> </skill> в том плане что бонусы от сета будут даваться лишь на 80 в твоем случае.... но одевать можно будет как обычный к примеру.... грубо говоря если персонаж будет 79 лвл в династии = тоже самое что 76 в запечатанном ИК))) думаю так будет проще всего Увы но я так понял это не то что он хотел.Он хочет сделать свой грейд чтобы давался пенальти и т.п. Мой вариант был проще всего. Открываешь базу,ищешь ИД экспертизы S грейд,исправляешь по базе в изучении скилов с какого уровня она будет даваться.Т.е. 80 в твоем случае. И S грейд можно будет одеть на 80-м уровне. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hotaka 769 Опубликовано 18 октября, 2016 попробуй это <skill id="2286" levels="6" name="Scroll: Recovery (No Grade)"> <table name="#itemConsumeId">8594 8595 8596 8597 8598 8599</table> <table name="#levelMin">1 20 40 52 61 76</table> <table name="#levelMax">19 39 51 60 75 85</table> <set name="magicType" val="SPECIAL"/> <set name="icon" val="icon.skill0000"/> <set name="magicLevel" val="1"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="DEATH_PENALTY"/> <set name="operateType" val="OP_ACTIVE"/> <set name="itemConsumeId" val="#itemConsumeId"/> <set name="itemConsumeCount" val="1"/> <set name="isHandler" val="true"/> <cond msgId="1902"> <and> <player minLevel="#levelMin"/> <player maxLevel="#levelMax"/> </and> </cond> </skill> в том плане что бонусы от сета будут даваться лишь на 80 в твоем случае.... но одевать можно будет как обычный к примеру.... грубо говоря если персонаж будет 79 лвл в династии = тоже самое что 76 в запечатанном ИК))) думаю так будет проще всего Забыл изначально указать что использую Люцеру, а в ней скил который ты предложил выглядит так <skill id="2286" levels="6" name="Scroll: Recovery"> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_ACTIVE"/> </skill> Короче взял кусок из скила что ты написал, получилось такое <skill id="9998" levels="1" name="Dynasty Light set"> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_PASSIVE"/> <set name="castRange" val="-1"/> <set name="effectRange" val="-1"/> <table name="#levelMin">80</table> <table name="#levelMax">80</table> <cond msgId="2136"> <and> <player minLevel="#levelMin"/> <player maxLevel="#levelMax"/> </and> </cond> <for> <mul order="0x30" stat="pAtkSpd" val="1.12"/> <mul order="0x30" stat="pAtk" val="1.12"/> <add order="0x40" stat="rEvas" val="7"/> <add order="0x40" stat="accCombat" val="4"/> <mul order="0x30" stat="rCrit" val="1.10"/> <add order="0x40" stat="maxMp" val="900"/> <add order="0x40" stat="maxHp" val="600"/> <mul order="0x30" stat="sleepVuln" val="0.3"/> <mul order="0x30" stat="slowVuln" val="0.35"/> <add order="0x40" stat="DEX" val="1"/> </for> </skill> Но в итоге при загрузке GS такая ошибка выскакивает [WARN 15:10:54]: Error while parsing skill id 9998, level 1 java.lang.IllegalStateException: Invalid attribute at <player>: minLevel='80' at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parsePla yerCondition(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parsePla yerCondition(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseCon dition(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseExi stingConditionInsideLogic(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseLog icAnd(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseCon dition(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseExi stingCondition(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseCon ditionWithMessage(Unknown Source) at ru.catssoftware.gameserver.skills.DocumentBase.parseConditionWithMess age(Unknown Source) at ru.catssoftware.gameserver.skills.DocumentSkill.attach(Unknown Source ) at ru.catssoftware.gameserver.skills.DocumentSkill.parseSkill(Unknown So urce) at ru.catssoftware.gameserver.skills.DocumentSkill.parseDefaultNode(Unkn own Source) at ru.catssoftware.gameserver.skills.DocumentBase.parseDocument(Unknown Source) at ru.catssoftware.gameserver.skills.DocumentBase.parse(Unknown Source) at ru.catssoftware.gameserver.skills.SkillsEngine.loadSkills(Unknown Sou rce) at ru.catssoftware.gameserver.datatables.SkillTable.<init>(Unknown Sourc e) at ru.catssoftware.gameserver.datatables.SkillTable.getInstance(Unknown Source) at ru.catssoftware.gameserver.L2GameServer.<init>(Unknown Source) at ru.catssoftware.gameserver.util.BootManager.<init>(Unknown Source) at ru.catssoftware.gameserver.util.BootManager.main(Unknown Source) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rollfer 188 Опубликовано 18 октября, 2016 (изменено) а зачем лепить уровень туда же? <skill id="9998" levels="1" name="Dynasty Light set"> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_PASSIVE"/> <set name="castRange" val="-1"/> <set name="effectRange" val="-1"/> <cond msgId="1902"> <and> <player minLevel="80"/> </and> </cond> <for> <mul order="0x30" stat="pAtkSpd" val="1.12"/> <mul order="0x30" stat="pAtk" val="1.12"/> <add order="0x40" stat="rEvas" val="7"/> <add order="0x40" stat="accCombat" val="4"/> <mul order="0x30" stat="rCrit" val="1.10"/> <add order="0x40" stat="maxMp" val="900"/> <add order="0x40" stat="maxHp" val="600"/> <mul order="0x30" stat="sleepVuln" val="0.3"/> <mul order="0x30" stat="slowVuln" val="0.35"/> <add order="0x40" stat="DEX" val="1"/> </for> <skill id="9998" levels="1" name="Dynasty Light set"> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <table name="#minLevel">80</table> <set name="operateType" val="OP_PASSIVE"/> <set name="castRange" val="-1"/> <set name="effectRange" val="-1"/> <cond msgId="1902"> <and> <player minLevel="#minLevel"/> </and> </cond> <for> <mul order="0x30" stat="pAtkSpd" val="1.12"/> <mul order="0x30" stat="pAtk" val="1.12"/> <add order="0x40" stat="rEvas" val="7"/> <add order="0x40" stat="accCombat" val="4"/> <mul order="0x30" stat="rCrit" val="1.10"/> <add order="0x40" stat="maxMp" val="900"/> <add order="0x40" stat="maxHp" val="600"/> <mul order="0x30" stat="sleepVuln" val="0.3"/> <mul order="0x30" stat="slowVuln" val="0.35"/> <add order="0x40" stat="DEX" val="1"/> </for> у апеллы плита id=7861 и скилл 7861 Изменено 18 октября, 2016 пользователем Rollfer 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TEPAH0BA 45 Опубликовано 18 октября, 2016 а, что ограничение просто по лвл нельзя дать ? типо что покамись ты 19 лвл ты не можешь одеть шмотки 20 лвл, ну а, в даном случае с 79 покамись не станешь 80 . Я просто не знаю на lucera в настройках конфига если такое , просто на не которых сборках есть такая хрень Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrDozoR 73 Опубликовано 18 октября, 2016 Забыл изначально указать что использую Люцеру, а в ней скил который ты предложил выглядит так <skill id="2286" levels="6" name="Scroll: Recovery"> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_ACTIVE"/> </skill> Короче взял кусок из скила что ты написал, получилось такое <skill id="9998" levels="1" name="Dynasty Light set"> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_PASSIVE"/> <set name="castRange" val="-1"/> <set name="effectRange" val="-1"/> <table name="#levelMin">80</table> <table name="#levelMax">80</table> <cond msgId="2136"> <and> <player minLevel="#levelMin"/> <player maxLevel="#levelMax"/> </and> </cond> <for> <mul order="0x30" stat="pAtkSpd" val="1.12"/> <mul order="0x30" stat="pAtk" val="1.12"/> <add order="0x40" stat="rEvas" val="7"/> <add order="0x40" stat="accCombat" val="4"/> <mul order="0x30" stat="rCrit" val="1.10"/> <add order="0x40" stat="maxMp" val="900"/> <add order="0x40" stat="maxHp" val="600"/> <mul order="0x30" stat="sleepVuln" val="0.3"/> <mul order="0x30" stat="slowVuln" val="0.35"/> <add order="0x40" stat="DEX" val="1"/> </for> </skill> Но в итоге при загрузке GS такая ошибка выскакивает [WARN 15:10:54]: Error while parsing skill id 9998, level 1 java.lang.IllegalStateException: Invalid attribute at <player>: minLevel='80' at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parsePla yerCondition(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parsePla yerCondition(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseCon dition(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseExi stingConditionInsideLogic(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseLog icAnd(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseCon dition(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseExi stingCondition(Unknown Source) at ru.catssoftware.gameserver.skills.conditions.ConditionParser.parseCon ditionWithMessage(Unknown Source) at ru.catssoftware.gameserver.skills.DocumentBase.parseConditionWithMess age(Unknown Source) at ru.catssoftware.gameserver.skills.DocumentSkill.attach(Unknown Source ) at ru.catssoftware.gameserver.skills.DocumentSkill.parseSkill(Unknown So urce) at ru.catssoftware.gameserver.skills.DocumentSkill.parseDefaultNode(Unkn own Source) at ru.catssoftware.gameserver.skills.DocumentBase.parseDocument(Unknown Source) at ru.catssoftware.gameserver.skills.DocumentBase.parse(Unknown Source) at ru.catssoftware.gameserver.skills.SkillsEngine.loadSkills(Unknown Sou rce) at ru.catssoftware.gameserver.datatables.SkillTable.<init>(Unknown Sourc e) at ru.catssoftware.gameserver.datatables.SkillTable.getInstance(Unknown Source) at ru.catssoftware.gameserver.L2GameServer.<init>(Unknown Source) at ru.catssoftware.gameserver.util.BootManager.<init>(Unknown Source) at ru.catssoftware.gameserver.util.BootManager.main(Unknown Source) Либо поищи аналог <player minLevel="#levelMin"/> <player maxLevel="#levelMax"/> в своей сборке - например эликсиры.... если нет такого условия тогда без ядра никак((( 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hotaka 769 Опубликовано 28 октября, 2016 В общем нифига у меня не получилось сделать так как я хотел. Максимального эффекта достиг лишь добавив в каждую часть сета строки(которые закомментированы): <item id='23177' name="Dynasty Helm (Legendary)"> <!-- <cond msgId="1902"> <or> <player grade="6"/> </or> </cond> --> <for> <add val='92' order='0x10' stat='pDef'/> <enchant val='0' order='0x0C' stat='pDef'/> </for> </item> Загрузка сервера проходит нормально, но вот простому чару 80-го уровня при попытке одеть часть армора вылетает системное сообщение идея откладывается в долгий ящик Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
adam1 23 Опубликовано 28 января, 2017 Для того что бы шмот не одевался вобше Ставьте подобные парамеиры в кажлую вещ <cond msgId="1902"> <and> <player minLevel="80"/> </and> </cond> . Если же чтобы одевался но не давал бонусов от сета то даный параметр нужно запихнуть в сам скил. <cond msgId="1902"> <and> <player minLevel="80"/> </and> </cond> Ну или пойти путем полезть в ядро. Если у вас незнание по компилу то не страшно. Научетесь есть нужные мануалы на форуме. Вам нужно взять програмку поимковик. Которая ишет в папке слово которое вы напишите плюс ишет в самих вайлах. И искать значение ng d c b a s грейда И копировать строчьку с s грейдом и изменить под себя.дописав там лвл не 76 а 80.. если нет исходников. То найдите нужный вам файл в сурсах от любой ревы вашей сборки. И по тому пути извлеките ее с помошю декомпилятора. Есть мануал. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
adam1 23 Опубликовано 28 января, 2017 (изменено) Для того что бы шмот не одевался вобше Ставьте подобные парамеиры в кажлую вещ <cond msgId="1902"> <and> <player minLevel="80"/> </and> </cond> . Если же чтобы одевался но не давал бонусов от сета то даный параметр нужно запихнуть в сам скил. <cond msgId="1902"> <and> <player minLevel="80"/> </and> </cond> Ну или пойти путем полезть в ядро. Если у вас незнание по компилу то не страшно. Научетесь есть нужные мануалы на форуме. Вам нужно взять програмку поисковик. Которая ишет в папке слово которое вы напишите плюс ишет в самих вайлах. И искать значение ng d c b a s грейда И копировать строчьку с s грейдом и изменить под себя.дописав там лвл не 76 а 80.. если нет исходников. То найдите нужный вам файл в сурсах от любой ревы вашей сборки. И по тому пути извлеките ее с помошю декомпилятора. Есть мануал. Отредактируйте и впитхните обратно Извените за ошибки рус не учил та и с телефона пишу Изменено 28 января, 2017 пользователем adam1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты