-
Posts
255 -
Joined
-
Last visited
-
Days Won
3 -
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Williams
-
topic updated with version 2 at a glance now written in xml
-
Good night, I come to share a code that I made for my project, I will give a simple tutorial how to use the music part of it. Code: https://pastebin.com/raw/ezfEX1kJ Well I made the code simple and very easy to edit, you only need to edit in one place to add messages, music, PVP amount !! The format is PVP, Message and Music quantity. PVP amount = 2 Generated Message = Double Kill Music = "" here the music. DOUBLE_KILL (2, "Double Kill", "YOUR MUSIC"), The song is on you, I hope you like it and don't forget to like it. here is version 2 in xml and totally redone by Tryskell's tips thanks to @StinkyMadness for the idea of creating in xml Version 2 : https://pastebin.com/raw/5cwXuTTc Credits for the idea @Kara` Unfinished credits @Williams ATTENTION : I'm sorry for some BR messages
-
Help Summon Buff aCis
Williams replied to Williams's question in Request Server Development Help [L2J]
Perfect! -
Help Summon Buff aCis
Williams replied to Williams's question in Request Server Development Help [L2J]
did not work if (schemeSkills.contains(skillId)) StringUtil.append(sb, (skillId == 4699 || skillId == 4700 ? "icon.skill1331" : skillId == 4702 || skillId == 4703 ? "icon.skill1332" : skillId < 100 ? "icon.skill00" + skillId : skillId < 1000 ? "icon.skill0" + skillId : "icon.skill" + skillId)); -
Help Summon Buff aCis
Williams replied to Williams's question in Request Server Development Help [L2J]
### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: java/net/sf/l2j/gameserver/model/L2Skill.java =================================================================== --- java/net/sf/l2j/gameserver/model/L2Skill.java (revision 2) +++ java/net/sf/l2j/gameserver/model/L2Skill.java (working copy) @@ -113,6 +113,7 @@ private final int _level; private final String _name; + private final String _icon; private final SkillOpType _operateType; private final boolean _magic; @@ -248,6 +250,7 @@ _level = set.getInteger("level"); _name = set.getString("name"); + _icon = set.getString("icon", "icon.noimage"); _operateType = set.getEnum("operateType", SkillOpType.class); _magic = set.getBool("isMagic", false); @@ -842,7 +846,15 @@ { return _name; } - + + /** + * @return Returns the icon. + */ + public String getIcon() + { + return _icon; + } + /** * @return Returns the reuseDelay. */ ### Eclipse Workspace Patch 1.0 #P aCis_datapack Index: data/xml/skills/4700-4799.xml =================================================================== --- data/xml/skills/4700-4799.xml (revision 2) +++ data/xml/skills/4700-4799.xml (working copy) @@ -5,9 +5,9 @@ <table name="#mpConsume"> 122 157 194 202 207 212 215 220 224 229 233 237 242 </table> <table name="#pAtk"> 1.06 1.08 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.1 </table> <table name="#accCombat"> 2 2 3 3 3 3 3 3 3 3 3 3 3 </table> <table name="#time"> 120 120 120 150 165 180 195 210 225 240 255 270 285 </table> <table name="#power"> 541 611 659 666 669 673 676 679 681 684 687 689 692 </table> <table name="#stackOrder"> 1 2 3 3 3 3 3 3 3 3 3 3 3 </table> + <set name="icon" val="icon.skill1331" /> <set name="mpConsume" val="#mpConsume" /> <set name="target" val="TARGET_PARTY" /> <set name="skillRadius" val="1000" /> @@ -48,9 +48,9 @@ <table name="#magicLvl"> 57 66 75 77 78 79 80 81 82 83 84 85 86 </table> <table name="#mpConsume"> 122 157 194 202 207 212 215 220 224 229 233 237 242 </table> <table name="#regMp"> 1.3 1.32 1.35 1.35 1.35 1.35 1.35 1.35 1.35 1.35 1.35 1.35 1.35 </table> <table name="#time"> 120 120 120 150 165 180 195 210 225 240 255 270 285 </table> <table name="#power"> 541 611 659 666 669 673 676 679 681 684 687 689 692 </table> <table name="#stackOrder"> 1 2 3 3 3 3 3 3 3 3 3 3 3 </table> + <set name="icon" val="icon.skill1332" /> <set name="mpConsume" val="#mpConsume" /> <set name="target" val="TARGET_PARTY" /> <set name="skillRadius" val="1000" /> @@ -71,9 +71,9 @@ <table name="#magicLvl"> 57 66 75 77 78 79 80 81 82 83 84 85 86 </table> <table name="#mpConsume"> 122 157 194 202 207 212 215 220 224 229 233 237 242 </table> <table name="#mReuse"> 0.7 0.68 0.65 0.65 0.65 0.65 0.65 0.65 0.65 0.65 0.65 0.65 0.65 </table> <table name="#time"> 120 120 120 150 165 180 195 210 225 240 255 270 285 </table> <table name="#power"> 541 611 659 666 669 673 676 679 681 684 687 689 692 </table> <table name="#stackOrder"> 1 2 3 3 3 3 3 3 3 3 3 3 3 </table> + <set name="icon" val="icon.skill1332" /> <set name="mpConsume" val="#mpConsume" /> <set name="target" val="TARGET_PARTY" /> <set name="skillRadius" val="1000" /> Index: data/xml/skills/4600-4699.xml =================================================================== --- data/xml/skills/4600-4699.xml (revision 2) +++ data/xml/skills/4600-4699.xml (working copy) @@ -1776,8 +1776,8 @@ <table name="#magicLvl"> 57 66 75 77 78 79 80 81 82 83 84 85 86 </table> <table name="#rCrit"> 0.25 0.27 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 </table> <table name="#cAtk"> 1.2 1.22 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 </table> <table name="#time"> 120 120 120 150 165 180 195 210 225 240 255 270 285 </table> <table name="#stackOrder"> 1 2 3 3 3 3 3 3 3 3 3 3 3 </table> + <set name="icon" val="icon.skill1331" /> <set name="magicLvl" val="#magicLvl" /> <set name="target" val="TARGET_PARTY" /> <set name="skillType" val="BUFF" /> I'll see if this works -
Well I adding the buffs in my buff for aCis, I came across this, where do I fix this? I believe that here generates the icons if (skillId < 100) { if (schemeSkills.contains(skillId)) StringUtil.append(sb, "<td height=40 width=40><img src=\"icon.skill00", skillId, "\" width=32 height=32></td><td width=190>", SkillTable.getInstance().getInfo(skillId, 1).getName(), "<br1><font color=\"B09878\">", BufferManager.getInstance().getAvailableBuff(skillId).getDescription(), "</font></td><td><button action=\"bypass npc_%objectId%_skillunselect ", groupType, " ", schemeName, " ", skillId, " ", page, "\" width=32 height=32 back=\"L2UI_CH3.mapbutton_zoomout2\" fore=\"L2UI_CH3.mapbutton_zoomout1\"></td>"); else StringUtil.append(sb, "<td height=40 width=40><img src=\"icon.skill00", skillId, "\" width=32 height=32></td><td width=190>", SkillTable.getInstance().getInfo(skillId, 1).getName(), "<br1><font color=\"B09878\">", BufferManager.getInstance().getAvailableBuff(skillId).getDescription(), "</font></td><td><button action=\"bypass npc_%objectId%_skillselect ", groupType, " ", schemeName, " ", skillId, " ", page, "\" width=32 height=32 back=\"L2UI_CH3.mapbutton_zoomin2\" fore=\"L2UI_CH3.mapbutton_zoomin1\"></td>"); } else if (skillId < 1000) { if (schemeSkills.contains(skillId)) StringUtil.append(sb, "<td height=40 width=40><img src=\"icon.skill0", skillId, "\" width=32 height=32></td><td width=190>", SkillTable.getInstance().getInfo(skillId, 1).getName(), "<br1><font color=\"B09878\">", BufferManager.getInstance().getAvailableBuff(skillId).getDescription(), "</font></td><td><button action=\"bypass npc_%objectId%_skillunselect ", groupType, " ", schemeName, " ", skillId, " ", page, "\" width=32 height=32 back=\"L2UI_CH3.mapbutton_zoomout2\" fore=\"L2UI_CH3.mapbutton_zoomout1\"></td>"); else StringUtil.append(sb, "<td height=40 width=40><img src=\"icon.skill0", skillId, "\" width=32 height=32></td><td width=190>", SkillTable.getInstance().getInfo(skillId, 1).getName(), "<br1><font color=\"B09878\">", BufferManager.getInstance().getAvailableBuff(skillId).getDescription(), "</font></td><td><button action=\"bypass npc_%objectId%_skillselect ", groupType, " ", schemeName, " ", skillId, " ", page, "\" width=32 height=32 back=\"L2UI_CH3.mapbutton_zoomin2\" fore=\"L2UI_CH3.mapbutton_zoomin1\"></td>"); } else { if (schemeSkills.contains(skillId)) StringUtil.append(sb, "<td height=40 width=40><img src=\"icon.skill", skillId, "\" width=32 height=32></td><td width=190>", SkillTable.getInstance().getInfo(skillId, 1).getName(), "<br1><font color=\"B09878\">", BufferManager.getInstance().getAvailableBuff(skillId).getDescription(), "</font></td><td><button action=\"bypass npc_%objectId%_skillunselect ", groupType, " ", schemeName, " ", skillId, " ", page, "\" width=32 height=32 back=\"L2UI_CH3.mapbutton_zoomout2\" fore=\"L2UI_CH3.mapbutton_zoomout1\"></td>"); else StringUtil.append(sb, "<td height=40 width=40><img src=\"icon.skill", skillId, "\" width=32 height=32></td><td width=190>", SkillTable.getInstance().getInfo(skillId, 1).getName(), "<br1><font color=\"B09878\">", BufferManager.getInstance().getAvailableBuff(skillId).getDescription(), "</font></td><td><button action=\"bypass npc_%objectId%_skillselect ", groupType, " ", schemeName, " ", skillId, " ", page, "\" width=32 height=32 back=\"L2UI_CH3.mapbutton_zoomin2\" fore=\"L2UI_CH3.mapbutton_zoomin1\"></td>"); } How do I generate the icon of these 4 buffs??
-
Help Enchant Item :)
Williams replied to criss22's question in Request Server Development Help [L2J]
if you use l2jaCis you need it -
No. That's why I ask you kkk
-
Hello would you like a tip how to when to remove lord's crown the buff comes out along with the crown.
-
@Tryskell something to improve?
-
Good evening, I come to share a code that I made for my project. Code : https://pastebin.com/raw/sWbUMqiG Good as I do not like to use these ready made codes I made this, as aCis is clean and light, I will explain how to use my code. I took Draconic as an example. <item id="7575" type="Weapon" name="Draconic Bow"> <set name="icon" val="icon.weapon_draconic_bow_i00" /> <set name="default_action" val="equip" /> <set name="weapon_type" val="BOW" /> <set name="bodypart" val="lrhand" /> <set name="random_damage" val="5" /> <set name="attack_range" val="500" /> <set name="damage_range" val="0;0;10;0" /> <set name="crystal_count" val="2440" /> <set name="crystal_type" val="S" /> <set name="material" val="ADAMANTAITE" /> <set name="weight" val="1650" /> <set name="price" val="48800000" /> <set name="soulshots" val="1" /> <set name="spiritshots" val="1" /> <set name="mp_consume" val="11" /> <set name="reuse_delay" val="1500" /> <cond msgId="1518"> <and> <player classId="SAGGITARIUS" /> </and> </cond> <for> <set order="0x08" stat="pAtk" val="581" /> <set order="0x08" stat="mAtk" val="132" /> <set order="0x08" stat="rCrit" val="12" /> <sub order="0x10" stat="accCombat" val="3" /> <set order="0x08" stat="pAtkSpd" val="293" /> <enchant val="0" order="0x0C" stat="pAtk" /> <enchant val="0" order="0x0C" stat="mAtk" /> </for> </item> Here you block to other classes, so only a certain class can use. <cond msgId="1518"> <and> <player classId="DUELIST" /> </and> </cond> when another class tries to use the bow !!
-
Help GateKeeper aCis
Williams replied to Williams's question in Request Server Development Help [L2J]
Sorted out. thank you @Tryskell -
Hello, I am looking for where is this msg = "" in the teleport buttons, I searched for all soucer and I did not even find Exemple : <a action="bypass -h npc_%objectId%_goto 15" msg="811;The Village of Gludin">The Village of Gludin - 18000 Adena</a><br1> where did the Triskell myth hide the MSG????
-
Help Siege Reward for aCis
Williams replied to Williams's question in Request Server Development Help [L2J]
I will do what you said, thanks. I'm your fan -
Hello i'm creating this code for the clan that take the castle. created rewardClanWinner () method in Player.java , sure he rewards the winning clan. method: public Clan rewardClanWinner() { for (Player player : getClan().getOnlineMembers()) { if (player.isClanLeader()) { for (IntIntHolder reward : Config.LEADER_REWARD_WINNER_SIEGE_CLAN) player.addItem("", reward.getId(), reward.getValue(), player, true); } else { for (IntIntHolder reward : Config.REWARD_WINNER_SIEGE_CLAN) player.addItem("", reward.getId(), reward.getValue(), player, true); } } return _clan; } After finishing the siege, I made a restriction of the same IP plus the 2 players of the same ip wins the item, what did I do wrong? method created for SiegeEnd () // Reward Clan winner getRewardClanWinner(); private static final Map<String, Integer> _playerIps = new ConcurrentHashMap<>(); public void getRewardClanWinner() { for (Player player : World.getInstance().getPlayers()) { String pIp = player.getClient().getConnection().getInetAddress().getHostAddress(); if (!_playerIps.containsKey(pIp)) { _playerIps.put(pIp, 1); player.rewardClanWinner().setCastle(getCastle().getOwnerId()); } else { int count = _playerIps.get(pIp); if (count < 1) { _playerIps.remove(pIp); _playerIps.put(pIp, count + 1); player.rewardClanWinner().setCastle(getCastle().getOwnerId()); } else player.sendMessage("Already 1 character(s) of your ip have been rewarded, so this character won't be rewarded."); } } } It does not only reward one as I write in the code.
-
Help Error while restoring clan aCis
Williams replied to Williams's question in Request Server Development Help [L2J]
i use mysql 8.0.17 newer version -
Help Error while restoring clan aCis
Williams replied to Williams's question in Request Server Development Help [L2J]
the mistake is acis itself, I tested it clean -
Help Error while restoring clan aCis
Williams posted a question in Request Server Development Help [L2J]
This error occurs when restart server, is this error official from aCis? -
I come to share a code that I made. It is intended for clan leaders to leave a message for their members. código : https://pastebin.com/raw/YACt3bjn Add this to your system in commandname-e.dat 115 114 notice htm message by clan owner message if a member tries to create a news story
-
I am working hard to improve ThreadPool and remove the setOriginalCoordinates method, updated topic with v2 I will improve the main topic with more information.
-
which would be better to list the players? private Map<Integer, Player> _registered = new ConcurrentHashMap<>(); or private Set<Player> _registered = ConcurrentHashMap.newKeySet();
-
* CopyOnWriteArrayList container should be avoid for performance reason, use ConcurrentHashMap.newKeySet instead. * Hello Master, I'm studying and improving TVT, I'm tending to change the player lists. I changed to ConcurrentHashMap.newKeySet () in private List<Player> _registered = new CopyOnWriteArrayList<>(); for private Set<Player> _registered = ConcurrentHashMap.newKeySet(); I have this error I don't know if it's the correct one but I did it like this in Player player = _registered.get(Rnd.get(_registered.size())); for Player player = World.getInstance().getPlayer(Rnd.get(_registered.size()));
-
hello service available?
-
manda em mp que faco o pacth, amanha ja posto
-
Estou sem tempo, quando estiver posto as alterações feitas.
