Jump to content

B1ggBoss

Legendary Member
  • Posts

    494
  • Credits

  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by B1ggBoss

  1. Not suported automatically by the server. You have to add those npcs (with same faction) and spawns manually or modify the server to support it
  2. since you talk about characters and not account, CharSelection clientpacket is your place
  3. change npcHtmlMessage.setHtml("..."); to npcHtmlMessage.setFile(null, "root"); Example: npcHtmlMessage.setFile(null, "data/html/antibot/1.htm"); about those errors, you have to find the reason why L2Character killer is null when passed to the method
  4. change npcHtmlMessage.setHtml("..."); to npcHtmlMessage.setFile(null, "root"); Example: npcHtmlMessage.setFile(null, "data/html/antibot/1.htm"); about those errors, you have to find the reason why L2Character killer is null when passed to the method
  5. By default (without adding any line), all skills will have it setted to false.
  6. By default (without adding any line), all skills will have it setted to false.
  7. Index: java/com/l2jserver/gameserver/model/L2Effect.java =================================================================== --- java/com/l2jserver/gameserver/model/L2Effect.java (revision 4536) +++ java/com/l2jserver/gameserver/model/L2Effect.java (working copy) @@ -357,7 +357,13 @@ if (_period > 0) { stopEffectTask(); - final int initialDelay = Math.max((_period - _periodFirstTime) * 1000, 5); + final int initialDelay = 0; + final L2PcInstance plr = getEffected().getActingPlayer(); + if(plr != null && plr.isVip() && getSkill().canModifyTime()) + initialDelay = YOUR_VIP_BUFF_TIME_IN_MILLIS_GOES_HERE; + else + initialDelay = Math.max((_period - _periodFirstTime) * 1000, 5); + if (_count > 1) _currentFuture = ThreadPoolManager.getInstance().scheduleEffectAtFixedRate(new EffectTask(), initialDelay, _period * 1000); else Index: java/com/l2jserver/gameserver/model/L2Skill.java =================================================================== --- java/com/l2jserver/gameserver/model/L2Skill.java (revision 4536) +++ java/com/l2jserver/gameserver/model/L2Skill.java (working copy) @@ -291,8 +291,10 @@ private final boolean _excludedFromCheck; private final boolean _simultaneousCast; - private L2ExtractableSkill _extractableItems = null;; + private L2ExtractableSkill _extractableItems = null; + private boolean _canModifyTime = false; + protected L2Skill(StatsSet set) { _id = set.getInteger("skill_id"); @@ -532,6 +534,8 @@ _extractableItems = parseExtractableSkill(_id, _level, capsuled_items); } + + _canModifyTime = set.getBool("canModifyTime", false); } public abstract void useSkill(L2Character caster, L2Object[] targets); @@ -541,6 +545,11 @@ return _isPotion; } + public final boolean canModifyTime() + { + return _canModifyTime; + } + public final int getArmorsAllowed() { return _armorsAllowed; In those skill where you would like to modify the time based if the player is vip or not, you would have to add <set name="canModifyTime" val="true" />
  8. Index: java/com/l2jserver/gameserver/model/L2Effect.java =================================================================== --- java/com/l2jserver/gameserver/model/L2Effect.java (revision 4536) +++ java/com/l2jserver/gameserver/model/L2Effect.java (working copy) @@ -357,7 +357,13 @@ if (_period > 0) { stopEffectTask(); - final int initialDelay = Math.max((_period - _periodFirstTime) * 1000, 5); + final int initialDelay = 0; + final L2PcInstance plr = getEffected().getActingPlayer(); + if(plr != null && plr.isVip() && getSkill().canModifyTime()) + initialDelay = YOUR_VIP_BUFF_TIME_IN_MILLIS_GOES_HERE; + else + initialDelay = Math.max((_period - _periodFirstTime) * 1000, 5); + if (_count > 1) _currentFuture = ThreadPoolManager.getInstance().scheduleEffectAtFixedRate(new EffectTask(), initialDelay, _period * 1000); else Index: java/com/l2jserver/gameserver/model/L2Skill.java =================================================================== --- java/com/l2jserver/gameserver/model/L2Skill.java (revision 4536) +++ java/com/l2jserver/gameserver/model/L2Skill.java (working copy) @@ -291,8 +291,10 @@ private final boolean _excludedFromCheck; private final boolean _simultaneousCast; - private L2ExtractableSkill _extractableItems = null;; + private L2ExtractableSkill _extractableItems = null; + private boolean _canModifyTime = false; + protected L2Skill(StatsSet set) { _id = set.getInteger("skill_id"); @@ -532,6 +534,8 @@ _extractableItems = parseExtractableSkill(_id, _level, capsuled_items); } + + _canModifyTime = set.getBool("canModifyTime", false); } public abstract void useSkill(L2Character caster, L2Object[] targets); @@ -541,6 +545,11 @@ return _isPotion; } + public final boolean canModifyTime() + { + return _canModifyTime; + } + public final int getArmorsAllowed() { return _armorsAllowed; In those skill where you would like to modify the time based if the player is vip or not, you would have to add <set name="canModifyTime" val="true" />
  9. Better post whats in the 549 line of your L2Attackable class
  10. Better post whats in the 549 line of your L2Attackable class
  11. 1) I corrected the code i posted, since before, it would change the time of all effects, with the new code just buffs time are changed 2) Didnt understand your question
  12. 1) I corrected the code i posted, since before, it would change the time of all effects, with the new code just buffs time are changed 2) Didnt understand your question
  13. inst full of bug cause of the developers will. To avoid the cheating shown in modern warfare 2, most (not all) black ops ingame actions are checked in a treyarch server before go down to the host and from him to the rest of players. Thats why connection is worst than other cods and some bugs may appear
  14. inst full of bug cause of the developers will. To avoid the cheating shown in modern warfare 2, most (not all) black ops ingame actions are checked in a treyarch server before go down to the host and from him to the rest of players. Thats why connection is worst than other cods and some bugs may appear
  15. Index: java/com/l2jserver/gameserver/model/L2Effect.java =================================================================== --- java/com/l2jserver/gameserver/model/L2Effect.java (revision 4536) +++ java/com/l2jserver/gameserver/model/L2Effect.java (working copy) @@ -357,7 +357,13 @@ if (_period > 0) { stopEffectTask(); - final int initialDelay = Math.max((_period - _periodFirstTime) * 1000, 5); + int initialDelay = 0; + L2PcInstance plr = getEffected().getActingPlayer(); + if(plr != null && plr.isVip() && getSkill().getSkillType() == L2SkillType.BUFF) + initialDelay = YOUR_VIP_BUFF_TIME_GOES_HERE; + else + initialDelay = Math.max((_period - _periodFirstTime) * 1000, 5); + if (_count > 1) _currentFuture = ThreadPoolManager.getInstance().scheduleEffectAtFixedRate(new EffectTask(), initialDelay, _period * 1000); else
  16. Index: java/com/l2jserver/gameserver/model/L2Effect.java =================================================================== --- java/com/l2jserver/gameserver/model/L2Effect.java (revision 4536) +++ java/com/l2jserver/gameserver/model/L2Effect.java (working copy) @@ -357,7 +357,13 @@ if (_period > 0) { stopEffectTask(); - final int initialDelay = Math.max((_period - _periodFirstTime) * 1000, 5); + int initialDelay = 0; + L2PcInstance plr = getEffected().getActingPlayer(); + if(plr != null && plr.isVip() && getSkill().getSkillType() == L2SkillType.BUFF) + initialDelay = YOUR_VIP_BUFF_TIME_GOES_HERE; + else + initialDelay = Math.max((_period - _periodFirstTime) * 1000, 5); + if (_count > 1) _currentFuture = ThreadPoolManager.getInstance().scheduleEffectAtFixedRate(new EffectTask(), initialDelay, _period * 1000); else
  17. Abstract current soe handler and make it instantiable for a determinate use (like nearest village, given coordinates)
  18. by default, olympiad period is setted to last 1 month, you dont need to touch anything. If you want to set the end of olympiad manually, in the olympiad_data table, in the fileds you posted here, you have to put the unix time of the date you want the olympiads to end * 1000. And put at least, the same time or more in the next_weekly_change. You can get the unix time in seconds (remember you need to put it in miliseconds) from here: http://www.unixtimestamp.com/index.php
  19. you may change the buff effect time from com.l2jserver.gameserver.model.L2Effect. To get the player instance using the buff, use getEffected() inside that class
  20. back to work. Send me your request on weekend, i dont have internet con during week
  21. Index: java/com/l2jserver/gameserver/util/Broadcast.java =================================================================== --- java/com/l2jserver/gameserver/util/Broadcast.java (revision 4493) +++ java/com/l2jserver/gameserver/util/Broadcast.java (working copy) @@ -35,6 +35,7 @@ import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CharInfo; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; +import com.l2jserver.gameserver.network.serverpackets.Earthquake; import com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket; import com.l2jserver.gameserver.network.serverpackets.RelationChanged; @@ -233,6 +234,19 @@ toAllOnlinePlayers(cs); } + public static void broadCastEarthQuake() + { + Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values(); + for(L2PcInstance p : pls) + { + if(p != null && p.isOnline()) + { + final Earthquake eq = new Earthquake(p.getX(), p.getY(), p.getZ(), 14, 3); + p.sendPacket(eq); + } + } + } + public static void toPlayersInInstance(L2GameServerPacket mov, int instanceId) { Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values(); Index: java/com/l2jserver/gameserver/Announcements.java =================================================================== --- java/com/l2jserver/gameserver/Announcements.java (revision 4493) +++ java/com/l2jserver/gameserver/Announcements.java (working copy) @@ -217,11 +217,13 @@ public void announceToAll(SystemMessage sm) { Broadcast.toAllOnlinePlayers(sm); + Broadcast.broadCastEarthQuake(); } public void announceToInstance(SystemMessage sm, int instanceId) { Broadcast.toPlayersInInstance(sm, instanceId); + Broadcast.broadCastEarthQuake(); } // Method for handling announcements from admin
×
×
  • Create New...