-
Posts
246 -
Credits
0 -
Joined
-
Last visited
-
Days Won
2 -
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Williams
-
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.
-
already changed for for (IntIntHolder reward: Config.TVT_REWARDS) World.announceToOnlinePlayers("TvT Event: Reward "+ ItemTable.getInstance().getTemplate(reward.getId()).getName() +","+ reward.getValue(), true); already fixed
-
a lot to redo so I did this makeover. I removed for (Player blue : _blueTeam) { if (blue == null) continue; // Give rewards if (_state != EventState.INITIAL && (_blueTeamKills > _redTeamKills || _blueTeamKills == _redTeamKills && Config.REWARD_DIE)) { for (IntIntHolder reward : Config.TVT_REWARDS) { if (reward == null) continue; blue.addItem("TvTReward", reward.getId(), reward.getValue(), null, true); } if (blue.isDead()) blue.doRevive(); removePlayer(blue); blue.teleportTo(blue.getOriginalCoordinates(), 0); } } for (Player red : _redTeam) { if (red == null) continue; // Give rewards if (_state != EventState.INITIAL && (_blueTeamKills < _redTeamKills || _blueTeamKills == _redTeamKills && Config.REWARD_DIE)) { for (IntIntHolder reward : Config.TVT_REWARDS) { if (reward == null) continue; red.addItem("TvTReward", reward.getId(), reward.getValue(), null, true); } if (red.isDead()) red.doRevive(); removePlayer(red); red.teleportTo(red.getOriginalCoordinates(), 0); } } // Event ended in a tie and no rewards will be given if (_blueTeamKills == _redTeamKills && !Config.REWARD_DIE) World.announceToOnlinePlayers("TvT Event: Event ended in a Tie. No rewards will be given!", true); _blueTeam.clear(); _redTeam.clear(); _redTeamKills = 0; _blueTeamKills = 0; I did like this: // Check the winning team. TeamType teamWinner = TeamType.NONE; if (_state != EventState.INITIAL) { // Tied teams if (_blueTeamKills == _redTeamKills && !Config.REWARD_DIE) World.announceToOnlinePlayers("TvT Event: Event ended in a Tie. No rewards will be given!", true); else if (_blueTeamKills > _redTeamKills) teamWinner = TeamType.BLUE; else teamWinner = TeamType.RED; if (teamWinner == TeamType.NONE) World.announceToOnlinePlayers("TvT Event: The event ends in a draw!"); else { for (Player player : World.getInstance().getPlayers()) { if (player == null) continue; // Prizes are awarded to the winning team. if (player.getTeam() == teamWinner) { for (IntIntHolder reward : Config.TVT_REWARDS) player.addItem("TvTReward", reward.getId(), reward.getValue(), null, true); if (player.isDead()) player.doRevive(); removePlayer(player); player.teleToLocation(player.getOriginalCoordinates()); } } } } _blueTeam.clear(); _redTeam.clear(); _blueTeamKills = 0; _redTeamKills = 0; I will remove _redTeamKills, _blueTeamKills and move to Player.java etc... about threadpool execution i don't know how i will do i will do more research on.
-
thank you very much, i will try to do what you say. You do a great job with aCis.