Thread: Summoning for espeon

Page 1 of 4 123 ... LastLast
Results 1 to 10 of 32
  1. #1 Summoning for espeon 
    Pie ownz all!
    Pie's Avatar
    Join Date
    Oct 2008
    Age
    28
    Posts
    998
    Thanks given
    1
    Thanks received
    10
    Rep Power
    530
    Well this is gods army's summoning base he released, i made it to espeon because ppl had errors and i had requests from ppl for it.

    Add this in player.java

    Code:
    	public int FamiliarType = 0;
    	public int FamiliarID = 0;
    Under process() add this

    Code:
    		if (FamiliarID > 0)
    	{
    		NPC np = Engine.npcs[FamiliarID];
    		getActionSender().animateInterfaceId(this, 9850, 663, 3);
    		getActionSender().setNPCId(this, np.npcType, 663, 3);
    	}
    	if (skillLvl[2] > 110)
    	{
    		skillLvl[2] = 110;
    		getActionSender().setSkillLvl(this, 2);
    	}
    	if (SummonDelay > 0)
    	{
    		SummonDelay--;
    	}
    Now add this in Engine.java (i fixed the npcs disseapearing when u summoned them in this)

    Code:
     public static int newSummonNPC(int type, int absX, int absY, int height, int mRX1, int mRY1, int mRX2, int mRY2, boolean needsRespawn, int dude) {
            int index = -1;
    
            for (int i = 1; i < npcs.length; i++) {
                if (npcs[i] == null) {
                    index = i;
                    break;
                }
            }
            if (index == -1) {
                Misc.println("Max number of NPCs spawned.");
                return -1;
            }
            NPC n = npcs[index] = new NPC(type, index);
    	if (n.currentHP <= 0) {
    		n.currentHP = 100;
    	}
    
            n.absX = absX;
            n.absY = absY;
            n.makeX = absX;
            n.makeY = absY;
    
            n.heightLevel = height;
            NPCList nl = npcLists[type];
    n.followPlayer = dude;
    Player p = Engine.players[dude];
    p.FamiliarID = n.npcId;
    if(type != 6901 && type != 6903 && type != 6905 && type != 6907)
    {
    p.requestGFX(1316, 0);
    p.requestAnim(7660, 0);
    			n.requestGFX(1315, 0);
    }
    
            if (nl != null) {
    
                n.name = nl.npcName;
                n.combatLevel = nl.combatLevel;
                n.maxHP = nl.maxHP;
                n.currentHP = n.maxHP;
                n.maxHit = nl.maxHit;
                n.atkType = nl.atkType;
                n.weakness = nl.weakness;
                n.attackEmote = nl.attackEmote;
                n.defendEmote = nl.defendEmote;
                n.deathEmote = nl.deathEmote;
                n.attackDelay = nl.attackDelay;
            }
            return index;
        }
    go to npcmovment.java and replace the whole thing with this..

    Code:
    /*
     * Class NPCMovement
     *
     * Version 1.0
     *
     * Monday, August 18, 2008
     *
     * Created by Palidino76
     */
    
    package net.com.espeon.npcs.update;
    
    import net.com.espeon.util.ByteVector;
    import net.com.espeon.util.Misc;
    import net.com.espeon.*;
    import net.com.espeon.model.*;
    import net.com.espeon.npcs.*;
    
    public class NPCMovement
    {
    
    	/**
         * Tells the client in which direction to move the NPC.
    	 */
    		private byte[] xlateDirectionToClient = new byte[] { 1, 2, 4, 7, 6, 5, 3, 0 };
    
    	/**
         * Update an NPCs movement.
    	 * @param n The npc to get the data from.
    	 * @param str The stream class to write the bytes to.
    	 */
    		public void updateNPCMovement(NPC n, ByteVector str)
    	{
    		if (n == null || str == null)
    		{
    			return;
    		}
    		if (n.direction == -1)
    		{
    			if (n.updateReq)
    			{
    				str.writeBits(1, 1);
    				str.writeBits(2, 0);
    			}
    			else
    			{
    				str.writeBits(1, 0);
    			}
    		}
    		else
    		{
    			str.writeBits(1, 1);
    			str.writeBits(2, 1);
    			str.writeBits(3, xlateDirectionToClient[n.direction]);
    			str.writeBits(1, (n.updateReq) ? 1 : 0);
    		}
    	}
    
    	/**
         * Adds the new positioning onto the NPC.
         * @param n The npc to get the data from.
         */
    	public void getNextNPCMovement(NPC n)
    	{
    		if (n == null)
    		{
    			return;
    		}
    		if (n.moveX == 0 && n.moveY == 0)
    		{
    			return;
    				}
    				int dir = direction(n.absX, n.absY, (n.absX + n.moveX),
    								(n.absY + n.moveY));
    
    		if (dir == -1)
    		{
    			return;
    		}
    		n.updateReq = true;
    		dir >>= 1;
    		n.direction = dir;
    		n.absX += n.moveX;
    		n.absY += n.moveY;
    	}
    
    	/**
         * Random movement.
         * @param n The npc to get the data from.
         */
    	public void randomWalk(NPC n)
    	{
    		if (n == null)
    		{
    			return;
    		}
    		if (n.randomWalk && doesWalk(n) && !inRange(n, n.absX, n.absY))
    		{
    			n.moveX = getMove(n.absX, n.makeX);
    			n.moveY = getMove(n.absY, n.makeY);
    			getNextNPCMovement(n);
    		}
    		else if (n.randomWalk && Misc.random2(10) == 1 && doesWalk(n))
    		{
    			int moveX = Misc.random(1);
    						int moveY = Misc.random(1);
    						int rnd = Misc.random2(4);
    
    			if (rnd == 1)
    			{
    				moveX = -(moveX);
    				moveY = -(moveY);
    			}
    			else if (rnd == 2)
    			{
    				moveX = -(moveX);
    			}
    			else if (rnd == 3)
    			{
    				moveY = -(moveY);
    			}
    			if (inRange(n, n.absX + moveX, n.absY + moveY))
    			{
    				n.moveX = moveX;
    				n.moveY = moveY;
    				getNextNPCMovement(n);
    			}
    		}
    	}
    
    	/**
         * Returns true if the npcs range isn't 0.
         * @param n The npc to get the data from.
         * @return Returns if the NPC has a walking range.
         */
    	public boolean doesWalk(NPC n)
    	{
    		if (n == null)
    		{
    			return false;
    		}
    		return (n.moveRangeX1 > 0 && n.moveRangeY1 > 0 && n.moveRangeX2 > 0
    				&& n.moveRangeY2 > 0);
    	}
    
    	/**
         * Check to make sure the new movement is in range.
         * @param n The npc to get the data from.
         * @param moveX The attempted new walking x.
         * @param moveY The attempted new walking y.
         * @return Returns in the NPC is in walking range.
         */
    	private boolean inRange(NPC n, int moveX, int moveY)
    	{
    		if (n == null)
    		{
    			return false;
    		}
    		if (moveX <= n.moveRangeX1 && moveX >= n.moveRangeX2
    								&& moveY <= n.moveRangeY1 && moveY >= n.moveRangeY2)
    		{
    						return true;
    				}
    				return false;
    	}
    
    	/**
         * Get the walking direction.
         */
    	private int direction(int srcX, int srcY, int destX, int destY)
    	{
    		int dx = destX - srcX, dy = destY - srcY;
    
    		if (dx < 0)
    		{
    			if (dy < 0)
    			{
    				if (dx < dy)
    				{
    										return 11;
    								}
    				else if (dx > dy)
    				{
    										return 9;
    								}
    				else
    				{
    										return 10;
    								}
    			}
    			else if (dy > 0)
    			{
    				if (-dx < dy)
    				{
    					return 15;
    				}
    				else if (-dx > dy)
    				{
    					return 13;
    				}
    				else
    				{
    					return 14;
    				}
    			}
    			else
    			{
    				return 12;
    			}
    		}
    		else if (dx > 0)
    		{
    			if (dy < 0)
    			{
    				if (dx < -dy)
    				{
    					return 7;
    								}
    				else if (dx > -dy)
    				{
    										return 5;
    				}
    				else
    				{
    					return 6;
    				}
    			}
    			else if (dy > 0)
    			{
    				if (dx < dy)
    				{
    					return 1;
    				}
    				else if (dx > dy)
    				{
    					return 3;
    				}
    				else
    				{
    					return 2;
    				}
    			}
    			else
    			{
    				return 4;
    			}
    		}
    		else
    		{
    			if (dy < 0)
    			{
    				return 8;
    			}
    			else if (dy > 0)
    			{
    				return 0;
    			}
    			else
    			{
    				return -1;
    			}
    		}
    	}
    
    	/**
         * Get the movement for following two coordinates.
         */
    	public int getMove(int Place1, int Place2)
    	{
    		if ((Place1 - Place2) == 0)
    			return 0;
    		else if ((Place1 - Place2) < 0)
    			return 1;
    		else if ((Place1 - Place2) > 0)
    			return -1;
    		return 0;
    	}
    }
    Go to npcs/update and make a new file called Followers.java and put this in it

    Code:
    	Player p;
    
    	/**
    	 * Class constructor.
    	 * @param p the player which the constructor should be made for.
    	 */
    	public Followers(Player p) {
    		this.p = p;
    	}
    
    	/**
    	 * Holds values to get pet type which is gonna be summoned
    	 * @param droppedId the item which is dropped to summon the pet.
    	 */
    	public int getSummonNpc(int droppedId) {
    		switch (droppedId) {
    
    			case 7581: return 3503;
    
    			default:
    				return 0;
    		}
    	}
    
    	/**
    	 * Sets if player has a follower (pet) or not.
    	 * @param summonedPet the pet summoned variable.
    	 */
    	public void setSummonedNpc(boolean summonedPet) {
    		p.summonedPet = summonedPet;
    	}
    
    }
    add this in npc.java

    Code:
    	public int followPlayer = 0;
    find

    Code:
    public void appendPlayerFollowing(Player p, NPC n)
    and replace the void with

    Code:
    	public void appendPlayerFollowing(Player p, NPC n)
    	{
    		if (p == null)
    		{
    			return;
    		}
    		int pX = p.absX;
    		int pY = p.absY;
    
    		requestFaceCoords(pX, pY);
    
    		if (n.absX > pX + 15 || n.absY > pY + 15 || n.absX < pX - 15 || n.absY < pY - 15 || n.heightLevel < p.heightLevel || n.heightLevel > p.heightLevel)
    		{
    			if (p.FamiliarID > 0 || p.FamiliarType > 0)
    			{
    				requestGFX(1315, 0);
    			}
    			n.absX = pX;
    			n.absY = pY + 1;
    			heightLevel = p.heightLevel;
    		}
    		if (pY < n.absY && pX == n.absX)
    		{
    			n.moveX = 0;
    			n.moveY = Engine.npcMovement.getMove(n.absY, pY + 1);
    		}
    		else if (pY > n.absY && pX == n.absX)
    		{
    			n.moveX = 0;
    			n.moveY = Engine.npcMovement.getMove(n.absY, pY - 1);
    		}
    		else if (pX < n.absX && pY == n.absY)
    		{
    			n.moveX = Engine.npcMovement.getMove(n.absX, pX + 1);
    			n.moveY = 0;
    		}
    		else if (pX > n.absX && pY == n.absY)
    		{
    			n.moveX = Engine.npcMovement.getMove(n.absX, pX - 1);
    			n.moveY = 0;
    		}
    		else if (pX < n.absX && pY < n.absY)
    		{
    			n.moveX = Engine.npcMovement.getMove(n.absX, pX + 1);
    			n.moveY = Engine.npcMovement.getMove(n.absY, pY + 1);
    		}
    		else if (pX > n.absX && pY > n.absY)
    		{
    			n.moveX = Engine.npcMovement.getMove(n.absX, pX - 1);
    			n.moveY = Engine.npcMovement.getMove(n.absY, pY - 1);
    		}
    		else if (pX < n.absX && pY > n.absY)
    		{
    			n.moveX = Engine.npcMovement.getMove(n.absX, pX + 1);
    			n.moveY = Engine.npcMovement.getMove(n.absY, pY - 1);
    		}
    		else if (pX > n.absX && pY < n.absY)
    		{
    			n.moveX = Engine.npcMovement.getMove(n.absX, pX - 1);
    			n.moveY = Engine.npcMovement.getMove(n.absY, pY + 1);
    		}
    		Engine.npcMovement.getNextNPCMovement(n);
    	}
    Now in TestWorldLoader.java add this

    Code:
    NPC np = Engine.npcs[getOwner().FamiliarID];
    
    if(getOwner().FamiliarType > 0)
    {
    if(getOwner().FamiliarType == 6901)
    {
    getOwner().getActionSender().setTab(getOwner(), 80, 663);
    getOwner().getActionSender().animateInterfaceId(getOwner(), 9850, 663, 3);
    getOwner().getActionSender().setNPCId(getOwner(), 6901, 663, 3);
    Engine.newSummonNPC(6901, getOwner().absX, getOwner().absY+1, getOwner().heightLevel, getOwner().absX + 1, getOwner().absY + 1, getOwner().absX + -1, getOwner().absY + -1, false, getOwner().playerId);
    }
    if(getOwner().FamiliarType == 6903)
    {
    getOwner().getActionSender().setTab(getOwner(), 80, 663);
    getOwner().getActionSender().animateInterfaceId(getOwner(), 9850, 663, 3);
    getOwner().getActionSender().setNPCId(getOwner(), 6903, 663, 3);
    Engine.newSummonNPC(6903, getOwner().absX, getOwner().absY+1, getOwner().heightLevel, getOwner().absX + 1, getOwner().absY + 1, getOwner().absX + -1, getOwner().absY + -1, false, getOwner().playerId);
    }
    if(getOwner().FamiliarType == 6905)
    {
    getOwner().getActionSender().setTab(getOwner(), 80, 663);
    getOwner().getActionSender().animateInterfaceId(getOwner(), 9850, 663, 3);
    getOwner().getActionSender().setNPCId(getOwner(), 6905, 663, 3);
    Engine.newSummonNPC(6905, getOwner().absX, getOwner().absY+1, getOwner().heightLevel, getOwner().absX + 1, getOwner().absY + 1, getOwner().absX + -1, getOwner().absY + -1, false, getOwner().playerId);
    }
    if(getOwner().FamiliarType == 6907)
    {
    getOwner().getActionSender().setTab(getOwner(), 80, 663);
    getOwner().getActionSender().animateInterfaceId(getOwner(), 9850, 663, 3);
    getOwner().getActionSender().setNPCId(getOwner(), 6907, 663, 3);
    Engine.newSummonNPC(6907, getOwner().absX, getOwner().absY+1, getOwner().heightLevel, getOwner().absX + 1, getOwner().absY + 1, getOwner().absX + -1, getOwner().absY + -1, false, getOwner().playerId);
    }
    }
    add this import if u dont have

    Code:
    import net.com.espeon.npcs.NPC;
    Also add that import in Actionbuttons.java

    now add this in actionbutton

    Code:
    			case 663:
    				NPC np = Engine.npcs[p.FamiliarID];
    				switch (buttonId)
    				{
    					case 23://Dismiss
    						if (np != null)
    						{
    							p.FamiliarType = 0;
    							np.isDead = true;
    							p.FamiliarID = 0;
    							p.frames.setTab(p, 80, 18);
    						}
    						break;
    
    					case 21://call
    						if (np != null)
    						{
    							np.absX = p.absX;
    							np.absY = p.absY + 1;
    							np.heightLevel = p.heightLevel;
    							p.requestGFX(1315, 0);
    						}
    						break;
    				}
    
    				break;
    add this in npcoption1.java

    Code:
    import net.com.espeon.npcs.NPC;
    find

    Code:
    public void handlePacket(Player p, int packetId, int packetSize){
    replace with

    Code:
    	public NPC n;
        public void handlePacket(Player p, int packetId, int packetSize) {
    now right above switch (p.clickid) { add

    Code:
    		NPC pnp = Engine.npcs[p.clickId];
    		NPC np = Engine.npcs[p.FamiliarID];
    now in itemoption1.java add all this (i added spirit terrorbird >.>)

    Code:
    			case 12175://Spirit Wolf
    				if (p.FamiliarID > 0)
    				{
    					p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    				}
    				else
    				{
    					Engine.playerItems.deleteItem(p, 12047, itemSlot, 1); // Summoning: Spirt Wolf
    					p.getActionSender().sendMessage(p, "You summon a Spirit Wolf.");
    					p.getActionSender().setTab(p, 80, 663);
    					p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    					p.getActionSender().setNPCId(p, 6829, 663, 3);
    					Engine.newSummonNPC(6829, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    					p.addSkillXP(1600, 23);
    
    				}
    				break;
    			case 12171://DreadFowl
    				if (p.skillLvl[23] > 3)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12043, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Dread Fowl");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 6825, 663, 3);
    						Engine.newSummonNPC(6825, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(3000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 4 summoning to summon that.");
    				}
    				break;
    			case 12187://Spirit Spider
    				if (p.skillLvl[23] > 9)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12059, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Spirit Spider");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 6841, 663, 3);
    						Engine.newSummonNPC(6841, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(5000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 10 summoning to summon that.");
    				}
    				break;
    
    			case 11891://Thorny Snail
    				if (p.skillLvl[23] > 12)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12019, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Thorny snail.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 6806, 663, 3);
    						Engine.newSummonNPC(6806, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(6000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 13 summoning to summon that.");
    				}
    				break;
    
    			case 12936://Spirit Tz-Kih
    				if (p.skillLvl[23] > 21)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12808, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Spirit Tz-Kih.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 7361, 663, 3);
    						Engine.newSummonNPC(7361, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(7000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 22 summoning to summon that.");
    				}
    				break;
    
    			case 12201://Bronze Minotour
    				if (p.skillLvl[23] > 35)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12073, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Bronze Minotour.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 6853, 663, 3);
    						Engine.newSummonNPC(6853, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(8000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 36 summoning to summon that.");
    				}
    				break;
    
    			case 12203://Iron Minotour
    				if (p.skillLvl[23] > 45)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12075, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon an Iron Minotour.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 6855, 663, 3);
    						Engine.newSummonNPC(6855, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(10000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 46 summoning to summon that.");
    				}
    				break;
    
    			case 12205://Steel Minotour
    				if (p.skillLvl[23] > 55)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12077, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Steel Minotour.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 6857, 663, 3);
    						Engine.newSummonNPC(6857, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(12000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 56 summoning to summon that.");
    				}
    				break;
    
    			case 12207://Mithril Minotour
    				if (p.skillLvl[23] > 65)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12079, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Mithril Minotour.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 6859, 663, 3);
    						Engine.newSummonNPC(6859, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(14000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 66 summoning to summon that.");
    				}
    				break;
    
    			case 11879://Terror Bird
    				if (p.skillLvl[23] > 52)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12007, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Spirit Terrorbird.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 6794, 663, 3);
    						Engine.newSummonNPC(6794, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(16000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 52 summoning to summon that.");
    				}
    				break;
    
    			case 12209://Adamant Minotour
    				if (p.skillLvl[23] > 75)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12081, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Adamant Minotour.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 6861, 663, 3);
    						Engine.newSummonNPC(6861, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(16000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 76 summoning to summon that.");
    				}
    				break;
    
    			case 12211://Rune Minotour
    				if (p.skillLvl[23] > 85)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12083, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Rune Minotour.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 6863, 663, 3);
    						Engine.newSummonNPC(6863, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(26000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 86 summoning to summon that.");
    				}
    				break;
    
    			case 12930://Fire Titan
    				if (p.skillLvl[23] > 78)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12802, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Fire Titan.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 7355, 663, 3);
    						Engine.newSummonNPC(7355, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(18000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 79 summoning to summon that.");
    				}
    				break;
    
    			case 12932://Moss Titan
    				if (p.skillLvl[23] > 78)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12804, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Moss Titan.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 7357, 663, 3);
    						Engine.newSummonNPC(7357, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(18000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 79 summoning to summon that.");
    				}
    				break;
    
    			case 12934://Ice Titan
    				if (p.skillLvl[23] > 78)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12806, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Ice Titan.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 7359, 663, 3);
    						Engine.newSummonNPC(7359, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(18000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 79 summoning to summon that.");
    				}
    				break;
    
    			case 12660://Lava Titan
    				if (p.skillLvl[23] > 82)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12788, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Lava Titan.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 7341, 663, 3);
    						Engine.newSummonNPC(7341, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(20000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 83 summoning to summon that.");
    				}
    				break;
    
    			case 12648://Swamp Titan
    				if (p.skillLvl[23] > 84)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12776, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Swamp Titan.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 7329, 663, 3);
    						Engine.newSummonNPC(7329, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(22500, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 85 summoning to summon that.");
    				}
    				break;
    
    
    
    			case 12658://Geyser Titan
    				if (p.skillLvl[23] > 88)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12786, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Geyser Titan.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 7339, 663, 3);
    						Engine.newSummonNPC(7339, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(25000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 89 summoning to summon that.");
    				}
    				break;
    
    			case 12668://Abyssal Titan
    				if (p.skillLvl[23] > 92)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12796, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Abyssal Titan.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 7349, 663, 3);
    						Engine.newSummonNPC(7349, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(28000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 93 summoning to summon that.");
    				}
    				break;
    
    			case 12950://Iron Titan
    				if (p.skillLvl[23] > 94)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12822, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon an Iron Titan.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 7375, 663, 3);
    						Engine.newSummonNPC(7375, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(30000, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 95 summoning to summon that.");
    				}
    				break;
    			case 12662://Steel Titan
    				if (p.skillLvl[23] > 98)
    				{
    					if (p.FamiliarID > 0)
    					{
    						p.getActionSender().sendMessage(p, "You cannot summon more than one familiar at a time.");
    					}
    					else
    					{
    						Engine.playerItems.deleteItem(p, 12790, itemSlot, 1);
    						p.getActionSender().sendMessage(p, "You summon a Steel Titan.");
    						p.getActionSender().setTab(p, 80, 663);
    						p.getActionSender().animateInterfaceId(p, 9850, 663, 3);
    						p.getActionSender().setNPCId(p, 7343, 663, 3);
    						Engine.newSummonNPC(7343, p.absX, p.absY + 1, p.heightLevel, p.absX + 1, p.absY + 1, p.absX + -1, p.absY + -1, false, p.playerId);
    						p.addSkillXP(10, 23);
    
    					}
    				}
    				else
    				{
    					p.getActionSender().sendMessage(p, "You need at least level 99 summoning to summon that.");
    				}
    				break;
     

  2. #2  
    Sexy Donator
    Downfall's Avatar
    Join Date
    Oct 2008
    Age
    29
    Posts
    1,084
    Thanks given
    10
    Thanks received
    1
    Rep Power
    393
    thx dude u posted this for me any ty


    Did you know?
    - JaGeX has enough money to buy 8,000,000 tons of SuperCrack.
     

  3. #3  
    Registered Member

    Join Date
    Sep 2008
    Posts
    2,156
    Thanks given
    3
    Thanks received
    2
    Rep Power
    182
    very nice. i cba to fix, to much to do atm
     

  4. #4  
    Registered Member

    Join Date
    Jan 2008
    Posts
    2,340
    Thanks given
    20
    Thanks received
    575
    Rep Power
    1202
    c0nv3ntionz

    wuts so hard bout changing frames to getActionSender() anyway?

    People should just declare something as so in the Player class:

    Code:
    public ActionSender frames;
    So they could use frames instead of constantly changing to getActionSender()
     

  5. #5  
    Encouragin
    Guest
    Quote Originally Posted by Rune-Dayz View Post
    This does not work make a full tutorial before any noob tries it out and gets over 76 errors.
    Ex: you.
     

  6. #6  
    Axed
    Guest
    I fixed all the errors and stuff but it doesn't follow why?
     

  7. #7  
    Sexy Donator
    Downfall's Avatar
    Join Date
    Oct 2008
    Age
    29
    Posts
    1,084
    Thanks given
    10
    Thanks received
    1
    Rep Power
    393
    Quote Originally Posted by Encouragin View Post
    Ex: you.
    lolz nice 1 thats acually funny


    Did you know?
    - JaGeX has enough money to buy 8,000,000 tons of SuperCrack.
     

  8. #8  
    Registered Member

    Join Date
    Sep 2008
    Posts
    2,156
    Thanks given
    3
    Thanks received
    2
    Rep Power
    182
    Quote Originally Posted by Encouragin View Post
    Ex: you.
    how did he get the 76 #? oh thats probably how many he got.
     

  9. #9  
    Registered Member
    Join Date
    Feb 2009
    Posts
    399
    Thanks given
    9
    Thanks received
    20
    Rep Power
    29
    Nice tut pie, wont use it though.
     

  10. #10  
    Axed
    Guest
    Why don't the NPCS FOLLOW!?
     

Page 1 of 4 123 ... LastLast

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
  •