Thread: Eventmanager error

Results 1 to 2 of 2
  1. #1 Eventmanager error 
    Banned

    Join Date
    Jun 2008
    Age
    27
    Posts
    2,312
    Thanks given
    485
    Thanks received
    231
    Rep Power
    0
    Crap, i spent ages working on this, changing the places, etc...


    all get this error:

    Code:
    Exception in thread "Thread-0" java.util.ConcurrentModificationException
            at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
            at java.util.AbstractList$Itr.next(Unknown Source)
            at EventManager.run(EventManager.java:77)
            at java.lang.Thread.run(Unknown Source)


    In server.java:
    Code:
    	public static void vestaSpecHit(int ID) {
    		client = ID;
    		EventManager.getSingleton().addEvent(new Event() {
    			public void execute(EventContainer c) {	
    				client X = (client) server.playerHandler.players[client];
    				client AttackingOn2 = (client) server.playerHandler.players[X.AttackingOn];
    				if (AttackingOn2.currentHealth > 1) {
    					X.VestaSpecHit();
    				}
    				c.stop(); // stops the event from running
    			}
    		}, 5000);
    	};
    in client.java:


    Code:
                EventManager.getSingleton().addEvent(
                        new Event() {
                            public void execute(EventContainer C) {
    					client AttackingOn2 = (client) server.playerHandler.players[AttackingOn];
    					if (AttackingOn2.currentHealth > 1) {
    						VestaSpecHit();
    					}
                                C.stop(); // stops the event from running
                            }
                        }, 2000);
    What i want to do is forsee a hit then go to this void:

    Code:
    	public void VestaSpecHit() {
    		client AttackingOn2 = (client) server.playerHandler.players[AttackingOn];
    		int clawed = misc.random(playerMaxHit + (misc.random(15)));
    		if(AttackingOn2 != null) {
    			if(AttackingOn2.currentHealth <= 0) {
    				return;
    			} else {
    				PlayerHandler.players[AttackingOn].hitUpdateRequired = true;
    				PlayerHandler.players[AttackingOn].updateRequired = true;
    				PlayerHandler.players[AttackingOn].appearanceUpdateRequired = true;
    				if(misc.random(3) != 1) {
    					PlayerHandler.players[AttackingOn].dealDamage(clawed);
    					PlayerHandler.players[AttackingOn].hitDiff = clawed;
    					AttackingOn2.specGFX(4);
    				} else {
    					PlayerHandler.players[AttackingOn].dealDamage(misc.random(15));
    					PlayerHandler.players[AttackingOn].hitDiff = 0;
    					AttackingOn2.specGFX(6);
    				}
    				PlayerHandler.players[AttackingOn].killers[playerId] += hitDiff;
    				PlayerHandler.players[AttackingOn].KilledBy[playerId] += hitDiff;
    			}
    		}
    	}
    Reply With Quote  
     

  2. #2  
    Registered Member
    Its paris's Avatar
    Join Date
    Apr 2009
    Posts
    1,141
    Thanks given
    56
    Thanks received
    234
    Rep Power
    689
    I got 1 of this kind of error too. It'd help to know what's causing it.
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •