The RuneLocus forum has been archived and does not accept new registrations.
Click here for more information, and click here to join the community on Discord.
Search the Community
Showing results for tags 'combat'.
The search index is currently processing. Current results may not be complete.
-
24/7 - Website - ECO and PVP - Highscores - Website profiles - Auto donation - Tons of custom content coded by me and only me WEBSITE PLAY NOW RemotePvP is a 667 server that prides itself on unique and solid content. Unlike most servers, RemotePvP was not created for the money: Our goal is to create a fun and immersing game for you to get lost in. RemotePvP is a fun and invigorating server with a unique combat system and economy. Despite the name we are indeed an ECO and PVP server, I will explain more about the name and its origins later. From now on I am going to break up this thread into sections so you can more easily navigate without confusion. About me - The owner and developer I would like to start off by telling everyone a little bit about myself because I think it is good to know the background of the people in-charge. My name is Brandon and I am a young adult from the United States of America. I started making (or trying to make) private servers way back in 2010 at the age of 13 and as you can probably guess they were failures. The reason these servers failed was not because I did not have good intentions but because I had no knowledge of the java language and I was still very young. I started to get bored with playing by myself so I eventually moved on and gave up. I then grew older and realized what java was and more crucially what programming was, I started making minecraft plugins using the popular minecraft server API Bukkit and that is how I taught myself how to code Java; as a result, I am fluent in the language so I came back to the game I grew up playing to give private servers one more shot. My intentions and goals for RemotePvP As I stated above, I did not create RemotePvP to fill my wallet. I made RemotePvP so that I could once more enjoy the game I grew up playing with not only myself but other people. I do however hope that one day RemotePvP will be self sustainable in a sense that the donations will cover the server costs; until then, I personally fund RemotePvP. To get back on topic, the ultimate goal of the server is to have a fun memorable experience. Content I know this is really what everyone wants to see so lets not delay it any longer. https://www.youtube.com/watch?v=Cfs_5PkNnkU Here is a list of features we have (I left aligned to make it easier to read/navigate): - Clue scrolls - In chat emojis / emoticons - Completely Custom chat - Completely Custom Combat System - Integrated ingame voice chat (no need for skype) - Website profiles | View and show off your character out of the game on the website - Imbued items - Custom raid dungeons - Custom minigames - Working dwarf multicannon - Working gold dwarf multicannon - Working royal dwarf multicannon - Fully working glacors - Team dungeoneering - No scam dicing system - Every skill is trainable - Highscores - Forums - Auto vote - Auto donation - Fully working farming - Stable economy - Multiple bosses - Multiple custom bosses - Fully working duel arena - Stable staff team - Updates daily - We add what the community wants - Fully funded by our owners - Dedicated hosting - Fully working slayer - Multiple Agility courses (with advanced courses) - Increased XP limit to 999,999,999 instead of 200,000,000 - Monster/Boss kill count available - Monster/Boss kill count highscores - Custom pk kits (log in and pk) - Co-op Slayer - Elite Staking (Custom staking system) (We still have normal staking!) - Boss Pets I will now be taking some time to explain some of the features listed above. Some of the features are a little confusing so I will do my best to explain them as simply as possible. I will also provide pictures and in the future I will provide videos. Custom Combat System This is in my opinion the most important feature. This is the root of RemotePvP, the entire server is based upon this feature and it is very confusing so please read closely. (Please note that this system only applies to some items and not all) The custom combat system revolves around the more higher tier items in RemotePvP. If you are lucky enough to receive one of these items you will notice that it uses a completely custom stat system. Each item has a rarity class and a unique set of stats assigned to that item upon creation of the item. Before we go any further I would like to give you all of the rarity classes from least rarest to rarest: common, uncommon, rare, and unique. I know most people are probably still confused so I will give an example with pictures. There is an item named "Imbued Armadyl Godsword" in RemotePvP. This item follows the system above and this is the item I will be using in the example. Jerry goes to Armadyl and is lucky enough to receive an Imbued Armadyl Godsword. Jerry examines the Imbued AGS to find it has the rarity class of uncommon. Here is a picture of Jerry's Imbued AGS and its stats: Jerry being excited about his new item calls his friend David to tell him about it. David gets jealous and decides to camp Armadyl until he also gets one of these swords. After hours of Armadyl David is rewarded with an Imbued AGS just like Jerry, the only difference is that David's Imbued AGS has the rarity class of rare. Here is a picture of David's new Imbued AGS: As you can see, David's Imbued AGS is far better than Jerry's. I hope that example helped solve any confusion. I will also provide a picture of another uncommon Imbued AGS to show you that its stats are still different from Jerry's Imbued AGS. TLDR: One Imbued AGS can be better or worse than another Imbued AGS P.S. There is a ton of items that follow this system so I will not list them all. Integrated in-game voice chat This feature is in my opinion self explanatory but I feel it is an important feature and as far as I know it is revolutionary to the RSPS community; that being said, I will touch on the subject briefly. Integrated in=game voice chat is exactly what you think it is. It is a way to talk to your friends with only the use of your voice and a microphone. This feature is completely integrated into the game so there is no need to download any third party software. The only requirement is that you have a microphone, a voice, and you are in a friends chat: once those requirements are met just hold down CTRL to let your friends hear you. Website Profiles Website profiles are very neat in a sense that you can view your character online from the website. At this moment you can only view your gear and stats (stats including boss kills and other custom tracked stats) but we have plans to include as many aspects of your character as we can. At this point in time everyone can view your character but we will soon be making it optional to be private. Imbued Items When I say imbued items I am not talking about an imbued berserker ring. I am talking about a higher tier of items that are considered "Imbued." This feature is in many ways similar to the upgradeable items in TizenX and this feature was inspired by TizenX; although, I can assure you this feature is an improved verson. I will use an Armadyl Godsword as an example. An Armadyl Godsword is an item in most private servers. When you receive an Armadyl godsword you have the option to "Imbue" it to make it stronger. The imbueing process can be done one of two different ways. The first method to imbue your items is to gain the specified number of imbued shards and use those to imbue your item, imbued shards can be obtained by killing people in the wild. The second method to imbue your items involves you bringing the unimbued version of the item to its respective boss while killing that boss. If you have the unimbued version of an item when you kill that items respective boss there is a small chance that the boss will imbue your item. No scam dicing system RemotePvP offers a no-scam gambling system to protect your items as a gambler. This means that there is no way for you to get scammed while dicing if you choose to use the system. Here is how it works: once you find a dice host you right click on them and choose the option "Dice." The host will do the same back to you and then an interface will open allowing you both to put up your items. Once you both accept the dice is locked in, you then move to a second interface where the dice are rolled. Once the dice are finished rolling the game determines who won and awards that person the items. I would like to point out that the traditional gambling methods are still available but these of course run you the risk of being scammed. Emojis / Emoticons Emoticons are just a small feature I added to help add emotion to the game. To type these emoticons just type a face and it will automatically be replaced with an emoticon. ;) Elite Staking Elite staking is the last feature that I will be explaining. Elite staking is a variant of staking that allows players to stake their items in a fight that is more based upon skill and not luck or RNG. The elite staking system is not too complicated so I hope no one gets confused. The elite staking system requires both people to stake ALL of their items on their person: this means, neither person may take any gear into the stake to use. This stake is not a box as you might think, the server supplies both people with a matching set of random gear to use during the fight. Both players get the same gear and the same inventory. I would like to mention that all other aspects of elite staking are the same as a normal stake and all the rules of a normal stake may be applied to the elite stake. Thank you for reading I have spent a lot of time making this server the best I can and I will continue to make new content as RemotePvP's community grows. I hope you decide to give RemotePvP a shot. Here are some other random images of other features or just of the server itself. Here is a gif of my version of the rainbow partyhat. Sorry for the bad quality. WEBSITE PLAY NOW
-
[SIZE=3][FONT=tahoma]This is pure simple and basic. I think it could be useful to some people. I think this is more of a tutorial but I'll go with it being a snippet since its short. Allows you to reset your combat level, combat and skilling stats instead of having it look like: [CODE] player.getSkills().set(Skills.ATTACK, 1); player.getSkills().setXp(Skills.ATTACK, Skills.getXPForLevel(1)); player.getSkills().set(Skills.STRENGTH, 1); player.getSkills().setXp(Skills.STRENGTH, Skills.getXPForLevel(1)); player.getSkills().set(Skills.DEFENCE, 1); player.getSkills().setXp(Skills.DEFENCE, Skills.getXPForLevel(1)); player.getSkills().set(Skills.RANGE, 1); player.getSkills().setXp(Skills.RANGE, Skills.getXPForLevel(1)); player.getSkills().set(Skills.PRAYER, 1); player.getSkills().setXp(Skills.PRAYER, Skills.getXPForLevel(1)); player.getSkills().set(Skills.MAGIC, 1); player.getSkills().setXp(Skills.MAGIC, Skills.getXPForLevel(1)); player.getSkills().set(Skills.HITPOINTS, 10); player.getSkills().setXp(Skills.HITPOINTS, Skills.getXPForLevel(10)); [/CODE] You can have it look like: [CODE] player.getSkills().resetCombatStats(); player.getSkills().resetSkillStats(); player.getSkills().resetCombatLevel(); [/CODE] [U][B]But lets start. Open up Skills.java and replace your getCombatLevel() int with this one: [/B][/U] [CODE] public int getCombatLevel() { int attack = getLevelForXp(0); int defence = getLevelForXp(1); int strength = getLevelForXp(2); int hp = getLevelForXp(3); int prayer = getLevelForXp(5); int ranged = getLevelForXp(4); int magic = getLevelForXp(6); combatLevel = (int) ((defence + hp + Math.floor(prayer / 2)) * 0.25) + 1; double melee = (attack + strength) * 0.325; double ranger = Math.floor(ranged * 1.5) * 0.325; double mage = Math.floor(magic * 1.5) * 0.325; if (melee >= ranger && melee >= mage) { combatLevel += melee; } else if (ranger >= melee && ranger >= mage) { combatLevel += ranger; } else if (mage >= melee && mage >= ranger) { combatLevel += mage; } int summoning = getLevelForXp(Skills.SUMMONING); summoning /= 8; return combatLevel + summoning; } [/CODE] Add this somewhere: [CODE] public int combatLevel = 3; [/CODE] Then add these voids to the same class: [CODE] /** * Resets combat level. * @[B][URL="http://www.runelocus.com/forums/member.php?u=75098"]Para[/URL][/B]m */ public void resetCombatLevel() { combatLevel = 3; player.getAppearence().generateAppearenceData(); } /** * Resets all combat stats. */ public void resetCombatStats() { player.getSkills().set(Skills.ATTACK, 1); player.getSkills().setXp(Skills.ATTACK, Skills.getXPForLevel(1)); player.getSkills().set(Skills.STRENGTH, 1); player.getSkills().setXp(Skills.STRENGTH, Skills.getXPForLevel(1)); player.getSkills().set(Skills.DEFENCE, 1); player.getSkills().setXp(Skills.DEFENCE, Skills.getXPForLevel(1)); player.getSkills().set(Skills.RANGE, 1); player.getSkills().setXp(Skills.RANGE, Skills.getXPForLevel(1)); player.getSkills().set(Skills.PRAYER, 1); player.getSkills().setXp(Skills.PRAYER, Skills.getXPForLevel(1)); player.getSkills().set(Skills.MAGIC, 1); player.getSkills().setXp(Skills.MAGIC, Skills.getXPForLevel(1)); player.getSkills().set(Skills.HITPOINTS, 10); player.getSkills().setXp(Skills.HITPOINTS, Skills.getXPForLevel(10)); player.getAppearence().generateAppearenceData(); } /** * Resets all skill stats. */ public void resetSkillStats() { player.getSkills().set(Skills.SLAYER, 1); player.getSkills().setXp(Skills.SLAYER, Skills.getXPForLevel(1)); player.getSkills().set(Skills.AGILITY, 1); player.getSkills().setXp(Skills.AGILITY, Skills.getXPForLevel(1)); player.getSkills().set(Skills.WOODCUTTING, 1); player.getSkills().setXp(Skills.WOODCUTTING, Skills.getXPForLevel(1)); player.getSkills().set(Skills.THIEVING, 1); player.getSkills().setXp(Skills.THIEVING, Skills.getXPForLevel(1)); player.getSkills().set(Skills.FARMING, 1); player.getSkills().setXp(Skills.FARMING, Skills.getXPForLevel(1)); player.getSkills().set(Skills.SUMMONING, 1); player.getSkills().setXp(Skills.SUMMONING, Skills.getXPForLevel(1)); player.getSkills().set(Skills.DUNGEONEERING, 1); player.getSkills().setXp(Skills.DUNGEONEERING, Skills.getXPForLevel(1)); player.getSkills().set(Skills.MINING, 1); player.getSkills().setXp(Skills.MINING, Skills.getXPForLevel(1)); player.getSkills().set(Skills.SMITHING, 1); player.getSkills().setXp(Skills.SMITHING, Skills.getXPForLevel(1)); player.getSkills().set(Skills.COOKING, 1); player.getSkills().setXp(Skills.COOKING, Skills.getXPForLevel(1)); player.getSkills().set(Skills.HERBLORE, 1); player.getSkills().setXp(Skills.HERBLORE, Skills.getXPForLevel(1)); player.getSkills().set(Skills.FIREMAKING, 1); player.getSkills().setXp(Skills.FIREMAKING, Skills.getXPForLevel(1)); player.getAppearence().generateAppearenceData(); } [/CODE] How to use? Add this to whatever and it will reset everything. [CODE] player.getSkills().resetCombatStats(); player.getSkills().resetSkillStats(); player.getSkills().resetCombatLevel(); [/CODE][/FONT][/SIZE]
-
Hey RuneLocus! I'm a new programmer to RSPS's, and I've got a little question. I downloaded a blank source (pi), because everyone says it's the best for beginners. By now, I came to the point of adding skills, the first thing I want to do, is just add combat skills, but I don't have any idea how I would do this. I've been searching over the internet for tutorials, but I couldn't find those. So my question is: How would I start of making (combat) skills for my server. Thank you very much.
-
The source i'm using has some messed up combat. when u click to train att, it trains def, def trains str, str trains att. how would i go about fixing that? or can someone give me a decent combat system? i'm using a blank pi.
-
I'm sorry if this type of thing has been posted elsewhere, but i couldn't find anything anywhere, maybe i wasn't looking hard enough, anyways. Upon loading up the server, logging in, i tested the combat system and realized that the ranged combat style tends to be close range only (just like melee) and for melee, it seems like if i turn my attack style to attack or strength xp, it acts like a whip giving xp to all 3 skills. I'm newer to java coding and definitely new to 718's coding. So if you keep help me out the best you can, that would be great. I'll do my best to understand what you tell me to do, but I'm sorry if i don't get it right away.
-
- chronicscape
- combat
-
(and 1 more)
Tagged with:
-
hello, i am try to make a good server but i found a problem and dont know whare to look, this i found out, combat vs monsters = perfect pvp combat = isn't good i have a chaotic crossbow and it works fine on monsters but when i try to attack my frend in wildy it says "you can't use *** bolts, doesn't matter what bolts i use. also the special attack giving problems in pvp, when attacking monster with spec= 100% good but when attacking another player it does spec +normal hit if someone can tell me what file i need to have and perhaps an idea how to fix shall be nice :D "thanks" for who helps me out :D
-
i did fix this before. but was a long while ago. i do remember it was something to do with these in combatmovement.java. [CODE] int maximumDistance = type.getDistance(); if ((type == CombatType.MELEE || type == CombatType.DEFAULT) && canMelee(mob, other)) { if (diagonal(mob.getLocation(), other.getLocation())) { mob.requestClippedWalk(other.getLocation().getX(), mob.getLocation().getY()); return true; } if (mob.size() > 1 || other.size() > 1 || checkWall(mob, other)) { return true; } } else { if (type == CombatType.RANGE && mob.isPlayer() && mob.getPlayer().getSettings().getCombatStyle() == WeaponInterface.STYLE_LONG_RANGE) { maximumDistance += 2; } if (distance > 0 && distance <= maximumDistance) { mob.getWalkingQueue().reset(); return canSendProjectile(mob, other); } } if (mob.isPlayer()) { if (other.getWalkingQueue().getLastLocation() != null) { Location victimLocation = getNearest(mob, other)[1]; int followX = victimLocation.getX(); int followY = victimLocation.getY(); World.getWorld().doPath(new DefaultPathFinder(), mob, followX, followY); }[/CODE] can anyone jog my memory? im abit rusty :P
- 4 replies
-
- combat
- dementhium
-
(and 1 more)
Tagged with:
-
I'm having several problems. First of all my Magic only gives 1-10 xp as I mentioned before. Second of all my Squeal of Fortune is an issue. It puts the wrong items you win in your bank. For example if you win Bandos Chestplate, it will put a Iron ore sometimes. Squeal.java: [code]package com.rs.game.player.content; import java.util.concurrent.TimeUnit; import com.rs.Settings; import com.rs.cores.CoresManager; import com.rs.game.item.Item; import com.rs.game.item.ItemsContainer; import com.rs.game.player.Player; import com.rs.utils.Logger; import com.rs.utils.Utils; public class Squeal { public static void openWindow(Player player) { if (player.getRights() >= 2) { if (player.getAttackedByDelay() + 10000 > Utils.currentTimeMillis()) { player.getPackets() .sendGameMessage( "You cannot open Squeal of Fortune while in combat."); return; } if (player.getInterfaceManager().containsScreenInter()) { player.getPackets() .sendGameMessage( "Please finish what you're doing before opening Squeal of Fortune."); return; } player.isSpining = false; player.stopAll(); player.getPackets().sendRunScript(5879); player.getPackets().sendConfigByFile(11155, 3); player.getPackets().sendWindowsPane(1253, 0); sendItems(player); refresh(player); } else { player.sm("Not available."); } } public static void sendTicket(Player player) { player.sm("Congratulations! You have earned a spin on the Squeal of Fortune!"); player.squealSpins += 1; refresh(player); //TODO find config for this. } public static void sendRandomTicket(Player player, int chance) { if(Utils.random(chance) == 1) { if(player.squealSpins > 10) { player.sm("You must have no more than 10 spins to be eligible to recieve random activity spins."); return; } player.sm("Congratulations! You've earned a ticket for a free spin on the Squeal of Fortune!"); if(!player.getInventory().hasFreeSlots()) { player.squealSpins += 1; refresh(player); player.sm("Your inventory was full, so your spin ticket was automatically redeemed into spins.", true); } else player.getInventory().addItem(24154, 1); } } public static void sendButton(Player player) { if (player.getRights() >= 2) { if (player.squealSpins >= 1) { player.getInterfaceManager().sendOverlay(1252, true); refresh(player); } else { player.getInterfaceManager().closeOverlay(true); refresh(player); } } } public static void closeButton(Player player) { player.getInterfaceManager().closeOverlay(true); player.sm("You can access the Squeal of Fortune from the side panel, and you can show the button again by logging out and back in."); } public static void close(Player player) { player.getPackets().sendWindowsPane( player.getInterfaceManager().hasRezizableScreen() ? 746 : 548, 0); Squeal.sendButton(player); } public static void decreaseSpins(Player player) { player.squealSpins -= 1; refresh(player); } public static void increaseSpins(Player player, int i) { player.squealSpins += i; refresh(player); } public static void refresh(Player player) { player.getPackets().sendConfigByFile(11026, player.squealSpins + 1); } public static void sendDailySpins(Player player) { if (player.squealSpins >= 2) { //int hours = (int) ((player.getSqueal() / (1000*60*60)) % 24); if (player.getSqueal() < Utils.currentTimeMillis()) { player.setSqueal(Utils.currentTimeMillis() + (24 * 60 * 60 * 1000)); player.squealSpins += 2; refresh(player); player.sm("You have received your daily spins for Squeal of Fortune!", true); /*} else { player.sm("You will receive your daily spins for Squeal of Fortune in "+hours * 2+" hours.", true);TODO }*/ } } } public static void buySpins(final Player player) { close(player); sendDelayedLogout(player); } public static void spin(Player player) { if(player.squealSpins < 1) { close(player); player.getPackets().sendGameMessage("You do not have enough spins to continue."); return; } else { if(player.isSpining == true) return; player.isSpining = true; decreaseSpins(player); int reward = Utils.random(1, 1000); int slot = 0; int slotchange = Utils.getRandom(6); if (reward >= 1 && reward <= 920) { if (slotchange == 1) { slot = 1; } else if (slotchange == 2) { slot = 3; } else if (slotchange == 3) { slot = 5; } else if (slotchange == 4) { slot = 7; } else if (slotchange == 5) { slot = 10; } else if (slotchange == 6) { slot = 12; } } else if (reward >= 921 && reward <= 987) { if (slotchange >= 5) { slot = 6; } else if (slotchange <= 2) { slot = 9; } else if (slotchange >= 3 && slotchange < 5) { slot = 11; } } else if (reward >= 988 && reward <= 997) { if (slotchange >= 5) { slot = 0; } else if (slotchange <= 2) { slot = 4; } else if (slotchange >= 3 && slotchange < 5) { slot = 8; } } else if (reward >= 998) { slot = 2; } //Logger.log("Squeal", player.getDisplayName()+" has used a spin. Spins remaining: "+player.squealSpins); player.getPackets().sendConfigByFile(10860, slot); // Squeal Reward player.getPackets().sendGlobalConfig(1781, 0); player.getPackets().sendGlobalConfig(1781, 0); player.getPackets().sendGlobalConfig(1781, Utils.getRandom(13)); player.getPackets().sendConfigByFile(10860, itemWon); player.getPackets().sendGlobalConfig(1790, 1); player.getPackets().sendConfigByFile(10861, itemWon); itemWon = slotchange; } } public static void claimItem(Player player) { int amount = getBox().getAmount(); int id = getBox().getId(); player.isSpining = false; if (id == 995) { player.getMoneyPouch().addMoney(amount, amount, true, true); close(player); } else { player.getBank().addItem(id, amount, true); close(player); player.getPackets().sendGameMessage( ""+amount+" " + getBox().getName() +(amount == 1 ? " " : "s ")+(amount == 1 ? "has" : "have")+" been added to your bank."); } } public static void discardItem(Player player) { player.sm("You discard your prize."); close(player); } public static void sendDelayedLogout(final Player player) { int LOGOUT_ALERT = 1254; int LOGGING_OUT = 1255; [MENTION=19271]supp[/MENTION]ressWarnings("unused") int LOGOUT_REQUEST = 1256; if (player.getAttackedByDelay() + 10000 > Utils.currentTimeMillis()) { player.getInterfaceManager().sendInterface(LOGOUT_ALERT); return; } player.getInterfaceManager().sendInterface(LOGGING_OUT); CoresManager.slowExecutor.schedule(new Runnable() { [MENTION=15855]Over[/MENTION]ride public void run() { player.getPackets().sendOpenURL(Settings.PAYMENTS_LINK); player.forceLogout(); } }, 5, TimeUnit.SECONDS); } public static void sendItems(Player player) { items.clear(); items.add(getRare(1)); // Rare items.add(getCommon(1)); // Common items.add(getSRare()); // Super-Rare items.add(getCommon(2)); // Common items.add(getRare(2)); // Rare items.add(getCommon(3)); // Common items.add(getUnCommon(1)); // UnCommon items.add(getCommon(4)); // Common items.add(getRare(3)); // Rare items.add(getUnCommon(2)); // UnCommon items.add(getCommon(5)); // Com items.add(getUnCommon(3)); // UnCom items.add(getCommon(6)); // Common player.getPackets().sendItems(665, false, items); } public static Item getBox() { Item[] box = items.getItems(); return box[itemWon]; } private static int itemWon; static ItemsContainer<Item> items = new ItemsContainer<Item>(13, true); private static Item[] SUPER_RARE_ITEM = { new Item(995, 200000000), new Item(995, 10000000), new Item(989, 5), new Item(24440, 1), new Item(23716, 1), new Item(23671, 1), new Item(23674) }; private static Item[] RARE_SLOT1 = { new Item(23715), new Item(23679), new Item(23680), new Item(23681), new Item(23682), new Item(23683), new Item(23690) }, RARE_SLOT2 = { new Item(23684), new Item(23685), new Item(23686), new Item(23687), new Item(23688), new Item(23689) }, RARE_SLOT3 = { new Item(23691), new Item(23692), new Item(23693), new Item(23694), new Item(23695), new Item(23696), new Item(23697), new Item(23698), new Item(23699), new Item(23700) }; private static Item[] UNCOMMON_SLOT1 = { new Item(9181), new Item(9183), new Item(857) }, UNCOMMON_SLOT2 = { new Item(1119), new Item(1121), new Item(1123), new Item(1127) }, UNCOMMON_SLOT3 = { new Item(12976), new Item(1133), new Item(23714) }; private static Item[] COMMON_SLOT1 = { new Item(23713), new Item(9177), new Item(9179), new Item(9174) }, COMMON_SLOT2 = { new Item(2, 30), new Item(886, 300) }, COMMON_SLOT3 = { new Item(1515, 15), new Item(444, 20) }, COMMON_SLOT4 = { new Item(563, 40), new Item(843), new Item(1325), new Item(1313), new Item(1361) }, COMMON_SLOT5 = { new Item(1367), new Item(1297), new Item(1327), new Item(1205) }, COMMON_SLOT6 = { new Item(853), new Item(1311), new Item(1365), new Item(1353), new Item(1295), new Item(1325) }; public static Item getSRare() { return SUPER_RARE_ITEM[(int) (Math.random() * SUPER_RARE_ITEM.length)]; } public static Item getRare(int slot) { if (slot == 2) { return RARE_SLOT2[(int) (Math.random() * RARE_SLOT2.length)]; } else if (slot == 3) { return RARE_SLOT3[(int) (Math.random() * RARE_SLOT3.length)]; } else { //System.out.println("" //+ RARE_SLOT1[(int) (Math.random() * RARE_SLOT1.length)]); return RARE_SLOT1[(int) (Math.random() * RARE_SLOT1.length)]; } } public static Item getCommon(int slot) { if (slot == 2) { return COMMON_SLOT1[(int) (Math.random() * COMMON_SLOT1.length)]; } else if (slot == 3) { return COMMON_SLOT2[(int) (Math.random() * COMMON_SLOT2.length)]; } else if (slot == 4) { return COMMON_SLOT3[(int) (Math.random() * COMMON_SLOT3.length)]; } else if (slot == 5) { return COMMON_SLOT4[(int) (Math.random() * COMMON_SLOT4.length)]; } else if (slot == 6) { return COMMON_SLOT5[(int) (Math.random() * COMMON_SLOT5.length)]; } else { return COMMON_SLOT6[(int) (Math.random() * COMMON_SLOT6.length)]; } } public static Item getUnCommon(int slot) { if (slot == 2) { return UNCOMMON_SLOT1[(int) (Math.random() * UNCOMMON_SLOT1.length)]; } else if (slot == 3) { return UNCOMMON_SLOT2[(int) (Math.random() * UNCOMMON_SLOT2.length)]; } else { return UNCOMMON_SLOT3[(int) (Math.random() * UNCOMMON_SLOT3.length)]; } } }[/code] The last problem I have is every weapon says "kick, punch, and block" instead of the proper attacks. All I ask is someone to help please.
-
I create new accounts on my server and my combat level is 0 + 3, if i get maxed stats, my combat level would be 0 + 138. My combat level stays at 0, does anyone know how to fix?