[Help] Dont Getting Items From fishing..
Hey i have a problem with my fishing system..
When im Fishing i Dont get any items.. i get only mesos and exp...
Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package server;
import client.MapleClient;
import client.MapleCharacter;
import client.MapleInventoryType;
import constants.ServerConstants;
import net.AbstractMaplePacketHandler;
import server.MapleInventoryManipulator;
import tools.MaplePacketCreator;
/**
*
* @author ExtremeUser
*/
public class Fishing {
public static void doFishing(client.MapleCharacter chr){
int mesoMultiplier = 1;
int expMultiplier = 1;
switch(chr.getWorld()){
case 0:
mesoMultiplier = ServerConstants.BONUS_FISHING_MESO_RATE;
expMultiplier = ServerConstants.BONUS_FISHING_EXP_RATE;
break;
}
int nxcash = randnx(1, 50);
int mesoAward = (int)(15.0 * Math.random() + 1201) * mesoMultiplier + (6 * chr.getLevel() / 5);
int expAward = (int)((50.0 * Math.random()) * expMultiplier + (15 * chr.getLevel() / 2) / 6) * chr.getFishingLevel();
if(chr.getLevel() >= 10 && chr.getMapId() == 970020004 && chr.haveItem(3011000) && chr.getChair() == 3011000){
int rand = (int)(3.0 * Math.random());
int fishingexp = (int)(5.0 * Math.random()) + 1;
switch(rand){
case 0:
chr.gainMeso(mesoAward, true, true, true);
chr.gainFishingEXP(fishingexp);
chr.getClient().getSession().write(MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1));
chr.getMap().broadcastMessage(chr, MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1), false);
break;
case 1:
chr.gainExp(expAward, true, true);
chr.gainFishingEXP(fishingexp);
chr.getClient().getSession().write(MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1));
chr.getMap().broadcastMessage(chr, MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1), false);
break;
case 2:
chr.gainFishingEXP(fishingexp * 2);
chr.getClient().getSession().write(MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1));
chr.getMap().broadcastMessage(chr, MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1), false);
break;
case 3:
chr.getClient().getSession().write(MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1));
chr.getMap().broadcastMessage(chr, MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1), false);
break;
case 4:
chr.gainMeso(mesoAward, true, true, true);
chr.getClient().getSession().write(MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1));
chr.getMap().broadcastMessage(chr, MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1), false);
break;
case 5:
chr.gainCashBonus(1, nxcash);
break;
}
} else {
chr.dropMessage("Please sit on your fishing chair at the fishing lagoon to fish.");
}
}
private static int randnx(int l, int u) {
return (int) ((Math.random() * (u - l + 1)) + l);
}
public static int getRandomItem(){
int finalID = 0;
int rand = (int)(100.0 * Math.random());
int[] commons = {1002851, 2002020, 2002020, 2000006, 2000018, 2002018, 2002024, 2002027, 2002027, 2000018, 2000018, 2000018 , 2000018, 2002030, 2002018, 2000016}; // filler' up
int[] uncommons = {1000025, 1002662, 1002812, 1002850, 1002881, 1002880, 1012072, 4020009, 2043220, 2043022, 2040543, 2044420, 2040943, 2043713, 2044220, 2044120, 2040429, 2043220, 2040943}; // filler' uptoo
int[] rares = {1002859, 1002553, 01002762, 01002763, 01002764, 01002765, 01002766, 01002663, 1002788, 1002949, 2049100, 2340000, 2040822,2040822,2040822,2040822,2040822,2040822,2040822,2040822}; // filler' uplast
if(rand >= 25){
return commons[(int)(commons.length * Math.random())];
} else if(rand <= 7 && rand >= 5){
return uncommons[(int)(uncommons.length * Math.random())];
} else if(rand <= 3){
return rares[(int)(rares.length * Math.random())];
}
return finalID;
}
}
Any help?
~bump~
Re: [Help] Dont Getting Items From fishing..
Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package server;
import client.MapleClient;
import client.MapleCharacter;
import client.MapleInventoryType;
import constants.ServerConstants;
import net.AbstractMaplePacketHandler;
import server.MapleInventoryManipulator;
import tools.MaplePacketCreator;
/**
*
* @author ExtremeUser
*/
public class Fishing {
public static void doFishing(client.MapleCharacter chr){
int mesoMultiplier = 1;
int expMultiplier = 1;
switch(chr.getWorld()){
case 0:
mesoMultiplier = ServerConstants.BONUS_FISHING_MESO_RATE;
expMultiplier = ServerConstants.BONUS_FISHING_EXP_RATE;
break;
}
int nxcash = randnx(1, 50);
int mesoAward = (int)(15.0 * Math.random() + 1201) * mesoMultiplier + (6 * chr.getLevel() / 5);
int expAward = (int)((50.0 * Math.random()) * expMultiplier + (15 * chr.getLevel() / 2) / 6) * chr.getFishingLevel();
if(chr.getLevel() >= 10 && chr.getMapId() == 970020004 && chr.haveItem(3011000) && chr.getChair() == 3011000){
int rand = (int)(7.0 * Math.random());
int fishingexp = (int)(5.0 * Math.random()) + 1;
switch(rand){
case 0:
chr.gainMeso(mesoAward, true, true, true);
chr.gainFishingEXP(fishingexp);
chr.getClient().getSession().write(MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1));
chr.getMap().broadcastMessage(chr, MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1), false);
break;
case 1:
chr.gainExp(expAward, true, true);
chr.gainFishingEXP(fishingexp);
chr.getClient().getSession().write(MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1));
chr.getMap().broadcastMessage(chr, MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1), false);
break;
case 2:
chr.gainFishingEXP(fishingexp * 2);
chr.getClient().getSession().write(MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1));
chr.getMap().broadcastMessage(chr, MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1), false);
break;
case 3:
chr.getClient().getSession().write(MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1));
chr.getMap().broadcastMessage(chr, MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1), false);
break;
case 4:
chr.gainMeso(mesoAward, true, true, true);
chr.getClient().getSession().write(MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1));
chr.getMap().broadcastMessage(chr, MaplePacketCreator.catchMonster(9500336, 2000017, (byte)1), false);
break;
case 5:
chr.gainCashBonus(1, nxcash);
break;
case 6:
MapleInventoryManipulator.addFromDrop(chr.getClient(), getRandomItem());
break;
}
} else {
chr.dropMessage("Please sit on your fishing chair at the fishing lagoon to fish.");
}
}
private static int randnx(int l, int u) {
return (int) ((Math.random() * (u - l + 1)) + l);
}
public static int getRandomItem(){
int finalID = 0;
int rand = (int)(100.0 * Math.random());
int[] commons = {1002851, 2002020, 2002020, 2000006, 2000018, 2002018, 2002024, 2002027, 2002027, 2000018, 2000018, 2000018 , 2000018, 2002030, 2002018, 2000016}; // filler' up
int[] uncommons = {1000025, 1002662, 1002812, 1002850, 1002881, 1002880, 1012072, 4020009, 2043220, 2043022, 2040543, 2044420, 2040943, 2043713, 2044220, 2044120, 2040429, 2043220, 2040943}; // filler' uptoo
int[] rares = {1002859, 1002553, 01002762, 01002763, 01002764, 01002765, 01002766, 01002663, 1002788, 1002949, 2049100, 2340000, 2040822,2040822,2040822,2040822,2040822,2040822,2040822,2040822}; // filler' uplast
if(rand >= 25){
return commons[(int)(commons.length * Math.random())];
} else if(rand <= 7 && rand >= 5){
return uncommons[(int)(uncommons.length * Math.random())];
} else if(rand <= 3){
return rares[(int)(rares.length * Math.random())];
}
return finalID;
}
}
Not sure how you want it to work. But that will do what (I think) was intended by the creator.
Re: [Help] Dont Getting Items From fishing..
Quote:
Originally Posted by
Soulfist
Not sure how you want it to work. But that will do what (I think) was intended by the creator.
I want when Charecter Catch Somting he will get an random item.
In my script i get only Exp and Mesos and fishexp
Code:
case 3:
chr.gainItem(getRandomItem(), (short) 1, false, true);
break;
Mybe it will help you
Re: [Help] Dont Getting Items From fishing..
Is gainItem even a method in maplecharacter
Posted via Mobile Device