Thread: npc agression bug.

Results 1 to 7 of 7
  1. #1 npc agression bug. 
    Registered Member

    Join Date
    Jun 2008
    Posts
    1,957
    Thanks given
    7
    Thanks received
    256
    Rep Power
    445
    ya well iv had numerous problems and nobody seems to fix it. iv asked gods army but he hasn't gotton back to me with the fix.

    Info: If You Are Killing A Agressive Monster And You Die Or Telly It Leaves Its Area In Search For Players.

    Rich Said It Was In The "attackingplayer method" Before His PRoject Died. He Said Something LIke Add A isinrange Code In IT. But I Just Can't Create a Code I Don't Understand.

    Here Is My Method

    Code:
    public boolean AttackPlayer(int NPCID) {
    		int Player = npcs[NPCID].StartKilling;
    		if (Server.PlayerManager.players[Player] == null) {
    			ResetAttackPlayer(NPCID);
    			return false;
    		} else if (Server.PlayerManager.players[Player].DirectionCount < 2) {
    			return false;
    		}
    		if (Server.PlayerManager.players[Player].playerLevel[3] <= 0) {
    			ResetAttackPlayer(NPCID);
    		}
    		Client plr = (Client) Server.PlayerManager.players[Player];
    		int hitDiff = 0;
    		int EnemyX = Server.PlayerManager.players[Player].absX;
    		int EnemyY = Server.PlayerManager.players[Player].absY;
    		npcs[NPCID].enemyX = EnemyX;
    		npcs[NPCID].enemyY = EnemyY;
    
    		int npX = npcs[NPCID].absX;
    		int npY = npcs[NPCID].absY;
    		int plX = Server.PlayerManager.players[Player].absX;
    		int plY = Server.PlayerManager.players[Player].absY;
    		int offX = (npX - plX) * -1;
    		int offY = (npY - plY) * -1;
    
    		int EnemyHP = Server.PlayerManager.players[Player].playerLevel[Server.PlayerManager.players[Player].playerHitpoints];
    		int EnemyMaxHP = getLevelForXP(Server.PlayerManager.players[Player].playerXP[Server.PlayerManager.players[Player].playerHitpoints]);
    		boolean RingOfLife = false;
    		hitDiff = Misc.random(npcs[NPCID].MaxHit);
    
    		if (Server.PlayerManager.players[Player].attacknpc == NPCID && !plr.IsDead) {
    			Server.PlayerManager.players[Player].faceNPC = NPCID;
    			Server.PlayerManager.players[Player].faceNPCupdate = true;
    			Server.PlayerManager.players[Player].attacknpc = NPCID;
    			Server.PlayerManager.players[Player].IsAttackingNPC = true;
    		}
    		if (GoodDistance(npcs[NPCID].absX, npcs[NPCID].absY, EnemyX, EnemyY, 30) && npcs[NPCID].npcType != 2745 && npcs[NPCID].npcType != 2456 && npcs[NPCID].npcType != 2743 && npcs[NPCID].npcType != 2744 && npcs[NPCID].npcType != 2740 && npcs[NPCID].npcType != 2739 && npcs[NPCID].npcType != 2881 && npcs[NPCID].npcType != 2882 && npcs[NPCID].npcType != 50) { //1645
    			if (!plr.IsDead) {
    				FollowPlayerCB(NPCID, Player);
    			}
    		}
    		if((GoodDistance(npcs[NPCID].absX, npcs[NPCID].absY, EnemyX, EnemyY, 15) == false) && npcs[NPCID].npcType == 1007) {
    			if (!plr.IsDead) {
    				npcs[NPCID].absX = 0;
    				npcs[NPCID].absY = 0;
    				npcs[NPCID].followPlayer = 0;
    				npcs[NPCID].followingPlayer = false;
    			}
    		}
    		if (npcs[NPCID].npcType == 2745 || npcs[NPCID].npcType == 2456 || npcs[NPCID].npcType == 2744 || npcs[NPCID].npcType == 2743 || npcs[NPCID].npcType == 2740 || npcs[NPCID].npcType == 2739 || npcs[NPCID].npcType == 2881 || npcs[NPCID].npcType == 2882 || npcs[NPCID].npcType == 50) { //1645
    			if (!plr.IsDead) {
    				FacePlayerCB(NPCID, Player);
    			}
    		}
    		if (GoodDistance(npcs[NPCID].absX, npcs[NPCID].absY, EnemyX, EnemyY, 1) || npcs[NPCID].npcType == 2745 || npcs[NPCID].npcType == 2456 || npcs[NPCID].npcType == 2744 || npcs[NPCID].npcType == 2743 || npcs[NPCID].npcType == 2740 || npcs[NPCID].npcType == 2739 || npcs[NPCID].npcType == 2881 || npcs[NPCID].npcType == 2882 || npcs[NPCID].npcType == 50) {
    			if (npcs[NPCID].actionTimer == 0) {
    				if (plr.playerLevel[3] <= 0) {
    					//ResetAttackPlayer(NPCID);
    					npcs[NPCID].followingPlayer = false;
    					npcs[NPCID].followPlayer = 0;
    					npcs[NPCID].IsUnderAttack = false;
    					npcs[NPCID].StartKilling = 0;
    				} else {
    					switch (npcs[NPCID].npcType) {
    
    						case 81:
    						case 397:
    						case 1766:
    						case 1767:
    						case 1768:
    							npcs[NPCID].animNumber = 0x03B;
    							break;
    
    						case 41:
    							npcs[NPCID].animNumber = 0x037;
    							break;
    
    						case 87:
    							npcs[NPCID].animNumber = 0x08A;
    							break;
    
    						case 21:
    						case 2256:
    							npcs[NPCID].animNumber = 451;
    							hitDiff = 4 + Misc.random(9);
    							break;
    
    						case 1958:
    							npcs[NPCID].animNumber = 422;
    							hitDiff = 4 + Misc.random(18);
    							break;
    
    						case 82:
    							npcs[NPCID].animNumber = 64;
    							hitDiff = 4 + Misc.random(6);
    							break;
    
    						case 32:
    							npcs[NPCID].animNumber = 412;
    							hitDiff = Misc.random(4);
    							break;
    
    						case 1977:
    							npcs[NPCID].animNumber = 451;
    							if (plr.playerEquipment[plr.playerHat] == 4164) {
    								if (!plr.protMelee) {
    									hitDiff = 5 + Misc.random(18);
    								} else {
    									hitDiff = 0;
    								}
    							} else {
    								hitDiff = 10 + Misc.random(16);
    								plr.Send("Fareed crushes you as you can't see through the smoke without a Facemask!");
    							}
    							plr.playerLevel[5] -= 2;
    							break;
    
    						case 1913:
    							if (Misc.random(4) < 3) {
    								npcs[NPCID].animNumber = 412;
    								if (!plr.protMelee) {
    									hitDiff = 3 + Misc.random(19);
    								} else {
    									hitDiff = 0;
    								}
    								plr.playerLevel[5] -= 2;
    							} else {
    								npcs[NPCID].animNumber = 1979;
    								plr.gfxLow(369);
    								plr.Entangle(24000);
    								if (!plr.protMage) {
    									hitDiff = 6 + Misc.random(20);
    								} else {
    									hitDiff = 0;
    								}
    								plr.Send("You are frozen!");
    								plr.playerLevel[5] -= 4;
    							}
    							break;
    
    						case 1914:
    							npcs[NPCID].animNumber = 412;
    							if (!plr.protMelee) {
    								hitDiff = 5 + Misc.random(18);
    							} else {
    								hitDiff = 0;
    							}
    							if (!plr.Poisoned) {
    								plr.PoisonPlayer();
    							}
    							plr.playerLevel[5] -= 2;
    							break;
    
    						case 1975:
    							npcs[NPCID].animNumber = 407;
    							if (!plr.protMelee) {
    								hitDiff = 3 + Misc.random(25);
    							} else {
    								hitDiff = 0;
    							}
    							plr.playerLevel[5] -= 3;
    							break;
    
    						case 1200:
    							npcs[NPCID].animNumber = 440;
    							if (!plr.protMelee) {
    								hitDiff = 4 + Misc.random(14);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 1264:
    							npcs[NPCID].animNumber = 811;
    							hitDiff = Misc.random(6);
    							plr.gfx(76);
    							break;
    
    						case 2746:
    							npcs[NPCID].animNumber = 2636;
    							npcs[NPCID].actionTimer = 9;
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(8);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 78:
    							npcs[NPCID].animNumber = 30;
    							hitDiff = 4 + Misc.random(4);
    							break;
    
    						case 50:
    							npcs[NPCID].animNumber = 81;
    							plr.Projectile(npcs[NPCID].absY + 1, npcs[NPCID].absX + 1, offY, offX, 50, 90, 440, 60, 31, -npcs[NPCID].StartKilling - 1);
    							plr.AttackPlayers(4);
    							if (plr.playerEquipment[plr.playerShield] == 1540 || plr.playerEquipment[plr.playerShield] == 2774) {
    								hitDiff = Misc.random(17);
    								plr.Send("Your shield protects you from the dragon's fire!"); 
    							} else if (plr.playerEquipment[plr.playerShield] != 1540 || plr.playerEquipment[plr.playerShield] != 2774) {
    								hitDiff = 10 + Misc.random(32);
    								plr.Send("The dragon's fire burns you!");
    							}
    							break;
    
    						case 52:
    							npcs[NPCID].animNumber = 25;
    							hitDiff = 2 + Misc.random(6);
    							break;
    
    						case 18:
    							npcs[NPCID].animNumber = 451;
    							hitDiff = 4 + Misc.random(2);
    							break;
    
    						case 53:
    							npcs[NPCID].animNumber = 80;
    							break;
    
    						case 54:
    							npcs[NPCID].animNumber = 81;
    							plr.gfx(157);
    							if (plr.playerEquipment[plr.playerShield] == 1540 || plr.playerEquipment[plr.playerShield] == 2774) {
    								hitDiff = Misc.random(12);
    								plr.Send("Your shield protects you from the dragon's fire!"); 
    							} else if (plr.playerEquipment[plr.playerShield] != 1540 || plr.playerEquipment[plr.playerShield] != 2774) {
    								hitDiff = 10 + Misc.random(21);
    								plr.Send("The dragon's fire burns you!"); 
    							}
    							break;
    
    						case 55:
    							npcs[NPCID].animNumber = 81; 
    							plr.gfx(157);
    							if (plr.playerEquipment[plr.playerShield] == 1540 || plr.playerEquipment[plr.playerShield] == 2774) {
    								hitDiff = Misc.random(8);
    								plr.Send("Your shield protects you from the dragon's fire!"); 
    							} else if (plr.playerEquipment[plr.playerShield] != 1540 || plr.playerEquipment[plr.playerShield] != 2774) {
    								hitDiff = 10 + Misc.random(16);
    								plr.Send("The dragon's fire burns you!"); 
    							}
    							break;
    
    						case 1158:
    							if (!plr.protMage) {
    								npcs[NPCID].animNumber = 1184;
    								hitDiff = 20 + Misc.random(12);
    							} else {
    								npcs[NPCID].animNumber = 1177;
    								hitDiff = 4 + Misc.random(20);
    							}
    							break;
    
    						case 1160:
    							npcs[NPCID].animNumber = 1177;
    							plr.Projectile(npcs[NPCID].absY + 2, npcs[NPCID].absX + 2, offY, offX, 50, 90, 280, 60, 31, -npcs[NPCID].StartKilling - 1);
    							plr.gfx(281);
    							plr.AttackPlayers(20);
    							if (!plr.protMage) {
    								hitDiff = Misc.random(31);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2026:
    							npcs[NPCID].animNumber = 2067;
    							plr.playerLevel[5] -= 4;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendString(""+plr.playerLevel[5]+"", 4012);
    							if (!plr.protMelee) {
    								hitDiff = 20 + Misc.random(40);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2027:
    							npcs[NPCID].animNumber = 2080;
    							plr.playerLevel[5] -= 4;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendString(""+plr.playerLevel[5]+"", 4012);
    							if (!plr.protMelee) {
    								hitDiff = 4 + Misc.random(15);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2029:
    							npcs[NPCID].animNumber = 2068;
    							plr.playerLevel[5] -= 4;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendString(""+plr.playerLevel[5]+"", 4012);
    							if (!plr.protMelee) {
    								hitDiff = 4 + Misc.random(15);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2030:
    							npcs[NPCID].animNumber = 2062;
    							plr.playerLevel[5] -= 4;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendString(""+plr.playerLevel[5]+"", 4012);
    							if (!plr.protMelee) {
    								hitDiff = 22 + Misc.random(4);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2627:
    							npcs[NPCID].animNumber = 2621;
    							hitDiff = Misc.random(3);
    							break;
    
    						case 2628:
    							npcs[NPCID].animNumber = 2621;
    							hitDiff = Misc.random(3);
    							break;
    
    						case 2734:
    							npcs[NPCID].animNumber = 2621;
    							hitDiff = Misc.random(3);
    							plr.playerLevel[5] -= 2;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							break;
    
    						case 2735:
    							npcs[NPCID].animNumber = 2621;
    							hitDiff = Misc.random(3);
    							plr.playerLevel[5] -= hitDiff;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							break;
    
    						case 2729:
    						case 2730:
    							npcs[NPCID].animNumber = 2625;
    							hitDiff = Misc.random(6);
    							break;
    
    						case 2736:
    						case 2737:
    							npcs[NPCID].animNumber = 2625;
    							hitDiff = Misc.random(6);
    							plr.playerLevel[5] -= 2;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							break;
    
    						case 2738:
    							npcs[NPCID].animNumber = 2625;
    							hitDiff = Misc.random(3);
    							plr.playerLevel[5] -= 2;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							break;
    
    						case 2631:
    						case 2632:
    							npcs[NPCID].animNumber = 2628;
    							hitDiff = Misc.random(12);
    							plr.playerLevel[5] -= 2;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							break;
    
    						case 2739:
    						case 2740:
    							if (npcs[NPCID].npcType == 2740) {
    								npcs[NPCID].actionTimer = 9;
    							}
    							npcs[NPCID].animNumber = 2633;
    							plr.Projectile(npcs[NPCID].absY + 1, npcs[NPCID].absX + 1, offY, offX, 50, 100, 443, 60, 31, -npcs[NPCID].StartKilling - 1);
    							plr.playerLevel[5] -= 2;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							if (!plr.protRange) {
    								hitDiff = Misc.random(16);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 3592:
    							npcs[NPCID].animNumber = 2628;
    							hitDiff = Misc.random(12);
    							break;
    
    						case 2741:
    						case 2742:
    							npcs[NPCID].animNumber = 2637;
    							plr.playerLevel[5] -= 3;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(28);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 117:
    							npcs[NPCID].animNumber = 999;
    							plr.playerLevel[5] -= 3;
    							plr.AttackPlayers(3);
    							if (!plr.protMelee) {
    								hitDiff = 10 + Misc.random(52);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2456:
    							npcs[NPCID].animNumber = 1343;
    							plr.Projectile(npcs[NPCID].absY, npcs[NPCID].absX, offY, offX, 50, 90, 297, 60, 31, -npcs[NPCID].StartKilling - 1);
    							npcs[NPCID].actionTimer = 6 + Misc.random(5);
    							if (!plr.protRange) {
    								hitDiff = 2 + Misc.random(14);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 134:
    							npcs[NPCID].animNumber = 143;
    							plr.PoisonPlayer();
    							hitDiff = Misc.random(4);
    							break;
    
    						case 256:
    							npcs[NPCID].animNumber = 1833;
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(10);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 1613: //nech
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(20);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    							
    						case 1610://gargoyal
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(14);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    						
    						case 1615:
    							npcs[NPCID].animNumber = 1537;
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(14);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2783:
    							npcs[NPCID].animNumber = 2733;
    							if (!plr.protMelee) {
    								hitDiff = 22 + Misc.random(10);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 1619:
    							npcs[NPCID].animNumber = 1552;
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(14);
    								} else {
    									hitDiff = 0;
    							}
    							break;
    
    						case 1653:
    							npcs[NPCID].animNumber = 1592;
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(4);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 1616:
    							npcs[NPCID].animNumber = 1546;
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(10);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 1624:
    							npcs[NPCID].animNumber = 1557;
    							if (plr.playerEquipment[plr.playerHat] != 4164) {
    								hitDiff = Misc.random(34);
    								plr.Send("It Hits You When You Can't See, GET A FACEMASK!.");
    							if (plr.playerEquipment[plr.playerHat] == 4164) {
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(10);
    							} else {
    								hitDiff = 0;
    							}
    						}
    							}
    				break;
    
    						case 1637:
    							npcs[NPCID].animNumber = 1586;
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(9);
    								} else {
    									hitDiff = 0;
    							}
    							break;
    
    						case 2881:
    							npcs[NPCID].animNumber = 2855;
    							plr.AttackPlayers(2);
    							npcs[NPCID].actionTimer = 9;
    							if (!plr.protRange) {
    								hitDiff = Misc.random(25);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2882:
    							npcs[NPCID].animNumber = 2854;
    							plr.Projectile(npcs[NPCID].absY, npcs[NPCID].absX, offY, offX, 50, 90, 162, 60, 31, -npcs[NPCID].StartKilling - 1);
    							npcs[NPCID].actionTimer = 11;
    							if (!plr.protMage) {
    								hitDiff = 25 + Misc.random(28);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2883:
    							npcs[NPCID].animNumber = 2851;
    							npcs[NPCID].actionTimer = 13;
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(25);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 1265:
    							npcs[NPCID].animNumber = 1312;
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(3);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 86:
    							npcs[NPCID].animNumber = 138;
    							hitDiff = Misc.random(3);
    							break;
    
    						case 1007:
    							npcs[NPCID].animNumber = 811;
    							plr.gfx(78);
    							if (!plr.protMage) {
    								hitDiff = 5 + Misc.random(15);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2743:
    						case 2744:
    							npcs[NPCID].animNumber = 2647;
    							plr.Projectile(npcs[NPCID].absY, npcs[NPCID].absX, offY, offX, 50, 90, 445, 60, 31, -npcs[NPCID].StartKilling - 1);
    							if (npcs[NPCID].npcType == 2743) {
    								npcs[NPCID].actionTimer = 9;
    							} else {
    								npcs[NPCID].actionTimer = 10;
    							}
    							plr.playerLevel[5] -= 5;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							plr.gfxLow(446);
    							if (!plr.protMage) {
    								hitDiff = 10 + Misc.random(37);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2745:
    							if (plr.JadAttack == 0 || plr.JadAttack == 1) {
    								npcs[NPCID].animNumber = 2652;
    								plr.JadAttacking = true;
    								plr.JadGFX = true;
    								plr.JadRange = true;
    								plr.JadMage = false;
    								plr.JadDelay = System.currentTimeMillis();
    							}
    							if (plr.JadAttack == 2) {
    								plr.Projectile(npcs[NPCID].absY + 2, npcs[NPCID].absX + 2, offY, offX, 50, 140, 448, 120, 31, -npcs[NPCID].StartKilling - 1);
    								plr.Projectile(npcs[NPCID].absY + 2, npcs[NPCID].absX + 2, offY, offX, 50, 149, 449, 120, 31, -npcs[NPCID].StartKilling - 1);
    								plr.Projectile(npcs[NPCID].absY + 2, npcs[NPCID].absX + 2, offY, offX, 50, 158, 450, 120, 31, -npcs[NPCID].StartKilling - 1);
    								npcs[NPCID].animNumber = 2656;
    								plr.JadAttacking = true;
    								plr.JadMage = true;
    								plr.JadRange = false;
    								plr.JadDelay = System.currentTimeMillis();
    							}
    							npcs[NPCID].actionTimer = 10;
    							break;
    
    						case 110:
    							npcs[NPCID].animNumber = 128;
    							hitDiff = Misc.random(6);
    							plr.playerLevel[5] -= 4;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							break;
    
    						case 49:
    							npcs[NPCID].animNumber = 158;
    							if (!plr.protMelee) {
    								hitDiff = Misc.random(23);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 1770:
    						case 1771:
    						case 1772:
    						case 1773:
    						case 1774:
    							npcs[NPCID].animNumber = 309;
    							hitDiff = Misc.random(2);
    							break;
    							
    						
    							
    
    						case 2025:
    							npcs[NPCID].animNumber = 729;
    							plr.Projectile(npcs[NPCID].absY, npcs[NPCID].absX, offY, offX, 50, 90, 156, 43, 31, -npcs[NPCID].StartKilling - 1);
    							plr.playerLevel[5] -= 4;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							if (!plr.protMage) {
    								hitDiff = 5 + Misc.random(15);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    							
    						case 1643:
    							plr.Projectile(npcs[NPCID].absY, npcs[NPCID].absX, offY, offX, 50, 90, 166, 43, 31, -npcs[NPCID].StartKilling - 1);
    							npcs[NPCID].animNumber = 729;
    							if (!plr.protMage) {
    								hitDiff = 5 + Misc.random(12);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 2028:
    							npcs[NPCID].animNumber = 2075;
    							plr.playerLevel[5] -= 4;
    							plr.sendString(" Prayer: "+plr.playerLevel[5]+"/"+plr.getLevelForXP(plr.playerXP[5])+"", 687);
    							plr.sendFrame126(""+plr.playerLevel[5]+"", 4012);
    							if (!plr.protRange) {
    								hitDiff = Misc.random(25);
    							} else {
    								hitDiff = 0;
    							}
    							break;
    
    						case 64:
    							npcs[NPCID].animNumber = 0x326;
    							break;
    
    						case 3200:
    							npcs[NPCID].animNumber = 3146;
    							hitDiff = 20 + Misc.random(10);
    							break;
    
    						case 752:
    							npcs[NPCID].animNumber = 0x326;
    							break;
    
    						default:
    							npcs[NPCID].animNumber = 0x326;
    							break;
    				}
    				if (npcs[NPCID].npcType != 2745) {
    					plr.anim(plr.BlockAnim(plr.playerEquipment[plr.playerWeapon]));
    				}
    				npcs[NPCID].animUpdateRequired = true;
    				npcs[NPCID].updateRequired = true;
    				if ((EnemyHP - hitDiff) < 0) {
    					hitDiff = EnemyHP;
    				}
    				Server.PlayerManager.players[Player].hitDiff = hitDiff;
    				Server.PlayerManager.players[Player].updateRequired = true;
    				if (npcs[NPCID].npcType != 2745) {
    					Server.PlayerManager.players[Player].hitUpdateRequired = true;
    				}
    				Server.PlayerManager.players[Player].appearanceUpdateRequired = true;
    				if (npcs[NPCID].npcType != 2743 && npcs[NPCID].npcType != 2744 && npcs[NPCID].npcType != 2740 && npcs[NPCID].npcType != 2456 && npcs[NPCID].npcType != 2745 && npcs[NPCID].npcType != 2881 && npcs[NPCID].npcType != 2882 && npcs[NPCID].npcType != 2883) {
    					npcs[NPCID].actionTimer = 7;
    				}
    				}
    				return true;
    			}
    		}
    		return false;
    	}

    [YOUTUBE]<object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/5CHlliSPgcg&hl=en&fs=1&color1=0x5d1719&color2=0xcd 311b"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/5CHlliSPgcg&hl=en&fs=1&color1=0x5d1719&color2=0xcd 311b" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object>[/YOUTUBE]
    Reply With Quote  
     

  2. #2  
    Registered Member

    Join Date
    Jun 2008
    Posts
    1,957
    Thanks given
    7
    Thanks received
    256
    Rep Power
    445
    nobody can help?
    Reply With Quote  
     

  3. #3  
    Registered Member
    minutes's Avatar
    Join Date
    Apr 2008
    Posts
    1,926
    Thanks given
    2
    Thanks received
    19
    Rep Power
    465
    first make vid how its bugged ...



    click banner to join gtracer!
    Reply With Quote  
     

  4. #4  
    Community Veteran

    WH:II:DOW's Avatar
    Join Date
    Dec 2007
    Age
    34
    Posts
    2,017
    Thanks given
    145
    Thanks received
    872
    Rep Power
    4275
    in process, add something like

    if(goodDistance(npcs[i].absX, npcs[i].absY, p.absX, p.absY, 10) == true){
    resetAttackPlayer(i);
    }

    probably need to fix few errors, but it's the best i can do not looking at a server
    hella titties
    Reply With Quote  
     

  5. #5  
    Registered Member

    Join Date
    Jun 2008
    Posts
    1,957
    Thanks given
    7
    Thanks received
    256
    Rep Power
    445
    Quote Originally Posted by minutes View Post
    first make vid how its bugged ...
    ok give me a few to get a vid.....dunno how long it will take for the npc to walk to home..



    p.s. no clue how to embed it.
    Reply With Quote  
     

  6. #6  
    Registered Member
    minutes's Avatar
    Join Date
    Apr 2008
    Posts
    1,926
    Thanks given
    2
    Thanks received
    19
    Rep Power
    465
    ohh, i understand now what is wrong you need add this:

    ResetAttackPlayer(NPCID);

    or

    ResetAttackPlayer();


    on died void or



    click banner to join gtracer!
    Reply With Quote  
     

  7. #7  
    Registered Member

    Join Date
    Jun 2008
    Posts
    1,957
    Thanks given
    7
    Thanks received
    256
    Rep Power
    445
    ok that fixed the glitch of that when you die, but if i apply it to the tellys nothing changes and goes back to the old glitch....

    anyone else help?

    btw it only delayed how long till it moved to you,......
    Last edited by Bando; 02-08-2009 at 11:39 PM. Reason: Double posting is not allowed!
    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
  •