Jump to content
  • 0

Infinite accinfo on charcters


Promise

Question


  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  386
  • Reputation:   38
  • Joined:  04/28/13
  • Last Seen:  

Hello to everybody, i have this problem when i right click a character with a GM, it is supposed to show the info only once, but it keeps sending @accinfo command, infinitely, even if i restart the server, when I login again keeps sending it.

 

 

odqm.jpg

 

 

when I deactivate the command directly in atcommand.c

 

fltj.jpg

 

So, I think it is a right click problem, not an atcommand problem.

help please :c

 

Thank you in advance.

Link to comment
Share on other sites

13 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  155
  • Topics Per Day:  0.03
  • Content Count:  647
  • Reputation:   16
  • Joined:  11/21/11
  • Last Seen:  

tell us what client are you using.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  386
  • Reputation:   38
  • Joined:  04/28/13
  • Last Seen:  

20100730 i have used it on all my servers, with same data and luas.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  5
  • Reputation:   0
  • Joined:  04/08/14
  • Last Seen:  

i have this problem too, did you solved this problem?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  42
  • Topics Per Day:  0.01
  • Content Count:  1096
  • Reputation:   344
  • Joined:  02/26/12
  • Last Seen:  

Bump for that!

Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  153
  • Topics Per Day:  0.04
  • Content Count:  2285
  • Reputation:   745
  • Joined:  06/16/12
  • Last Seen:  

yes I got similar problem by right-click player when using 20100730 too. /heh

I asked @Aleos to fix this 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  78
  • Reputation:   6
  • Joined:  11/26/12
  • Last Seen:  

helo cydh are you using 20100730?

Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  153
  • Topics Per Day:  0.04
  • Content Count:  2285
  • Reputation:   745
  • Joined:  06/16/12
  • Last Seen:  

helo cydh are you using 20100730?

 

on my pre-re server.

 

and like or not, I have to test official supported clients by rA (20100730, 20120410, 20130807)

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  386
  • Reputation:   38
  • Joined:  04/28/13
  • Last Seen:  

I remember how i have fixed it:

 

open src/map/clif.c

 

Find:

 	const int se = 20; //entry size equip
  	const int sidxe = 4; //start itemlist idx
 	const int cmde = 0xa6;

Change to:

    const int se = 20; //entry size equip
    const int sidxe = 4; //start itemlist idx
    const int cmde = 0x2d1;

Then find:

/// 01df <account id>.L
  void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
  {
	char command[30];
	int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);

Change to:

/// 01df <account id>.L
void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
{
if (sd->bl.type&BL_PC) { // Only show for players
		char command[30];
		int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);

Find:

//tmp get all display
 	safesnprintf(command,sizeof(command),"%caccinfo %d", atcommand_symbol, account_id);
 	is_atcommand(fd, sd, command, 1);
 	//clif_account_name(sd, account_id, ""); //! TODO request to login-serv

Replace to:

//tmp get all display
 		safesnprintf(command,sizeof(command),"%caccinfo %d", atcommand_symbol, account_id);
 		is_atcommand(fd, sd, command, 1);
 		//clif_account_name(sd, account_id, ""); //! TODO request to login-serv
 	}

REMEMBER DO A BACKUP OF YOUR clif.c

Edited by Promise
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  208
  • Reputation:   11
  • Joined:  05/31/12
  • Last Seen:  

I remember how i have fixed it:

 

open src/map/clif.c

 

Find:

 	const int se = 20; //entry size equip
  	const int sidxe = 4; //start itemlist idx
 	const int cmde = 0xa6;

Change to:

    const int se = 20; //entry size equip
    const int sidxe = 4; //start itemlist idx
    const int cmde = 0x2d1;

Then find:

/// 01df <account id>.L
  void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
  {
	char command[30];
	int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);

Change to:

/// 01df <account id>.L
void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
{
if (sd->bl.type&BL_PC) { // Only show for players
		char command[30];
		int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);

Find:

//tmp get all display
 	safesnprintf(command,sizeof(command),"%caccinfo %d", atcommand_symbol, account_id);
 	is_atcommand(fd, sd, command, 1);
 	//clif_account_name(sd, account_id, ""); //! TODO request to login-serv

Replace to:

//tmp get all display
 		safesnprintf(command,sizeof(command),"%caccinfo %d", atcommand_symbol, account_id);
 		is_atcommand(fd, sd, command, 1);
 		//clif_account_name(sd, account_id, ""); //! TODO request to login-serv
 	}

REMEMBER DO A BACKUP OF YOUR clif.c

 

Not working :(

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  42
  • Topics Per Day:  0.01
  • Content Count:  1096
  • Reputation:   344
  • Joined:  02/26/12
  • Last Seen:  

 

I remember how i have fixed it:

 

open src/map/clif.c

 

Find:

 	const int se = 20; //entry size equip
  	const int sidxe = 4; //start itemlist idx
 	const int cmde = 0xa6;

Change to:

    const int se = 20; //entry size equip
    const int sidxe = 4; //start itemlist idx
    const int cmde = 0x2d1;

Then find:

/// 01df <account id>.L
  void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
  {
	char command[30];
	int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);

Change to:

/// 01df <account id>.L
void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
{
if (sd->bl.type&BL_PC) { // Only show for players
		char command[30];
		int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);

Find:

//tmp get all display
 	safesnprintf(command,sizeof(command),"%caccinfo %d", atcommand_symbol, account_id);
 	is_atcommand(fd, sd, command, 1);
 	//clif_account_name(sd, account_id, ""); //! TODO request to login-serv

Replace to:

//tmp get all display
 		safesnprintf(command,sizeof(command),"%caccinfo %d", atcommand_symbol, account_id);
 		is_atcommand(fd, sd, command, 1);
 		//clif_account_name(sd, account_id, ""); //! TODO request to login-serv
 	}

REMEMBER DO A BACKUP OF YOUR clif.c

 

Not working :(

 

 

 Because problem not in these lines. The problem only in one line, what was commented in december 2013 by lighta, and nobody care and wont to listen me about this bug...

 

Before december 2013 there are no problems at all.

 

 

Fast fix (but if you are using the latest revision -> DONT CHANGE): 

 

clif.c make your function to looks like this one:

/// GM requesting account name (for right-click gm menu) (CZ_REQ_ACCOUNTNAME).
/// 01df <account id>.L
void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
{
    if (sd->bl.type&BL_PC) { // Only show for players
        char command[30];
        int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);

        //tmp get all display
        safesnprintf(command,sizeof(command),"%caccinfo %d", atcommand_symbol, account_id);
        is_atcommand(fd, sd, command, 1);
        clif_account_name(sd, account_id, ""); //! TODO request to login-serv
    }
}
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  208
  • Reputation:   11
  • Joined:  05/31/12
  • Last Seen:  

 

 

I remember how i have fixed it:

 

open src/map/clif.c

 

Find:

 	const int se = 20; //entry size equip
  	const int sidxe = 4; //start itemlist idx
 	const int cmde = 0xa6;

Change to:

    const int se = 20; //entry size equip
    const int sidxe = 4; //start itemlist idx
    const int cmde = 0x2d1;

Then find:

/// 01df <account id>.L
  void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
  {
	char command[30];
	int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);

Change to:

/// 01df <account id>.L
void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
{
if (sd->bl.type&BL_PC) { // Only show for players
		char command[30];
		int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);

Find:

//tmp get all display
 	safesnprintf(command,sizeof(command),"%caccinfo %d", atcommand_symbol, account_id);
 	is_atcommand(fd, sd, command, 1);
 	//clif_account_name(sd, account_id, ""); //! TODO request to login-serv

Replace to:

//tmp get all display
 		safesnprintf(command,sizeof(command),"%caccinfo %d", atcommand_symbol, account_id);
 		is_atcommand(fd, sd, command, 1);
 		//clif_account_name(sd, account_id, ""); //! TODO request to login-serv
 	}

REMEMBER DO A BACKUP OF YOUR clif.c

 

Not working :(

 

 

 Because problem not in these lines. The problem only in one line, what was commented in december 2013 by lighta, and nobody care and wont to listen me about this bug...

 

Before december 2013 there are no problems at all.

 

 

Fast fix (but if you are using the latest revision -> DONT CHANGE): 

 

clif.c make your function to looks like this one:

/// GM requesting account name (for right-click gm menu) (CZ_REQ_ACCOUNTNAME).
/// 01df <account id>.L
void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
{
    if (sd->bl.type&BL_PC) { // Only show for players
        char command[30];
        int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);

        //tmp get all display
        safesnprintf(command,sizeof(command),"%caccinfo %d", atcommand_symbol, account_id);
        is_atcommand(fd, sd, command, 1);
        clif_account_name(sd, account_id, ""); //! TODO request to login-serv
    }
}

so supposedly if i would delete that it may fix the problem? after all that accinfo in right click is pretty stupid though :) you could just type it down that shortcut is really for lazy bone

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  42
  • Topics Per Day:  0.01
  • Content Count:  1096
  • Reputation:   344
  • Joined:  02/26/12
  • Last Seen:  

so supposedly if i would delete that it may fix the problem? after all that accinfo in right click is pretty stupid though :) you could just type it down that shortcut is really for lazy bone

 

First Way

 

If you are using 2010-07-30, all what you need to do:

Open clif.c, and find this function, and make it my own:

/// GM requesting account name (for right-click gm menu) (CZ_REQ_ACCOUNTNAME).
/// 01df <account id>.L
/// @CHECKME
void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
{
	int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);
	
	char query[30];
	safesnprintf(query,sizeof(query),"%d", account_id);
	intif_request_accinfo(sd->fd, sd->bl.id, pc_get_group_level(sd), query, 1); //will call clif_account_name at return
	clif_account_name(fd, account_id, "");
}

SECOND WAY

 

https://github.com/rathena/rathena/commit/a16701f33afc7ca186810919814bdf0f54742e4e

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  208
  • Reputation:   11
  • Joined:  05/31/12
  • Last Seen:  

 

so supposedly if i would delete that it may fix the problem? after all that accinfo in right click is pretty stupid though :) you could just type it down that shortcut is really for lazy bone

 

First Way

 

If you are using 2010-07-30, all what you need to do:

Open clif.c, and find this function, and make it my own:

/// GM requesting account name (for right-click gm menu) (CZ_REQ_ACCOUNTNAME).
/// 01df <account id>.L
/// @CHECKME
void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
{
	int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);
	
	char query[30];
	safesnprintf(query,sizeof(query),"%d", account_id);
	intif_request_accinfo(sd->fd, sd->bl.id, pc_get_group_level(sd), query, 1); //will call clif_account_name at return
	clif_account_name(fd, account_id, "");
}

SECOND WAY

 

https://github.com/rathena/rathena/commit/a16701f33afc7ca186810919814bdf0f54742e4e

 

second way is not working

 

 

/// GM requesting account name (for right-click gm menu) (CZ_REQ_ACCOUNTNAME).

/// 01df <account id>.L
//! TODO: Figure out how does this actually work
void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd)
{
int account_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);
/*
char query[30];
safesnprintf(query,sizeof(query),"%d", account_id);
intif_request_accinfo(sd->fd, sd->bl.id, pc_get_group_level(sd), query, 1); //will call clif_account_name at return
*/
 
clif_account_name(fd, account_id, "");
}

my vps is up to date

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...