Thread: Fighting Manager Errors

Results 1 to 7 of 7
  1. #1 Fighting Manager Errors 
    Registered Member
    Enjoi's Avatar
    Join Date
    Sep 2008
    Posts
    2,454
    Thanks given
    565
    Thanks received
    281
    Rep Power
    1325
    Code:
    Building Morytania - please wait...
    ---------------------------------------
    src\net\runefusion\player\FightingManager.java:83: ';' expected
            public boolean npcDid   public void attack(int id) {
                                 ^
    src\net\runefusion\player\FightingManager.java:121: invalid method declaration;
    return type required
            }Defend(NPC npc, NPCList list) {
             ^
    src\net\runefusion\player\FightingManager.java:207: illegal start of type
                    if(variables.get("isFightingPlayer") == Boolean.TRUE); {
                    ^
    src\net\runefusion\player\FightingManager.java:207: <identifier> expected
                    if(variables.get("isFightingPlayer") == Boolean.TRUE); {
                                    ^
    src\net\runefusion\player\FightingManager.java:207: ';' expected
                    if(variables.get("isFightingPlayer") == Boolean.TRUE); {
                                     ^
    src\net\runefusion\player\FightingManager.java:207: illegal start of type
                    if(variables.get("isFightingPlayer") == Boolean.TRUE); {
                                                       ^
    src\net\runefusion\player\FightingManager.java:207: <identifier> expected
                    if(variables.get("isFightingPlayer") == Boolean.TRUE); {
                                                        ^
    src\net\runefusion\player\FightingManager.java:207: ';' expected
                    if(variables.get("isFightingPlayer") == Boolean.TRUE); {
                                                           ^
    src\net\runefusion\player\FightingManager.java:207: illegal start of type
                    if(variables.get("isFightingPlayer") == Boolean.TRUE); {
                                                                   ^
    src\net\runefusion\player\FightingManager.java:207: ';' expected
                    if(variables.get("isFightingPlayer") == Boolean.TRUE); {
                                                                        ^
    10 errors
    ---------------------------------------
    Build complete.
    Press any key to continue . . .

    My FightingManager.java looks like this:

    Code:
    package net.runefusion.player;
    
    import java.util.Hashtable;
    import java.util.Map;
    
    import net.runefusion.event.Event;
    import net.runefusion.event.EventContainer;
    import net.runefusion.event.TerminatingEvent;
    import net.runefusion.npc.NPC;
    import net.runefusion.npc.NPCList;
    import net.runefusion.server.Server;
    
    /**
     * Manages everything to do with fighting.
     * @author Graham
     *
     */
    public class FightingManager {
    	
    	private Map<String,Object> variables = new Hashtable<String,Object>();
    	private Player player;
    	
    	/**
    	 * Time between hits.
    	 */
    	private static final int TIMING = 2000;
    	
    	/**
    	 * Used to randomize timing a little.
    	 */
    	private static final int TIMING_FACTOR = 1000;
    	
    	/**
    	 * Combat experience rate.
    	 */
    	public static final int COMBAT_EXP_RATE	= 5;
    	
    	public FightingManager(Player player) {
    		this.player = player;
    	}
    	
    	public void attackNPC(int id) {
    		if(!(id > 0 && id < Server.npcHandler.npcs.size())) return;
    		if(Server.npcHandler.getNPCFromID(id) == null) return;
    		if(Server.npcHandler.getNPCFromID(id).hp == 0) {
    			player.sendMessage("You can't attack that!");
    			return;
    		}
    		NPC npc = Server.npcHandler.getNPCFromID(id);
    		if(!player.withinInteractionDistance(npc)) {
    			player.sendMessage("You are too far away to attack!");
    			return;
    		}
    		if(player.isBusy() == false) {
    			player.setBusy(true);
    		} else {
    			player.sendMessage("You are already under attack.");
    			return;
    		}
    		variables.put("isFighting", Boolean.TRUE);
    		variables.put("isFightingNPC", Boolean.TRUE);
    		variables.put("npcID", id);
    		variables.put("isMyTurn", Boolean.TRUE);
    		if(npc.attacking == null) {
    			npc.attacking = player;
    			npc.turnTo(player.playerId);
    		}
    		npc.attackers.add(player);
    		Server.eventManager.addEvent(new TerminatingEvent() {
    			public void run(EventContainer c) {
    				if(!attackTick()) {
    					c.disable();
    				} else {
    					c.setDelay((int) (TIMING+Math.random()*TIMING_FACTOR));
    				}
    			}
    			public void terminate(EventContainer c) {
    				reset();
    			}
    		}, TIMING);
    	}
    	
    	public boolean npcDid	public void attack(int id) {
    		if(!(id > 0 && id < PlayerHandler.playerTable.size() + 1)) return;
    		if(PlayerHandler.getPlayerFromID(id) == null) return;
    		if(PlayerHandler.playerTable.get(id).playerLevel[PlayerConstants.SKILL_HITPOINTS] == 0) {
    			player.sendMessage("They have 0 hp already");
    			return;
    		}
    		Entity plr = PlayerHandler.getPlayerFromID(id);
    		if(!player.withinPlayerInteractionDistance(plr)) {
    			player.sendMessage("That player is too far away to attack");
    			return;
    		}
    		if(player.nonWild() || plr.nonWild()) {
    			player.sendMessage("Both players need to be in the wilderness to attack.");
    			return;
    		}
    		if(player.isBusy() == false) {
    			player.setBusy(true);
    		} else {
    			player.sendMessage("You are already under attack.");
    			return;
    		}
    		variables.put("isFighting", Boolean.TRUE);
    		variables.put("isFightingPlayer", Boolean.TRUE);
    		variables.put("playerID", id);
    		variables.put("isMyTurn", Boolean.TRUE);
    		Server.eventManager.addEvent(new TerminatingEvent() {
    			public void run(EventContainer c) {
    				if(!attackTick()) {
    					c.disable();
    				} else {
    					c.setDelay((int) (TIMING+Math.random()*TIMING_FACTOR));
    				}
    			}
    			public void terminate(EventContainer c) {
    				reset();
    			}
    		}, TIMING);
    	}Defend(NPC npc, NPCList list) {
    		if(list.npcCombat > player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    			if(Server.random.nextInt(list.npcCombat) > player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    				return false;
    			}
    		} else if(list.npcCombat == player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    			return Server.random.nextBoolean();
    		} else {
    			int levelDiff = list.npcCombat - player.playerLevel[PlayerConstants.SKILL_ATTACK];
    			if(Server.random.nextInt(100) < levelDiff) return false;
    		}
    		return true;
    	}
    	
    	public boolean playerDidDefend(NPC npc, NPCList list) {
    		if(list.npcCombat > player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    			if(Server.random.nextInt(list.npcCombat) > player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    				return true;
    			}
    		} else if(list.npcCombat == player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    			return Server.random.nextBoolean();
    		} else {
    			int levelDiff = list.npcCombat - player.playerLevel[PlayerConstants.SKILL_ATTACK];
    			if(Server.random.nextInt(100) < levelDiff) return true;
    		}
    		return false;
    	}
    	public void attack(int id) {
    		if(!(id > 0 && id < PlayerHandler.playerTable.size() + 1)) return;
    		if(PlayerHandler.getPlayerFromID(id) == null) return;
    		if(PlayerHandler.playerTable.get(id).playerLevel[PlayerConstants.SKILL_HITPOINTS] == 0) {
    			player.sendMessage("They have 0 hp already");
    			return;
    		}
    		Entity plr = PlayerHandler.getPlayerFromID(id);
    		if(!player.withinPlayerInteractionDistance(plr)) {
    			player.sendMessage("That player is too far away to attack");
    			return;
    		}
    		if(player.nonWild() || plr.nonWild()) {
    			player.sendMessage("Both players need to be in the wilderness to attack.");
    			return;
    		}
    		if(player.isBusy() == false) {
    			player.setBusy(true);
    		} else {
    			player.sendMessage("You are already under attack.");
    			return;
    		}
    		variables.put("isFighting", Boolean.TRUE);
    		variables.put("isFightingPlayer", Boolean.TRUE);
    		variables.put("playerID", id);
    		variables.put("isMyTurn", Boolean.TRUE);
    		Server.eventManager.addEvent(new TerminatingEvent() {
    			public void run(EventContainer c) {
    				if(!attackTick()) {
    					c.disable();
    				} else {
    					c.setDelay((int) (TIMING+Math.random()*TIMING_FACTOR));
    				}
    			}
    			public void terminate(EventContainer c) {
    				reset();
    			}
    		}, TIMING);
    	}
    	
    	public void dead() {
    		reset();
    		player.pEmote = 0x900;
    		player.updateRequired = true;
    		player.appearanceUpdateRequired = true;
    		player.sendMessage("Oh dear, you are dead!");
    		Server.eventManager.addEvent(new Event() {
    			public void run(EventContainer c) {
    				player.teleportToX = PlayerConstants.SPAWN_X;
    				player.teleportToY = PlayerConstants.SPAWN_Y;
    				player.resetAnimation();
    				player.playerLevel[PlayerConstants.SKILL_HITPOINTS] = player.getLevelForXP(player.playerXP[PlayerConstants.SKILL_HITPOINTS]);
    				player.setSkillLevel(PlayerConstants.SKILL_HITPOINTS, player.playerLevel[PlayerConstants.SKILL_HITPOINTS], player.playerXP[PlayerConstants.SKILL_HITPOINTS]);
    				player.updateRequired = true;
    				player.appearanceUpdateRequired = true;
    				c.disable();
    			}
    		}, 2000);
    	}
    		if(variables.get("isFightingPlayer") == Boolean.TRUE); {
    			player.animationRequest = -1;
    			player.resetAnimation();
    			player.updateRequired = true;
    		}
    		public boolean playerDidDefendPlayer(Entity plr) {
    		if(plr.cmbLevel > player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    			if(Server.random.nextInt(plr.cmbLevel) > player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    				return true;
    			}
    		} else if(plr.cmbLevel == player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    			return Server.random.nextBoolean();
    		} else {
    			int levelDiff = plr.cmbLevel = player.playerLevel[PlayerConstants.SKILL_ATTACK];
    			if(Server.random.nextInt(100) < levelDiff) return true;
    		}
    		return false;
    	}
    	public boolean attackTick() {
    		if(player.isDead) {
    			return false;
    		}
    		if(variables.get("isFighting") == Boolean.TRUE && variables.get("isFightingNPC") == Boolean.TRUE) {
    			int id = (Integer) variables.get("npcID");
    			
    			if(!(id > 0 && id < Server.npcHandler.npcs.size())) return false;
    			if(Server.npcHandler.getNPCFromID(id) == null) return false;
    			if(Server.npcHandler.getNPCFromID(id).hp == 0) return false;
    			
    			NPC npc = Server.npcHandler.getNPCFromID(id);
    			
    			if(!player.withinInteractionDistance(npc)) {
    				player.sendMessage("You are too far away to attack!");
    				return false;
    			}
    			
    			NPCList list = Server.npcHandler.getNPCListFromID(npc.npcType);
    			
    			player.turnTo(npc.absX, npc.absY);
    			
    			if(variables.get("isMyTurn") == Boolean.TRUE) {
    				if(Math.random() > 0.2) {
    					variables.put("isMyTurn",Boolean.FALSE);
    				}
    				if (Animations.getAttackAnimation(player) > -1) {
    					player.playerSEA = Animations.getAttackAnimation(player);
    				}
    				player.animationRequest = player.playerSEA;
    				npc.animNumber = 404;
    				if(npcDidDefend(npc,list)) {
    					int hit = (int) (Math.random() * player.getMaximumHit()) + 1;
    					npc.hit(hit);
    					if(player.fightType != 3) {
    						double totalExp = (double)(4*hit);
    						totalExp = (double)(totalExp*COMBAT_EXP_RATE);
    						player.addSkillXP((int)(totalExp),player.fightSkillID);
    					} else {
    						double totalExp = (double)(1.33*hit);
    						totalExp = (double)(totalExp*COMBAT_EXP_RATE);
    						player.addSkillXP((int)(totalExp),PlayerConstants.SKILL_ATTACK);
    						player.addSkillXP((int)(totalExp),PlayerConstants.SKILL_DEFENCE);
    						player.addSkillXP((int)(totalExp),PlayerConstants.SKILL_STRENGTH);
    					}
    					player.addSkillXP((int)(hit*2*COMBAT_EXP_RATE),PlayerConstants.SKILL_HITPOINTS);
    				} else {
    					npc.hit(0);
    				}
    			} else {
    				if(Math.random() > 0.2) {
    					variables.put("isMyTurn",Boolean.TRUE);
    				}
    				if(npc.isDead) {
    					return false;
    				}
    				if(npc.attacking == player) {
    					player.animationRequest = Animations.getDefenseAnimation(player);
    					npc.animNumber = 422;//player.playerSEA;
    					if(playerDidDefend(npc,list)) {
    						player.hitDiff = (int) (Math.random() * npc.getMaximumHit()) + 1;
    						player.hitUpdateRequired = true;
    					} else {
    						player.hitDiff = 0;
    						player.hitUpdateRequired = true;
    					}
    				}
    			}
    			
    			player.updateRequired = true;
    			//player.appearanceUpdateRequired = true;
    			
    			npc.updateRequired = true;
    			npc.animUpdateRequired = true;
    			
    		} else if(variables.get("isFighting") == Boolean.TRUE && variables.get("isFightingPlayer") == Boolean.TRUE) {
    			
    		} else {
    			return false;
    		}
    		return true;
    	}
    	
    	public void process() {
    		if(player.isDead) {
    			dead();
    			player.isDead = false;
    		}
    	}
    		
    	public void reset() {
    		if(variables.get("isFighting") != null) {
    			player.setBusy(false);
    		}
    		if(variables.get("isFightingNPC") == Boolean.TRUE) {
    			player.animationRequest = -1;
    			player.resetAnimation();
    			player.updateRequired = true;
    			//player.appearanceUpdateRequired = true;
    			int id = (Integer) variables.get("npcID");
    			NPC npc = Server.npcHandler.getNPCFromID(id);
    			npc.attackers.remove(player);
    			npc.turnTo(0);
    			if(npc.attacking == player) {
    				npc.previousAttacking = npc.attacking;
    				if(npc.attackers.size() >= 1 && !npc.isDead) {
    					npc.attacking = npc.attackers.iterator().next();
    				} else {
    					npc.attacking = null;
    				}
    			}
    		}
    		// clear all fighting related variables
    		variables.clear();
    	}
    	
    	public void destruct() {
    		reset();
    	}
    
    }
    Reply With Quote  
     

  2. #2  
    Community Veteran


    Join Date
    Oct 2006
    Posts
    531
    Thanks given
    42
    Thanks received
    8
    Rep Power
    270
    Well... looks like you got yourself a classic case of "the errorz"
    You need to fix those up matey.
    Thanks
    -Richard
    Reply With Quote  
     

  3. #3  
    Registered Member
    Enjoi's Avatar
    Join Date
    Sep 2008
    Posts
    2,454
    Thanks given
    565
    Thanks received
    281
    Rep Power
    1325
    could you point out my errors? like show me what i did wrong and what it needs to look like
    Reply With Quote  
     

  4. #4  
    Banned

    Join Date
    Jul 2008
    Age
    26
    Posts
    5,826
    Thanks given
    1,301
    Thanks received
    197
    Rep Power
    0
    lol what the fuck is this supposed to be?
    Code:
    public boolean npcDid   public void attack(int id) {
    Reply With Quote  
     

  5. #5  
    Registered Member
    Enjoi's Avatar
    Join Date
    Sep 2008
    Posts
    2,454
    Thanks given
    565
    Thanks received
    281
    Rep Power
    1325
    public boolean npcDid public void attack(int id) {
    if(!(id > 0 && id < PlayerHandler.playerTable.size() + 1)) return;
    if(PlayerHandler.getPlayerFromID(id) == null) return;
    if(PlayerHandler.playerTable.get(id).playerLevel[PlayerConstants.SKILL_HITPOINTS] == 0) {
    player.sendMessage("They have 0 hp already");
    return;
    }

    i think theres something wrong there...
    Reply With Quote  
     

  6. #6  
    Community Veteran


    Join Date
    Oct 2006
    Posts
    531
    Thanks given
    42
    Thanks received
    8
    Rep Power
    270
    Well i think you pointed out your errors in the first post, you know what the errors are, you just need to know how to solve them.
    Ask correct questions you must, or the answer will remain unseen....
    Thanks
    -Richard
    Reply With Quote  
     

  7. #7  
    Registered Member
    Enjoi's Avatar
    Join Date
    Sep 2008
    Posts
    2,454
    Thanks given
    565
    Thanks received
    281
    Rep Power
    1325
    public boolean npcDidDefend(NPC npc, NPCList list) {
    if(list.npcCombat > player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    if(Server.random.nextInt(list.npcCombat) > player.playerLevel[PlayerConstants.SKILL_ATTACK]) {
    return false;
    }
    now i see one thing fixed
    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
  •