Hola, yo denuevo, bueno siempre he trabajado con raethena asi que aunque se parece al hercules aún me cuesta un poco manejarlo y lo esoty conociendo, asi que si resulto muy molesto, desde ya, pido las respectivas disculpas.
Bueno el tema es éste, encontré ésta guia para modificar el nivel máximo de mi servidor pero nada funciona.
//Max number of characters per account. Note that changing this setting alone is not enough if the client is not hexed to support more characters as well.
#define MAX_CHARS 9
//Number of slots carded equipment can have. Never set to less than 4 as they are also used to keep the data of forged items/equipment. [skotlex]
//Note: The client seems unable to receive data for more than 4 slots due to all related packets having a fixed size.
#define MAX_SLOTS 4
//Max amount of a single stacked item
#define MAX_AMOUNT 30000
#define MAX_ZENY 1000000000
//Official Limit: 2.1b ( the var that stores the money doesn't go much higher than this by default )
#define MAX_BANK_ZENY 2100000000
#define MAX_LEVEL 500
#define MAX_FAME 1000000000
#define MAX_CART 100
#define MAX_SKILL 1478
#define MAX_SKILL_ID 10015 // [ind/Hercules] max used skill ID
// Update this max as necessary. 86 is the value needed for Expanded Super Novice.
#define INDEX_NOT_FOUND (-1) ///< Used as invalid/failure value in various functions that return an index
// Questlog states
enum quest_state {
Q_INACTIVE, ///< Inactive quest (the user can toggle between active and inactive quests)
Q_ACTIVE, ///< Active quest
Q_COMPLETE, ///< Completed quest
};
/// Questlog entry
struct quest {
int quest_id; ///< Quest ID
unsigned int time; ///< Expiration time
int count[MAX_QUEST_OBJECTIVES]; ///< Kill counters of each quest objective
enum quest_state state; ///< Current quest state
};
struct item {
int id;
short nameid;
short amount;
unsigned int equip; // Location(s) where item is equipped (using enum equip_pos for bitmasking).
char identify;
char refine;
char attribute;
short card[MAX_SLOTS];
unsigned int expire_time;
char favorite;
unsigned char bound;
uint64 unique_id;
};
//Equip position constants
enum equip_pos {
EQP_HEAD_LOW = 0x000001,
EQP_HEAD_MID = 0x000200, //512
EQP_HEAD_TOP = 0x000100, //256
EQP_HAND_R = 0x000002, //2
EQP_HAND_L = 0x000020, //32
EQP_ARMOR = 0x000010, //16
EQP_SHOES = 0x000040, //64
EQP_GARMENT = 0x000004, //4
EQP_ACC_L = 0x000008, //8
EQP_ACC_R = 0x000080, //128
EQP_COSTUME_HEAD_TOP = 0x000400, //1024
EQP_COSTUME_HEAD_MID = 0x000800, //2048
EQP_COSTUME_HEAD_LOW = 0x001000, //4096
EQP_COSTUME_GARMENT = 0x002000, //8192
//UNUSED_COSTUME_FLOOR = 0x004000, //16384
EQP_AMMO = 0x008000, //32768
EQP_SHADOW_ARMOR = 0x010000, //65536
EQP_SHADOW_WEAPON = 0x020000, //131072
EQP_SHADOW_SHIELD = 0x040000, //262144
EQP_SHADOW_SHOES = 0x080000, //524288
EQP_SHADOW_ACC_R = 0x100000, //1048576
EQP_SHADOW_ACC_L = 0x200000, //2097152
};
struct point {
unsigned short map;
short x,y;
};
enum e_skill_flag
{
SKILL_FLAG_PERMANENT,
SKILL_FLAG_TEMPORARY,
SKILL_FLAG_PLAGIARIZED,
SKILL_FLAG_UNUSED, ///< needed to maintain the order since the values are saved, can be renamed and used if a new flag is necessary
SKILL_FLAG_PERM_GRANTED, ///< Permanent, granted through someway (e.g. script).
/* */
/* MUST be the last, because with it the flag value stores a dynamic value (flag+lv) */
SKILL_FLAG_REPLACED_LV_0, // Temporary skill overshadowing permanent skill of level 'N - SKILL_FLAG_REPLACED_LV_0',
};
enum e_mmo_charstatus_opt {
OPT_NONE = 0x0,
OPT_SHOW_EQUIP = 0x1,
OPT_ALLOW_PARTY = 0x2,
};
enum e_item_bound_type {
IBT_MIN = 0x1,
IBT_ACCOUNT = 0x1,
IBT_GUILD = 0x2,
IBT_PARTY = 0x3,
IBT_CHARACTER = 0x4,
IBT_MAX = 0x4,
};
struct s_skill {
unsigned short id;
unsigned char lv;
unsigned char flag; // See enum e_skill_flag
};
struct script_reg_state {
unsigned int type : 1;/* because I'm a memory hoarder and having them in the same struct would be a 8-byte/instance waste while ints outnumber str on a 10000-to-1 ratio. */
unsigned int update : 1;/* whether it needs to be sent to char server for insertion/update/delete */
};
struct script_reg_num {
struct script_reg_state flag;
int value;
};
struct script_reg_str {
struct script_reg_state flag;
char *value;
};
// For saving status changes across sessions. [skotlex]
struct status_change_data {
unsigned short type; //SC_type
int val1, val2, val3, val4;
unsigned int tick; //Remaining duration.
};
struct storage_data {
int storage_amount;
struct item items[MAX_STORAGE];
};
struct guild_storage {
int dirty;
int guild_id;
short storage_status;
short storage_amount;
struct item items[MAX_GUILD_STORAGE];
unsigned short lock;
};
struct s_pet {
int account_id;
int char_id;
int pet_id;
short class_;
short level;
short egg_id;//pet egg id
short equip;//pet equip name_id
short intimate;//pet friendly
short hungry;//pet hungry
char name[NAME_LENGTH];
char rename_flag;
char incubate;
};
struct s_homunculus { //[orn]
char name[NAME_LENGTH];
int hom_id;
int char_id;
short class_;
short prev_class;
int hp,max_hp,sp,max_sp;
unsigned int intimacy;
short hunger;
struct s_skill hskill[MAX_HOMUNSKILL]; //albator
short skillpts;
short level;
unsigned int exp;
short rename_flag;
short vaporize; //albator
int str;
int agi;
int vit;
int int_;
int dex;
int luk;
int8 spiritball; //for homun S [lighta]
};
struct s_mercenary {
int mercenary_id;
int char_id;
short class_;
int hp, sp;
unsigned int kill_count;
unsigned int life_time;
};
struct s_elemental {
int elemental_id;
int char_id;
short class_;
int mode;
int hp, sp, max_hp, max_sp, matk, atk, atk2;
short hit, flee, amotion, def, mdef;
int life_time;
};
struct s_friend {
int account_id;
int char_id;
char name[NAME_LENGTH];
};
#ifdef HOTKEY_SAVING
struct hotkey {
unsigned int id;
unsigned short lv;
unsigned char type; // 0: item, 1: skill
};
#endif
struct mmo_charstatus {
int char_id;
int account_id;
int partner_id;
int father;
int mother;
int child;
unsigned int base_exp,job_exp;
int zeny;
int bank_vault;
short class_;
unsigned int status_point,skill_point;
int hp,max_hp,sp,max_sp;
unsigned int option;
short manner; // Defines how many minutes a char will be muted, each negative point is equivalent to a minute.
unsigned char karma;
short hair,hair_color,clothes_color;
int party_id,guild_id,pet_id,hom_id,mer_id,ele_id;
int fame;
// Mercenary Guilds Rank
int arch_faith, arch_calls;
int spear_faith, spear_calls;
int sword_faith, sword_calls;
short weapon; // enum weapon_type
short shield; // view-id
short head_top,head_mid,head_bottom;
short robe;
char name[NAME_LENGTH];
unsigned int base_level,job_level;
short str,agi,vit,int_,dex,luk;
unsigned char slot,sex;
uint32 mapip;
uint16 mapport;
struct point last_point,save_point,memo_point[MAX_MEMOPOINTS];
Hola, yo denuevo, bueno siempre he trabajado con raethena asi que aunque se parece al hercules aún me cuesta un poco manejarlo y lo esoty conociendo, asi que si resulto muy molesto, desde ya, pido las respectivas disculpas.
Bueno el tema es éste, encontré ésta guia para modificar el nivel máximo de mi servidor pero nada funciona.
http://herc.ws/wiki/Edit_Max_Level
Mi intención es que mi servidor sea 500/120 y el unico que me da problema es el base level, el job lo tengo bien
éstos son mis archivos:
client.conf
srccommonmmo.h
Share this post
Link to post
Share on other sites