Maxlam Posted November 19, 2012 Group: Members Topic Count: 13 Topics Per Day: 0.00 Content Count: 78 Reputation: 0 Joined: 02/18/12 Last Seen: December 23, 2013 Share Posted November 19, 2012 (edited) Hello everyone ! There is my problem : I'm using an eathena server with SQL and my guilds informations don't save. I cannot change the emblem, the % of tax or the positions names, because after I changed it, they going back blank. My version is : eAthena-SQL-15074[Trunk] My SQL working fine and the server is open until a year. The problem appear today (I got a problem last week and restarted backup). I added manually a position on SQL and restart the server : Position was added into my guild. So, the problem is : "Why the adding don't work into the other direction ?". I read this topic without result : http://rathena.org/b...guild +position I found the same on Eathena, but no one help this guy... Can anyone help me, please ? ^^ Thanks alot ! Maxlam Edited November 19, 2012 by Maxlam Quote Link to comment Share on other sites More sharing options...
Napster Posted November 19, 2012 Group: Members Topic Count: 11 Topics Per Day: 0.00 Content Count: 196 Reputation: 72 Joined: 12/12/11 Last Seen: November 6, 2016 Share Posted November 19, 2012 (edited) 1. edit your packet_db.txt find 0x0155,-1,guildchangememberposition,2 replace to 0x0155,-1,guildchangememberposition,2:4 and find 0x0161,-1,guildchangepositioninfo,2 replace to 0x0161,-1,guildchangepositioninfo,2:4 2. edit src server side open clif.c find clif_parse_GuildChangePositionInfo replace all /// Request to update guild positions (CZ_REG_CHANGE_GUILD_POSITIONINFO). /// 0161 <packet len>.W { <position id>.L <mode>.L <ranking>.L <pay rate>.L <name>.24B }* void clif_parse_GuildChangePositionInfo(int fd, struct map_session_data *sd) { const unsigned int blocksize = 40; unsigned int packet_len, count, i; char name[NAME_LENGTH]; struct s_packet_db* info = &packet_db[sd->packet_ver][RFIFOW(fd,0)]; if( !sd->state.gmaster_flag ) return; packet_len = RFIFOW(fd,info->pos[0]); packet_len-= info->pos[1]; if( packet_len%blocksize ) { ShowError("clif_parse_GuildChangePositionInfo: Unexpected position list size %u (account_id=%d, block size=%u)\n", packet_len, sd->bl.id, blocksize); return; } count = packet_len/blocksize; for( i = 0; i < count; i++ ) {// FIXME: The list should be sent as a whole (see clif_guild_positionchanged) safestrncpy(name, (const char*)RFIFOP(fd,info->pos[1]+i*blocksize+16), sizeof(name)); guild_change_position(sd->status.guild_id, RFIFOL(fd,info->pos[1]+i*blocksize), RFIFOL(fd,info->pos[1]+i*blocksize+4), RFIFOL(fd,info->pos[1]+i*blocksize+12), name); } } And Find clif_parse_GuildChangeMemberPosition replace all /// Request to update the position of guild members (CZ_REQ_CHANGE_MEMBERPOS). /// 0155 <packet len>.W { <account id>.L <char id>.L <position id>.L }* void clif_parse_GuildChangeMemberPosition(int fd, struct map_session_data *sd) { const unsigned int blocksize = 12; unsigned int packet_len, count, i; struct s_packet_db* info = &packet_db[sd->packet_ver][RFIFOW(fd,0)]; if( !sd->state.gmaster_flag ) return; packet_len = RFIFOW(fd,info->pos[0]); packet_len-= info->pos[1]; if( packet_len%blocksize ) { ShowError("clif_parse_GuildChangeMemberPosition: Unexpected position list size %u (account_id=%d, block size=%u)\n", packet_len, sd->bl.id, blocksize); return; } count = packet_len/blocksize; for( i = 0; i < count; i++ ) {// FIXME: The list should be sent as a whole (see clif_guild_memberpositionchanged) guild_change_memberposition(sd->status.guild_id, RFIFOL(fd,info->pos[1]+i*blocksize), RFIFOL(fd,info->pos[1]+i*blocksize+4), RFIFOL(fd,info->pos[1]+i*blocksize+8)); } } recompile your server again Edited November 19, 2012 by Napster Quote Link to comment Share on other sites More sharing options...
Maxlam Posted November 19, 2012 Group: Members Topic Count: 13 Topics Per Day: 0.00 Content Count: 78 Reputation: 0 Joined: 02/18/12 Last Seen: December 23, 2013 Author Share Posted November 19, 2012 Working great (Without SRC part) ! Thanks alot Quote Link to comment Share on other sites More sharing options...
Question
Maxlam
Hello everyone !
There is my problem : I'm using an eathena server with SQL and my guilds informations don't save.
I cannot change the emblem, the % of tax or the positions names, because after I changed it, they going back blank.
My version is : eAthena-SQL-15074[Trunk]
My SQL working fine and the server is open until a year.
The problem appear today (I got a problem last week and restarted backup).
I added manually a position on SQL and restart the server : Position was added into my guild.
So, the problem is : "Why the adding don't work into the other direction ?".
I read this topic without result :
http://rathena.org/b...guild +position
I found the same on Eathena, but no one help this guy...
Can anyone help me, please ? ^^
Thanks alot !
Maxlam
Edited by MaxlamLink to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.