-
Posts
97 -
Credits
0 -
Joined
-
Last visited
-
Days Won
8 -
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by eMommy
-
and thats a copy of l2 eigis whats your point lol
-
Help .utx Files not working on clean system but do in other
eMommy replied to amaromorte's topic in [Request] Client Dev Help
l2.ini load paths -
that's strange because i've dealt with CaptainOwn before and he was very professional and nice to work with
-
and people use adrenaline if not interface autofarm in older clients, so what? is it fun to manually click on thousands of mobs and is it practical when the average player is around 27-30 years old? you are misinformed just like a lot of players including myself at one point. I used to think essence was just as how you described it: full farm and 0 activity. Except this is not the case when i actually played it to then realize that essence is superior to any chronicle released in every way possible and it's full of pvp and events and instances every hour to the point that you will wonder how it went from 10:00 to 23:00 while your free time slips just from under your nose.
-
lineage 2 is dead for hardstuck interlude and high 5 players only. take a look at valhalla essence and innadril and say that again. it's been more alive than ever also imagine being in 2022 and still using the 2004 interlude client over the zaken one or the secret of empire one from lucera. really weird right?
-
Help How to make a autosweep skill?
eMommy replied to redsky9's question in Request Server Development Help [L2J]
package l2s.gameserver.handler.effects.impl.trigger; import l2s.gameserver.handler.effects.EffectHandler; import l2s.gameserver.listener.actor.OnKillListener; import l2s.gameserver.model.Creature; import l2s.gameserver.model.actor.instances.creature.Abnormal; import l2s.gameserver.model.instances.MonsterInstance; import l2s.gameserver.templates.skill.EffectTemplate; public class p_auto_sweeper extends EffectHandler { private final int _minDist; private final int _maxDist; public p_auto_sweeper(EffectTemplate template) { super(template); _minDist = getParams().getInteger("min_dist", -1); _maxDist = getParams().getInteger("max_dist", 400); } private class impl extends EffectHandler { private ImplListener _listener; public impl(EffectTemplate template) { super(template); } @Override public void onStart(Abnormal abnormal, Creature effector, Creature effected) { if (getSkill().isPassive()) return; _listener = new ImplListener(); effected.addListener(_listener); } @Override public void onExit(Abnormal abnormal, Creature effector, Creature effected, boolean cancelled) { if (getSkill().isPassive()) return; effected.removeListener(_listener); _listener = null; } private class ImplListener implements OnKillListener { @Override public void onKill(Creature actor, Creature victim) { if (actor == null || victim == null || !victim.isMonster() || !actor.isPlayer() || actor.isDead() || !victim.isDead()) return; if (!getSkill().isPassive() && !actor.getAbnormalList().contains(p_auto_sweeper.this.getSkill().getId())) { actor.removeListener(_listener); return; } if (actor.getDistance(victim) > _minDist && actor.getDistance(victim) < _maxDist) { final MonsterInstance mob = victim.asMonster(); if (mob != null && !mob.isSweeped() && mob.isSpoiled(actor.getPlayer())) { mob.takeSweep(actor.getPlayer()); mob.endDecayTask(); } } } @Override public boolean ignorePetOrSummon() { return false; } } } @Override public EffectHandler getImpl() { return new impl(getTemplate()); } } <effect name="p_auto_sweeper"> <def name="min_dist" value="-1"/> <def name="max_dist" value="300"/> </effect> i just did this blind (on l2script) so its not tested but this is how i see the logic working -
LF How to change chat font size from uc file?
eMommy replied to redsky9's topic in [Request] Client Dev Help
depending on the client you use you can look at how ChatFontSizeWnd handles it or otherwise if you wanna change it generally you can do it through xdat -
LF Symbols Buffs Over The Head [With A Timer] Classic client
eMommy replied to KejbL's topic in [Request] Client Dev Help
on the newer clients you can do them as abnormals instead of inside the skill emitters so its way better -
LF Clean Russian system folder master class needed
eMommy replied to darta's topic in [Request] Client Dev Help
https://fex.net/ru/s/3vydrcs -
Help Interface mod that shows item icon in item name
eMommy replied to darta's topic in [Request] Client Dev Help
you need to reverse the unknownFunction names to its correct ones -
Help Interface mod that shows item icon in item name
eMommy replied to darta's topic in [Request] Client Dev Help
no it could just be that stripsource was used otherwise you can do 'view script' with utpt -
npcstring
- 1 reply
-
- 1
-
-
i think its for adrenaline not l2j...
-
Help How can i write to client via a packet?
eMommy replied to Hustman's question in Request Server Development Help [L2J]
no? you are limited to what your client is able to read. dont touch stuff like this if you dont know what it does lol because then you might not able to see any items normally -
Help How to remove stuff from item window
eMommy replied to Hustman's topic in [Request] Client Dev Help
no tooltip is through script only -
public final class HomeBoard implements IParseBoardHandler { // SQL Queries private static final String COUNT_FAVORITES = "SELECT COUNT(*) AS favorites FROM `bbs_favorites` WHERE `playerId`=?"; private static final String[] COMMANDS = { "_bbshome", "_bbstop", "_testpage1" }; @Override public String[] getCommunityBoardCommands() { return COMMANDS; } @Override public boolean parseCommunityBoardCommand(String command, L2PcInstance activeChar) { if (command.equals("_bbshome") || command.equals("_bbstop")) { CommunityBoardHandler.getInstance().addBypass(activeChar, "Home", command); String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/home.html"); html = html.replaceAll("%fav_count%", Integer.toString(getFavoriteCount(activeChar))); html = html.replaceAll("%region_count%", Integer.toString(getRegionCount(activeChar))); html = html.replaceAll("%clan_count%", Integer.toString(ClanTable.getInstance().getClanCount())); CommunityBoardHandler.separateAndSend(html, activeChar); } if (command.startsWith ("_testpage1")) { CommunityBoardHandler.getInstance().addBypass(activeChar, "testpage1", command); CommunityBoardHandler.separateAndSend(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/custom/index.html"), activeChar); } else if (command.startsWith("_bbstop;")) { final String path = command.replace("_bbstop;", ""); if ((path.length() > 0) && path.endsWith(".html")) { final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/" + path); CommunityBoardHandler.separateAndSend(html, activeChar); } } return true; }
-
Help How to remove stuff from item window
eMommy replied to Hustman's topic in [Request] Client Dev Help
interface u - > tooltip -
equals -> startswith/contains bypass _testpage1; ok but like if you want to redirect your page from home to custom/index then you can change what is already there under bbshome....
-
Discussion New server best advertising opportunity?
eMommy replied to DjPlayBoy1's topic in General Discussion [English]
thats what i thought at first but until you start playing it and really understand it you start to realize that essence is the pinnacle of l2 and superior to every other chronicle in almost every way possible.... the amount of new zones, items, interesting mechanics and instances are definitely not 'dumbed down' and if you compare this to like a interlude its like saying a shopping cart at the market is the same as a modern car -
Guide GooD Evening everyone im looking for a GG Pack vs 500Euros
eMommy replied to MrKaMa's topic in General Discussion [English]
im 43 years old and im froom Greece... * u cant scam me belieave me im a loier and i got my own hotel.) after we finsh the whole job you can have a suite on y last floow for 1 week..... -
LoadingWnd var String LoadingTex[num]; ........ LoadingTex[0] = "Tex1"; LoadingTex[1] = "Tex2"; LoadingTex[2] = "Tex3"; ........ loadingtexture.SetTexture( LoadingTex[Rand(size)] );
-
you cant edit directly through actionscript you need to do it from pcode on jpex.....
- 1 reply
-
- 1
-
-
package events; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import l2s.commons.util.Rnd; import l2s.gameserver.Config; import l2s.gameserver.ThreadPoolManager; import l2s.gameserver.database.mysql; import l2s.gameserver.instancemanager.ServerVariables; import l2s.gameserver.listener.actor.OnAbnormalStartEndListener; import l2s.gameserver.listener.actor.OnDeathListener; import l2s.gameserver.listener.actor.player.OnPlayerEnterListener; import l2s.gameserver.listener.script.OnInitScriptListener; import l2s.gameserver.model.Creature; import l2s.gameserver.model.GameObjectsStorage; import l2s.gameserver.model.Player; import l2s.gameserver.model.actor.instances.creature.Abnormal; import l2s.gameserver.model.actor.listener.CharListenerList; import l2s.gameserver.model.actor.variables.PlayerVariables; import l2s.gameserver.network.l2.components.SystemMsg; import l2s.gameserver.network.l2.s2c.SystemMessagePacket; import l2s.gameserver.network.l2.s2c.events.ExBalthusEvent; import l2s.gameserver.network.l2.s2c.events.ExBalthusEventJackpotUser; import l2s.gameserver.utils.Functions; /** * @author nexvill */ public class BalthusEvent implements OnInitScriptListener { private static final Logger _log = LoggerFactory.getLogger(BalthusEvent.class); private class EventListeners implements OnPlayerEnterListener { @Override public void onPlayerEnter(Player player) { if (_active) { if (player.getAbnormalList().contains(BUFF_ID)) { int receivedAmount = player.getVarInt(PlayerVariables.BALTHUS_RECEIVED_AMOUNT, 0); player.sendPacket(new ExBalthusEvent(_round, _stage, _jackpotId, BASIC_REWARD_COUNT, receivedAmount, true, false, _time)); } else { int receivedAmount = player.getVarInt(PlayerVariables.BALTHUS_RECEIVED_AMOUNT, 0); player.sendPacket(new ExBalthusEvent(_round, _stage, _jackpotId, BASIC_REWARD_COUNT, receivedAmount, false, false, _time)); } } } } private class AbnormalStartEndListener implements OnAbnormalStartEndListener { @Override public void onAbnormalStart(Creature actor, Abnormal a) { if (actor.isPlayer() && (a.getId() == BUFF_ID) && _active) { int receivedAmount = actor.getPlayer().getVarInt(PlayerVariables.BALTHUS_RECEIVED_AMOUNT, 0); actor.sendPacket(new ExBalthusEvent(_round, _stage, _jackpotId, BASIC_REWARD_COUNT, receivedAmount, true, false, _time)); } } @Override public void onAbnormalEnd(Creature actor, Abnormal a) { if (actor.isPlayer() && (a.getId() == BUFF_ID) && _active) { int receivedAmount = actor.getPlayer().getVarInt(PlayerVariables.BALTHUS_RECEIVED_AMOUNT, 0); actor.sendPacket(new ExBalthusEvent(_round, _stage, _jackpotId, BASIC_REWARD_COUNT, receivedAmount, false, false, _time)); } } } public class MonsterDeathListener implements OnDeathListener { @Override public void onDeath(Creature actor, Creature killer) { if (!_active) return; if (killer == null || !actor.isMonster()) return; Player player = killer.getPlayer(); if (player == null) return; if ((killer.getLevel() - actor.getLevel()) > 15) return; if (Rnd.get(100) < 2) player.getInventory().addItem(BASIC_REWARD_ID, 1); } } private class UpdateEvent implements Runnable { @Override public void run() { long currentTime = System.currentTimeMillis(); if ((currentTime > _timeStart) && (currentTime < _timeEnd)) { Functions.SetActive(EVENT_NAME, true); } else { Functions.SetActive(EVENT_NAME, false); } } } private static final String EVENT_NAME = "BalthusEvent"; private static final int BUFF_ID = Config.BALTHUS_EVENT_PARTICIPATE_BUFF_ID; private EventListeners EVENT_LISTENERS = new EventListeners(); private final OnAbnormalStartEndListener _abnormalStartEndListener = new AbnormalStartEndListener(); // Misc private int _round = 1; private int _stage = 20; private int _time = 0; private int _jackpotId = 49800; private int _hour; private boolean _receivedThisHour = false; private static final int BASIC_REWARD_COUNT = Config.BALTHUS_EVENT_BASIC_REWARD_COUNT; private static final int BASIC_REWARD_ID = Config.BALTHUS_EVENT_BASIC_REWARD_ID; private static boolean _active = false; private static long _timeStart, _timeEnd; @Override public void onInit() { if (isActive()) { _active = true; CharListenerList.addGlobal(EVENT_LISTENERS); CharListenerList.addGlobal(_abnormalStartEndListener); _hour = ZonedDateTime.now().getHour(); _round = _hour + 1; _time = ZonedDateTime.now().getMinute() * 60; ThreadPoolManager.getInstance().schedule(new UpdateEvent(), _timeEnd); ThreadPoolManager.getInstance().scheduleAtFixedRate(() -> updateTimer(), 1000L, 1000L); _log.info("Loaded Event: Balthus Event [state: activated]"); } else { ThreadPoolManager.getInstance().schedule(new UpdateEvent(), _timeStart); _log.info("Loaded Event: Balthus Event [state: deactivated]"); } } private static boolean isActive() { LocalDateTime localDateTime = LocalDateTime.parse(Config.BALTHUS_EVENT_TIME_START, DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss")); _timeStart = localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(); localDateTime = LocalDateTime.parse(Config.BALTHUS_EVENT_TIME_END, DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss")); _timeEnd = localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli(); long currentTime = System.currentTimeMillis(); if ((currentTime > _timeStart) && (currentTime < _timeEnd)) { Functions.SetActive(EVENT_NAME, true); } else { Functions.SetActive(EVENT_NAME, false); mysql.set("DELETE FROM `character_variables` WHERE `value` = \"balthus_received_amount\";"); } return Functions.IsActive(EVENT_NAME); } private void updateTimer() { _time++; if (_time >= 3600) { _time = 0; _stage = 20; _round++; _receivedThisHour = false; if (_round > 24) { _round = 1; } manageJackpot(); updateEvent(); saveVars(); } else if (((_time == 3500) || (_time == 2880) || (_time == 2160) || (_time == 1440) || (_time == 720)) && !_receivedThisHour) { if (_time != 3500) { _stage += 20; } eventRun(); saveVars(); } } private void saveVars() { ServerVariables.set("balthus_round", _round); ServerVariables.set("balthus_stage", _stage); ServerVariables.set("balthus_jackpot", _jackpotId); ServerVariables.set("balthus_received_hour", _receivedThisHour); } private void eventRun() { int participantsCount = 0; if (!_receivedThisHour && (Rnd.get(100) < Config.BALTHUS_EVENT_JACKPOT_CHANCE)) { _receivedThisHour = true; for (Player player : GameObjectsStorage.getPlayers(false, false)) { if (player.getAbnormalList().contains(BUFF_ID)) { participantsCount++; player.setVar(PlayerVariables.BALTHUS_RECEIVED_AMOUNT, player.getVarInt(PlayerVariables.BALTHUS_RECEIVED_AMOUNT, 0) + BASIC_REWARD_COUNT); } player.sendPacket(new ExBalthusEventJackpotUser()); player.sendPacket(new SystemMessagePacket(SystemMsg.THE_SECRET_SUPPLIES_OF_THE_BALTHUS_KNIGHTS_ARRIVED_SOMEONE_RECEIVED_S1).addItemName(_jackpotId)); } if (!(participantsCount < 1)) { int number = Rnd.get(participantsCount); int i = 0; for (Player player : GameObjectsStorage.getPlayers(false, false)) { if (player.getAbnormalList().contains(BUFF_ID)) { if (number == i) { player.getInventory().addItem(_jackpotId, 1); break; } i++; } } } } updateEvent(); } private void updateEvent() { for (Player player : GameObjectsStorage.getPlayers(false, false)) { boolean participate = false; if (player.getAbnormalList().contains(BUFF_ID)) { participate = true; } int receivedAmount = player.getVarInt(PlayerVariables.BALTHUS_RECEIVED_AMOUNT, 0); player.sendPacket(new ExBalthusEvent(_round, _stage, _jackpotId, BASIC_REWARD_COUNT, receivedAmount, participate, _receivedThisHour, _time)); } } private void manageJackpot() { if (_hour < 1) _jackpotId = 95876; // Balthus Knights' High-grade Spellbook Chest else if (_hour < 17) _jackpotId = 49800; // Sibi's Coin Pack else if (_hour < 18) _jackpotId = 94875; // Balthus Knights' Enchanted Talisman Pack else if (_hour < 19) _jackpotId = 95872; // Balthus Knights' Master Book Chest else if (_hour < 20) _jackpotId = 94873; // Balthus Knights' Blessed Dragon Belt else if (_hour < 21) _jackpotId = 95873; // Balthus Knights' Enchanted Armor Pack else if (_hour < 22) _jackpotId = 95874; // Balthus Knights' Package: Hardin's Soul Crystal else if (_hour < 23) _jackpotId = 94877; // Balthus Knight's Package: Enhanced Einhasad's Pendant else if (_hour == 23) _jackpotId = 95875; // Balthus Knight's Enchanted Weapon Pack } } free
-