Jump to content

Search the Community

Showing results for tags 'loyalty'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RuneLocus
    • News & Announcements
    • Information Booth
    • Website Support
    • Introductions
    • Chat
    • Forum Games
  • RuneScape Development
    • RSPS General
    • RuneScape Private Server (RS2)
    • RuneScape Private Server (503+)
    • RuneScape Private Server (EoC 742+)
  • Other
    • Digital Art
    • Gaming
    • Webdevelopment
    • Computers
  • Marketplace
    • RuneScape Market
    • RSPS Market
    • Others Market
    • Freelance Middleman Services
  • Super Secret Club's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 33 results

  1. Ziek`

    avDariR.jpg

    1. Cart

      Cart

      WeirdChamp

    2. Ziek`

      Ziek`

      This is a 100% real screenshot from MSN days

    3. Ziek`

      Ziek`

      I also have

       kDaDoS0.png

  2. [COLOR="#000000"]Hi Guys this is my first tutorial on changing loyalty titles on the titles that u want to replace em. and im so excited to share this tutorial. :)) This will only work on Deathlypvpz,PI Servers that has Loyalty Programe.and If you add a Loyalty Programe on ur Server. [/COLOR] [COLOR="#0000FF"]I dont know if this has been released several times, but I couldn't find 1 snippet for it, so I just made my own.[/COLOR] [COLOR="#0000FF"]Source+Client:Deathlypvpz by hack3r,PI Servers that has Loyalty Programe.and If you add a Loyalty Programe on ur Server.[/COLOR] [COLOR="#0000FF"]Files Modified: ClickingButtons.java,client.java,and RSInterface.java[/COLOR] [COLOR="#0000FF"]Difficulty: 2/10[/COLOR] The Loyalty Programe Should Look Like this at 1st. But Later after changing it, The title will change. [ATTACH=CONFIG]8683[/ATTACH] 1st off Go to ur ClickingButtons.java at Source file. and search for "//loyalty Title". and u will see something like this. [code] //loyalty Title on PlayerTab START case 113239: c.playerTitle = 0; c.sendMessage("You Have Reset your playertitle!"); break; case 43204: if (c.LoyaltyPoints >= 5000) { c.getItems().addItem(15017, 1); c.sendMessage("You Purchase the Death Cape! You now have "+c.LoyaltyPoints+" Points"); c.LoyaltyPoints -= 5000; } else { c.sendMessage("You Need 5000 Loyalty Points for this (Play some more)"); } break; case 43208: if (c.LoyaltyPoints >= 1500) { c.getItems().addItem(15017, 1); c.sendMessage("You Purchase the Double Xp Ring! You now have "+c.LoyaltyPoints+" Points"); c.LoyaltyPoints -= 1500; } else { c.sendMessage("You Need 1500 Loyalty Points for this (Play some more)"); } break; case 59108: if (c.LoyaltyPoints >= 75) { c.playerTitle = 2; c.LoyaltyPoints -= 75; c.sendMessage("You Apply Sir, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 75 Loyalty Points for this (Play some more)"); } break; case 59111: if (c.LoyaltyPoints >= 150) { c.playerTitle = 1; c.LoyaltyPoints -= 150; c.sendMessage("You Apply Lord, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 150 Loyalty Points for this (Play some more)"); } break; case 59112: if (c.LoyaltyPoints >= 150) { c.playerTitle = 17; c.LoyaltyPoints -= 150; c.sendMessage("You Apply Lady, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 150 Loyalty Points for this (Play some more)"); } break; case 59114: if (c.LoyaltyPoints >= 300) { c.playerTitle = 6; c.LoyaltyPoints -= 300; c.sendMessage("You Apply King, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 300 Loyalty Points for this (Play some more)"); } break; case 59116: if (c.LoyaltyPoints >= 300) { c.playerTitle = 24; c.LoyaltyPoints -= 300; c.sendMessage("You Apply Queen, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 300 Loyalty Points for this (Play some more)"); } break; case 59118: if (c.LoyaltyPoints >= 500) { c.playerTitle = 31; c.LoyaltyPoints -= 500; c.sendMessage("You Apply Master, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 500 Loyalty Points for this (Play some more)"); } break; case 59120: if (c.LoyaltyPoints >= 1000) { c.playerTitle = 35; c.LoyaltyPoints -= 1000; c.sendMessage("You Apply Royal, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 1000 Loyalty Points for this (Play some more)"); } break; case 59122: if (c.LoyaltyPoints >= 2000) { c.playerTitle = 34; c.LoyaltyPoints -= 2000; c.sendMessage("You Apply 1337, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 2000 Loyalty Points for this (Play some more)"); } break; [/code] Now Im going to explain to you how to replace that title on what you want. Example: [code] case 59108: if (c.LoyaltyPoints >= 75) { c.playerTitle = 2; c.LoyaltyPoints -= 75; c.sendMessage("You Apply Sir, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 75 Loyalty Points for this (Play some more)"); } break; [/code] As you can see, "if (c.LoyaltyPoints >= 75) {" Thats for the title on how much it costs If your going to purchase it, But if u want to change it Np. "c.playerTitle = 2;" Thats for the loyalty titles on Written at client.java as case 2: return "sir "; "c.LoyaltyPoints -= 75;" Thats for the title on how much it costs If your going to purchase it, But if u want to change it Np. And "c.sendMessage("You Need 75 Loyalty Points for this (Play some more)");" Thats the message will pop out at the chat box. Now lets change the title. Example: I want to change The "Sir" Title To Junior Cadet. [code] case 59108: if (c.LoyaltyPoints >= 75) { c.playerTitle = 2; c.LoyaltyPoints -= 75; c.sendMessage("You Apply Sir, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 75 Loyalty Points for this (Play some more)"); } break; [/code] Then Im going to replace that code to This. [code] case 59108: if (c.LoyaltyPoints >= 75) { c.playerTitle = 2; c.LoyaltyPoints -= 75; c.sendMessage("You Apply Junior Cadet, You now have "+c.LoyaltyPoints+""); } else { c.sendMessage("You Need 75 Loyalty Points for this (Play some more)"); } break; [/code] Exit and Save. Then next go to client.java and search for "public String getRank(int i){" And you will see this. [code] public String getRank(int i){ switch(i){ case 1: return "Lord "; case 2: return "Sir "; case 3: return "Lionheart "; case 4: return "Desperado "; case 5: return "Bandito "; case 6: return "King "; case 7: return "Big Cheese "; case 8: return "Wunderkind "; case 9: return "Crusader "; case 10: return "Overlord "; case 11: return "Bigwig "; case 12: return "Count "; case 13: return "Duderino "; case 14: return "Hell Raiser "; case 15: return "Baron "; case 16: return "Duke "; case 17: return "Lady "; case 18: return "Dame "; case 19: return "Dudette "; case 20: return "Baroness "; case 21: return "Countess "; case 22: return "Overlordess "; case 23: return "Duchess "; case 24: return "Queen "; case 25: return "Donator "; case 26: return "Extreme Donator "; case 27: return "Veteran "; case 28: return "Owner "; case 29: return "Co-Owner "; case 30: return "Trusted-Dicer "; case 31: return "Master "; case 32: return "Dicer "; case 33: return "Mistress "; case 34: return "1337 "; case 35: return "Royal "; case 36: return "Ancient "; case 37: return "The Bawz "; } return ""; } [/code] Replace: [code] case 2: return "Sir "; [/code] To. [code] case 2: return "Junior Cadet "; [/code] Exit And Save. Now we want to make the Title "Junior Cadet" Pop out on the loyalty/title Interface. Go to RSInterface.java Client File. and search for [code] public static void LoyaltyTitles(TextDrawingArea[] tda) { [/code] Scroll Down Until you see [code] addText(15230, "Sir", 0xff9b00, false, true, 20, tda, 2); // Title addText(15229, "75 Points", 0xff9b00, false, true, 20, tda, 1); // Title [/code] Then Replace that code to [code] addText(15230, "Junior Cadet", 0xff9b00, false, true, 20, tda, 2); // Title addText(15229, "75 Points", 0xff9b00, false, true, 20, tda, 1); // Title [/code] Exit,save And Compile Thats it now it should look like this. Junior Cadet should pop out on the titles. [ATTACH=CONFIG]8684[/ATTACH] Were done ! We Changed the title that you want. :)) Enjoy Guys Comment or Thank Me if its helpful :P
  3. [CODE]package org.elixrr.game.player.content.loyalty; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.Map.Entry; import org.elixrr.cache.loaders.ItemDefinitions; import org.elixrr.game.item.Item; import org.elixrr.game.player.Player; import org.elixrr.utils.Utils; /** * @author Taylor Moon * * @version Elixrr 2 | update 3 */ public class LoyaltyProgramme implements Serializable { /** * The list of loyalty items */ private static final HashMap<Integer, LoyaltyItem> ITEMS = new HashMap<Integer, LoyaltyItem>(); /** * An array of available loyalty shop categories */ public static final String[] CATEGORIES = { "auras", "emotes", "outfits", "titles", "special-offers", "limmited-edition", "recolor", "effects" }; /** * The serial UID */ private static final long serialVersionUID = -111881367666488484L; /** * The loyalty shop interface */ public static final int INTERFACE_ID = 1143; /** * The tab switch config */ public static final int TAB_CONFIG = 2226; /** * The current tab */ private int currentTab; /** * The player using the programme */ private Player player; /** * Initiates the loyalty programme */ public LoyaltyProgramme() { ITEMS.put(0, new LoyaltyItem(2000, 0, 20957, "auras")); ITEMS.put(1, new LoyaltyItem(2750, 1, 20958, "auras")); } /** * Resets the loyalty shop * * @param boughtItems * True if reset this * @param favoritedItems * True if reset this * @param pointsDisplay * True if reset this */ public void reset(boolean boughtItems, boolean favoritedItems, boolean pointsDisplay) { if (boughtItems) { for (int i = 2229; i == 2232; i++) player.getPackets().sendConfig(i, -1); } if (favoritedItems) { for (int i = 2391; i == 2394; i++) player.getPackets().sendConfig(i, -1); } if (pointsDisplay) { player.getPackets().sendIComponentText(INTERFACE_ID, 127, "" + Utils.formatTypicalInteger(player.getLoyaltyPoints())); } } /** * Opens the loyalty shop interface */ public void openShop() { player.getInterfaceManager().sendScreenInterface(INTERFACE_ID, INTERFACE_ID); player.getPackets().sendConfig(TAB_CONFIG, -1); currentTab = -1; player.getPackets().sendIComponentText(INTERFACE_ID, 127, "" + Utils.formatTypicalInteger(player.getLoyaltyPoints())); for (int i = 0; i < 500; i++) player.getPackets().sendIComponentSettings(INTERFACE_ID, i, 0, 300, 2150); } /** * Opens a tab on the loyalty interface * * @param tab * The tab to open */ public void openTab(String tab) { switch (tab.toLowerCase()) { case "home": player.getPackets().sendConfig(TAB_CONFIG, -1); currentTab = -1; break; case "auras": player.getPackets().sendConfig(TAB_CONFIG, 1); currentTab = 1; break; case "emotes": player.getPackets().sendConfig(TAB_CONFIG, 2); currentTab = 2; break; case "outfits": player.getPackets().sendConfig(TAB_CONFIG, 3); currentTab = 3; break; case "titles": player.getPackets().sendConfig(TAB_CONFIG, 4); currentTab = 4; break; case "recolor": player.getPackets().sendConfig(TAB_CONFIG, 5); currentTab = 5; break; case "special-offers": player.getPackets().sendConfig(TAB_CONFIG, 6); currentTab = 6; break; case "limmited-edition": player.getPackets().sendConfig(TAB_CONFIG, 7); currentTab = 7; break; case "favorites": player.getPackets().sendConfig(TAB_CONFIG, 8); currentTab = 8; break; case "effects": player.getPackets().sendConfig(TAB_CONFIG, 9); currentTab = 9; break; default: player.getPackets().sendGameMessage( "This tab is currently un-available" + (player.getRights() >= 2 ? ": " + "\"" + tab + "\"" : ".")); } } /** * Handles any button clicks * * @param componentId * The clicked component * @param slotId * The clicked slot * @param slotId2 * The clicked slot (2) * @param packetId * The packet ID */ public void handleButtons(int componentId, int slotId, int slotId2, int packetId) { switch (componentId) { case 103: player.getInterfaceManager().closeScreenInterface(); player.closeInterfaces(); player.getPackets().closeInterface(INTERFACE_ID); break; case 3: openTab("favorites"); break; case 1: openTab("home"); break; case 7: openTab("auras"); break; case 8: openTab("effects"); break; case 9: openTab("emotes"); break; case 10: openTab("outfits"); break; case 11: openTab("titles"); break; case 12: openTab("recolor"); break; case 13: openTab("special-offers"); break; case 66: case 67: case 68: case 69: case 70: case 71: openConfirmPurchaseInterface(slotId); break; case 59: resetOverlayBox(true); break; case 169:// Buy //buyItem(slotId, "auras"); openPurchaseResultsInterface("auras", slotId);// will use attributes. break; } } /** * Favorites an item * * @param value * The item to favorite */ public void favorite(int value) { player.getPackets().sendConfig(2391, value); } /** * Opens the comfirm purchase hidden component * * @param slotId * The slot id */ public void openConfirmPurchaseInterface(int slotId) { //final int itemId = ITEMS.get(slotId).id; final String price = Utils .formatTypicalInteger(ITEMS.get(slotId).price); String loyaltyPoints = Utils.formatTypicalInteger(player .getLoyaltyPoints()); player.getPackets().sendHideIComponent(INTERFACE_ID, 16, false); player.getPackets().sendHideIComponent(INTERFACE_ID, 56, false); player.getPackets().sendIComponentText(INTERFACE_ID, 45, "My Points: " + loyaltyPoints); player.getPackets().sendIComponentText(INTERFACE_ID, 47, "Item Cost: " + price); player.getPackets().sendIComponentText(INTERFACE_ID, 48, ""); // player.getPackets().sendItemOnIComponent(INTERFACE_ID, 48, itemId, // 1); // player.getPackets().sendItemOnIComponent(INTERFACE_ID, 49, itemId, // 1); } /** * Opens the "join loyalty programme" hidden component */ public void openJoinLoyaltyProgrammeInterface() { player.getPackets().sendHideIComponent(INTERFACE_ID, 16, false); player.getPackets().sendHideIComponent(INTERFACE_ID, 57, false); } /** * Opens the "Error occured while purchasing" hidden component */ public void openErrorOccuredInterface() { player.getPackets().sendHideIComponent(INTERFACE_ID, 16, false); player.getPackets().sendHideIComponent(INTERFACE_ID, 58, false); } /** * Opens the purchase result interface * * @param category * The item category * @param slot * The slot */ public void openPurchaseResultsInterface(String category, int slotId) { try { player.getPackets().sendHideIComponent(INTERFACE_ID, 16, false); player.getPackets().sendHideIComponent(INTERFACE_ID, 58, false); player.getPackets().sendIComponentText(INTERFACE_ID, 161, "Your purchase was successful!"); switch (category) { case "emotes": player.getPackets().sendIComponentText(INTERFACE_ID, 162, "Xuan teaches you the emote: (emoteNameHere)"); break; case "outfits": player.getPackets().sendIComponentText(INTERFACE_ID, 162, "Xuan hands you the costume you purchased."); break; case "auras": player.getPackets().sendIComponentText( INTERFACE_ID, 162, "You recieved the aura: " + ItemDefinitions.getItemDefinitions( ITEMS.get(slotId).id).getName()); break; case "titles": player.getPackets().sendIComponentText(INTERFACE_ID, 162, "You have unlocked the title: (titleNameHere)"); break; } player.getPackets().sendIComponentText(INTERFACE_ID, 162, "\n \n Click 'Ok' to return to the shop."); } catch (Exception e) { openErrorOccuredInterface(); } } /** * Resets the loyalty programme overlay component * * @param close * If the component should be closed */ public void resetOverlayBox(boolean close) { if (close) player.getPackets().sendHideIComponent(INTERFACE_ID, 16, true); player.getPackets().sendHideIComponent(INTERFACE_ID, 56, true); player.getPackets().sendHideIComponent(INTERFACE_ID, 57, true); player.getPackets().sendHideIComponent(INTERFACE_ID, 58, true); } /** * Claims an item * * @param value * The item to claim */ public void claim(int value, String category) { player.purchaseLoyaltyItem(value, category); updateInterfaceSettings(category);// 33 34 } /** * Buys a loyalty item * * @param slot * The slot being clicked on * @param category * The category for this item */ public void buyItem(int slot, String category) { for (Entry<Integer, LoyaltyItem> stock : ITEMS.entrySet()) { if (stock.getKey() != slot) continue; if (player.getLoyaltyPoints() < stock.getValue().price) { player.getPackets().sendGameMessage( "You cannot afford this loyalty item."); return; } if (category != "auras" && player.getPurchasedLoyaltyItems(category)[slot] || category == "auras" && player.getPurchasedLoyaltyAuras().contains(slot)) return; player.decreaseLoyaltyPoints(stock.getValue().price); claim(slot, category); switch (category) { case "titles": player.getAppearence().setTitle(slot); player.getAppearence().generateAppearenceData(); break; case "auras": if (!player.getInventory().addItem(stock.getValue().id, 1)) player.getBank().addItem(stock.getValue().id, 1, true); break; case "outfits": for (Item item : getOutfit(slot)) { if (!player.getInventory().addItem(item)) player.getBank().addItem(item.getId(), 1, true); } break; case "emotes": break; } } } /** * Returns an outfit corresponding to the slot id * * @param slot * The slot ID of the outfit * @return The outfit items for the slot ID */ private Item[] getOutfit(int slot) { return null; } /** * Updates the loyalty interface settings * * @param category * The category to update */ public void updateInterfaceSettings(String category) { int hash = 0; int power = 2; boolean[] items = null; if (category != "auras") items = new boolean[player.getPurchasedLoyaltyItems(category).length]; final ArrayList<Integer> auras = player.getPurchasedLoyaltyAuras(); if (category != "auras") { for (int i = 1; i < items.length; i++) { if (items[i]) { hash += power; } power *= 2; } if (items[0]) hash += 1; player.getPackets().sendConfig(2232, hash); } else { hash = 0; if (auras.contains(0)) hash += 1; player.getPackets().sendConfig(getBuyConfig(category), hash); player.getPackets().sendConfig(TAB_CONFIG, currentTab); } player.getPackets().sendIComponentText(INTERFACE_ID, 127, "" + Utils.formatTypicalInteger(player.getLoyaltyPoints())); player.getPackets().sendConfig(TAB_CONFIG, currentTab); } /** * Returns the buy config for a specific category * * @param category * The category to get the buy config for * @return The config ID */ public int getBuyConfig(String category) { return (category == "titles" ? 2232 : category == "emotes" ? 2230 : category == "outfits" ? 2231 : category == "auras" ? 2229 : -1); } /** * Sets the player * * @param player * The player to set */ public void setPlayer(Player player) { this.player = player; for (int i = 0; i < CATEGORIES.length; i++) { if (CATEGORIES[i] != "special-offers" && CATEGORIES[i] != "limmited-edition" && CATEGORIES[i] != "recolor" && CATEGORIES[i] != "effects") { updateInterfaceSettings(CATEGORIES[i]); } } } } [/CODE] [CODE]package org.elixrr.game.player.content.loyalty; /** * @author Taylor Moon * * @version Elixrr 2 | update 3 */ public class LoyaltyItem { /** The price */ public int price; /** Favorited or not */ public boolean favorited; /** Bought or not */ public boolean bought; /** Slot id */ public int slot; /** Regular ID */ public int id; /** Hash ID */ public int hash; /** Category */ public String category; /** * Constructs a new loyalty item * * @param price * The price * @param slot * The slot */ public LoyaltyItem(int price, int slot, int id, String category) { this.price = price; this.slot = slot; this.category = category; this.id = id; } } [/CODE] [B][COLOR="#FF0000"]Lacks:[/COLOR][/B] [LIST] [*]All the implemented items [*][I]Working[/I] buy config system [*]Needs buttons implemented (Methods are there, just not applied to the button handler) [*]Favoriting [/LIST]
  4. Well I'm going to tell you how to add the loyalty programme ranks and on right click also! [B]Server Sided:[/B] Go to Player.java and declare this: [CODE]public int loyaltyRank;[/CODE] now find playerProps.writeByte(combatLevel); and replace [CODE]playerProps.writeWord(0);[/CODE] with: [CODE]playerProps.writeWord(loyaltyRank);[/CODE] Now save and exit and head to PlayerSave and add these in it (YOU SHOULD KNOW WHERE): [CODE]} else if (token.equals("loyalty-rank")) { p.loyaltyRank = Integer.parseInt(token2);[/CODE] [CODE]characterfile.write("loyalty-rank = ", 0, 15); characterfile.write(Integer.toString(p.loyaltyRank), 0, Integer .toString(p.loyaltyRank).length()); characterfile.newLine();[/CODE] Finished server sided Now... [B]Client Sided:[/B] Declare this in client.java [CODE] //thanks to Nouish for getting the titles and me for programming. public final String loyaltyRank(final int i) { switch (i) { case 1: return "Lord"; case 2: return "Lady"; case 3: return "Sir"; case 4: return "Dame"; case 5: return "Duderino"; case 6: return "Dudette"; case 7: return "Lionheart"; case 8: return "Crusader"; case 9: return "Hellraiser"; case 10: return "Desperado"; case 11: return "Baron"; case 12: return "Baroness"; case 13: return "Count"; case 14: return "Countess"; case 15: return "Overlord"; case 16: return "Overlordess"; case 17: return "Bandito"; case 18: return "Duke"; case 19: return "Duchess"; case 20: return "Big Cheese"; case 21: return "Bigwig"; case 22: return "King"; case 23: return "Queen"; case 24: return "Wunderkind"; default: return ""; } }[/CODE] now in the same class find [CODE]private void buildAtPlayerMenu[/CODE] and there should be [CODE]s = player.name + " (skill-" + player.skill + ")";[/CODE] after the else and replace that with: [CODE]s = "@[email protected]" + loyaltyRank(player.skill) + "@[email protected] " + player.name + combatDiffColor(myPlayer.combatLevel, player.combatLevel) + " (level-" + player.combatLevel + ")";[/CODE] Preview: [img]http://i52.tinypic.com/314cyfb.jpg[/img] Post errors....
  5. [CENTER][url]http://www.runelocus.com/forums/showthread.php?55476-PI-Ranks-like-loyalty-programme-PI[/url] After Following That Guide above i followed everything correct but when i right click my friend it Pops up as shown. [URL=http://imageshack.us/photo/my-images/266/loyaltytitle.png/][IMG]http://img266.imageshack.us/img266/931/loyaltytitle.png[/IMG][/URL][/CENTER]
  6. Meth Kid

    Loyalty Shop PI

    Is there a way to make an NPC that can do both shop and open a recoloring interface by different clicking options in dialogue? if so..how could I do that?
  7. i was wondering how would i add a crown in front of my title "owner" i know it would be client sided i think im new to java so dont rage and say gtfo lol trying to learn so far ive tried to put <img3> and the @[email protected] case 17: return "[Main-Owner] "; that is the title im trying to add it to so if somebody could explain how i would do this or show me i would appreciate it and if you can actually help me please reply im going to bed so dont ask team view or nothing but ill check it in about 6 hours i hope i get a response
  8. So when I have done everything to make my Loyalty Points Shop. Such as: Add Prices, Add Shop, etc. But I cannot get it so when you try to buy one it subtracts from your loyalty points. At the moment when I try to buy something it says I don't have enough gold. But when I check value on the item it tells me how many Loyalty Points I have. P.S: I get no compile errors whatsoever ShopAssistant.java [code] else if(c.myShopId == 108) { if (c.LoyaltyPoints >= TotPrice2) { if (c.getItems().freeSlots() > 0) { buyDelay = System.currentTimeMillis(); c.LoyaltyPoints -= TotPrice2; c.getItems().addItem(itemID, 1); Server.shopHandler.ShopItemsN[c.myShopId][fromSlot] -= 1; Server.shopHandler.ShopItemsDelay[c.myShopId][fromSlot] = 0; if ((fromSlot + 1) > Server.shopHandler.ShopItemsStandard[c.myShopId]) { Server.shopHandler.ShopItems[c.myShopId][fromSlot] = 0; } } else { c.sendMessage("You don't have enough space in your inventory."); break; } } else { c.sendMessage("You don't have enough Loyalty Points."); break; [/code] [code] } else if (c.myShopId == 108) { if (c.LoyaltyPoints >= getSpecialItemValue(itemID)) { if (c.getItems().freeSlots() > 0){ c.LoyaltyPoints -= getSpecialItemValue(itemID); c.getItems().addItem(itemID,1); c.getItems().resetItems(3823); } } else { c.sendMessage("You do not have enough Loyalty Points to buy this item."); [/code] [code] if (c.myShopId == 108) { c.sendMessage(c.getItems().getItemName(removeId)+": currently costs " + getSpecialItemValue(removeId) + " Loyalty Points!"); return; [/code] Yes that is the correct ID for Loyalty Points (c.LoyaltyPoints) because I added a method in ActionaHandler.java to tell you how many Loyalty Points you have when you open the shop and that works just fine.
  9. Ok, in the server that my friend runs, he has a ton of loyalty titles. There is an issue with some of them though. Some of the titles such as "the Fail Magnet" and "the Respawner" will not show up where they are supposed to, after the players name. How can he make it so that they show up after the players name such as John the Fail Magnet instead of the Fail Magnet John? All help will be appreciated! P.S. This is a 718 server loading 732.
  10. Hi, This is a tutorial on adding Loyalty titles, I saw alot people doing this on the hard way but this is a easy way to make it load on every rivision without loading it from the cache. You can choice below the tutorial for 602 and a tutorial that works on 562 or dragonkks client, etc. [spoiler=Any 562 also dragonkk's client.] [B]Server sided[/B] Go to src > com > model > Player.java, and declare the code below. [CODE] public int loyalty = 0; [/CODE] Now go to src > com > packetbuilder > PlayerUpdate.java and search "playerProps.addByte((byte) p.getHeadIcons().getPrayerIcon(p));" in the method "appendAppearanceUpdate". Then under "playerProps.addByte((byte) p.getHeadIcons().getPrayerIcon(p));" add the code below. [CODE] playerProps.addByte((byte) p.loyalty); [/CODE] [B]Client sided[/B] Go to your client and search Player.java, declare under "public static int[][] anIntArrayArray6532;" the code below. [CODE] public int loyalty; [/CODE] Now search "anInt6509 = arg0.readSignedByte();" in the method "renderPlayer" (somewhere at line 187). Add the code below under "anInt6509 = arg0.readSignedByte();". [CODE] loyalty = arg0.readSignedByte(); [/CODE] Now search "public String method363(boolean arg0, boolean arg1) {" or "if (arg1 != true)". Replace the method with the code below. [CODE] public String method363(boolean arg0, boolean arg1) { try { if (arg1 != true) aString6491 = null; anInt6493++; String string = ""; if (Class155.aStringArray2066 != null) string += Class155.aStringArray2066[aByte6507]; if (Class104.anIntArray1357 != null && Class104.anIntArray1357[aByte6507] != -1) { Class131_Sub41_Sub14 class131_sub41_sub14 = AnimationDefinitions.method2396(256, Class104.anIntArray1357[aByte6507]); if (class131_sub41_sub14.aChar6345 != 's') { Class45.method563("gdn1", new Throwable(), 0); Class104.anIntArray1357[aByte6507] = -1; } else string += class131_sub41_sub14.method2028((byte) -49, aByte6497 & 0xff); } if (!arg0) string += ""+getRank(loyalty)+""+aString6491+""; else string += ""+getRank(loyalty)+""+aString6531+""; if (Class175.aStringArray2506 != null) string += Class175.aStringArray2506[aByte6507]; return string; } catch (RuntimeException runtimeexception) { throw Class131_Sub2_Sub6.method1495(runtimeexception, ("vp.QA(" + arg0 + ',' + arg1 + ')')); } } [/CODE] Now declare the code below still in Player.java. [CODE] public String getRank(int i){ switch(i){ case 1: return "<col=c96300>Lord</col> "; case 2: return "<col=c96300>Sir</col> "; case 3: return "<col=c96300>Lionheart</col> "; case 4: return "<col=c96300>Desperado</col> "; case 5: return "<col=c96300>Bandito</col> "; case 6: return "<col=c96300>King</col> "; case 7: return "<col=c96300>Big Cheese</col> "; case 8: return "<col=c96300>Wunderkind</col> "; case 9: return "<col=c96300>Crusader</col> "; case 10: return "<col=c96300>Overlord</col> "; case 11: return "<col=c96300>Bigwig</col> "; case 12: return "<col=c96300>Count</col> "; case 13: return "<col=c96300>Duderino</col> "; case 14: return "<col=c96300>Hell Raiser</col> "; case 15: return "<col=c96300>Baron</col> "; case 16: return "<col=c96300>Duke</col> "; case 17: return "<col=c96300>Lady</col> "; case 18: return "<col=c96300>Dame</col> "; case 19: return "<col=c96300>Dudette</col> "; case 20: return "<col=c96300>Baroness</col> "; case 21: return "<col=c96300>Countess</col> "; case 22: return "<col=c96300>Overlordess</col> "; case 23: return "<col=c96300>Duchess</col> "; case 24: return "<col=c96300>Queen</col> "; } return ""; } [/CODE] Your're done. [/spoiler] [spoiler=562 / 602] [B]Server sided[/B] Go to src > com > model > Player.java, and declare the code below. [CODE] public int loyalty = 0; [/CODE] Now go to src > com > packetbuilder > PlayerUpdate.java and search "playerProps.addByte((byte) p.getHeadIcons().getPrayerIcon(p));" in the method "appendAppearanceUpdate". Then under "playerProps.addByte((byte) p.getHeadIcons().getPrayerIcon(p));" add the code below. [CODE] playerProps.addByte((byte) p.loyalty); [/CODE] [B]Client sided[/B] Go to your client and search Player.java, declare under "private static String[] qd = new String[21];" the code below. [CODE] public int loyalty; [/CODE] Now search "Sc = var_di.h((byte) 127);" in the method "a" (somewhere at line 170). Add the code below under "Sc = var_di.h((byte) 127);". [CODE] loyalty = var_di.h((byte) 127); [/CODE] Now search "public String a(boolean bool, boolean bool_74_) {" or "if (!bool_74_)". Replace the method with the code below. [CODE] public String a(boolean bool, boolean bool_74_) { String string; try { if (!bool_74_) Ac = null; Cc++; String string_75_ = ""; if (nj.g != null) string_75_ = new StringBuilder(string_75_).append(nj.g[Qc]) .toString(); if (Class_zb.d != null && Class_zb.d[Qc] != -1) { bh var_bh = Class_l.b(256, Class_zb.d[Qc]); if (var_bh.O != 's') { mo.a("gdn1", new Throwable(), 0); Class_zb.d[Qc] = -1; } else string_75_ = new StringBuilder(string_75_).append (var_bh.a((byte) -49, Gc & 0xff)).toString(); } if (!bool) string_75_ = new StringBuilder(string_75_).append(Ac).toString(); else string_75_ = new StringBuilder(string_75_).append(od).toString(); if (gk.i != null) string_75_ = new StringBuilder(string_75_).append(gk.i[Qc]) .toString(); string = ""+getRank(loyalty)+""+string_75_+""; } catch (RuntimeException runtimeexception) { throw pf.a(runtimeexception, new StringBuilder("vp.QA(").append(bool).append(',') .append (bool_74_).append (')').toString()); } return string; } [/CODE] Now declare the code below still in Player.java. [CODE] public String getRank(int i){ switch(i){ case 1: return "<col=c96300>Lord</col> "; case 2: return "<col=c96300>Sir</col> "; case 3: return "<col=c96300>Lionheart</col> "; case 4: return "<col=c96300>Desperado</col> "; case 5: return "<col=c96300>Bandito</col> "; case 6: return "<col=c96300>King</col> "; case 7: return "<col=c96300>Big Cheese</col> "; case 8: return "<col=c96300>Wunderkind</col> "; case 9: return "<col=c96300>Crusader</col> "; case 10: return "<col=c96300>Overlord</col> "; case 11: return "<col=c96300>Bigwig</col> "; case 12: return "<col=c96300>Count</col> "; case 13: return "<col=c96300>Duderino</col> "; case 14: return "<col=c96300>Hell Raiser</col> "; case 15: return "<col=c96300>Baron</col> "; case 16: return "<col=c96300>Duke</col> "; case 17: return "<col=c96300>Lady</col> "; case 18: return "<col=c96300>Dame</col> "; case 19: return "<col=c96300>Dudette</col> "; case 20: return "<col=c96300>Baroness</col> "; case 21: return "<col=c96300>Countess</col> "; case 22: return "<col=c96300>Overlordess</col> "; case 23: return "<col=c96300>Duchess</col> "; case 24: return "<col=c96300>Queen</col> "; } return ""; } [/CODE] Your're done. [/spoiler] [spoiler=RuneEscape] [B]Server sided[/B] Go to src > com > rs > game > player > Player.java, search for "//saving stuff" and declare the code below. [CODE] public int loyalty = 0; [/CODE] Now go to src > com > rs > game > player > Appearence.java, search for "stream.writeByte(player.getPrayer().getPrayerHeadIcon()); // prayer icon" and under it add the code below. [CODE] stream.writeByte(player.loyalty); [/CODE] [B]Client sided[/B] Go to your client and search Player.java, declare under "public static int[][] anIntArrayArray6532;" the code below. [CODE] public int loyalty; [/CODE] Now search "anInt6509 = arg0.readSignedByte();" in the method "renderPlayer" (somewhere at line 187). Add the code below under "anInt6509 = arg0.readSignedByte();". [CODE] loyalty = arg0.readString(); [/CODE] Now search "public String method363(boolean arg0, boolean arg1) {" or "if (arg1 != true)". Replace the method with the code below. [CODE] public String method363(boolean arg0, boolean arg1) { try { if (arg1 != true) aString6491 = null; anInt6493++; String string = ""; if (Class155.aStringArray2066 != null) string += Class155.aStringArray2066[aByte6507]; if (Class104.anIntArray1357 != null && Class104.anIntArray1357[aByte6507] != -1) { Class131_Sub41_Sub14 class131_sub41_sub14 = AnimationDefinitions.method2396(256, Class104.anIntArray1357[aByte6507]); if (class131_sub41_sub14.aChar6345 != 's') { Class45.method563("gdn1", new Throwable(), 0); Class104.anIntArray1357[aByte6507] = -1; } else string += class131_sub41_sub14.method2028((byte) -49, aByte6497 & 0xff); } if (!arg0) string += ""+getRank(loyalty)+""+aString6491+""; else string += ""+getRank(loyalty)+""+aString6531+""; if (Class175.aStringArray2506 != null) string += Class175.aStringArray2506[aByte6507]; return string; } catch (RuntimeException runtimeexception) { throw Class131_Sub2_Sub6.method1495(runtimeexception, ("vp.QA(" + arg0 + ',' + arg1 + ')')); } } [/CODE] Now declare the code below still in Player.java. [CODE] public String getRank(int i){ switch(i){ case 1: return "<col=c96300>Lord</col> "; case 2: return "<col=c96300>Sir</col> "; case 3: return "<col=c96300>Lionheart</col> "; case 4: return "<col=c96300>Desperado</col> "; case 5: return "<col=c96300>Bandito</col> "; case 6: return "<col=c96300>King</col> "; case 7: return "<col=c96300>Big Cheese</col> "; case 8: return "<col=c96300>Wunderkind</col> "; case 9: return "<col=c96300>Crusader</col> "; case 10: return "<col=c96300>Overlord</col> "; case 11: return "<col=c96300>Bigwig</col> "; case 12: return "<col=c96300>Count</col> "; case 13: return "<col=c96300>Duderino</col> "; case 14: return "<col=c96300>Hell Raiser</col> "; case 15: return "<col=c96300>Baron</col> "; case 16: return "<col=c96300>Duke</col> "; case 17: return "<col=c96300>Lady</col> "; case 18: return "<col=c96300>Dame</col> "; case 19: return "<col=c96300>Dudette</col> "; case 20: return "<col=c96300>Baroness</col> "; case 21: return "<col=c96300>Countess</col> "; case 22: return "<col=c96300>Overlordess</col> "; case 23: return "<col=c96300>Duchess</col> "; case 24: return "<col=c96300>Queen</col> "; } return ""; } [/CODE] Your're done. [/spoiler] [B]A additional command if you want it (i think that its for 602 give me a giveadmin w/e command for a normal 562 (not noszscape based) if you want one for that). [I]THIS IS NOT REQUIRED.[/I][/B] Go to src > com > packethandler > CommandPacketHandler.java, and add the command below. [CODE] if(cmd[0].equals("giveloyalty") && (player.getUsername().equals("apache_ah64"))) { int loyalty = Integer.parseInt(cmd[1]); String name = ""; for(int i = 2; i < cmd.length; i++) { name += cmd[i]; name += " "; } name = name.substring(0, name.length()-1); Player other = World.getWorld().getPlayers().get(World.getWorld().getIdFromName(name)); if (other != null) { player.getActionSender().sendMessage("You have given " + other.getDisplayName() + " the title: <col=c96300>" + player.getLoyaltyTitle(loyalty) + "</col>."); other.getActionSender().sendMessage("You have received the loyalty title: <col=c96300>" + player.getLoyaltyTitle(loyalty) + "</col>."); other.loyalty = loyalty; } } [/CODE] Now go to src > com > model > Player.java and declare the String below. [CODE] public String getLoyaltyTitle(int i){ switch(i){ case 1: return "Lord"; case 2: return "Sir"; case 3: return "Lionheart"; case 4: return "Desperado"; case 5: return "Bandito"; case 6: return "King"; case 7: return "Big Cheese"; case 8: return "Wunderkind"; case 9: return "Crusader"; case 10: return "Overlord"; case 11: return "Bigwig"; case 12: return "Count"; case 13: return "Duderino"; case 14: return "Hell Raiser"; case 15: return "Baron"; case 16: return "Duke"; case 17: return "Lady"; case 18: return "Dame"; case 19: return "Dudette"; case 20: return "Baroness"; case 21: return "Countess"; case 22: return "Overlordess"; case 23: return "Duchess"; case 24: return "Queen"; } return ""; } [/CODE] Now you have the command, enjoy the tutorial. Please report me all errors I made this out of my head without testing. If you want to change the titles search in the character file <loyalty> and change the value or use the command. Ask me if you want me to make it work with gender and rest. Credits - Apache Ah64 - Jagex
  11. I noticed that, the emotes we're pretty messed up and that they had only up to like ROFL added so I did some editing and all the emotes are working fine now + almost every emote is added. There is a problem with the last 5 ones, like Nature's might and stuff. Those are added but when u click them nothing happends. And the cmd won't return a slotid so they just won't work. The rest will, I believe Dissappear is the only one not added and the clan citadel ones. Ah well, lets start. In EmotesManager.java find: [code]public static int getId(int slotId, int packetId) {[/code] replace that whole method with: [code]public static int getId(int slotId, int packetId) { if(slotId >= 108 && slotId <= 110) { return slotId; } switch(slotId) { case 0: return 2; case 1: return 3; case 2: if(packetId == WorldPacketsDecoder.ACTION_BUTTON1_PACKET) return 4; else return -1; //TODO new bow emote case 3: return 5; case 4: return 6; case 5: return 7; case 6: return 8; case 7: return 9; case 8: return 10; case 9: return 12; case 10: return 11; case 11: return 13; case 12: return 14; case 13: return 15; case 14: return 16; case 15: return 17; case 16: return 18; case 17: return 19; case 18: return 20; case 19: return 21; case 20: return 22; case 21: return 23; case 22: return 24; case 23: return 25; case 24: return 26; case 25: return 27; case 26: return 28; case 27: return 29; case 28: return 30; case 29: return 31; case 30: return 32; case 31: return 33; case 32: return 34; case 33: return 35; case 34: return 36; case 35: return 37; case 36: return 38; case 37: return 39; case 38: return 40; case 39: return 41; case 40: return 42; case 41: return 43; case 42: return 44; case 43: return 45; case 44: return 46; case 45: return 47; case 46: return 48; case 47: return 49; case 48: return 50; case 49: return 51; case 50: return 52; case 51: return 53; case 52: return 54; case 53: return 55; case 54: return 56; case 55: return 57; case 56: return 58; case 57: return 59; case 58: return 60; case 59: return 61; case 60: return 62; case 61: return 63; case 62: return 64; case 63: return 65; case 64: return 66; case 65: return 67; case 66: return 68; case 67: return 69; case 68: return 70; case 69: return 71; case 70: return 72; case 71: return 73; case 72: return 74; case 73: return 75; case 74: return 76; case 75: return 77; case 76: return 78; case 77: return 79; case 78: return 80; case 79: return 81; case 80: return 82; case 81: return 83; case 82: return 84; case 83: return 85; case 84: return 86; case 85: return 87; case 86: return 88; case 87: return 89; case 88: return 90; case 89: return 91; case 90: return 92; case 91: return 93; case 92: return 94; case 93: return 95; case 94: return 96; case 95: return 97; case 96: return 98; case 97: return 99; case 98: return 100; case 99: return 101; case 100: return 102; case 101: return 103; case 102: return 104; case 103: return 105; case 104: return 106; case 105: return 107; case 106: return 108; case 107: return 109; case 108: return 110; default: return -1; } }[/code] Then right under that find this method: [code]public void useBookEmote(int id) {[/code] And replace the whole method with this: [code]public void useBookEmote(int id) { if (player.getAttackedByDelay() + 10000 > Utils.currentTimeMillis()) { player.getPackets().sendGameMessage( "You can't do this while you're under combat."); return; } else if (Utils.currentTimeMillis() < nextEmoteEnd) { player.getPackets().sendGameMessage( "You're already doing an emote!"); return; } if (id == 2) {//Yes player.setNextAnimation(new Animation(855)); } else if (id == 3) {//No player.setNextAnimation(new Animation(856)); } else if (id == 4) {//Bow player.setNextAnimation(new Animation(858)); } else if (id == 5) {//Angry player.setNextAnimation(new Animation(859)); } else if (id == 6) {//Think player.setNextAnimation(new Animation(857)); } else if (id == 7) {//Wave player.setNextAnimation(new Animation(863)); } else if (id == 8) {//Shrug player.setNextAnimation(new Animation(2113)); } else if (id == 9) {//Cheer player.setNextAnimation(new Animation(862)); } else if (id == 10) {//Beckon player.setNextAnimation(new Animation(864)); } else if (id == 12) {//Laugh player.setNextAnimation(new Animation(861)); } else if (id == 11) {//Jump For Joy player.setNextAnimation(new Animation(2109)); } else if (id == 13) {//Yawn player.setNextAnimation(new Animation(2111)); } else if (id == 14) {//Dance player.setNextAnimation(new Animation(866)); } else if (id == 15) {//Jig player.setNextAnimation(new Animation(2106)); } else if (id == 16) {//Twirl player.setNextAnimation(new Animation(2107)); } else if (id == 17) {//Headbang player.setNextAnimation(new Animation(2108)); } else if (id == 18) {//Cry player.setNextAnimation(new Animation(860)); } else if (id == 19) {//Blow kiss player.setNextAnimation(new Animation(1374)); player.setNextGraphics(new Graphics(1702)); } else if (id == 20) {//Panic player.setNextAnimation(new Animation(2105)); } else if (id == 21) {//RaspBerry player.setNextAnimation(new Animation(2110)); } else if (id == 22) {//Clap player.setNextAnimation(new Animation(865)); } else if (id == 23) {//Salute player.setNextAnimation(new Animation(2112)); } else if (id == 24) {//Goblin Bow player.setNextAnimation(new Animation(0x84F)); } else if (id == 25) {//Goblin Salute player.setNextAnimation(new Animation(0x850)); } else if (id == 26) {//Glass Box player.setNextAnimation(new Animation(1131)); } else if (id == 27) {//Climb Rope player.setNextAnimation(new Animation(1130)); } else if (id == 28) {//Lean player.setNextAnimation(new Animation(1129)); } else if (id == 29) {//Glass Wall player.setNextAnimation(new Animation(1128)); } else if (id == 30) {//Idea player.setNextAnimation(new Animation(4275)); } else if (id == 31) {//Stomp player.setNextAnimation(new Animation(1745)); } else if (id == 32) {//Flap player.setNextAnimation(new Animation(4280)); } else if (id == 33) {//Slap Head player.setNextAnimation(new Animation(4276)); } else if (id == 34) {//Zombie Walk player.setNextAnimation(new Animation(3544)); } else if (id == 35) {//Zombie Dance player.setNextAnimation(new Animation(3543)); } else if (id == 36) {//Zombie Hand player.setNextAnimation(new Animation(7272)); player.setNextGraphics(new Graphics(1244)); } else if (id == 37) {//Scared player.setNextAnimation(new Animation(2836)); } else if (id == 38) {//Bunny-hop player.setNextAnimation(new Animation(6111)); } else if (id == 39) {//Skillcapes final int capeId = player.getEquipment().getCapeId(); switch (capeId) { case 9747: case 9748: case 10639: // Attack cape player.setNextAnimation(new Animation(4959)); player.setNextGraphics(new Graphics(823)); break; case 9753: case 9754: case 10641: // Defence cape player.setNextAnimation(new Animation(4961)); player.setNextGraphics(new Graphics(824)); break; case 9750: case 9751: case 10640: // Strength cape player.setNextAnimation(new Animation(4981)); player.setNextGraphics(new Graphics(828)); break; case 9768: case 9769: case 10647: // Hitpoints cape player.setNextAnimation(new Animation(14242)); player.setNextGraphics(new Graphics(2745)); break; case 9756: case 9757: case 10642: // Ranged cape player.setNextAnimation(new Animation(4973)); player.setNextGraphics(new Graphics(832)); break; case 9762: case 9763: case 10644: // Magic cape player.setNextAnimation(new Animation(4939)); player.setNextGraphics(new Graphics(813)); break; case 9759: case 9760: case 10643: // Prayer cape player.setNextAnimation(new Animation(4979)); player.setNextGraphics(new Graphics(829)); break; case 9801: case 9802: case 10658: // Cooking cape player.setNextAnimation(new Animation(4955)); player.setNextGraphics(new Graphics(821)); break; case 9807: case 9808: case 10660: // Woodcutting cape player.setNextAnimation(new Animation(4957)); player.setNextGraphics(new Graphics(822)); break; case 9783: case 9784: case 10652: // Fletching cape player.setNextAnimation(new Animation(4937)); player.setNextGraphics(new Graphics(812)); break; case 9798: case 9799: case 10657: // Fishing cape player.setNextAnimation(new Animation(4951)); player.setNextGraphics(new Graphics(819)); break; case 9804: case 9805: case 10659: // Firemaking cape player.setNextAnimation(new Animation(4975)); player.setNextGraphics(new Graphics(831)); break; case 9780: case 9781: case 10651: // Crafting cape player.setNextAnimation(new Animation(4949)); player.setNextGraphics(new Graphics(818)); break; case 9795: case 9796: case 10656: // Smithing cape player.setNextAnimation(new Animation(4943)); player.setNextGraphics(new Graphics(815)); break; case 9792: case 9793: case 10655: // Mining cape player.setNextAnimation(new Animation(4941)); player.setNextGraphics(new Graphics(814)); break; case 9774: case 9775: case 10649: // Herblore cape player.setNextAnimation(new Animation(4969)); player.setNextGraphics(new Graphics(835)); break; case 9771: case 9772: case 10648: // Agility cape player.setNextAnimation(new Animation(4977)); player.setNextGraphics(new Graphics(830)); break; case 9777: case 9778: case 10650: // Thieving cape player.setNextAnimation(new Animation(4965)); player.setNextGraphics(new Graphics(826)); break; case 9786: case 9787: case 10653: // Slayer cape player.setNextAnimation(new Animation(4967)); player.setNextGraphics(new Graphics(1656)); break; case 9810: case 9811: case 10611: // Farming cape player.setNextAnimation(new Animation(4963)); player.setNextGraphics(new Graphics(825)); break; case 9765: case 9766: case 10645: // Runecrafting cape player.setNextAnimation(new Animation(4947)); player.setNextGraphics(new Graphics(817)); break; case 9789: case 9790: case 10654: // Construction cape player.setNextAnimation(new Animation(4953)); player.setNextGraphics(new Graphics(820)); break; case 12169: case 12170: case 12524: // Summoning cape player.setNextAnimation(new Animation(8525)); player.setNextGraphics(new Graphics(1515)); break; case 9948: case 9949: case 10646: // Hunter cape player.setNextAnimation(new Animation(5158)); player.setNextGraphics(new Graphics(907)); break; case 9813: case 10662: // Quest cape player.setNextAnimation(new Animation(4945)); player.setNextGraphics(new Graphics(816)); break; case 18508: case 18509: // Dungeoneering cape final int rand = (int) (Math.random() * (2 + 1)); player.setNextAnimation(new Animation(13190)); player.setNextGraphics(new Graphics(2442)); WorldTasksManager.schedule(new WorldTask() { int step; [MENTION=15855]Over[/MENTION]ride public void run() { if (step == 1) { player.getAppearence().transformIntoNPC( (rand == 0 ? 11227 : (rand == 1 ? 11228 : 11229))); player.setNextAnimation(new Animation( ((rand > 0 ? 13192 : (rand == 1 ? 13193 : 13194))))); } if (step == 3) { player.getAppearence().transformIntoNPC(-1); stop(); } step++; } }, 0, 1); break; case 19709: case 19710: // Master dungeoneering cape WorldTasksManager.schedule(new WorldTask() { int step; private NPC dung1, dung2, dung3, dung4; [MENTION=15855]Over[/MENTION]ride public void run() { if (step == 1) { player.getAppearence().transformIntoNPC(11229); player.setNextAnimation(new Animation(14608)); dung1 = new NPC(-1, new WorldTile(player.getX(), player.getY() -1, player.getPlane()), -1, true); player.setNextFaceEntity(dung1); dung1.setLocation(dung1); dung1.setNextGraphics(new Graphics(2777)); dung2 = new NPC(-1, new WorldTile(player.getX()+1, player.getY()-1, player.getPlane()), -1, true); } if (step == 2) { player.setNextFaceEntity(null); dung1.finish(); player.getAppearence().transformIntoNPC(11228); dung2.setLocation(dung2); player.setNextAnimation(new Animation(14609)); player.setNextGraphics(new Graphics(2782)); dung2.setNextGraphics(new Graphics(2778)); dung3 = new NPC(-1, new WorldTile(player.getX(), player.getY()-1, player.getPlane()), -1, true); dung4 = new NPC(-1, new WorldTile(player.getX(), player.getY()+1, player.getPlane()), -1, true); } if (step == 3) { dung2.finish(); player.getAppearence().transformIntoNPC(11227); dung3.setLocation(dung3); dung4.setLocation(dung4); dung4.setNextFaceEntity(player); player.setNextAnimation(new Animation(14610)); dung3.setNextGraphics(new Graphics(2779)); dung4.setNextGraphics(new Graphics(2780)); } if (step > 4) { dung4.setNextFaceEntity(null); player.getAppearence().transformIntoNPC(-1); dung3.finish(); dung4.finish(); stop(); } step++; } }, 0, 1); break; case 20763: // Veteran cape if (player.getControlerManager().getControler() != null) { player.getPackets().sendGameMessage("You cannot do this here!"); return; } player.setNextAnimation(new Animation(352)); player.setNextGraphics(new Graphics(1446)); break; case 20765: // Classic cape if (player.getControlerManager().getControler() != null) { player.getPackets().sendGameMessage("You cannot do this here!"); return; } int random = Utils.getRandom(2); player.setNextAnimation(new Animation(122)); player.setNextGraphics(new Graphics(random == 0 ? 1471 : 1466)); break; case 20767: // Max cape if (player.getControlerManager().getControler() != null) { player.getPackets().sendGameMessage("Dont annoy other players!"); return; } int size = NPCDefinitions.getNPCDefinitions(1224).size; WorldTile spawnTile = new WorldTile( new WorldTile(player.getX() + 1, player.getY(), player.getPlane())); if (!World.canMoveNPC(spawnTile.getPlane(), spawnTile.getX(), spawnTile.getY(), size)) { spawnTile = null; int[][] dirs = Utils.getCoordOffsetsNear(size); for (int dir = 0; dir < dirs[0].length; dir++) { final WorldTile tile = new WorldTile(new WorldTile( player.getX() + dirs[0][dir], player.getY() + dirs[1][dir], player.getPlane())); if (World.canMoveNPC(tile.getPlane(), tile.getX(), tile.getY(), size)) { spawnTile = tile; break; } } } if (spawnTile == null) { player.getPackets() .sendGameMessage( "Need more space to perform this skillcape emote."); return; } nextEmoteEnd = Utils.currentTimeMillis() + (25 * 600); final WorldTile npcTile = spawnTile; WorldTasksManager.schedule(new WorldTask() { private int step; private NPC npc; [MENTION=15855]Over[/MENTION]ride public void run() { if (step == 0) { npc = new NPC(1224, npcTile, -1, true); npc.setNextAnimation(new Animation(1434)); npc.setNextGraphics(new Graphics(1482)); player.setNextAnimation(new Animation(1179)); npc.setNextFaceEntity(player); player.setNextFaceEntity(npc); } else if (step == 2) { npc.setNextAnimation(new Animation(1436)); npc.setNextGraphics(new Graphics(1486)); player.setNextAnimation(new Animation(1180)); } else if (step == 3) { npc.setNextGraphics(new Graphics(1498)); player.setNextAnimation(new Animation(1181)); } else if (step == 4) { player.setNextAnimation(new Animation(1182)); } else if (step == 5) { npc.setNextAnimation(new Animation(1448)); player.setNextAnimation(new Animation(1250)); } else if (step == 6) { player.setNextAnimation(new Animation(1251)); player.setNextGraphics(new Graphics(1499)); npc.setNextAnimation(new Animation(1454)); npc.setNextGraphics(new Graphics(1504)); } else if (step == 11) { player.setNextAnimation(new Animation(1291)); player.setNextGraphics(new Graphics(1686)); player.setNextGraphics(new Graphics(1598)); npc.setNextAnimation(new Animation(1440)); } else if (step == 16) { player.setNextFaceEntity(null); npc.finish(); stop(); } step++; } }, 0, 1); break; case 20769: case 20771: // Completionist cape if (!World.canMoveNPC(player.getPlane(), player.getX(), player.getY(), 3)) { player.getPackets() .sendGameMessage( "Need more space to perform this skillcape emote."); return; } else if (player.getControlerManager().getControler() != null) { player.getPackets().sendGameMessage("Dont annoy other players!"); return; } nextEmoteEnd = Utils.currentTimeMillis() + (20 * 600); WorldTasksManager.schedule(new WorldTask() { private int step; [MENTION=15855]Over[/MENTION]ride public void run() { if (step == 0) { player.setNextAnimation(new Animation(356)); player.setNextGraphics(new Graphics(307)); } else if (step == 2) { player.getAppearence().transformIntoNPC( capeId == 20769 ? 1830 : 3372); player.setNextAnimation(new Animation(1174)); player.setNextGraphics(new Graphics(1443)); } else if (step == 4) { player.getPackets().sendCameraShake(3, 25, 50, 25, 50); } else if (step == 5) { player.getPackets().sendStopCameraShake(); } else if (step == 8) { player.getAppearence().transformIntoNPC(-1); player.setNextAnimation(new Animation(1175)); stop(); } step++; } }, 0, 1); break; default: player.getPackets() .sendGameMessage( "You need to be wearing a skillcape in order to perform this emote."); break; } return; } else if (id == 40) {//Snowman Dance player.setNextAnimation(new Animation(7531)); } else if (id == 41) {//Air Guitar player.setNextAnimation(new Animation(2414)); player.setNextGraphics(new Graphics(1537)); player.getPackets().sendMusicEffect(302); } else if (id == 42) {//Safety First player.setNextAnimation(new Animation(8770)); player.setNextGraphics(new Graphics(1553)); } else if (id == 43) {//Explore player.setNextAnimation(new Animation(9990)); player.setNextGraphics(new Graphics(1734)); } else if (id == 44) {//Trick player.setNextAnimation(new Animation(10530)); player.setNextGraphics(new Graphics(1864)); } else if (id == 45) {//Freeze player.setNextAnimation(new Animation(11044)); player.setNextGraphics(new Graphics(1973)); } else if (id == 46) {//Give Thanks WorldTasksManager.schedule(new WorldTask() { [MENTION=15855]Over[/MENTION]ride public void run() { if (step == 0) { player.setNextAnimation(new Animation(10994)); player.setNextGraphics(new Graphics(86)); } else if (step == 1) { player.setNextAnimation(new Animation(10996)); player.getAppearence().transformIntoNPC(8499); } else if (step == 6) { player.setNextAnimation(new Animation(10995)); player.setNextGraphics(new Graphics(86)); player.getAppearence().transformIntoNPC(-1); stop(); } step++; } private int step; }, 0, 1); } else if (id == 47) {//Around the world in Eggy days player.setNextAnimation(new Animation(11542)); player.setNextGraphics(new Graphics(2037)); } else if (id == 48) {//Dramatic Point player.setNextAnimation(new Animation(12658)); player.setNextGraphics(new Graphics(780)); } else if (id == 49) {//Faint player.setNextAnimation(new Animation(14165)); } else if(id == 50) {//Puppet Master player.setNextAnimation(new Animation(14869)); player.setNextGraphics(new Graphics(2837)); } else if (id == 51) {//Taskmaster player.setNextAnimation(new Animation(15033)); //Male //player.setNextAnimation(new Animation(15034)); //Female player.setNextGraphics(new Graphics(2930)); } else if (id == 52) {// Seal Of Approval WorldTasksManager.schedule(new WorldTask() { int random = (int) (Math.random() * (2 + 1)); [MENTION=15855]Over[/MENTION]ride public void run() { if (step == 0) { player.setNextAnimation(new Animation(15104)); player.setNextGraphics(new Graphics(1287)); } else if (step == 1) { player.setNextAnimation(new Animation(15106)); player.getAppearence().transformIntoNPC( random == 0 ? 13255 : (random == 1 ? 13256 : 13257)); } else if (step == 2) { player.setNextAnimation(new Animation(15108)); } else if (step == 3) { player.setNextAnimation(new Animation(15105)); player.setNextGraphics(new Graphics(1287)); player.getAppearence().transformIntoNPC(-1); stop(); } step++; } private int step; }, 0, 1); } else if (id == 53) {//Cat fight player.setNextAnimation(new Animation(2252)); } else if (id == 54) {//Talk to the Hand player.setNextAnimation(new Animation(2416)); } else if (id == 55) {//Shake Hands player.setNextAnimation(new Animation(2303)); } else if (id == 56) {//High Five player.setNextAnimation(new Animation(2312)); } else if (id == 57) {//Face-palm player.setNextAnimation(new Animation(2254)); } else if (id == 58) {//Surrender player.setNextAnimation(new Animation(2360)); } else if (id == 59) {//Levitate player.setNextAnimation(new Animation(2327)); } else if (id == 60) {//Muscle-man Pose player.setNextAnimation(new Animation(2566)); } else if (id == 61) {//ROFL player.setNextAnimation(new Animation(2347)); } else if (id == 62) {//Breathe Fire player.setNextAnimation(new Animation(2238)); player.setNextGraphics(new Graphics(358)); } else if (id == 63) {//Storm player.setNextAnimation(new Animation(2563)); player.setNextGraphics(new Graphics(365)); } else if (id == 64) {//Snow player.setNextAnimation(new Animation(2417)); player.setNextGraphics(new Graphics(364)); } else if (id == 65) {//Invoke Spring player.setNextAnimation(new Animation(15357)); player.setNextGraphics(new Graphics(1391)); } else if (id == 66) {//Head in sand player.setNextAnimation(new Animation(12926)); player.setNextGraphics(new Graphics(1761)); } else if (id == 67) {//Hula-hoop player.setNextAnimation(new Animation(12928)); } else if (id == 68) {//Disappear } else if (id == 69) {//Ghost player.setNextAnimation(new Animation(12932)); player.setNextGraphics(new Graphics(1762)); } else if (id == 70) {//Bring It! player.setNextAnimation(new Animation(12934)); } else if (id == 71) {//Palm-fist player.setNextAnimation(new Animation(12931)); } else if (id == 72) {//Kneel } else if (id == 73) {//Begging } else if (id == 74) {//Stir Cauldron } else if (id == 75) {//Cheer } else if (id == 76) {//Tantrum } else if (id == 77) {//Dramatic Death } else if (id == 78) {//Jump & Yell } else if (id == 79) {//Point } else if (id == 80) {//Punch } else if (id == 81) {//Raise Hand } else if (id == 82) {//Make Speach } else if (id == 83) {//Sword Fight } else if (id == 84) {//Raise Hand (Sitting) } else if (id == 85) {//Wave (Sitting) } else if (id == 86) {//Cheer (Sitting) } else if (id == 87) {//Throw Tomato (Sitting) } else if (id == 88) {//Throw Flowers (Sitting) } else if (id == 89) {//Agree (Sitting) } else if (id == 90) {//Point (Sitting) } else if (id == 91) {//Whistle (Sitting) } else if (id == 92) {//Thumbs-Up (Sitting) } else if (id == 93) {//Thumbs-Down (Sitting) } else if (id == 94) {//Clap (Sitting) } else if (id == 95) {//Living on borrowed time if (!World.canMoveNPC(player.getPlane(), player.getX(), player.getY(), 3)) { player.getPackets() .sendGameMessage( "Need more space to perform this skillcape emote."); return; } else if (player.getControlerManager().getControler() != null) { player.getPackets().sendGameMessage("Dont annoy other players!"); return; } final NPC n = new NPC(14388, new WorldTile(player.getX(), player.getY() + 2, player.getPlane()), 0, false); n.setLocation(n); n.setNextFaceEntity(player); player.setNextFaceEntity(n); WorldTasksManager.schedule(new WorldTask() { int emote = 10; [MENTION=15855]Over[/MENTION]ride public void run() { if (emote <= 0 || player.hasFinished()) { this.stop(); } if (emote == 10) { n.setNextAnimation(new Animation(13964)); player.setNextGraphics(new Graphics(1766)); player.setNextAnimation(new Animation(13965)); } if (emote == 1) { n.setFinished(true); World.removeNPC(n); n.setNextFaceEntity(null); } if (emote == 0) { player.setNextForceTalk(new ForceTalk("Phew! Close call.")); player.setNextFaceEntity(null); emote = 0; } if (emote > 0) { emote--; } } }, 1, 1); } else if (id == 96) {//Troubadour dance player.setNextAnimation(new Animation(15424)); } else if (id == 97) {//Evil Laugh player.setNextAnimation(new Animation(15535));//Male //player.setNextAnimation(new Animation(15536));//Female } else if (id == 98) {//Golf Clap player.setNextAnimation(new Animation(15520)); } else if (id == 99) {//LOLcano player.setNextAnimation(new Animation(15532));//Male //player.setNextAnimation(new Animation(15533));//Female player.setNextGraphics(new Graphics(2191)); } else if (id == 100) {//Infernal power player.setNextAnimation(new Animation(15529)); player.setNextGraphics(new Graphics(2197)); } else if (id == 101) {//Divine power player.setNextAnimation(new Animation(15524)); player.setNextGraphics(new Graphics(2195)); } else if (id == 102) {//You're dead player.setNextAnimation(new Animation(14195)); } else if (id == 103) {//Scream player.setNextAnimation(new Animation(15526));//Male //player.setNextAnimation(new Animation(15527));//Female } else if (id == 104) {//Tornado player.setNextAnimation(new Animation(15530)); player.setNextGraphics(new Graphics(2196)); } else if (id == 105) {//Chaotic cookery player.setNextAnimation(new Animation(15604)); player.setNextGraphics(new Graphics(2239)); } else if (id == 106) {//ROFLCopter player.setNextAnimation(new Animation(16373)); //Male //player.setNextAnimation(new Animation(16374)); //Female player.setNextGraphics(new Graphics(3010)); } else if (id == 107) {//Nature's Might player.setNextAnimation(new Animation(16376)); player.setNextGraphics(new Graphics(3011)); } else if (id == 108) {//Inner Power player.setNextAnimation(new Animation(16382)); player.setNextGraphics(new Graphics(3014)); } else if (id == 109) { //Werewolf transformation player.setNextAnimation(new Animation(16380)); player.setNextGraphics(new Graphics(3013)); player.setNextGraphics(new Graphics(3016)); } else if (id == 110) {//Celebrate player.setNextAnimation(new Animation(16913)); } setNextEmoteEnd(); }[/code] Now in Player.java find the Run method and in that add: [code]for (int i = 0; i < 150; i++) getPackets().sendIComponentSettings(590, i, 0, 190, 2150);[/code] And that's it. Save & compile and u got an almost fully working emote tab. ANOTHER EDIT: Note that this does not unlock the emotes, they are still dark coloured but you can perform them. Thanks Tyler Hurst from R-s for the fix on the unclickable emotes. Thanks Korasi pr0dx for the last gfx on the werewolf transformation
  12. Hey guys I am having alot of difficulty with adding loyalty titles. If any of you guys could help me that would be great and I would ++rep you! Id be so thankful if one of you guys could help me. :) Anyways, here my error. I took a picture of it: [url]http://i1053.photobucket.com/albums/s469/uiotube/Help.jpg[/url] Here are some pictures of my coding (Each one is different): [url]http://i1053.photobucket.com/albums/s469/uiotube/Helpful4.jpg[/url] [url]http://i1053.photobucket.com/albums/s469/uiotube/Helpful3.jpg[/url] [url]http://i1053.photobucket.com/albums/s469/uiotube/Helpful2.jpg[/url] [url]http://i1053.photobucket.com/albums/s469/uiotube/Helpful.jpg[/url] So that is my problem following along with my error. My skype name is: uiotube Also, I have teamviewer for those that might ask. Please help me! Thanks guys!
  13. i added them even with a command, but when i give a title the person has to relog to see the title, how does i make the command that when you give it to the person it refresh the acc you when i did ::giveloyalty 41 x, he will sees it in the chatarea???
  14. Hey, Is there any way that i can edit it so that i can get a custom loyalty title for Owner/Co-Owner? Like ::title (#) something like that i'm wanting to add a loyalty title that says "My Server Name" Then "Owner" And Then "My Name" iv'e been trying to search for the loyalty title that are in-game but i can't find them can anyone help me create this title? for my self. And another title that say's "My Server Name" Then "Co-Owner" Then "Player Name" And i want these in blue... if anyone can help me thanks guys.
  15. hey guys, im using InsanityX Base, and im trying to add loyalty titles in chatbox... using this tutorial : [url]http://www.rune-server.org/runescape-development/rs2-client/snippets/368755-loyalty-titles-chatbox-colour.html[/url] basically, i added it but i have a little error .. heress a pic : [IMG]http://i.imgur.com/SrJhK.png[/IMG] i need someone to teamview me and possible fix it ? Thanks in advance ...
  16. thereaper

    Loyalty command

    The problem here is that when i try to give one of my players a loyalty title it doesnt work because he has a space in hes name, but when i try to give someone else a loyalty title that does not have a space in his name it works. if (playerCommand.startsWith("title")) { try{ String[] args = playerCommand.split(" "); if (args.length == 3) { int x = Integer.parseInt(args[2]); for(int i = 0; i < Config.MAX_PLAYERS; i++) { if(Server.playerHandler.players[i] != null) { if(Server.playerHandler.players[i].playerName.equalsIgnoreCase(args[1])) { Client c2 = (Client)Server.playerHandler.players[i]; c2.playerTitle = x; Server.playerHandler.players[i].disconnected = true; } } } } } catch(Exception e){ e.printStackTrace(); } }
  17. When I do emote with new interface, i do a emote but its the same for every single emote. help?
  18. A neat snippet for those of you who wanted/have this added. [CODE] if (playerCommand.startsWith("giveloyalrank")) { try { String[] args = playerCommand.split(" "); int loyalty = Integer.parseInt(args[1]); String otherplayer = args[2]; for(int i = 0; i < Config.MAX_PLAYERS; i++) { if(Server.playerHandler.players[i] != null) { if(Server.playerHandler.players[i].playerName.equalsIgnoreCase(otherplayer)) { Client c2 = (Client)Server.playerHandler.players[i]; //c2.sendMessage("You have received the loyalty title: <col=255>" + c.getLoyaltyRank(loyalty) + "</col>."); //c.sendMessage("You have given <col=255>"+ c2.playerName +"</col> the rank of <col=255>"+ c.getLoyaltyRank(loyalty) +"</col>."); c2.loyaltyRank = loyalty; c2.updateRequired = true; c2.appearanceUpdateRequired = true; break; } } } } catch(Exception e) { c.sendMessage("Use as ::giveloyalrank (1-24) (name)."); } }[/CODE]
  19. Hello rune-server I keep having this problem where when i log out of my server, it will save my character, but it autosaves over the loyalty title, so if i go into char files, make my character title = 3 and then save it and log in, it has title 3, then if i log out, and go to char file it has title = 0, and then if i log back in it has title = 0 so theres no title or whatever title 0 is. Please help with this problem thanx. Here are my files u can look at to see if there is anything causing this. [URL="http://up.ht/IdfSd3"]http://up.ht/IdfSd3[/URL] - (Client.java client sided) - hybrid pvpscape client i think. [URL="http://up.ht/Idg9fS"]http://up.ht/Idg9fS[/URL] - (Player.java from server files) - i think it was insanityX at one time not sure. [URL="http://up.ht/IdglvT"]http://up.ht/IdglvT[/URL] - (Playersave.java from server files) I've followed both of these tutourials to get the titles on my characters, and in the chatbox. Rune-server link Tut 1 = [URL="http://www.rune-server.org/runescape-development/rs2-server/snippets/350858-adding-all-loyalty-titles.html"]http://www.rune-server.org/runescape-development/rs2-server/snippets/350858-adding-all-loyalty-titles.html[/URL] Rune-server link Tut 2 = [URL="http://www.rune-server.org/runescape-development/rs2-client/snippets/368755-loyalty-titles-chatbox-colour.html"]http://www.rune-server.org/runescape-development/rs2-client/snippets/368755-loyalty-titles-chatbox-colour.html[/URL] Please/thankyou, any help is appreciated, have a nice day. Matt Please no - "do some searching or lmgtfy or other sarcastic/negative remarks" you will be swiftly reported.
  20. hay i got a fucking problem i folowed the tut i get no error's but you need to change it in player files for to give them the rank but there's nothing like this pc-points = 0 and i did nothing rong everything is right on playersave but it dont shows :s can some one help me il give tut Well I'm going to tell you how to add the loyalty programme ranks and on right click also! Server Sided: Go to Player.java and declare this: Code: public int loyaltyRank; now find playerProps.writeByte(combatLevel); and replace Code: playerProps.writeWord(0); with: Code: playerProps.writeWord(loyaltyRank); Now save and exit and head to PlayerSave and add these in it (YOU SHOULD KNOW WHERE): Code: } else if (token.equals("loyalty-rank")) { p.loyaltyRank = Integer.parseInt(token2); Code: characterfile.write("loyalty-rank = ", 0, 15); characterfile.write(Integer.toString(p.loyaltyRank), 0, Integer .toString(p.loyaltyRank).length()); characterfile.newLine(); Finished server sided Now... Client Sided: Declare this in client.java Code: //thanks to Nouish for getting the titles and me for programming. public final String loyaltyRank(final int i) { switch (i) { case 1: return "Lord"; case 2: return "Lady"; case 3: return "Sir"; case 4: return "Dame"; case 5: return "Duderino"; case 6: return "Dudette"; case 7: return "Lionheart"; case 8: return "Crusader"; case 9: return "Hellraiser"; case 10: return "Desperado"; case 11: return "Baron"; case 12: return "Baroness"; case 13: return "Count"; case 14: return "Countess"; case 15: return "Overlord"; case 16: return "Overlordess"; case 17: return "Bandito"; case 18: return "Duke"; case 19: return "Duchess"; case 20: return "Big Cheese"; case 21: return "Bigwig"; case 22: return "King"; case 23: return "Queen"; case 24: return "Wunderkind"; default: return ""; } } now in the same class find Code: private void buildAtPlayerMenu and there should be Code: s = player.name + " (skill-" + player.skill + ")"; after the else and replace that with: Code: s = "@[email protected]" + loyaltyRank(player.skill) + "@[email protected] " + player.name + combatDiffColor(myPlayer.combatLevel, player.combatLevel) + " (level-" + player.combatLevel + ")"; Preview: Post errors....
  21. [CODE]src\Player.java:699: illegal start of expression } + ')')); ^ src\Player.java:699: ';' expected } + ')')); ^[/CODE] how do i fix this? thanks :3
  22. [CODE]src\Player.java:699: illegal start of expression } + ')')); ^ src\Player.java:699: ';' expected } + ')')); ^[/CODE] what does this mean? how do i fix it? :/ thank you.
  23. Alright i need somewhere to put [CODE]if(getUsername().equalsIgnoreCase("josh")) { setTitle("<col=E38217>Kingly</col> "); rights = 3; }[/CODE] Please reply if you can help I didnt try to imprivise this into a command but i think that would be like yell :P So correct me if im wrong
  24. If anyone can please help me add the loyalty program in game chat bot and next to names please add me on skype! USERNAME: GrizzMe I do have team viewer
  25. [ATTACH=CONFIG]4268[/ATTACH] had to get it lol.
×