Thread: DeltaCleaned Attack Shopkeeper with mage

Results 1 to 7 of 7
  1. #1 DeltaCleaned Attack Shopkeeper with mage 
    Registered Member
    Division's Avatar
    Join Date
    Dec 2009
    Age
    29
    Posts
    2,208
    Thanks given
    41
    Thanks received
    78
    Rep Power
    97
    Npc's like a shop keeper, or just a simple npc with no "Attack" option, can be attacked by using magic and then "Cast on...".

    Its very weird, and how could i fix it?
    Reply With Quote  
     

  2. #2  
    Registered Member
    Division's Avatar
    Join Date
    Dec 2009
    Age
    29
    Posts
    2,208
    Thanks given
    41
    Thanks received
    78
    Rep Power
    97
    15 views no reply?
    Reply With Quote  
     

  3. #3  
    Registered Member

    Join Date
    Sep 2008
    Posts
    2,219
    Thanks given
    148
    Thanks received
    204
    Rep Power
    1570
    i'm not sure how you're doing npc definition loading, but you could add something like this on the magic on player packet:
    Code:
    int[] nonCombat = {
    	599, 600
    };
    
    for (int non : nonCombat) {
    	if (npcIndex(?) == non) {
    		break;
    	}
    }
    also if you set NPC hitpoints, you could just do:
    Code:
    if (npcIndex(?).getHitpoints() <= 0) {
    	return false;
    }
    I'm not sure how it would be, I'm guessing you could work off of what I posted.



    Reply With Quote  
     

  4. #4  
    Registered Member
    Division's Avatar
    Join Date
    Dec 2009
    Age
    29
    Posts
    2,208
    Thanks given
    41
    Thanks received
    78
    Rep Power
    97
    Didnt work out :/
    Anyways thanks for trying to help
    Reply With Quote  
     

  5. #5  
    Registered Member
    Xynth's Avatar
    Join Date
    May 2009
    Posts
    2,222
    Thanks given
    226
    Thanks received
    259
    Rep Power
    1155
    This is not created by me but just under, case 131: add

    Code:
    				if (npcTargetHealth < 1) {
    					sM("That monster has already been killed!");
    					break;
    				}
    Put it under the try statement. Or have my case 131:..

    Code:
    		case 131:
    			// Magic on NPCs //offsets switched op
    			int npcIndex = inStream.readSignedWordBigEndianA();
    			if (!((npcIndex >= 0) && (npcIndex < server.npcHandler.npcs.length))) {
    				break;
    			}
            		int EnemyX2 = server.npcHandler.npcs[npcIndex].absX;
            		int EnemyY2 = server.npcHandler.npcs[npcIndex].absY;
    			int npcMagicID = inStream.readSignedWordA();
    			int npcTargetX = server.npcHandler.npcs[npcIndex].absX;
    			int npcTargetY = server.npcHandler.npcs[npcIndex].absY;
    			int npcTargetHealth = server.npcHandler.npcs[npcIndex].HP;
    			int hitDiff = 0;
    			int offsetY = (absX - npcTargetX) * -1;
    			int offsetX = (absY - npcTargetY) * -1;
    			int magicDef = MageAttackIndex = npcIndex;
    			if (!antiHax())
    				break;
    
    			try {
    				if (npcTargetHealth < 1) {
    					sM("That monster has already been killed!");
    					break;
    				}
    				int type = server.npcHandler.npcs[npcIndex].npcType;
    if(server.npcHandler.npcs[npcIndex].hitIDNPC != 0 && server.npcHandler.npcs[npcIndex].hitIDNPC != playerId && !multiCombat()){
    sM("Someone else is already fighting your opponent.");
    break;
    }
    if(hitID != npcIndex && hitID != 0 && !multiCombat()){
    sM("I'm already under attack.");
    break;
    }
    if(fightcaves2){
    sM("These monsters are immune to magic attacks.");
    break;
    }
    				if (System.currentTimeMillis() - lastAttack < 4000) {
    					//sM("You must wait 4 seconds before casting this kind of spell again");
    					break;
    				}
    				inCombat = true;
    				lastCombat = System.currentTimeMillis();
    				lastAttack = lastCombat;
    
    				TurnPlayerTo(npcTargetX, npcTargetY);
    				updateRequired = true;
    				appearanceUpdateRequired = true;
    
    				toX = absX;
    				toY = absY;
    				MagicHandler.npcX = npcTargetX;
    				MagicHandler.npcY = npcTargetY;
    				MagicHandler.npcHP = npcTargetHealth;
    				server.npcHandler.npcs[npcIndex].hitIDNPC = playerId;
    				server.npcHandler.npcs[npcIndex].offTimerNPC = 12;
    				spellNpcIndex = MagicHandler.magicSpellNpc(npcMagicID,
    						playerId, npcIndex, playerLevel[6]);
    
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    			break;
    Attached image
    Reply With Quote  
     

  6. #6  
    Registered Member
    Division's Avatar
    Join Date
    Dec 2009
    Age
    29
    Posts
    2,208
    Thanks given
    41
    Thanks received
    78
    Rep Power
    97
    I have the same as you in case 131:
    So didnt work out, maybe try yourself by casting mage on a shopkeeper, maybe its just an overall delta bug
    Reply With Quote  
     

  7. #7  
    Registered Member
    Division's Avatar
    Join Date
    Dec 2009
    Age
    29
    Posts
    2,208
    Thanks given
    41
    Thanks received
    78
    Rep Power
    97
    bump!
    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
  •