Jump to content

kostantinosftw

Members
  • Posts

    325
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by kostantinosftw

  1. I didn't change anything related to DEX / Speed / Zones.

    I have no idea where that happened.

    aCis, latest revision.

     

    Here are the lines:

     

    1) net.sf.l2j.gameserver.model.actor.stat.CharStat.getRunSpeed(CharStat.java:427)

    	/**
    	 * @return the RunSpeed (base+modifier) of the L2Character in function of the Armour Expertise Penalty.
    	 */
    	public int getRunSpeed()
    	{
    		return (int) calcStat(Stats.RUN_SPEED, _activeChar.getTemplate().getBaseRunSpd(), null, null);
    	}
    

    2) net.sf.l2j.gameserver.model.zone.L2ZoneType.revalidateInZone(L2ZoneType.java:141)

    		// If the character can't be affected by this zone return
    		if (!isAffected(character))
    			return;			
    
    

    3) net.sf.l2j.gameserver.model.actor.L2Character.getDEX(L2Character.java:5360)

    	public int getDEX()
    	{
    		return getStat().getDEX();
    	}
    
    	/**
    	 * @return the DEX of the L2Character (base+modifier).
    	 */
    	public final int getDEX()
    	{
    		return (int) calcStat(Stats.STAT_DEX, _activeChar.getTemplate().getBaseDEX(), null, null);
    	}
    

    4) net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3514)

    	public void moveToLocation(int x, int y, int z, int offset)
    	{
    		// get movement speed of character
    		float speed = getStat().getMoveSpeed(); // line 3514
    		if (speed <= 0 || isMovementDisabled())
    			return;
    		
    
    	public int getMoveSpeed()
    	{
    		if (_activeChar == null)
    			return 1;
    		
    		if (_activeChar.isRunning())
    			return getRunSpeed();
    		
    		return getWalkSpeed();
    	}
    
    

    5)net.sf.l2j.gameserver.model.L2WorldRegion.revalidateZones(L2WorldRegion.java:84)

    		for (L2ZoneType z : getZones())
    		{
    			if (z != null)
    				z.revalidateInZone(character); //line 84
    		}
    
    	public void revalidateInZone(L2Character character)
    	{
    		// If the character can't be affected by this zone return
    		if (!isAffected(character))
    			return;			
    		
    		// If the object is inside the zone...
    		if (isInsideZone(character.getX(), character.getY(), character.getZ()))
    		{
    			// Was the character not yet inside this zone?
    			if (!_characterList.contains(character))
    			{
    				List<Quest> quests = getQuestByEvent(QuestEventType.ON_ENTER_ZONE);
    				if (quests != null)
    				{
    					for (Quest quest : quests)
    						quest.notifyEnterZone(character, this);
    				}
    				_characterList.add(character);
    				onEnter(character);
    			}
    		}
    		else
    		{
    			// Was the character inside this zone?
    			if (_characterList.contains(character))
    			{
    				List<Quest> quests = getQuestByEvent(QuestEventType.ON_EXIT_ZONE);
    				if (quests != null)
    				{
    					for (Quest quest : quests)
    						quest.notifyExitZone(character, this);
    				}
    				_characterList.remove(character);
    				onExit(character);
    			}
    		}
    	}
    
  2. These are some examples: (Project: Acis (latest))

    Exception in thread "AISTPool-1" java.lang.StackOverflowError
    	at net.sf.l2j.gameserver.model.L2WorldRegion.revalidateZones(L2WorldRegion.java:84)
    	at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.revalidateZone(L2PcInstance.java:1406)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:623)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:353)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:276)
    	at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3577)
    	at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2803)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:510)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:467)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:861)
    	at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235)
    	at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:638)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:353)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:276)
    	at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3577)
    	at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2803)
    -------------------------------------AFTER 1001 ROWS OF THIS LOOP---------------------------------------------
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:510)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:467)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:861)
    	at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235)
    	at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:638)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:353)
    
    null
    
    
    Exception in thread "AISTPool-3" java.lang.StackOverflowError
    	at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3514)
    	at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2803)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:510)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:467)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:861)
    	at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235)
    	at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:638)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:353)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:276)
    	at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3577)
    	at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2803)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:510)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:467)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:861)
    	at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235)
    	at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:638)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:353)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:276)
    	at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3577)
    	at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2803)
    ------------------------------AFTER 993 ROWS OF THIS LOOP-----------------------------------
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:510)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:467)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:861)
    	at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235)
    	at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:638)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:353)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:276)
    	at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3577)
    	at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2803)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:510)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:467)
    

    Also this loop start from:

    Exception in thread "AISTPool-9" java.lang.StackOverflowError
    	at net.sf.l2j.gameserver.model.actor.stat.CharStat.getRunSpeed(CharStat.java:427)
    	at net.sf.l2j.gameserver.model.actor.stat.PlayableStat.getRunSpeed(PlayableStat.java:168)
    	at net.sf.l2j.gameserver.model.actor.stat.PcStat.getRunSpeed(PcStat.java:333)
    	at net.sf.l2j.gameserver.model.actor.stat.CharStat.getMoveSpeed(CharStat.java:543)
    	at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3514)
    	at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2803)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:510)
    
    Exception in thread "AISTPool-7" java.lang.StackOverflowError
    	at net.sf.l2j.gameserver.model.zone.L2ZoneType.revalidateInZone(L2ZoneType.java:141)
    	at net.sf.l2j.gameserver.model.L2WorldRegion.revalidateZones(L2WorldRegion.java:84)
    	at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.revalidateZone(L2PcInstance.java:1406)
    	at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:623)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:353)
    	at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:276)
    	at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3577)
    	at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2803)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:510)
    
    
    Exception in thread "AISTPool-6" java.lang.StackOverflowError
    	at net.sf.l2j.gameserver.model.actor.L2Character.getDEX(L2Character.java:5360)
    	at net.sf.l2j.gameserver.skills.funcs.FuncMoveSpeed.calc(FuncMoveSpeed.java:39)
    	at net.sf.l2j.gameserver.skills.Calculator.calc(Calculator.java:135)
    	at net.sf.l2j.gameserver.model.actor.stat.CharStat.calcStat(CharStat.java:74)
    	at net.sf.l2j.gameserver.model.actor.stat.CharStat.getRunSpeed(CharStat.java:427)
    	at net.sf.l2j.gameserver.model.actor.stat.PlayableStat.getRunSpeed(PlayableStat.java:168)
    	at net.sf.l2j.gameserver.model.actor.stat.PcStat.getRunSpeed(PcStat.java:333)
    	at net.sf.l2j.gameserver.model.actor.stat.CharStat.getMoveSpeed(CharStat.java:543)
    	at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3514)
    	at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2803)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:510)
    	at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:467)
    
  3. Yep Clay I checked it "The only way to resolve this, is by checking all the calls of this method" Xerus problem is related to movement.
     

    Starts at :
     at com.l2jesios.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:934)
    

    and loops here for ever..

    
     at com.l2jesios.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:582)
     at com.l2jesios.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:538)
     at com.l2jesios.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:948)
    

    He probably fixed with movement rework. That's what I'm interesting about.

  4. 1) Unique system to prevent PvP - AION like (many thanks to anarchy) - > http://l2valkyria.eu/index.php?page=server-features

    2) Olympiad feed -> You are not able to fight against a player with your IP 

    3) Vote system - > You might saw it as elfocrashs' personal vote reward for hopzone/topzone. It's also like elfocrashs, (we don't use gargoylesoftware). The reason why you'll enjoy voting is due to the rewards. :P

     

    *About Olympiad, the classed Olympiad games are NOT going to launched before 200 players.

  5. Events, Valkyria have 2 events.

    • Team vs Team
    • Personal Vote reward

    Economy, Valkyrias use a custom model of economy (Bronze/Silver/Gold coins). Also we have custom quests for Silver coins, Secret Book of Giants, Lifestones. etc 

     

    Mods, Valkyria actually have many mods. 

     

    1) Enchants

    • Normal enchant scroll for weapon max enchant: +10
    • Blessed enchant scroll for weapon max enchant: +14
    • Crystal enchant scroll for weapon max enchant: +16
    • Normal enchant scroll for armor/jewelries max enchant: +6
    • Blessed enchant scroll for armor/jewelries max enchant: +8
    • Crystal enchant scroll for armor/jewelries max enchant: +12

    When normal enchant scroll fails the items breaks

    When blessed enchant scroll fails the items' enchants reset(0)

    When crystal enchant scroll fails the items' enchants  do not reset!

     

    All rates for every enchantment are pre-config ( NO - rate*1^0.98)

     

    2) Raid Bosses

     

    Reputation points replaces with a custom item "raid token" with it you can buy 1:1 crystal scrolls (the only way)

    Also the client support is updated (map->world info-> raids)

     

    3) Custom NPC Buffer

    • Normal NPC buffer (1hour)
    • Enchanted NPC buffer (1hour) + More buffs. The complete list can be found on our website.
    • AIO buffer (7hours)

    A player can get access once he is inside his clan-hall / castle

     

    4) Auction system (bid) is replaced with Valkyria Coins(gold coins)

     

    5) Custom pvp reward. ( 1 PvP badge each pvp)  with it you can buy custom skills(passives, around 80 skills). More informations IG.

     

    6) 3rd and 6th PVP in row announcement

     

    7) Custom castle reward

     

    8) Peace zones and restricted areas (by level)

     

    9)  Olympiad with commands (/join , /leave)

     

    ..... and more...

     

    If you have any suggestion/question please feel free to ask! :)

  6. Another idea is to do a new rank pvp system.

     

    9 ranks updated according to your PvP points

    According to players rank his info (old vagabond, vassal) to Change into rank 9 to rank 1 . Those rank will give players the ability to open shops(to buy items from npc) also his name color will change. Players with different ranks would be like. If rank 1 kills rank9 no pvp point will be added. If rank 9 kills rank 1 he will receive more than 1 pvp

  7. I can do the first and the third one (crappy). I can also do the method or w/e is called but I don't know how it should be. Should be a new packet like pvpprotection? Should be a method inside pcinstance?

     

    Following a far route on ground will have delays between clicks, but if the player is on a wyvern there is no point of geo, path. plus you may won't really notice it. (at least I)

  8. May I ask for something else?  Looks like quite easy.

     

    Player speaks with a NPC(presses a command), player controls are disabled and automatic follow a route. When the route ends player gain back access.

    <route id="1" X="111160" Y="219672" Z="-3672" />
    <route id="2" X="111240" Y="219160" Z="-3544" />
    <route id="3" X="112664" Y="219048" Z="-3536" />
    <route id="4" X="112776" Y="217784" Z="-3736" />
    <route id="5" X="114504" Y="217896" Z="-3624" />
    <route id="6" X="115640" Y="219272" Z="-3656" />
    <route id="7" X="119048" Y="219272" Z="-3560" />
    <route id="8" X="120104" Y="217608" Z="-3520" />
    <route id="9" X="121896" Y="218456" Z="-3512" />
    <route id="10" X="122456" Y="219384" Z="-3400" />
    <route id="11" X="122680" Y="220456" Z="-3160" />
    <route id="12" X="121992" Y="221768" Z="-2992" />
    <route id="13" X="121144" Y="224104" Z="-3144" />
    <route id="14" X="122184" Y="226696" Z="-3192" />
    <route id="15" X="122488" Y="228424" Z="-2936" />
    <route id="16" X="124248" Y="230072" Z="-2568" />
    <route id="17" X="124408" Y="231480" Z="-2112" />
    <route id="18" X="124424" Y="232568" Z="-1856" />
    <route id="19" X="124424" Y="234904" Z="-1736" />
    <route id="20" X="124408" Y="237288" Z="-1864" />
    <route id="21" X="123768" Y="237592" Z="-1912" />
    <route id="22" X="119496" Y="238152" Z="-2296" />
    <route id="23" X="118552" Y="238664" Z="-1984" />
    <route id="24" X="118008" Y="239688" Z="-1808" />
    <route id="25" X="117576" Y="241496" Z="-1448" />
    <route id="26" X="116216" Y="243768" Z="-1096" />
    
    edit: I know it requires a change on the npcinstance to add the following command, and if it's pressed it will trigger a method, where should it be stores? script like ships?
  9. Another one, every Sunday a ship passes from from a wellknown location, players get on the ship and the ship goes to a custom location, there is a castle like area where you fight against mini bosses, raid bosses and grand raid bosses. When the epic grand raid boss gets killed the "siege" ends, players are ported back and rewarded(clan reward) or the reward can be a passive boosted skill reward (according on egrb killer) on race(human elf etc). Drops of the rbs can be clones of s armors with Class SAs(ranger,assasin,dualist,archmage etc) or custom scrolls where you can add special pvp effect on your armor! Another one can be mini boss with a key as drop. Then the player can open a specific chest somewhere hidden in the map. Reward may be enchant scrolls or a custom item.(chest should change locations every day). Heh I have many ideas...

  10. I'm actually interested on feedback-suggestions. You may see my posts are made (24/1 30/1 31/1 and 2/2) in reasonable times and are NOT consider as spam. Anyway I didn't want to cause a problem so from now on I'll use the bump button! At least could you give me an advice or suggestion about my server/website? Thank you

×
×
  • Create New...