Jump to content

Recommended Posts

Posted

wich files/lines should modify to change character's movement style...?

f.e.

an FORC that holding his 2handed weapon as an FELF

i did some tests with  Chargrp.dat but nothing...

Posted

You will have to work with 3DsMax anch change the character animation style. But to do that you need Gildor's tool.

 

Take care

Posted

You will have to work with 3DsMax anch change the character animation style. But to do that you need Gildor's tool.

 

Take care

Actually i believe that there are some lines that connecting Animation files with with systextures...

thats system's job as far as i know to Set right those lines...

about gildor's tool i think that i would need it if i would like to create a new... animation n import it in l2...

but in my case i just Want to Replace it with another "already existed one"

 

 

Maybe iam wrong... but i will keep testing...

thnx anyways

Posted

You are wrong :]

 

1. Yes, you can change the animation type between original character aniamtions (read the 2nd point).

2. By now You can switch between ORIGINAL character animations (but only for his / her race and gender animations).

 

You want to make the FOrc handle type for 2-handed weapons like FElf. So how the hell you want move FOrc bones without re-creating her animation in 3DsMax and Gildor's tool ? oO

By modding the weapongrp.dat file lines for each weapon You can change the 2-handed handle type to different (ORIGINAL) existing animation. The problem is, that it will change the handle type for ALL races :]

 

So, if You want to change the FOrc hadle type for 2-h weapons, then You NEED to mod the animation in 3DsMax. If You believe there is any other way, keep on dreaming.

 

Take care

Posted

The problem is, that it will change the handle type for ALL races :]

By saying "that i will change the handle type of  all Races...."

u mean that i will make the Whole  FORC's moevement style like FELf's? and not just the way she Hold one weapon?

Cause if its like that... aint a problem for me...

"i just gave an example with FORC-FELF 2 handed weap"

 

 

So wich lines should i change in Weapongrp.dat?

Posted

Even you succeed modifing it by the system, when you log in the game your character will be stuck like a GM changed your sex, the client/system cant respond to that change normaly and you must restart in order to unstuck the animation.

 

So what I mean is if you dont work with 3dsMax that will be the result, the character will move like a skiactr.

 

Its impossible by just modifing the client you spend your time

Posted

By saying "that i will change the handle type of  all Races...."

u mean that i will make the Whole  FORC's moevement style like FELf's? and not just the way she Hold one weapon?

Cause if its like that... aint a problem for me...

"i just gave an example with FORC-FELF 2 handed weap"

God damn it...::)

You can change the handle type for a weapon (from 2handed > 1handed > bow etc). Do You get it ? YOU CANT CHANGE THE HANDLE TYPE FOR F.ORC OR ALL RACES FROM F.ELF !

You can make the F.Orc 2handed sword look like 1handed or even a bow or a pole, but the character will still gonna look like the animation for F.Orc but 1handed. You get it now ? AND...if You change the weaopn handle type then ALL RACES will handed the 2haded sword as 1handed BUT still as the standard animation for its race.

 

If you want to make the F.Orc 2handed animation looks like F.Elf 2handed animation, then start to work with 3DsMax and buy Gildero's tool.

 

THATS ALL !

Take care

Posted

why do you guys really wanna -beep-ed up lineage 2 animation, I just dont get it

Maybe because they think its easy, takes 5 min and will be freaking perfect ? :P

Posted

This is weird that you guyz dont know you can change animations through system (only within same race and gender ofcourse)

but without editing weapongrp...or did i understand wrong and you actually know..?

 

Anyway to change animations within the same race go to-->system--> lineagewarrior.int <-- open it with enc/dec and just modify anything you wish.

Its not that hard to figure out what to do, its mainly copy paste.

However keep in mind:

YOU CANT CHANGE ANIMATION BETWEEN RACES AND GENDERS (that does need 3dsMax and other staf yes, and it is TOO much work)

REMEMBER TO CHANGE ENCRYPT VALUE TO 111 FROM 414 if its not done automatically!

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