Jump to content

Recommended Posts

Posted

Hi.

 

I'm trying to change systemmsg to show me landed and resisted debufs /buffs but can't find the line of it someone can tell me whiche exactly it is ? I found only ss1 resisted your fear xxx but seems crazy if i have to put all extra lines manually for every debuff 

 

2. 

I want have information on screen about war kills /dead from war 

Like clan member (name ) killed war 

And your clan mate (name of clan mate )died from war 

Is there something like that ?

I have to use with h5 systemmsg 

Posted
19 hours ago, Kuteako said:

Hi.

 

I'm trying to change systemmsg to show me landed and resisted debufs /buffs but can't find the line of it someone can tell me whiche exactly it is ? I found only ss1 resisted your fear xxx but seems crazy if i have to put all extra lines manually for every debuff 

 

2. 

I want have information on screen about war kills /dead from war 

Like clan member (name ) killed war 

And your clan mate (name of clan mate )died from war 

Is there something like that ?

I have to use with h5 systemmsg 

Sadly, yes, you do have to add each line separately. Been experimenting with that. You'll need to do some server sided work if you want different colors for each thing, unless you wanna get into editing your interface, which might be a bit difficult if you're not experienced.
here's an example of what i mean, and here are the lines we're using for that:

6528    1    a,$s1\n$s2\0    0    FF    C9    6F    FF    a,    a,    0    0    0    0    0    a,    a,none\0
6529    1    a,$s1\n$s2\n$s3\0    0    FF    C9    6F    FF    a,    a,    0    0    0    0    0    a,    a,none\0
6530    1    a,$s1\n$s2\n$s3\n$s4\0    0    FF    C9    6F    FF    a,    a,    0    0    0    0    0    a,    a,none\0
6531    1    a,$s1\n$s2\n$s3\n$s4\n$s5\0    0    FF    C9    6F    FF    a,    a,    0    0    0    0    0    a,    a,none\0

unknown.png

Posted
3 hours ago, 911reg said:

Sadly, yes, you do have to add each line separately. Been experimenting with that. You'll need to do some server sided work if you want different colors for each thing, unless you wanna get into editing your interface, which might be a bit difficult if you're not experienced.
here's an example of what i mean, and here are the lines we're using for that:

6528    1    a,$s1\n$s2\0    0    FF    C9    6F    FF    a,    a,    0    0    0    0    0    a,    a,none\0
6529    1    a,$s1\n$s2\n$s3\0    0    FF    C9    6F    FF    a,    a,    0    0    0    0    0    a,    a,none\0
6530    1    a,$s1\n$s2\n$s3\n$s4\0    0    FF    C9    6F    FF    a,    a,    0    0    0    0    0    a,    a,none\0
6531    1    a,$s1\n$s2\n$s3\n$s4\n$s5\0    0    FF    C9    6F    FF    a,    a,    0    0    0    0    0    a,    a,none\0

unknown.png

Och so that's would be too hard and too much to do , i didn't see any information in file about "enemy"resisted your debuff etc ,

+ If i have to put every buff and debuff separately it would get months 😄

Maybe can I copy the prepared lanes from another systemmsg (for classic client ) would it work or i had to change way more than only lanes in that one file?

Ok thanks !

Posted
1 minute ago, Kuteako said:

Och so that's would be too hard and too much to do , i didn't see any information in file about "enemy"resisted your debuff etc ,

+ If i have to put every buff and debuff separately it would get months 😄

Maybe can I copy the prepared lanes from another systemmsg (for classic client ) would it work or i had to change way more than only lanes in that one file?

Ok thanks !

As far as I know you'd have to do some server sided work either way. So it's not something you can do if you don't have access to the source of your server. Unless, again, you do some kind of workaround on your interface, which is not worth it imo.

Posted

Okey... Thanks a lot man ! 

I will leave it with these info which i changed already is enough . I will wait than till my server will get classic client there should be more informations (and i have already systemmsg for that client )

  • Upvote 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • what pack you use  send me on discord for it
    • package custom.events.RandomZoneEvent; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.ScheduledFuture; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.time.SchedulingPattern; import org.l2jmobius.commons.time.TimeUtil; import org.l2jmobius.commons.util.IXmlReader; import org.l2jmobius.gameserver.managers.ZoneManager; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.quest.Event; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.model.zone.type.RandomZone; import org.l2jmobius.gameserver.util.Broadcast; /** * Random Zone Event - Activates one random PvP zone temporarily. No modifica la clase de la zona: usa flags PvP en runtime. * @author Juan */ public class RandomZoneEvent extends Event { private static final String CONFIG_FILE = "data/scripts/custom/events/RandomZoneEvent/config.xml"; private static int EVENT_DURATION_MINUTES = 15; private static boolean _isActive = false; private ScheduledFuture<?> _eventTask = null; private final List<ZoneType> _availableZones = new ArrayList<>(); private ZoneType _activeZone = null; public RandomZoneEvent() { loadConfig(); loadZones(); registerZoneListeners(); } /** * Registra listeners a TODAS LAS ZONAS random */ private void registerZoneListeners() { for (ZoneType zone : _availableZones) { addEnterZoneId(zone.getId()); addExitZoneId(zone.getId()); LOGGER.info("[RandomZoneEvent] Registered listener for zone: " + zone.getName()); } } private void loadConfig() { new IXmlReader() { @Override public void load() { parseDatapackFile(CONFIG_FILE); } @Override public void parseDocument(Document doc, File file) { forEach(doc, "event", eventNode -> { final StatSet att = new StatSet(parseAttributes(eventNode)); final String name = att.getString("name"); for (Node node = eventNode.getFirstChild(); node != null; node = node.getNextSibling()) { if ("schedule".equals(node.getNodeName())) { final StatSet attributes = new StatSet(parseAttributes(node)); final String pattern = attributes.getString("pattern"); final SchedulingPattern schedulingPattern = new SchedulingPattern(pattern); final StatSet params = new StatSet(); params.set("Name", name); params.set("SchedulingPattern", pattern); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer("Schedule_" + name, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Event " + name + " scheduled at " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } }); } }.load(); } private void loadZones() { for (ZoneType zone : ZoneManager.getInstance().getAllZones(RandomZone.class)) { if ((zone.getName() != null) && zone.getName().toLowerCase().startsWith("random_zone")) { _availableZones.add(zone); LOGGER.info("[RandomZoneEvent] Loaded zone: " + zone.getName() + " (id=" + zone.getId() + ")"); } } LOGGER.info("[RandomZoneEvent] Total random zones loaded: " + _availableZones.size()); } @Override public void onTimerEvent(String event, StatSet params, Npc npc, Player player) { if (event.startsWith("Schedule_")) { eventStart(null); final SchedulingPattern schedulingPattern = new SchedulingPattern(params.getString("SchedulingPattern")); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer(event, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Rescheduled for " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } @Override public boolean eventStart(Player eventMaker) { if (_isActive) { if (eventMaker != null) { eventMaker.sendMessage("RandomZoneEvent already active."); } return false; } if (_availableZones.isEmpty()) { Broadcast.toAllOnlinePlayers("[RandomZoneEvent] No zones configured."); return false; } _isActive = true; Broadcast.toAllOnlinePlayers("⚔️ Random Zone Event has started!"); _eventTask = ThreadPool.schedule(this::activateRandomZone, 5_000); return true; } private void activateRandomZone() { _activeZone = _availableZones.get(new Random().nextInt(_availableZones.size())); _activeZone.setEnabled(true); Broadcast.toAllOnlinePlayers("🔥 Random Zone Event: " + _activeZone.getName() + " is now PvP for " + EVENT_DURATION_MINUTES + " minutes!"); _eventTask = ThreadPool.schedule(this::eventStop, EVENT_DURATION_MINUTES * 60 * 1000L); } @Override public boolean eventStop() { if (!_isActive) { return false; } _isActive = false; if (_eventTask != null) { _eventTask.cancel(true); _eventTask = null; } if (_activeZone != null) { _activeZone.setEnabled(false); Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended. " + _activeZone.getName() + " is back to normal."); _activeZone = null; } else { Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended."); } return true; } @Override public void onEnterZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, true); if (creature.isPlayer()) { creature.sendMessage("Esta zona está en modo PvP temporalmente."); } } } @Override public void onExitZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, false); if (creature.isPlayer()) { creature.sendMessage("Abandonaste la zona PvP temporal."); } } } @Override public boolean eventBypass(Player player, String bypass) { return true; } @Override public String onEvent(String event, Npc npc, Player player) { return super.onEvent(event, npc, player); } @Override public String onFirstTalk(Npc npc, Player player) { return null; } public static void main(String[] args) { new RandomZoneEvent(); } } i have this but its not working
    • ZonePvPSpawnBossRadio=0 ZonePvPSpawnBossBarakiel=0 at the Customs.ini in L2Server folder. Im prety sure this is it because i had the same problem with you in cruma 1 floor for example and i couldn't fix it but i fixed it finally by changing these 2 lines
    • Siege Reward Start PM Msg Rework Config root BossDieAnnounce and BossDieSound in the L24Team.properties and Config.java files for global raid boss death notifications and sounds. Adds a new reward_list table to the DB.sql file to track castle rewards. Improves character creation logic for thread safety and validation. Adds extensive state checks to the RequestEnchantItem method to prevent enchantments during inappropriate player states. Fixed auto-attack animation bug (there was no attack animation, only damage animation) Clean Code Other fixes I forgot to list! Java 14 Fixed issue where deleting a character would prevent it from leaving the screen or being removed, or even after a delete CD (it would only exit when re-logging in or creating a new character). Added Premium System from the other C2 project (Needs testing and improvement). Added the "Improved" Community Board (incomplete).
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock