Thread: Interface for Shop

Results 1 to 6 of 6
  1. #1 Interface for Shop 
    Registered Member
    Join Date
    May 2013
    Posts
    282
    Thanks given
    11
    Thanks received
    7
    Rep Power
    11
    I'm newer to coding and have no idea how I would put this dialogue to use. How would I get this dialogue/shop to open? Can it be used with an NPC? If so, how would I set it up?



    Code:
    package com.rs.game.player.dialogues;
    
    import com.rs.game.player.Player;
    
    public class Dungeoneering extends Dialogue {
    
    	public Dungeoneering() {
    	}
    
    	@Override
    	public void start() {
    		stage = 1;
    		sendOptionsDialogue("Dungeoneering Rewards", "Chaotic Rapier (200K)",
    				"Chaotic Maul (200K)", "Chaotic Staff (200K)", "Chaotic Crossbow (200K)",
    				"Next Page");
    
    	}
    
    	@Override
    	public void run(int interfaceId, int componentId) {
    		if (stage == 1) {
    			if (componentId == OPTION_1) {
    				if (Player.DungTokens >= 200000) {
    				player.getInventory().addItem(18349, 1);
    				Player.DungTokens -= 200000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_2) {
    				if (Player.DungTokens >= 200000) {
    				player.getInventory().addItem(18353, 1);
    				Player.DungTokens -= 200000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_3) {
    				if (Player.DungTokens >= 200000) {
    				player.getInventory().addItem(18355, 1);
    				Player.DungTokens -= 200000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_4) {
    				if (Player.DungTokens >= 200000) {
    				player.getInventory().addItem(18357, 1);
    				Player.DungTokens -= 200000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_5) {
    				sendOptionsDialogue("Pick a Dungeoneering Reward",
    						"Chaotic Longsword(200k)", "Arcane Stream Necklace (50K)",
    						"Ring of Vigour (75K)", "Farseer kiteshield (75K)", "Nevermind.");
    				stage = 4;
    			}
    		} else if (stage == 4) {
    			if (componentId == OPTION_1) {	
    				if (Player.DungTokens >= 200000) {
    				player.getInventory().addItem(18351, 1);
    				Player.DungTokens -= 200000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_2) {
    				if (Player.DungTokens >= 50000) {
    				player.getInventory().addItem(18335, 1);
    				Player.DungTokens -= 50000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_3) {
    				if (Player.DungTokens >= 75000) {
    				player.getInventory().addItem(19669, 1);
    				Player.DungTokens -= 75000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_4) {
    				if (Player.DungTokens >= 75000) {
    				player.getInventory().addItem(18363, 1);
    				Player.DungTokens -= 75000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    		    } else if (componentId == OPTION_5) {
    		        end();
    			}
    		}
    	}
    
    	@Override
    	public void finish() {
    	}
    
    }
    Reply With Quote  
     

  2. #2  
    Donator

    Join Date
    Jul 2015
    Posts
    173
    Thanks given
    15
    Thanks received
    15
    Rep Power
    31
    In npchandler add something like this:

    Code:
    if(npc.getId() == YOUR_NPC_ID_HERE)
    					player.getDialogueManager().startDialogue("Dungeoneering", npc.getId());
    Also, why would you have a dungeoneering shop as a dialogue? Why not just make a shop that uses your dungeoneering points?

    EDIT: If you're unsure on how to make a shop use points, just copy your voting points shop
    Reply With Quote  
     

  3. #3  
    Donator

    Fiddle's Avatar
    Join Date
    Dec 2011
    Age
    25
    Posts
    1,755
    Thanks given
    496
    Thanks received
    346
    Rep Power
    237
    NPCHandler.Java - handleoption1

    Code:
    if (npc.getId() == NPCIDHERE)
    {
    player.getDialogueManager().startDialogue("Dungeoneering");
    }
    make sure that the dialogue is added in DialogueHandler.java
    Don't be scared. It can't hurt you.
    Reply With Quote  
     

  4. #4  
    Registered Member
    Join Date
    May 2013
    Posts
    282
    Thanks given
    11
    Thanks received
    7
    Rep Power
    11
    Quote Originally Posted by iJustStake View Post
    In npchandler add something like this:

    Code:
    if(npc.getId() == YOUR_NPC_ID_HERE)
    					player.getDialogueManager().startDialogue("Dungeoneering", npc.getId());
    Also, why would you have a dungeoneering shop as a dialogue? Why not just make a shop that uses your dungeoneering points?

    EDIT: If you're unsure on how to make a shop use points, just copy your voting points shop
    Thank you! And because I added a money pouch to my source, and for some reason if you have coins in your money pouch it accepts the coins even though the shop uses the ID of dungeoneering tokens...
    Reply With Quote  
     

  5. #5  
    Registered Member
    Join Date
    Aug 2016
    Posts
    60
    Thanks given
    0
    Thanks received
    0
    Rep Power
    9
    Make it send by an npc in npchandler.java. Search for handleoption1 then find any else if npc.getid statement and put under it
    Code:
     	else if (npc.getId() == THE NPC ID YOU WANT TO USE HERE) 
    					player.getDialogueManager().startDialogue("YOUR DIALOGUE NAME HERE");
    Also don't forget to put the dialogue in dialoguehandler.java
    removed
    Reply With Quote  
     

  6. #6  
    Banned
    Join Date
    Sep 2016
    Posts
    7
    Thanks given
    1
    Thanks received
    0
    Rep Power
    0
    Quote Originally Posted by Dark Dagger View Post
    I'm newer to coding and have no idea how I would put this dialogue to use. How would I get this dialogue/shop to open? Can it be used with an NPC? If so, how would I set it up?



    Code:
    package com.rs.game.player.dialogues;
    
    import com.rs.game.player.Player;
    
    public class Dungeoneering extends Dialogue {
    
    	public Dungeoneering() {
    	}
    
    	@Override
    	public void start() {
    		stage = 1;
    		sendOptionsDialogue("Dungeoneering Rewards", "Chaotic Rapier (200K)",
    				"Chaotic Maul (200K)", "Chaotic Staff (200K)", "Chaotic Crossbow (200K)",
    				"Next Page");
    
    	}
    
    	@Override
    	public void run(int interfaceId, int componentId) {
    		if (stage == 1) {
    			if (componentId == OPTION_1) {
    				if (Player.DungTokens >= 200000) {
    				player.getInventory().addItem(18349, 1);
    				Player.DungTokens -= 200000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_2) {
    				if (Player.DungTokens >= 200000) {
    				player.getInventory().addItem(18353, 1);
    				Player.DungTokens -= 200000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_3) {
    				if (Player.DungTokens >= 200000) {
    				player.getInventory().addItem(18355, 1);
    				Player.DungTokens -= 200000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_4) {
    				if (Player.DungTokens >= 200000) {
    				player.getInventory().addItem(18357, 1);
    				Player.DungTokens -= 200000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_5) {
    				sendOptionsDialogue("Pick a Dungeoneering Reward",
    						"Chaotic Longsword(200k)", "Arcane Stream Necklace (50K)",
    						"Ring of Vigour (75K)", "Farseer kiteshield (75K)", "Nevermind.");
    				stage = 4;
    			}
    		} else if (stage == 4) {
    			if (componentId == OPTION_1) {	
    				if (Player.DungTokens >= 200000) {
    				player.getInventory().addItem(18351, 1);
    				Player.DungTokens -= 200000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_2) {
    				if (Player.DungTokens >= 50000) {
    				player.getInventory().addItem(18335, 1);
    				Player.DungTokens -= 50000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_3) {
    				if (Player.DungTokens >= 75000) {
    				player.getInventory().addItem(19669, 1);
    				Player.DungTokens -= 75000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    			} else if (componentId == OPTION_4) {
    				if (Player.DungTokens >= 75000) {
    				player.getInventory().addItem(18363, 1);
    				Player.DungTokens -= 75000;
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    		    } else if (componentId == OPTION_5) {
    		        end();
    			}
    		}
    	}
    
    	@Override
    	public void finish() {
    	}
    
    }
    go to player.java and add this :

    Code:
    	public int DungTokens = 0;
    	
    	public int getDungTokens() {
    		return DungTokens;
    	}
    	
    	public void setDungTokens(int dungTokens) {
    		DungTokens = dungTokens;
    	}
    Back in Dungeoneering.java (the shop) make the buy option like this :

    Code:
    if (componentId == OPTION_1) {
    				if (player.getDungTokens() >= 200000) {
    				player.getInventory().addItem(18349, 1);
    				player.setDungTokens(player.getDungTokens() - 200000);
    				player.getInventory().refresh();
    				player.getInterfaceManager().closeChatBoxInterface();
    				end();
    			    }else {
    				player.getPackets().sendGameMessage("You do not have enough Dungeoneering Tokens.");
    				end();
    				}
    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

Similar Threads

  1. pest control interface for delta
    By LastResortpkz in forum Tutorials
    Replies: 75
    Last Post: 07-26-2009, 09:12 AM
  2. new interface for quests help
    By over blown in forum Help
    Replies: 1
    Last Post: 04-15-2009, 03:31 AM
  3. GE price checker (for shops, trade, ge) 50%
    By wizzyt21 in forum Snippets
    Replies: 6
    Last Post: 03-19-2009, 02:26 PM
  4. Interface for clan chat?
    By Runite in forum Help
    Replies: 6
    Last Post: 11-03-2008, 02:16 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •