Thread: [Valius/Vencillio] Demonic gorillas will only aggro owner

Page 1 of 2 12 LastLast
Results 1 to 10 of 15
  1. #1 [Valius/Vencillio] Demonic gorillas will only aggro owner 
    TeraPS Founder

    OneTrueGodTet's Avatar
    Join Date
    Jan 2012
    Posts
    113
    Thanks given
    42
    Thanks received
    19
    Discord
    OneTrueGodTet#0068
    Rep Power
    146
    As the title says the Demonic gorillas will only aggro me with Rights 4 but will not aggro any other player.

    If the other player tries to click them to attack they simply just stare at each other and do nothing... No errors are thrown Server side or Client side.

    If you need any more details please feel free to ask as I wouldent know what to provide you with.
    Reply With Quote  
     

  2. #2  
    Registered Member
    arch337's Avatar
    Join Date
    Sep 2008
    Posts
    2,700
    Thanks given
    170
    Thanks received
    285
    Discord
    Arch337#1337
    Rep Power
    590
    Check your aggro codes and demonic code to see if there is a statement about being rights 4 or more.


    "A fail act is something you do regular, but a dumb act is something you can learn from"
    Spoiler for Problem?:
    Reply With Quote  
     

  3. #3  
    TeraPS Founder

    OneTrueGodTet's Avatar
    Join Date
    Jan 2012
    Posts
    113
    Thanks given
    42
    Thanks received
    19
    Discord
    OneTrueGodTet#0068
    Rep Power
    146
    Quote Originally Posted by arch337 View Post
    Check your aggro codes and demonic code to see if there is a statement about being rights 4 or more.
    Nope nothing of the sort in any of them
    Reply With Quote  
     

  4. #4  
    Registered Member
    arch337's Avatar
    Join Date
    Sep 2008
    Posts
    2,700
    Thanks given
    170
    Thanks received
    285
    Discord
    Arch337#1337
    Rep Power
    590
    Quote Originally Posted by LeonScape View Post
    Nope nothing of the sort in any of them
    Well there must be some code, otherwise it would not happend.
    Perhaps in the combat code?


    "A fail act is something you do regular, but a dumb act is something you can learn from"
    Spoiler for Problem?:
    Reply With Quote  
     

  5. #5  
    TeraPS Founder

    OneTrueGodTet's Avatar
    Join Date
    Jan 2012
    Posts
    113
    Thanks given
    42
    Thanks received
    19
    Discord
    OneTrueGodTet#0068
    Rep Power
    146
    I've looked through all of these around 3 times now xD if im missing something im blind



    Demonicgorilla.java
    Code:
    package com.mayhem.rs2.entity.mob.impl;
    
    import com.mayhem.core.definitions.NpcCombatDefinition.Magic;
    import com.mayhem.core.definitions.NpcCombatDefinition.Melee;
    import com.mayhem.core.util.Utility;
    import com.mayhem.rs2.content.combat.Combat.CombatTypes;
    import com.mayhem.rs2.content.skill.Skills;
    import com.mayhem.rs2.content.skill.prayer.PrayerBook.Prayer;
    import com.mayhem.rs2.entity.Location;
    import com.mayhem.rs2.entity.World;
    import com.mayhem.rs2.entity.mob.Mob;
    import com.mayhem.rs2.entity.player.Player;
    
    public class DemonicGorilla extends Mob {
    	
    	public DemonicGorilla() {
    		super(7152, false, new Location(2133, 5676));
    	}
    	
    	public int getRespawnTime() {
    		return 60;
    	}
    
    	@Override
    	public void updateCombatType() {
    		CombatTypes type = CombatTypes.MELEE;
    		if (getCombat().getAttacking() != null) {
    			if (!getCombat().getAttacking().isNpc()) {
    				Player player = (Player) getCombat().getAttacking();
    				if (!getCombat().withinDistanceForAttack(CombatTypes.MELEE, true)) {
    					if (player.getPrayer().active(Prayer.PROTECT_FROM_MAGIC)) {
    						if (player.getSkill().getLevels()[Skills.PRAYER] > 0) {
    							//World.sendProjectile(getG(), player, this);
    							int modifier = player.getSkill().getLevels()[Skills.PRAYER] - 20 > 0 ? 20 : player.getSkill().getLevels()[Skills.PRAYER];
    							player.getPrayer().drain(modifier);
    							type = CombatTypes.RANGED;
    							getCombat().setAttackTimer(6);
    						} else {
    							type = CombatTypes.MAGIC;
    						}
    					} else {
    						type = CombatTypes.MAGIC;
    					}
    				} else {
    					if (player.getPrayer().active(Prayer.PROTECT_FROM_MAGIC)) {
    						type = CombatTypes.MELEE;
    					} else if (player.getPrayer().active(Prayer.PROTECT_FROM_MELEE)) {
    						type = CombatTypes.MAGIC;
    					} else {
    						type = Utility.randomNumber(10) < 5 ? CombatTypes.MELEE : CombatTypes.MAGIC;
    					}
    				}
    			}
    
    			getCombat().setCombatType(type);
    			getCombat().setBlockAnimation(getCombatDefinition().getBlock());
    			switch (getCombat().getCombatType()) {
    			case MAGIC:
    				byte combatIndex = (byte) Utility.randomNumber(getCombatDefinition().getMagic().length);
    				Magic magic = getCombatDefinition().getMagic()[combatIndex];
    				getCombat().getMagic().setAttack(magic.getAttack(), magic.getAnimation(), magic.getStart(), magic.getEnd(), magic.getProjectile());
    				break;
    			case MELEE:
    				combatIndex = (byte) Utility.randomNumber(getCombatDefinition().getMelee().length);
    				Melee melee = getCombatDefinition().getMelee()[combatIndex];
    				getCombat().getMelee().setAttack(melee.getAttack(), melee.getAnimation());
    				break;
    			default:
    				break;
    
    			}
    		}
    	}
    
    }
    Combat.java
    Code:
    package com.mayhem.rs2.content.combat;
    
    import java.security.SecureRandom;
    
    import com.mayhem.core.util.Utility;
    import com.mayhem.rs2.GameConstants;
    import com.mayhem.rs2.content.combat.impl.DamageMap;
    import com.mayhem.rs2.content.combat.impl.Magic;
    import com.mayhem.rs2.content.combat.impl.Melee;
    import com.mayhem.rs2.content.combat.impl.Ranged;
    import com.mayhem.rs2.entity.Animation;
    import com.mayhem.rs2.entity.Entity;
    import com.mayhem.rs2.entity.Location;
    import com.mayhem.rs2.entity.World;
    import com.mayhem.rs2.entity.following.Following;
    import com.mayhem.rs2.entity.mob.Mob;
    import com.mayhem.rs2.entity.mob.MobConstants;
    import com.mayhem.rs2.entity.pathfinding.StraightPathFinder;
    
    public class Combat {
    
    	public static enum CombatTypes {
    		MELEE,
    		RANGED,
    		MAGIC,
    		NONE;
    	}
    
    	private static final SecureRandom random = new SecureRandom();
    
    	public static int next(int length) {
    		return random.nextInt(length) + 1;
    	}
    	
    	private final Entity entity;
    
    	private Entity attacking = null;
    	private Entity lastAttackedBy = null;
    	private Animation blockAnimation = null;
    	private final Melee melee;
    	private final Ranged ranged;
    
    	private final Magic magic;
    
    	private final DamageMap damageMap;
    	private CombatTypes combatType = CombatTypes.MELEE;
    
    	private long combatTimer = 0L;
    
    	private int attackTimer = 5;
    
    	public Combat(Entity entity) {
    		this.entity = entity;
    		melee = new Melee(entity);
    		ranged = new Ranged(entity);
    		magic = new Magic(entity);
    		damageMap = new DamageMap(entity);
    		
    	}
    
    	public void attack() {
    		entity.face(attacking);
    		
    		if ((!attacking.isActive()) || (attacking.isDead()) || (entity.isDead()) || (attacking.getLocation().getZ() != entity.getLocation().getZ())) {
    			reset();
    			return;
    		}
    
    		if (!withinDistanceForAttack(combatType, false)) {
    			return;
    		}
    
    		if (!entity.canAttack()) {
    			entity.getFollowing().reset();
    			reset();
    			return;
    		}
    
    		entity.onCombatProcess(attacking);
    		switch (combatType) {
    		case MELEE:
    			melee.execute(attacking);
    			melee.setNextDamage(-1);
    			melee.setDamageBoost(1.0D);
    			break;
    		case MAGIC:
    			magic.execute(attacking);
    			magic.setMulti(false);
    			magic.setpDelay((byte) 0);
    			break;
    		case RANGED:
    			ranged.execute(attacking);
    			break;
    		case NONE:
    			break;
    		}
    
    		entity.afterCombatProcess(attacking);
    	}
    
    	public void forRespawn() {
    		combatTimer = 0L;
    		damageMap.clear();
    		attackTimer = 0;
    		lastAttackedBy = null;
    		entity.setDead(false);
    		entity.resetLevels();
    	}
    
    	public int getAttackCooldown() {
    		switch (combatType) {
    		case NONE:
    			return 3;
    		case MAGIC:
    			return magic.getAttack().getAttackDelay();
    		case MELEE:
    			return melee.getAttack().getAttackDelay();
    		case RANGED:
    			if (ranged == null || ranged.getAttack() == null) {
    				return 4;
    			}
    			return ranged.getAttack().getAttackDelay();
    		}
    		return 4;
    	}
    
    	public Entity getAttacking() {
    		return attacking;
    	}
    
    	public int getAttackTimer() {
    		return attackTimer;
    	}
    
    	public Animation getBlockAnimation() {
    		return blockAnimation;
    	}
    
    	public CombatTypes getCombatType() {
    		return combatType;
    	}
    
    	public DamageMap getDamageTracker() {
    		return damageMap;
    	}
    
    	public double getDistanceFromTarget() {
    		if (attacking == null) {
    			return -1.0D;
    		}
    		return Math.abs(entity.getLocation().getX() - attacking.getLocation().getX()) + Math.abs(entity.getLocation().getY() - attacking.getLocation().getY());
    	}
    
    	public Entity getLastAttackedBy() {
    		return lastAttackedBy;
    	}
    
    	public Magic getMagic() {
    		return magic;
    	}
    
    	public Melee getMelee() {
    		return melee;
    	}
    
    	public Ranged getRanged() {
    		return ranged;
    	}
    
    	public boolean inCombat() {
    		return combatTimer > World.getCycles();
    	}
    
    	public void increaseAttackTimer(int amount) {
    		attackTimer += amount;
    	}
    
    	public boolean isWithinDistance(int req) {
    		if (!entity.isNpc() && !attacking.isNpc() && Utility.getManhattanDistance(attacking.getLocation(), entity.getLocation()) == 0) {
    			return false;
    		}
    
    		int x = entity.getLocation().getX();
    		int y = entity.getLocation().getY();
    		int x2 = attacking.getLocation().getX();
    		int y2 = attacking.getLocation().getY();
    
    		if (GameConstants.withinBlock(x, y, entity.getSize(), x2, y2)) {
    			return true;
    		}
    
    		if (Utility.getManhattanDistance(x, y, x2, y2) <= req) {
    			return true;
    		}
    
    		Location[] a = GameConstants.getBorder(x, y, entity.getSize());
    		Location[] b = GameConstants.getBorder(x2, y2, attacking.getSize());
    
    		for (Location i : a) {
    			for (Location k : b) {
    				if (Utility.getManhattanDistance(i, k) <= req) {
    					return true;
    				}
    			}
    		}
    		return false;
    	}
    
    	public void process() {
    		if (attackTimer > 0) {
    			attackTimer -= 1;
    		}
    
    		if ((attacking != null) && (attackTimer == 0)) {
    			attack();
    		}
    
    		if ((!entity.isDead()) && (!inCombat()) && (damageMap.isClearHistory()))
    			damageMap.clear();
    	}
    
    	public void reset() {
    		attacking = null;
    		entity.getFollowing().reset();
    	}
    
    	public void resetCombatTimer() {
    		combatTimer = 0L;
    	}
    
    	public void setAttack(Entity e) {
    		attacking = e;
    		entity.getFollowing().setFollow(e, Following.FollowType.COMBAT);
    	}
    
    	public void setAttacking(Entity attacking) {
    		this.attacking = attacking;
    	}
    
    	public void setAttackTimer(int attackTimer) {
    		this.attackTimer = attackTimer;
    	}
    
    	public void setBlockAnimation(Animation blockAnimation) {
    		this.blockAnimation = blockAnimation;
    	}
    
    	public void setCombatType(CombatTypes combatType) {
    		this.combatType = combatType;
    	}
    
    	public void setInCombat(Entity attackedBy) {
    		lastAttackedBy = attackedBy;
    		combatTimer = World.getCycles() + 8;
    	}
    
    	public void updateTimers(int delay) {
    		attackTimer = delay;
    
    		if (entity.getAttributes().get("attacktimerpowerup") != null) {
    			attackTimer /= 2;
    		}
    	}
    
    	public boolean withinDistanceForAttack(CombatTypes type, boolean noMovement) {
    		if (attacking == null) {
    			return false;
    		}
    
    		if (type == null) {
    			type = combatType;
    		}
    
    		int dist = CombatConstants.getDistanceForCombatType(type);
    
    		boolean ignoreClipping = false;
    
    		if (entity.isNpc()) {
    			Mob m = World.getNpcs()[entity.getIndex()];
    			if (m != null) {
    				if (m.getId() == 8596) {
    					dist = 18;
    					ignoreClipping = true;
    				} else if (m.getId() == 3847) {
    					if (type == CombatTypes.MELEE) {
    						dist = 2;
    						ignoreClipping = true;
    					}
    				} else if (m.getId() == 2042 || m.getId() == 2043 || m.getId() == 2044) {
    					dist = 25;
    					ignoreClipping = true;
    				}
    				
    				if (MobConstants.isDragon(m)) {
    					dist = 1;
    				}
    			}
    		}
    
    		if (!entity.isNpc()) {
    			if (type == CombatTypes.MELEE) {
    				if (attacking.isNpc()) {
    					Mob m = World.getNpcs()[attacking.getIndex()];
    					if (m != null) {
    						if (m.getId() == 3847) {
    							dist = 2;
    							ignoreClipping = true;
    						} else if (m.getId() == 2042 || m.getId() == 2043 || m.getId() == 2044) {
    							dist = 25;
    							ignoreClipping = true;
    						}
    					}
    				}
    			} else if (type == CombatTypes.RANGED || type == CombatTypes.MAGIC) {
    				if (attacking.isNpc()) {
    					Mob m = World.getNpcs()[attacking.getIndex()];
    					if (m != null) {
    						if (m.getId() == 2042 || m.getId() == 2043 || m.getId() == 2044) {
    							dist = 25;
    							ignoreClipping = true;
    						} else if (m.getId() == 5535 || m.getId() == 494) {
    							dist = 65;
    							ignoreClipping = false;
    						}
    					}
    				}
    			}
    		}
    
    		if (!noMovement && !entity.isNpc() && !attacking.isNpc() && entity.getMovementHandler().moving()) {
    			dist += 3;
    		}
    		
    		if (!isWithinDistance(dist)) {
    			return false;
    		}
    
    		if (!ignoreClipping) {
    			boolean blocked = true;
    
    			if (type == CombatTypes.MAGIC || combatType == CombatTypes.RANGED) {
    				for (Location i : GameConstants.getEdges(entity.getLocation().getX(), entity.getLocation().getY(), entity.getSize())) {
    					if (entity.inGodwars()) {
    						if (StraightPathFinder.isProjectilePathClear(i, attacking.getLocation()) && StraightPathFinder.isProjectilePathClear(attacking.getLocation(), i)) {
    							blocked = false;
    							break;
    						}
    					} else {
    						if (StraightPathFinder.isProjectilePathClear(i, attacking.getLocation()) || StraightPathFinder.isProjectilePathClear(attacking.getLocation(), i)) {
    							blocked = false;
    							break;
    						}
    					}
    				}
    			} else if (type == CombatTypes.MELEE) {
    				for (Location i : GameConstants.getEdges(entity.getLocation().getX(), entity.getLocation().getY(), entity.getSize())) {
    					if (entity.inGodwars()) {
    						if (StraightPathFinder.isInteractionPathClear(i, attacking.getLocation()) && StraightPathFinder.isInteractionPathClear(attacking.getLocation(), i)) {
    							blocked = false;
    							break;
    						}
    					} else {
    						if (StraightPathFinder.isInteractionPathClear(i, attacking.getLocation()) || StraightPathFinder.isInteractionPathClear(attacking.getLocation(), i)) {
    							blocked = false;
    							break;
    						}
    					}
    				}
    			}
    			
    			if (blocked) {
    				return false;
    			}
    		}
    		return true;
    	}
    }


    Mobconstants.java
    Code:
    package com.mayhem.rs2.entity.mob;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.logging.Logger;
    import java.util.stream.Collectors;
    
    import com.mayhem.core.definitions.NpcDefinition;
    import com.mayhem.core.util.GameDefinitionLoader;
    import com.mayhem.rs2.content.minigames.godwars.GodWarsData;
    import com.mayhem.rs2.content.minigames.godwars.GodWarsData.Allegiance;
    import com.mayhem.rs2.content.minigames.pestcontrol.PestControlGame;
    import com.mayhem.rs2.content.skill.fishing.Fishing;
    import com.mayhem.rs2.entity.player.Player;
    
    /**
     * Holds constant variables for mobs
     * 
     * @author Michael Sasse
     * 
     */
    public final class MobConstants {
    	
    	/** 
    	 * The logger for printing information. 
    	 */
    	private static Logger logger = Logger.getLogger(MobConstants.class.getSimpleName());
    	
    	/**
    	 * Npcs that will be logged
    	 */
    	public static final int[] LOGGED_NPCS = new int[] { 3055, 3213, 1233, 1498, 1833, 492, 6766, 100, 84, 3358, 1540, 7286, 7036, 4880, 4872, 4881, 4882, 4883, 7037, 7039, 5935, 84, 3358, 1540, 5862, 6119, 3578, 4315, 6618, 6619, 6610, 6612, 6615, 5779, 6609, 2054, 494, 2265, 2266, 2267, 319, 6342, 8, 415, 7388, 7390, 7401, 7409, 7410, 7411, 4005, 2042, 239, 2215, 3162, 2205, 3129, 7152, 3127 };
    
    	public static final List<Mob> GODWARS_BOSSES = new ArrayList<>();
    	
    	public static List<Mob> getGodWarsBossMob(Allegiance npc) {
    		return GODWARS_BOSSES.stream().filter(mob -> GodWarsData.forId(mob.getId()) != null && GodWarsData.forId(mob.getId()).getAllegiance() == npc).collect(Collectors.toList());
    	}
    	
    	/**
    	 * Mob disappear delay
    	 */
    	public static enum MobDissapearDelay {
    
    		BARRELCHEST(5666, (byte) 15);
    
    		private final int id;
    		private final byte delay;
    		public static final Map<Integer, Byte> data = new HashMap<Integer, Byte>();
    
    		public static final void declare() {
    			for (MobDissapearDelay i : values())
    				data.put(Integer.valueOf(i.id), Byte.valueOf(i.delay));
    		}
    
    		public static final int getDelay(int id) {
    			return data.get(Integer.valueOf(id)) != null ? data.get(Integer.valueOf(id)).byteValue() : 5;
    		}
    
    		private MobDissapearDelay(int id, byte delay) {
    			this.id = id;
    			this.delay = delay;
    		}
    	}
    	
    	public static HashMap<Integer, Integer> SLAYER_REQUIREMENTS = new HashMap<>();
    	/**
    	 * The random chance a mob will walk
    	 */
    	public static final byte RANDOM_WALK_CHANCE = 12;
    
    	/**
    	 * The maximum random walking distance from their location
    	 */
    	public static final byte MAX_RANDOM_WALK_DISTANCE = 2;
    
    	/**
    	 * The default respawn rate for npcs
    	 */
    	public static final byte DEFAULT_RESPAWN_TIME = 50;
    
    	/**
    	 * An array containing aggressive npcs
    	 */
    	private static final byte[] aggressive = new byte[18000];
    
    	/**
    	 * A list containing non aggressive npcs
    	 */
    	private static String[] NON_AGGRESSIVE_NPCS = { "akthanakos", "crystal demon", "crushing hand", "screaming banshee", "cave abomination", "night beast", "greater abyssal demon", "nechryarch", "crystal avansie", "crystal dragon", "cerberus", "zulrah", "saradomin wizard", "zamorak wizard", "man", "woman", "gnome", "dwarf", "cow", "guard", "goblin", "banker", "tzhaar-xil", "tzhaar-ket" };
    
    	/**
    	 * A list of mobs that don't follow
    	 */
    	private static final int[] NO_FOLLOW_MOBS = { 1457, 3943, 3847 };
    
    	/**
    	 * A list of flying mobs
    	 */
    	public static final int[] FLYING_MOBS = { 7037, 3176, 3166, 3167, 3174, 2042, 2043, 2044, 3165, 3162, 3163, 3164 };
    
    	public static final void declare() {
    		int count = 0;
    
    		for (int i = 0; i < 10000; i++) {
    			NpcDefinition def = GameDefinitionLoader.getNpcDefinition(i);
    
    			if ((def != null) && (def.getName() != null)) {
    				String name = def.getName().toLowerCase();
    
    				for (String k : NON_AGGRESSIVE_NPCS) {
    					if (name.contains(k.toLowerCase())) {
    						aggressive[i] = 1;
    						count++;
    						break;
    					}
    				}
    			}
    		}
    		
    		int[][] slayerLevels = {
    			{ 4005, 90 },
    			{ 494, 87 },
    			{492, 87 },
    			{ 415, 85 },
    			{ 7410, 85 },
    			{ 8, 80 },
    			{ 7409, 80 },
    			{ 412, 75 },
    			{7411, 75 },
    			{ 467, 72 },
    			{ 2, 60 },
    			{ 3, 60 },
    			{ 4, 60 },
    			{ 5, 60 },
    			{ 6, 60 },
    			{ 7, 60 },
    			{ 3213, 58 },
    			{ 7401, 58 },
    			{ 484, 50 },
    			{ 485, 50 },
    			{ 486, 50 },
    			{ 487, 50 },
    			{ 7390, 50 },
    			{ 443, 45 },
    			{ 444, 45 },
    			{ 445, 45 },
    			{ 446, 45 },
    			{ 447, 45 },
    			{ 414, 15 },
    			{ 448, 5 },
    			{ 7388, 5 },
    			{ 449, 5 },
    			{ 450, 5 },
    			{ 451, 5 },
    			{ 452, 5 },
    			{ 453, 5 },
    			{ 454, 5 },
    			{ 455, 5 },
    			{ 456, 5 },
    			{ 457, 5 }
    		};
    
    		for (int[] data : slayerLevels) {
    			SLAYER_REQUIREMENTS.put(Integer.valueOf(data[0]), Integer.valueOf(data[1]));
    		}
    		
    		logger.info("Loaded " + count + " non-aggressive mobs.");
    	}
    
    	public static final boolean face(int id) {
    		return (id != 3636) && (Fishing.FishingSpots.forId(id) == null);
    	}
    
    	public static final boolean isAggressive(int id) {
    		return aggressive[id] != 1;
    	}
    
    	public static boolean isAgressiveFor(Mob mob, Player player) {
    		if (mob.inWilderness() || mob.getAttributes().get(PestControlGame.PEST_GAME_KEY) != null) {
    			return true;
    		}
    		
    		return (player.getController().canAttackNPC()) && (player.getSkill().getCombatLevel() <= mob.getDefinition().getLevel() * 2 + 1);
    	}
    
    	/**
    	 * Gets if the npc is a dagannoth king
    	 * 
    	 * @param m
    	 *            The mob to check
    	 * @return
    	 */
    	public static boolean isDagannothKing(Mob m) {
    		int id = m.getId();
    		return (id == 2265) || (id == 2267) || (id == 2266);
    	}
    
    	/**
    	 * gets if the mob is a dragon or not
    	 * 
    	 * @param mob
    	 * @return
    	 */
    	public static boolean isDragon(Mob mob) {
    		if (mob == null) {
    			return false;
    		}
    		
    		if (mob.getDefinition() == null || mob.getDefinition().getName() == null) {
    			return false;
    		}
    
    		return mob.getDefinition().getName().toLowerCase().contains("dragon");
    	}
    
    	/**
    	 * Gets if the mob shouldn't follow or not
    	 * 
    	 * @param mob
    	 * @return
    	 */
    	public static final boolean noFollow(Mob mob) {
    		for (int i : NO_FOLLOW_MOBS) {
    			if (mob.getId() == i) {
    				return true;
    			}
    		}
    		return false;
    	}
    }
    Reply With Quote  
     

  6. #6  
    Registered Member
    arch337's Avatar
    Join Date
    Sep 2008
    Posts
    2,700
    Thanks given
    170
    Thanks received
    285
    Discord
    Arch337#1337
    Rep Power
    590
    TRy look where it sets the "DemonicGorilla()" and see if any exception for playerRights is being set.
    Also check any other place where your playerRights is being checked.
    And try aswell to debug the class DemonicGorilla.java and see if it is even being send but has issues.


    "A fail act is something you do regular, but a dumb act is something you can learn from"
    Spoiler for Problem?:
    Reply With Quote  
     

  7. Thankful user:


  8. #7  
    TeraPS Founder

    OneTrueGodTet's Avatar
    Join Date
    Jan 2012
    Posts
    113
    Thanks given
    42
    Thanks received
    19
    Discord
    OneTrueGodTet#0068
    Rep Power
    146
    Quote Originally Posted by arch337 View Post
    TRy look where it sets the "DemonicGorilla()" and see if any exception for playerRights is being set.
    Also check any other place where your playerRights is being checked.
    And try aswell to debug the class DemonicGorilla.java and see if it is even being send but has issues.
    Yea nothing of the sort, Thanks a lot for your effort mate I'm just going to change them to a different npc completely.
    Reply With Quote  
     

  9. #8  
    Registered Member
    Join Date
    Jul 2015
    Posts
    429
    Thanks given
    13
    Thanks received
    55
    Rep Power
    55
    this is weird af, try change the npc id to another and see if that makes any difference.
    Reply With Quote  
     

  10. #9  
    TeraPS Founder

    OneTrueGodTet's Avatar
    Join Date
    Jan 2012
    Posts
    113
    Thanks given
    42
    Thanks received
    19
    Discord
    OneTrueGodTet#0068
    Rep Power
    146
    Quote Originally Posted by Vorkath View Post
    this is weird af, try change the npc id to another and see if that makes any difference.
    Tried that with several different npcs and they work just the actual demonic gorilla dosent wanna do anything apart from stare at you
    Reply With Quote  
     

  11. #10  
    Registered Member
    arch337's Avatar
    Join Date
    Sep 2008
    Posts
    2,700
    Thanks given
    170
    Thanks received
    285
    Discord
    Arch337#1337
    Rep Power
    590
    Quote Originally Posted by LeonScape View Post
    Tried that with several different npcs and they work just the actual demonic gorilla dosent wanna do anything apart from stare at you
    Check your attack npc and also try debug all the methods inside of it step by step to find out if something on the way to the attack method is preventing it from reaching attack method.


    "A fail act is something you do regular, but a dumb act is something you can learn from"
    Spoiler for Problem?:
    Reply With Quote  
     

Page 1 of 2 12 LastLast

Thread Information
Users Browsing this Thread

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


User Tag List

Similar Threads

  1. Replies: 726
    Last Post: 10-13-2017, 12:23 AM
  2. Replies: 3
    Last Post: 03-31-2015, 03:22 PM
  3. Replies: 3
    Last Post: 05-27-2014, 12:16 AM
  4. Replies: 30
    Last Post: 06-25-2012, 07:50 AM
  5. Replies: 2
    Last Post: 08-17-2010, 01:51 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •