Thread: Updated thieving for Rs2D base source 1

Page 1 of 2 12 LastLast
Results 1 to 10 of 18
  1. #1 Updated thieving for Rs2D base source 1 
    Quantum Quack

    Eskwyre's Avatar
    Join Date
    Dec 2007
    Age
    29
    Posts
    871
    Thanks given
    3
    Thanks received
    15
    Rep Power
    220
    Ok ive been tinkering around with Thieving and ive decided im going to release my work

    Details: This comes with Paladins, Rogues, Heroes, Men, Farmer, Warrior Women and Gnomes they all work and give items.

    Tested source: Rs2D base source 1 by Jim/everyone else.

    Difficulty: 0.1 its only copy and pasting...

    Step 1: Open up Thieving.java in net.varek.rs2d.content.skills and replace everything in there with

    Code:
    package net.varek.rs2d.content.skills;
    import net.varek.rs2d.manager.NPCManager;
    import net.varek.rs2d.model.NPC;
    import net.varek.rs2d.model.Player;
    import net.varek.rs2d.model.PlayerAnimation;
    import net.varek.rs2d.net.ActionSender;
    public class Thieving implements SkillConstants {
    
    			public static boolean thieveFromNPC(int index, Player player, ActionSender sender) {
    				double xpToAdd = 20;
    				NPC npc = NPCManager.getNPC(index);
    				switch(npc.getId()) {
    					case 1:
    					sender.sendMessage("You thieve from the Man!");
    					player.addXP(xpToAdd, THIEVING);
    					player.getInventory().addItem(995,100);
    					player.setAnimation(new PlayerAnimation(881, 0));
    					player.getAnimation().setChanged(true);
    					player.getActionSender().sendResetInventory(3214);
    					break;
    					
    				case 365:
    					sender.sendMessage("You thieve from the Paladin");
    					player.addXP(xpToAdd*75, THIEVING);
    					player.getInventory().addItem(995, 20000);
    					player.getInventory().addItem(3140, 1);
    					player.setAnimation(new PlayerAnimation(881, 0));
    					player.getAnimation().setChanged(true);
    					player.getActionSender().sendResetInventory(3214);
    					break;
    					
    				case 21:
    					sender.sendMessage("You thieve from the Hero");
    					player.addXP(xpToAdd*100, THIEVING);
    					player.getInventory().addItem(995, 40000);
    					player.getInventory().addItem(4151, 1);
    					player.setAnimation(new PlayerAnimation(881, 0));
    					player.getAnimation().setChanged(true);
    					player.getActionSender().sendResetInventory(3214);
    					break;
    					
    				case 187:
    					sender.sendMessage("You thieve from the Rogue");
    					player.addXP(xpToAdd*14, THIEVING);
    					boolean item1 = Math.random()*100 > 99 ? true : false; //1 percent chance of happening
    					boolean item2 = Math.random()*100 >= 50 ? true : false; //50 percent chance of happening
    					boolean item3 = Math.random()*100 >= 98 ? true : false; //80 percent change of happening
    					boolean item4 = Math.random()*100 >= 99.9 ? true : false; //0.1 percent chance of getting a phat
    					if(item1){
    						player.getInventory().addItem(4587, 1);
    					} else if(item2){
    						player.getInventory().addItem(995, 4000);
    					} else if(item3) {
    						player.getInventory().addItem(5698, 1);
    					} else if(item4) {
    						player.getInventory().addItem(1038, 1);
    					} else {
    						player.getInventory().addItem(995, 800);
    					}
    					player.setAnimation(new PlayerAnimation(881, 0));
    					player.getAnimation().setChanged(true);
    					player.getActionSender().sendResetInventory(3214);
    					break;
    					
    				case 15:
    					sender.sendMessage("You thieve from the Warrior");
    					player.addXP(xpToAdd*4, THIEVING);
    					player.getInventory().addItem(995, 600);
    					player.setAnimation(new PlayerAnimation(881, 0));
    					player.getAnimation().setChanged(true);
    					player.getActionSender().sendResetInventory(3214);
    					break;
    					
    				case 7:
    					sender.sendMessage("You thieve from the Farmer");
    					player.addXP(xpToAdd*2, THIEVING);
    					player.getInventory().addItem(995, 300);
    					player.setAnimation(new PlayerAnimation(881, 0));
    					player.getAnimation().setChanged(true);
    					player.getActionSender().sendResetInventory(3214);
    					break;
    					
    				case 66: 
    					sender.sendMessage("You thieve from the Gnome");
    					player.addXP(xpToAdd*10, THIEVING);
    					player.getInventory().addItem(995, 10000);
    					player.setAnimation(new PlayerAnimation(881, 0));
    					player.getAnimation().setChanged(true);
    					player.getActionSender().sendResetInventory(3214);
    					break;
    					
    				}
    					
    					if(!player.getInventory().hasFreeSlots()){
    						return true;
    
    		}
    					return true;
    	}
    }
    .

    Ill explain some of the parts

    Code:
    boolean item1 = Math.random()*100 > 99 ? true : false; //1 percent chance of happening
    					boolean item2 = Math.random()*100 >= 50 ? true : false; //50 percent chance of happening
    					boolean item3 = Math.random()*100 >= 98 ? true : false; //80 percent change of happening
    					boolean item4 = Math.random()*100 >= 99.9 ? true : false; //0.1 percent chance of getting a phat
    					if(item1){
    						player.getInventory().addItem(4587, 1);
    					} else if(item2){
    						player.getInventory().addItem(995, 4000);
    					} else if(item3) {
    						player.getInventory().addItem(5698, 1);
    					} else if(item4) {
    						player.getInventory().addItem(1038, 1);
    					} else {
    						player.getInventory().addItem(995, 800);
    					}
    this bit of code gives you a random item with a certain percentage of chance to get the item.

    Code:
    player.getActionSender().sendResetInventory(3214);
    this bit as you can see resets the inventory its in every bit because otherwise the inventory wouldnt update and youd just get 100 or so coins everytime and itd stay that way..

    Ive got an updated version of this with delays but i aint releasing it until Rs2d Basic Source V.2 comes out.

    If you use give me or Jim credits atleast because he helped me out with it.
    Reply With Quote  
     

  2. #2  
    Quantum Quack

    Eskwyre's Avatar
    Join Date
    Dec 2007
    Age
    29
    Posts
    871
    Thanks given
    3
    Thanks received
    15
    Rep Power
    220
    Cheers..didnt take me long tbh..
    Reply With Quote  
     

  3. #3  
    ThuGie
    Guest
    Code:
    boolean item1 = Math.random()*100 > 99 ? true : false; //1 percent chance of happening
    					boolean item2 = Math.random()*100 >= 50 ? true : false; //50 percent chance of happening
    					boolean item3 = Math.random()*100 >= 98 ? true : false; //80 percent change of happening
    					boolean item4 = Math.random()*100 >= 99.9 ? true : false; //0.1 percent chance of getting a phat
    Shouldnt the it be 2 procent of happening the 100 >= 98 ?
    Reply With Quote  
     

  4. #4  
    Quantum Quack

    Eskwyre's Avatar
    Join Date
    Dec 2007
    Age
    29
    Posts
    871
    Thanks given
    3
    Thanks received
    15
    Rep Power
    220
    yeh but i forgot to change it lol...My bad..
    Reply With Quote  
     

  5. #5  
    Registered Member

    Join Date
    Aug 2007
    Posts
    2,395
    Thanks given
    2
    Thanks received
    63
    Rep Power
    558
    case 1:
    sender.sendMessage("You thieve from the Man!");
    player.addXP(xpToAdd, THIEVING);
    player.getInventory().addItem(995,100);
    player.setAnimation(new PlayerAnimation(881, 0));
    player.getAnimation().setChanged(true);
    player.getActionSender().sendResetInventory(3214);
    break;

    case 365:
    sender.sendMessage("You thieve from the Paladin");
    player.addXP(xpToAdd*75, THIEVING);
    player.getInventory().addItem(995, 20000);
    player.getInventory().addItem(3140, 1);
    player.setAnimation(new PlayerAnimation(881, 0));
    player.getAnimation().setChanged(true);
    player.getActionSender().sendResetInventory(3214);
    break;
    Why not make something like:
    Code:
    case #:
    name = "man"
    xp = 15
    itemToAdd1 = 353
    amount1 =100
    itemToAdd2 = 146
    amount 2 =545
    itemToAdd3 = 1687
    amount 3 =45
    break;
    and then under all cases something like this:

    Code:
    sender.sendMessage("You thieve from the "+name+" !");
    player.addXP(xp, THIEVING);
    if(itemToAdd1 > 0) player.getInventory().addItem(itemToAdd1,amount);
    ...
    player.setAnimation(new PlayerAnimation(881, 0));
    player.getAnimation().setChanged(true);
    player.getActionSender().sendResetInventory(3214);
    I think this should be better, then typing always the same ?
    Correct me if im wrong


    Jonas
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  6. #6  
    Quantum Quack

    Eskwyre's Avatar
    Join Date
    Dec 2007
    Age
    29
    Posts
    871
    Thanks given
    3
    Thanks received
    15
    Rep Power
    220
    ive changed it in version 2 which im gunna send to Jim for Rs2D base v.2 but i thought i might as well release this lol
    Reply With Quote  
     

  7. #7  
    Respected Donator
    Jordan's Avatar
    Join Date
    Mar 2007
    Age
    26
    Posts
    260
    Thanks given
    0
    Thanks received
    0
    Rep Power
    59
    Thanks for the awesome contribution!
    Reply With Quote  
     

  8. #8  
    Respected Member


    Luke132's Avatar
    Join Date
    Dec 2007
    Age
    32
    Posts
    12,549
    Thanks given
    177
    Thanks received
    5,784
    Discord
    View profile
    Rep Power
    5000
    Code:
    public void thieveStall(String object, int item, int itemAmt, int animation) {
    	sender.sendMessage(object);
    	player.addXP(xpToAdd*2, THIEVING);
    	player.getInventory().addItem(item, itemAmt);
    	player.setAnimation(new PlayerAnimation(animation, 0));
    	player.getAnimation().setChanged(true);
    	player.getActionSender().sendResetInventory(3214);
    }
    then add,
    Code:
    thieveStall("You thieve from the Farmer", 995, 300, 881);
    into each of the stalls/npc object cases.

    just looks like too much code too me, but i dont know if this is practical in Rs2D.

    Reply With Quote  
     

  9. #9  
    Ian...
    Guest
    yeh so i re-did it while im on my dinner break in this god forsaken course...

    Code:
    package net.varek.rs2d.content.skills;
    
    import net.varek.rs2d.manager.NPCManager;
    import net.varek.rs2d.model.NPC;
    import net.varek.rs2d.model.Player;
    import net.varek.rs2d.model.PlayerAnimation;
    import net.varek.rs2d.net.ActionSender;
    
    public class Thieving implements SkillConstants {
    
    	public static boolean thieveFromNPC(int index, Player player, ActionSender sender) {
    		int item = -1, amount = 0;
            double xp = 0;
            String message = "";
            NPC npc = NPCManager.getNPC(index);
                    
            switch(npc.getId()) {
    	    	case 1:
                    item = 995;
                    amount = 100;
                    messgae = "You attempt to pickpocket the Man.";
                    break;
    					
    			case 365:
                    item = 995;
                    amount = 20000;
                    messgae = "You attempt to pickpocket the Paladin.";
                    break;
    					
    		    case 21:
                    item = 995;
                    amount = 40000;
                    messgae = "You attempt to pickpocket the Hero.";
                    break;
    							
    			case 15:
                    item = 995;
                    amount = 600;
                    messgae = "You attempt to pickpocket the Warrior.";
                    break;
    					
    			case 7:
                    item = 995;
                    amount = 300;
                    messgae = "You attempt to pickpocket the Farmer.";
                    break;
    					
    		    case 66: 
                    item = 995;
                    amount = 10000;
                    messgae = "You attempt to pickpocket the Gnome.";
                    break;
    			}
                    
            sender.sendMessage("You thieve from the Gnome");
    		player.addXP(xp, THIEVING);
    		player.getInventory().addItem(995, 10000);
    		player.setAnimation(new PlayerAnimation(881, 0));
    		player.getAnimation().setChanged(true);
    		player.getActionSender().sendResetInventory(3214);
    				
            if(!player.getInventory().hasFreeSlots()){
    	    	return true;
    	    }
            
            return true;
    	}
    }
    i did it dead fast in intelliJ and well... these comps dont have JDK so a String turns into a error for me, give it a spin...

    Also i removed the rogue cos well it was a bit complicated tbh
    anyway yeh, tell m
    Reply With Quote  
     

  10. #10  
    Quantum Quack

    Eskwyre's Avatar
    Join Date
    Dec 2007
    Age
    29
    Posts
    871
    Thanks given
    3
    Thanks received
    15
    Rep Power
    220
    Lol..why was the rogue complicted? because of the booleans?
    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

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •