Jump to content

Recommended Posts

Posted

I would like to change a weapons grade and also the icon that appears in game please help me :D

Icon is from weapongrp.e-dat , about grade (visual) i dont know someone else must answer that

Posted

Icon is from weapongrp.e-dat , about grade (visual) i dont know someone else must answer that

thx,what exactly i need to change on weapongrp to put another icon?

Posted (edited)
 

thx,what exactly i need to change on weapongrp to put another icon?

you're supposed to change a text starting with "icon...." inside weapongrp

Edited by lord_rex
Posted

cool thanks, and what about the grade?anyone can help?

you have to change one number on weapongrp.dat file

check this

0	7575	1	1	15	2	0	LineageWeapons.draconic_bow_m00_wp			LineageWeaponsTex.draconic_bow_t00_wp			icon.weapon_draconic_bow_i00					-1	1650	47	1	0	14	5	1	LineageWeapons.draconic_bow_m00_wp		1	LineageWeaponsTex.draconic_bow_t00_wp			4	ItemSound.bow_small_2	ItemSound.bow_small_3	ItemSound.bow_small_6	ItemSound.bow_big_2	ItemSound.itemdrop_bow	ItemSound.itemequip_bow		5	581	132	6	5	12	-3	0	0	0	293	11	1	1	1000	1	-1	0	LineageEffect.c_u008		0.000000	-3.000000	0.000000	1.200000	1.200000						LineageWeapons.rangesample		1.600000	1.300000	1.300000	0.000000	0.000000	0.000000							8	-1	-1	-1	icon.weapon_draconic_bow_i01			

if you check after ItemSound.bow_small_2,etc you will see 5 numbers.

the 5th number is the grade for example

ItemSound.bow_small_2	ItemSound.bow_small_3	ItemSound.bow_small_6	ItemSound.bow_big_2	ItemSound.itemdrop_bow	ItemSound.itemequip_bow		5	581	132	6	5

just count 5 numbers and the 5th is the grade change 0= no grade,1= d grade,2= c grade,3= b grade,4= a grade,5= s grade

Posted

hoh, TXT form... how I hate it, it is really good that I'm using a decrypter/encrypter what converts to XML instead of TXT :D

Posted

cool i tried to do this but when i save the weapongrp i get en error on fileedit! "Cannon open file C:\ ........ " why?

because your file edit sux

Posted (edited)

ok done, thanks mate! another question...how can i put the icon on a weapon i want? lets say i want my new wep to have an icon i downloaded from google or created by myself! what i do?

Edited by TheLover
Posted

ok done, thanks mate! another question...how can i put the icon on a weapon i want? lets say i want my new wep to have an icon i downloaded from google or created by myself! what i do?

you have to make a 32x32 icon in PNG than import it via UED to an UTX than you will encrypt, than you have to keep in mind the name of package and put it to weapongrp

Posted

you have to make a 32x32 icon in PNG than import it via UED to an UTX than you will encrypt, than you have to keep in mind the name of package and put it to weapongrp

it can be done with another way more easy :P

 

you can download tga plugin for photoshop and create your icon,save it as icon.tga for example and then you have to make the utx with unreal engine editor and then you just encrypt it and you are done :) just go to weapongrp and change where says for example Icon.Weapon make it Yourtexture.Icon

Posted

5    581    132    6    5

 

always the 5th value after the sound

----------------------------------------------

icon.xxxxxx = texture.file name

 

icons have to be saved as tga and imported as dxt1 for it to work properly (dds should work as well)

----------------------------------------------

you can change grade icon (like what the A looks like) from symbol or something in system

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
  • 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