Jump to content

rootKid

Members
  • Posts

    83
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by rootKid

  1. If I understood you correctly, you wish to be able to choose the character's class during character creation? If so, it is not possible, unless you pull off some extensive client hexing and packet modifications.
  2. Item coloring is handled through the client, so achieving what you wish would require client hexing.
  3. With the rAthena emulator, to reduce damage of particular skills on certain maps, you can utilize the skill_damage_db.txt (found inside the db folder). However, I do not think a general damage reduction mod feature does not come built-in with rAthena, other than for GvG/Castle maps. Nevertheless, check this topic out: https://rathena.org/board/topic/80110-global-damage-adjustment/
  4. That setting is to set the maximum number of alliances possible. Setting it to 0 disables the alliance system altogether. Just to clarify the original post: Aerolite, are you seeking to disable the ability to form alliances during WoE time, or is just to disable alliances entirely (as alliances are meaningless if they are disregarded during woe)? I presumed the former.
  5. Is it not disabled by default?
  6. Recompiling should not have any effect on this setting. But what exactly is the issue? You are unable to share EXP regardless of the share range? If so, what share range does work?
  7. if you do not wish to use bNoMagicDamage in the script with status.conf properly configured, implementation of a custom bonus to grant immunity to coma will be the most efficient approach to accomplish what you seek.
  8. Could you provide more detail? Like the coding of the skill in skill.c etc.
  9. How can I enable the ability to auction more than 5 items?
  10. Well I've learned about a solution after contacting goddameit, who apparently knows how to do it: So client-side edits are unnecessary according to him. Unfortunately, goddameit refused to provide me with the exact edits that must be made, so is there another expert that can be help me achieve what he has suggested?
  11. Utilizing npc shops for player vending is truly a brilliant concept. How would one go about accomplishing this? More input would greatly be appreciated.
  12. The official maximum of only 12 items able to be vended is very restricting. Is it possible to increase the maximum number of items that can be vended? Has anyone ever done it? If so, how can it be done? Is client hexing really involved? I've read this topic: http://rathena.org/board/topic/87426-increasing-max-vending-slot/ It offers no clear solution. Merely editting the MAX_VENDING in map.h does not seem to be the solution. Has no one figured it out even after all these years? I'd really appreciate the support in figuring this out. It'd be a great accomplishment.
  13. Could you show me how you'd put it into that query? Not sure how JOIN exactly works. Lets use new_table as the new table and new_zeny as the new zeny column that I want it to read for zeny.
  14. Okay, so lets say the new table is set to be used for zeny. It is in a different table than the char table. How do I go about editting the char.c? This is the part I'm struggling with: //===================================================================================================== // Loads the basic character rooster for the given account. Returns total buffer used. int mmo_chars_fromsql(struct char_session_data* sd, uint8* buf) { SqlStmt* stmt; struct mmo_charstatus p; int j = 0, i; char last_map[MAP_NAME_LENGTH_EXT]; time_t unban_time = 0; stmt = SQL->StmtMalloc(sql_handle); if( stmt == NULL ) { SqlStmt_ShowDebug(stmt); return 0; } memset(&p, 0, sizeof(p)); for(i = 0 ; i < MAX_CHARS; i++ ) { sd->found_char[i] = -1; sd->unban_time[i] = 0; } // read char data if( SQL_ERROR == SQL->StmtPrepare(stmt, "SELECT " "`char_id`,`char_num`,`name`,`class`,`base_level`,`job_level`,`base_exp`,`job_exp`,`zeny`," "`str`,`agi`,`vit`,`int`,`dex`,`luk`,`max_hp`,`hp`,`max_sp`,`sp`," "`status_point`,`skill_point`,`option`,`karma`,`manner`,`hair`,`hair_color`," "`clothes_color`,`weapon`,`shield`,`head_top`,`head_mid`,`head_bottom`,`last_map`,`rename`,`delete_date`," "`robe`,`slotchange`,`unban_time`" " FROM `%s` WHERE `account_id`='%d' AND `char_num` < '%d'", char_db, sd->account_id, MAX_CHARS) || SQL_ERROR == SQL->StmtExecute(stmt) || SQL_ERROR == SQL->StmtBindColumn(stmt, 0, SQLDT_INT, &p.char_id, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 1, SQLDT_UCHAR, &p.slot, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 2, SQLDT_STRING, &p.name, sizeof(p.name), NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 3, SQLDT_SHORT, &p.class_, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 4, SQLDT_UINT, &p.base_level, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 5, SQLDT_UINT, &p.job_level, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 6, SQLDT_UINT, &p.base_exp, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 7, SQLDT_UINT, &p.job_exp, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 8, SQLDT_INT, &p.zeny, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 9, SQLDT_SHORT, &p.str, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 10, SQLDT_SHORT, &p.agi, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 11, SQLDT_SHORT, &p.vit, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 12, SQLDT_SHORT, &p.int_, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 13, SQLDT_SHORT, &p.dex, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 14, SQLDT_SHORT, &p.luk, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 15, SQLDT_INT, &p.max_hp, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 16, SQLDT_INT, &p.hp, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 17, SQLDT_INT, &p.max_sp, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 18, SQLDT_INT, &p.sp, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 19, SQLDT_UINT, &p.status_point, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 20, SQLDT_UINT, &p.skill_point, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 21, SQLDT_UINT, &p.option, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 22, SQLDT_UCHAR, &p.karma, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 23, SQLDT_SHORT, &p.manner, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 24, SQLDT_SHORT, &p.hair, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 25, SQLDT_SHORT, &p.hair_color, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 26, SQLDT_SHORT, &p.clothes_color, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 27, SQLDT_SHORT, &p.weapon, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 28, SQLDT_SHORT, &p.shield, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 29, SQLDT_SHORT, &p.head_top, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 30, SQLDT_SHORT, &p.head_mid, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 31, SQLDT_SHORT, &p.head_bottom, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 32, SQLDT_STRING, &last_map, sizeof(last_map), NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 33, SQLDT_USHORT, &p.rename, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 34, SQLDT_UINT32, &p.delete_date, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 35, SQLDT_SHORT, &p.robe, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 36, SQLDT_USHORT, &p.slotchange, 0, NULL, NULL) || SQL_ERROR == SQL->StmtBindColumn(stmt, 37, SQLDT_LONG, &unban_time, 0, NULL, NULL) ) { SqlStmt_ShowDebug(stmt); SQL->StmtFree(stmt); return 0; } for( i = 0; i < MAX_CHARS && SQL_SUCCESS == SQL->StmtNextRow(stmt); i++ ) { p.last_point.map = mapindex->name2id(last_map); sd->found_char[p.slot] = p.char_id; sd->unban_time[p.slot] = unban_time; j += mmo_char_tobuf(WBUFP(buf, j), &p); } memset(sd->new_name,0,sizeof(sd->new_name)); SQL->StmtFree(stmt); return j; } As you can see it is currently using the old table char for zeny. How do I add the new table to be read for zeny instead?
  15. Is it possible for an alternate table to be utilized for a character's zeny? Is it through char.c? If so, how? Just to clarify what I'm asking, what I'm hoping to achieve is establishing a different table to be utilized for player zeny instead of the zeny field in the 'char' table. [This may need to be moved to the source support section.]
  16. Is it possible for an alternate table to be utilized for a character's zeny? Is it through char.c? If so, how? Just to clarify what I'm asking, what I'm hoping to achieve is establishing a different table to be utilized for player zeny instead of the zeny field in the 'char' table. [This may need to be moved to the source support section.]
  17. Could you give an example of how that is used? Say for example, to give an apple to a random player on that specific map?
  18. I don't want a count of the players on the map. I want a list of players which then I can attach a rid to in order to do what I want with the player after
  19. How would I go about fetching the list of players on a certain map, in order to give one of the players an item?
  20. BUMP Can this receive further enlightening?
  21. Which SVN was the mapflag noitem feature added?
×
×
  • Create New...