Jump to content
  • 0

Guilds Informations can't save


Maxlam

Question


  • Group:  Members
  • Topic Count:  13
  • Topics Per Day:  0.00
  • Content Count:  78
  • Reputation:   0
  • Joined:  02/18/12
  • Last Seen:  

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 Maxlam
Link to comment
Share on other sites

2 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  196
  • Reputation:   72
  • Joined:  12/12/11
  • Last Seen:  

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 by Napster
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  13
  • Topics Per Day:  0.00
  • Content Count:  78
  • Reputation:   0
  • Joined:  02/18/12
  • Last Seen:  

Working great (Without SRC part) !

Thanks alot ^_^

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...