Thread: Dice Bag

Results 1 to 3 of 3
  1. #1 Dice Bag 
    Registered Member Coookie's Avatar
    Join Date
    May 2012
    Posts
    547
    Thanks given
    21
    Thanks received
    38
    Rep Power
    14
    so i added the DiceBag files in my source.
    already made the ''Roll'' thing on every bag.



    got these 2 files:

    Spoiler for DiceBag.java:

    package com.rs.game.player.dialogues;

    public class DiceBag extends Dialogue {

    private int oldDice;

    @Override
    public void start() {
    oldDice = (Integer) parameters[0];
    sendOptionsDialogue("What would you like to roll?", "One 6-sided die",
    "Two 6-sided dice", "One 4-sided die", "One 8-sided die",
    "More...");
    }

    @Override
    public void run(int interfaceId, int componentId) {
    switch (stage) {
    case -1:
    if (componentId == OPTION_1) {
    chooseDice(15086);
    } else if (componentId == OPTION_2) {
    chooseDice(15088);
    } else if (componentId == OPTION_3) {
    chooseDice(15088);
    } else if (componentId == OPTION_4) {
    chooseDice(15090);
    } else {
    sendOptionsDialogue("What would you like to roll?",
    "One 10-sided die", "Two 12-sided dice",
    "One 20-sided die", "Two 10-sided dice for 1-100",
    "Back...");
    stage = 1;
    }
    break;
    case 1:
    if (componentId == OPTION_1) {
    chooseDice(15092);
    } else if (componentId == OPTION_2) {
    chooseDice(15094);
    } else if (componentId == OPTION_3) {
    chooseDice(15096);
    } else if (componentId == OPTION_4) {
    chooseDice(15098);
    } else {
    sendOptionsDialogue("What would you like to roll?",
    "One 6-sided die", "Two 6-sided dice",
    "One 4-sided die", "One 8-sided die", "More...");
    stage = -1;
    }
    break;
    }
    }

    private void chooseDice(int newDice) {
    if (oldDice != -1)
    player.getInventory().deleteItem(oldDice, 1);
    player.getInventory().addItem(newDice, 1);
    end();
    }

    @Override
    public void finish() {

    }
    }


    Spoiler for Dicing.java:


    package com.rs.game.player.content;

    import java.util.Random;

    import com.rs.game.Animation;
    import com.rs.game.Graphics;
    import com.rs.game.player.Player;
    import com.rs.game.tasks.WorldTask;
    import com.rs.game.tasks.WorldTasksManager;

    public class Dicing {

    public static void handleRoll(final Player player, int itemId,
    boolean friends) {
    if (friends) {
    switch (itemId) {
    case 15086:
    friendsRoll(player, itemId, 2072, 1, 6);
    break;
    case 15088:
    friendsRoll(player, itemId, 2074, 1, 12);
    break;
    case 15090:
    friendsRoll(player, itemId, 2071, 1, 8);
    break;
    case 15092:
    friendsRoll(player, itemId, 2070, 1, 10);
    break;
    case 15094:
    friendsRoll(player, itemId, 2073, 1, 12);
    break;
    case 15096:
    friendsRoll(player, itemId, 2068, 1, 20);
    break;
    case 15098:
    friendsRoll(player, itemId, 2075, 1, 100);
    break;
    case 15100:
    friendsRoll(player, itemId, 2069, 1, 4);
    break;
    }
    } else {
    switch (itemId) {
    case 15086:
    privateRoll(player, itemId, 2072, 1, 6);
    break;
    case 15088:
    privateRoll(player, itemId, 2074, 1, 12);
    break;
    case 15090:
    privateRoll(player, itemId, 2071, 1, 8);
    break;
    case 15092:
    privateRoll(player, itemId, 2070, 1, 10);
    break;
    case 15094:
    privateRoll(player, itemId, 2073, 1, 12);
    break;
    case 15096:
    privateRoll(player, itemId, 2068, 1, 20);
    break;
    case 15098:
    privateRoll(player, itemId, 2075, 1, 100);
    break;
    case 15100:
    privateRoll(player, itemId, 2069, 1, 4);
    break;
    }
    }
    }

    public static void privateRoll(final Player player, final int itemId,
    int graphic, final int lowest, final int highest) {
    player.getPackets().sendGameMessage("Rolling...", true);
    player.getInventory().deleteItem(itemId, 1);
    player.setNextAnimation(new Animation(11900));
    player.setNextGraphics(new Graphics(graphic));
    WorldTasksManager.schedule(new WorldTask() {
    @Override
    public void run() {
    player.getInventory().addItem(itemId, 1);
    player.getPackets().sendGameMessage(
    "You rolled <col=db3535>" + getRandom(lowest, highest)
    + "</col> on " + diceText(itemId) + " die.",
    true);
    }
    }, 1);
    }

    public static void friendsRoll(final Player player, final int itemId,
    int graphic, final int lowest, final int highest) {
    final FriendChatsManager chat = player.getCurrentFriendChat();
    if (chat == null) {
    player.getPackets().sendGameMessage(
    "You need to be in a friend chat to use this option.");
    return;
    }
    player.lock(2);
    player.getPackets().sendGameMessage("Rolling...");
    player.getInventory().deleteItem(itemId, 1);
    player.setNextAnimation(new Animation(11900));
    player.setNextGraphics(new Graphics(graphic));
    WorldTasksManager.schedule(new WorldTask() {
    @Override
    public void run() {
    player.getInventory().addItem(itemId, 1);
    chat.sendDiceMessage(
    player,
    "Friends Chat channel-mate <col=db3535>"
    + player.getDisplayName()
    + "</col> rolled <col=db3535>"
    + getRandom(lowest, highest) + "</col> on "
    + diceText(itemId) + " die.");
    }
    }, 1);
    }

    public static int getRandom(int lowest, int highest) {
    Random r = new Random();
    if (lowest > highest) {
    return -1;
    }
    long range = (long) highest - (long) lowest + 1;
    long fraction = (long) (range * r.nextDouble());
    int numberRolled = (int) (fraction + lowest);
    return numberRolled;
    }

    public static String diceText(int id) {
    switch (id) {
    case 15086:
    return "a six-sided";
    case 15088:
    return "two six-sided";
    case 15090:
    return "an eight-sided";
    case 15092:
    return "a ten-sided";
    case 15094:
    return "a twelve-sided";
    case 15096:
    return "a a twenty-sided";
    case 15098:
    return "the percentile";
    case 15100:
    return "a four-sided";
    }
    return "";
    }

    public static int getGraphic(int id) {
    return 0;
    }
    }


    Anywone knows what to add now? probably in inventoryoptions.java but need some help getting it work.

    Thanks!
    Reply With Quote  
     

  2. #2  
    Registered Member Coookie's Avatar
    Join Date
    May 2012
    Posts
    547
    Thanks given
    21
    Thanks received
    38
    Rep Power
    14
    Bump
    Reply With Quote  
     

  3. #3  
    Registered Member

    Join Date
    Feb 2013
    Posts
    4,409
    Thanks given
    59
    Thanks received
    478
    Rep Power
    138
    add the dialogue in inventoryoptions
    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. [PI] Req Dice bag models +ints.
    By walex80 in forum Requests
    Replies: 2
    Last Post: 11-04-2011, 12:01 AM
  2. Dice Bag Model.
    By Clamarus in forum Models
    Replies: 1
    Last Post: 10-18-2011, 10:22 PM
  3. Dice Bag Model.
    By Clamarus in forum Help
    Replies: 1
    Last Post: 10-18-2011, 01:53 PM
  4. Dice Bag Model
    By w33zyscape in forum Requests
    Replies: 1
    Last Post: 08-22-2011, 09:15 PM
  5. [Req] Dice Bag
    By `Basher in forum Models
    Replies: 7
    Last Post: 07-07-2011, 03:18 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •