Quote fromB0nes on April 24, 2022, 1:41 pm
I know its not much, but its nice to give back to the community, and there isn't really much released on elvarg for new coders so thought I'd release.
Firstly go to your client and find
Code:Itemdefinition.java
Search for
Code:switch (itemId) {
Add this under.
Code:case 6829: itemDef.name = "Pet Mystery Box"; itemDef.stackable = false; itemDef.actions = new String[5]; itemDef.actions[0] ="Open"; break;
Then go back to your server files and make a new package called content.
Code:com.elvarg.game.content
In this package create
Code:PetMbox.java
Paste this to PetMbox.java
Code:package com.elvarg.game.content; import java.util.Random; import com.elvarg.world.entity.impl.player.Player; /** * * @author Insidia X aka DR AHK * Discord: Diddy Ranqe#4105 * */ public class PetMbox { /** * The item id of the PetMbox is below. */ public static final int PET_MYSTERY_BOX = 6829; /** * If the roll is between 0 and 250 it pays out these items. {} - FILL THE BLANKS BELOW */ public static int[] WORST_PET_PRIZE = new int[] { 272 }; /** * If the roll is between 251 and 399 it pays out these items. {} - FILL THE BLANKS BELOW */ public static int [] MED_PET_PRIZE = new int[] { 7582, 7583, 1561, 11995 }; /** * If the roll is between 401, and 487 it pays out these items. {} - FILL THE BLANKS BELOW */ public static int [] RARE_PET_PRIZE = new int[] { 13177, 13178 }; /** * Generates the roll the pay out the prize. */ public static int generateRandomNumber() { return new Random().nextInt(611 - 0) + 0; } /** * Gets the random item from the item arrays at the top. */ public static int getRandomItem(int[] array) { return array[new Random().nextInt(array.length)]; } /** * Opens the box and gives the player a random pet or fish food. */ public static void openPetMbox(Player player) { int randomNumber = generateRandomNumber(); int randomItem = 0; player.getInventory().delete(PET_MYSTERY_BOX, 1); player.getPacketSender().sendMessage("You open the box, thank you for donating. Good luck!"); if (randomNumber > 0 && randomNumber < 250) { // Select low quality item to give player randomItem = getRandomItem(WORST_PET_PRIZE); player.getPacketSender().sendMessage("@red@You got fish food, unlucky."); } if (randomNumber > 251 && randomNumber < 399) { // Select med quality item to give player randomItem = getRandomItem(MED_PET_PRIZE); player.getPacketSender().sendMessage("@gre@You just got a PET!!!!!"); } if (randomNumber > 401 && randomNumber < 487) { // Select high quality item to give player randomItem = getRandomItem(RARE_PET_PRIZE); player.getPacketSender().sendMessage("@blu@You just got a RARE PET!!!!!"); } player.getInventory().add(randomItem, 1); } }
Then go into
Code:ItemPacketListener.java
Add this import in.
Code:import com.elvarg.game.content.PetMbox;
Search for
Code:public void handleOption(Player player, int option)
And under
Code:break;
Add
Code:case PetMbox.PET_MYSTERY_BOX: PetMbox.openPetMbox(player); break;
I know its not much, but its nice to give back to the community, and there isn't really much released on elvarg for new coders so thought I'd release.
Firstly go to your client and find
Itemdefinition.java
Search for
switch (itemId) {
Add this under.
case 6829:
itemDef.name = "Pet Mystery Box";
itemDef.stackable = false;
itemDef.actions = new String[5];
itemDef.actions[0] ="Open";
break;
Then go back to your server files and make a new package called content.
com.elvarg.game.content
In this package create
PetMbox.java
Paste this to PetMbox.java
package com.elvarg.game.content;
import java.util.Random;
import com.elvarg.world.entity.impl.player.Player;
/**
*
* @author Insidia X aka DR AHK
* Discord: Diddy Ranqe#4105
*
*/
public class PetMbox {
/**
* The item id of the PetMbox is below.
*/
public static final int PET_MYSTERY_BOX = 6829;
/**
* If the roll is between 0 and 250 it pays out these items. {} - FILL THE BLANKS BELOW
*/
public static int[] WORST_PET_PRIZE = new int[] { 272 };
/**
* If the roll is between 251 and 399 it pays out these items. {} - FILL THE BLANKS BELOW
*/
public static int [] MED_PET_PRIZE = new int[] { 7582, 7583, 1561, 11995 };
/**
* If the roll is between 401, and 487 it pays out these items. {} - FILL THE BLANKS BELOW
*/
public static int [] RARE_PET_PRIZE = new int[] { 13177, 13178 };
/**
* Generates the roll the pay out the prize.
*/
public static int generateRandomNumber() {
return new Random().nextInt(611 - 0) + 0;
}
/**
* Gets the random item from the item arrays at the top.
*/
public static int getRandomItem(int[] array) {
return array[new Random().nextInt(array.length)];
}
/**
* Opens the box and gives the player a random pet or fish food.
*/
public static void openPetMbox(Player player) {
int randomNumber = generateRandomNumber();
int randomItem = 0;
player.getInventory().delete(PET_MYSTERY_BOX, 1);
player.getPacketSender().sendMessage("You open the box, thank you for donating. Good luck!");
if (randomNumber > 0 && randomNumber < 250) {
// Select low quality item to give player
randomItem = getRandomItem(WORST_PET_PRIZE);
player.getPacketSender().sendMessage("@red@You got fish food, unlucky.");
}
if (randomNumber > 251 && randomNumber < 399) {
// Select med quality item to give player
randomItem = getRandomItem(MED_PET_PRIZE);
player.getPacketSender().sendMessage("@gre@You just got a PET!!!!!");
}
if (randomNumber > 401 && randomNumber < 487) {
// Select high quality item to give player
randomItem = getRandomItem(RARE_PET_PRIZE);
player.getPacketSender().sendMessage("@blu@You just got a RARE PET!!!!!");
}
player.getInventory().add(randomItem, 1);
}
}
Then go into
ItemPacketListener.java
Add this import in.
import com.elvarg.game.content.PetMbox;
Search for
public void handleOption(Player player, int option)
And under
break;
Add
case PetMbox.PET_MYSTERY_BOX:
PetMbox.openPetMbox(player);
break;