Messenger and nickname problem

Page 1 of 2 12 LastLast
Results 1 to 15 of 16
  1. #1
    Apprentice AznSW is offline
    MemberRank
    Jan 2011 Join Date
    17Posts

    Messenger and nickname problem

    Hello all :)

    I got my server to work thanks to this forum :D
    but I have a some questions.

    I couldnt seem to find any threads that fix the messenger, or get it to work, everytime i add buddy, they don't see it and it disappears when i login, it says "retrieving buddy list".

    and is there any way to get your in-game-name saved?
    everytime i change my IGN it changes back to my username when i relog :)

    any help is appreciated :D thanks!

    ( sorry if this is already discussed somewhere else, i did use the search button but couldnt find anything )


  2. #2
    All CHAOS! X_Sarah_X is offline
    MemberRank
    Jul 2009 Join Date
    BeachLocation
    630Posts

    Re: Messenger and nickname problem

    For the Messenger, I have the same problem and am still trying to find out a way to fix it. However, so far no luck for me.

    About the nickname changing...there is a way to make it available, but not ingame.
    What I did was create a simple PHP script where people can update their nickname free of charge.
    Now, I'm no professional PHP coder and don't have a lot of knowledge about PHP to begin with. So my script will probably be a mess when a real PHP coder looks at it :P

    But that's your best bet for now until we found a way to fix these issues.

    If you are interested in the PHP script, however, feel free to send me a PM, and I'll send you my script.

  3. #3
    Deny everything. Tsukasa is offline
    MemberRank
    Jun 2005 Join Date
    Net SlumLocation
    558Posts

    Re: Messenger and nickname problem

    For the messenger: It's simple to fix, the logs will tell you that a procedure is missing. Simply stub it and friends will work.

    As for the nickname update: Works fine. Go to the game settings, in the tab "game" is a field "Nickname" you can use to update your nickname.

  4. #4
    Proficient Member bubbastic is offline
    MemberRank
    Nov 2010 Join Date
    WindHillLocation
    181Posts

    Re: Messenger and nickname problem

    Quote Originally Posted by X_Sarah_X View Post
    About the nickname changing...there is a way to make it available, but not ingame.
    Oh weird o.O
    I have no problem to change the nickname ingame as Tsukasa said above : in the options! button on top right of the screen. Have you any error message in the log ?
    Last edited by bubbastic; 01-02-11 at 09:30 PM.

  5. #5
    All CHAOS! X_Sarah_X is offline
    MemberRank
    Jul 2009 Join Date
    BeachLocation
    630Posts

    Re: Messenger and nickname problem

    No errors or references to nickname changing in my logs, no.

    It does change the nickname, but as soon as you re-login, it's back to the old name.
    AKA it doesn't insert the new nickname into the DB which probably means it doesn't call for the procedure?

    @Tsukasa: Thanks for your guideline there, fixed Messenger ;)
    Last edited by X_Sarah_X; 01-02-11 at 10:09 PM.

  6. #6
    Creator of Code chreadie is offline
    MemberRank
    Mar 2006 Join Date
    SwedenLocation
    603Posts

    Re: Messenger and nickname problem

    my guess is that [dbo].[USP_NICKNAME_UPDATE] is used to update the nickname, this SP is empty.

  7. #7
    All CHAOS! X_Sarah_X is offline
    MemberRank
    Jul 2009 Join Date
    BeachLocation
    630Posts

    Re: Messenger and nickname problem

    That doesn't explain why it works for Tsukasa though ;)
    Unless we're using a different DB...

  8. #8
    Creator of Code chreadie is offline
    MemberRank
    Mar 2006 Join Date
    SwedenLocation
    603Posts

    Re: Messenger and nickname problem

    USE [Pangya_S4_TH]
    GO
    /****** Object: StoredProcedure [dbo].[USP_NICKNAME_UPDATE] Script Date: 02/01/2011 22:12:36 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[USP_NICKNAME_UPDATE]
    @x int,
    @y varchar(20)
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    DECLARE @Occupied INT
    EXEC @Occupied = [dbo].[USP_NICKNAME_CHECK] @y
    IF @Occupied = 0 BEGIN
    UPDATE Pangya_Member_Info
    SET NickName = @y WHERE userid = @x
    SELECT 0
    END
    ELSE BEGIN
    SELECT 1
    END
    END
    Try that one

  9. #9
    Apprentice AznSW is offline
    MemberRank
    Jan 2011 Join Date
    17Posts

    Re: Messenger and nickname problem

    Quote Originally Posted by Tsukasa View Post
    For the messenger: It's simple to fix, the logs will tell you that a procedure is missing. Simply stub it and friends will work.

    As for the nickname update: Works fine. Go to the game settings, in the tab "game" is a field "Nickname" you can use to update your nickname.
    hmm, i don´t see in the logs that a procedure is missing.
    so I'm kinda stuck here

  10. #10
    All CHAOS! X_Sarah_X is offline
    MemberRank
    Jul 2009 Join Date
    BeachLocation
    630Posts

    Re: Messenger and nickname problem

    People might not like it if I do this, but the procedure that's being called is dbo.USP_GUILD_MEMBER_LIST

    The rest is something you'll just have to figure out ;)
    I did the same.

  11. #11
    Valued Member StarNet is offline
    MemberRank
    May 2005 Join Date
    localhostLocation
    134Posts

    thumbs up Re: Messenger and nickname problem

    Quote Originally Posted by X_Sarah_X View Post
    People might not like it if I do this, but the procedure that's being called is dbo.USP_GUILD_MEMBER_LIST

    The rest is something you'll just have to figure out ;)
    I did the same.
    go on... share the rest :D

  12. #12
    All CHAOS! X_Sarah_X is offline
    MemberRank
    Jul 2009 Join Date
    BeachLocation
    630Posts

    Re: Messenger and nickname problem

    There isn't much more to share actually ;)

    I'll try to explain.

    What you should see in the logs of your messenger server is that it calls for a procedure. This procedure is called "dbo.USP_GUILD_MEMBER_LIST".

    Your next step would be opening up SQL and checking if the procedure exists.
    In our case, the procedure is missing.

    Normally this means you will have to write the complete procedure, but as we can figure out what the procedure does, it's not necessary.
    In my opinion, this procedure reads the list of guild members on the "Guild" tab in the Messenger, but since we have no guilds, we don't really care if that works or not :D


    Now for the way to fix it.
    Simply create the new Stored Procedure.
    The way you do this depends on you. I just copied another procedure and changed the name of the procedure.

    This is my final procedure:
    Code:
    USE [Pangya_S4_TH]
    GO
    /****** Object:  StoredProcedure [dbo].[USP_GUILD_MEMBER_LIST]    Script Date: 02/02/2011 02:40:49 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    ALTER PROC [dbo].[USP_GUILD_MEMBER_LIST] (    
    	   @UID			INT	= 0     
    	 , @CARD_TYPE	TINYINT	= 9 -- add : 2009-06-04
    	 , @CARD_TYPEID INT = 0  
    	 , @QTY			INT	= 0
    	 , @TYPES		TINYINT = 1
    	 , @OUTPUT		INT = -1
    	 , @RESULT		INT = 0			OUTPUT
    	 , @OUT_CARD_ITEMID BIGINT = 0	OUTPUT  
    )     
    -- -- WITH ENCRYPTION
    AS
         
    /*********************************************  
    	카드 추가  대부분 카드팩/개별카드
    	2009-04-29, GOMI97
    
    	2009-06-03, GOMI97
    	- USP_CARDBOX_USRS 통합
    
    	# CARD_TYPE
    	0 : 캐릭터
    	1 : 캐디
    	2 : 스페셜
    	3 : 팡야카드팩 V1, 골드, 실버, 브론즈 
    	4 : 카드박스
    
    
    	# ERRCODE
    	 0 : 성공
    	 1 : 실패 (SYS ERR)
    	 9 : CARD_TYPE 없음
    	 4 : 요청된 CARD_TYPEID ROWCOUNT 중복
    	 6 : 해당 UID 없음
    	 2 : ERR 횟수가 2 - 비정상적인 케이스임 
    
    	#USAGE :
    
    	DECLARE @CARD_PUSH_ERR  INT
    	EXEC USP_CARD_PUSH_S4 3556218, 2088763599, 1, 'SHOP', @CARD_PUSH_ERR OUTPUT
    
    	SELECT @CARD_PUSH_ERR
    
    ***********************************************/    
    BEGIN     
    SET NOCOUNT ON    
      
    	DECLARE @CARD_ITEMID BIGINT, @ERR TINYINT, @TOT_QTY INT
    
    	SET @ERR = 0
    	SET @CARD_ITEMID = 0
    	SET @TOT_QTY = 0
    
    	IF EXISTS ( SELECT 1 FROM PANGYA_MEMBER_INFO WHERE UID = @UID ) BEGIN
    		
    		-- #0. CHECK CARD
    		SELECT	@CARD_ITEMID = CARD_ITEMID, @TOT_QTY = ( QTY + @QTY )
    		FROM	DBO.TD_CARD_USRS  
    		WHERE	UID = @UID 
    		  AND	CARD_TYPEID = @CARD_TYPEID 
    		  AND	USE_YN = 'Y' 
    		  AND	QTY > 0 
    		  AND	END_DT IS NULL
    
    		BEGIN TRAN
     		
    		IF ( @CARD_ITEMID > 0 AND @CARD_TYPE < 4 ) BEGIN  
    
    				UPDATE	DBO.TD_CARD_USRS  
    				SET		QTY = @TOT_QTY
    						, GET_DT = GETDATE()     
    				WHERE	UID = @UID   
    				  AND	CARD_ITEMID =  @CARD_ITEMID   
    
    				SELECT @ERR = CASE WHEN (@@ERROR != 0) THEN @ERR + 1 ELSE 0 END   
    
    		      
    		END ELSE IF ( @CARD_ITEMID = 0 OR @CARD_TYPE >= 4 ) BEGIN
      
    			IF ( @CARD_TYPE = 9 ) BEGIN 
    				SELECT	@CARD_TYPE = COM0  
    				  FROM	DBO.PANGYA_ITEM_TYPELIST  
    				 WHERE	TYPEID = @CARD_TYPEID  
    				   AND	TYPE = 31 
    			END
    
    			IF ( @CARD_TYPE = 9 ) BEGIN 
    				SET @ERR = 9 -- 해당 @CARD_TYPE 없음
    			END ELSE BEGIN
    		  
    				INSERT INTO DBO.TD_CARD_USRS (UID, CARD_TYPEID, CARD_TYPE, QTY, GET_DT, USE_YN)  
    				SELECT @UID, @CARD_TYPEID, @CARD_TYPE, @QTY, GETDATE(), 'Y'
    
    				SELECT @ERR = CASE WHEN (@@ERROR != 0) THEN @ERR + 1 ELSE 0 END, @CARD_ITEMID = SCOPE_IDENTITY(), @TOT_QTY = @QTY    
    	 
    			END
    
    		END
    
    			IF ( @ERR = 0 ) BEGIN
    				COMMIT TRAN
    				SELECT @RESULT = @ERR, @OUT_CARD_ITEMID = @CARD_ITEMID		
    
    				IF ( @OUTPUT <> -1 ) SELECT ERRCODE = @ERR, CARD_ITEMID = @CARD_ITEMID, QTY = @TOT_QTY, ADD_QTY = @QTY
    				
    		 
    			END ELSE BEGIN
    				ROLLBACK TRAN
    				SELECT @RESULT = @ERR, @OUT_CARD_ITEMID = @CARD_ITEMID	
    
    				IF ( @OUTPUT <> -1 ) SELECT ERRCODE = @ERR, CARD_ITEMID = @CARD_ITEMID, QTY = @TOT_QTY, ADD_QTY = 0 
    			END
    
    
    	END ELSE BEGIN
    		-- PANGYA_UID NOT MATCH
    		SELECT @ERR = 6
    		SELECT @RESULT = @ERR, @OUT_CARD_ITEMID = @CARD_ITEMID		
    
    		IF ( @OUTPUT <> -1 ) SELECT ERRCODE = @ERR, CARD_ITEMID = @CARD_ITEMID, QTY = @TOT_QTY, ADD_QTY = @QTY
    		
    	END 
    
    	-- FINAL NEW CARD LOG	
    	INSERT INTO Pangya_S4_TH.DBO.TZ_CARD_LOG (TYPES, ERRCODE, UID, ORI_ITEMID, CARD_ITEMID, CARD_TYPEID, QTY, FINAL_QTY, REGDATE)
    	SELECT @TYPES, ERRCODE = @ERR, @UID, ORI_CARD_ITEMID = 0, CARD_ITEMID = @CARD_ITEMID, CARD_TYPEID = @CARD_TYPEID, 
    			ADD_QTY = CASE WHEN (@ERR != 0) THEN 0 ELSE @QTY END, QTY = @TOT_QTY, GETDATE()
    	-- FINAL NEW CARD LOG
    
    END
    I know, the content of the procedure doesn't make any sense, because it's from one of the Card Procedures. But the important thing is that the Procedure the messenger server looks for, exists.
    Once you have updated this procedure, you'll find your Messenger working like a charm :)

  13. #13
    Valued Member StarNet is offline
    MemberRank
    May 2005 Join Date
    localhostLocation
    134Posts

    big grin Re: Messenger and nickname problem

    Well since i don't have guild also, i don't know what output the game will show...

    so i made this proc instead...

    Code:
    USE [Pangya_S4_TH]
    GO
    /****** Object:  StoredProcedure [dbo].[USP_GUILD_MEMBER_LIST]    Script Date: 02/02/2011 08:31:50 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    CREATE proc [dbo].[USP_GUILD_MEMBER_LIST]    
    @userid  int
    -- WITH ENCRYPTION      
    as      
    
    SET NOCOUNT ON
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
    
    
    SELECT top 50 TD_GUILD_INFO.GUILD_ID ,       
      TD_GUILD_INFO.GUILD_NAME,       
                 TD_GUILD_INFO.NUMOFUSERS       
    FROM  dbo.TD_GUILD_USER_LIST    INNER JOIN      
               dbo.TD_GUILD_INFO   
    
    ON TD_GUILD_USER_LIST.GUILD_IDX = TD_GUILD_INFO.GUILD_ID       
    WHERE   TD_GUILD_USER_LIST.UID = @userid
    again... i don't know if this correct or not ingame

  14. #14
    Apprentice AznSW is offline
    MemberRank
    Jan 2011 Join Date
    17Posts

    Re: Messenger and nickname problem

    i created the dbo.USP_GUILD_MEMBER_LIST as you said.

    but when i try it, the messenger still says retrieving friend list :S

  15. #15
    All CHAOS! X_Sarah_X is offline
    MemberRank
    Jul 2009 Join Date
    BeachLocation
    630Posts

    Re: Messenger and nickname problem

    Search your MSG Server Log for errors regarding retrieving the friendlist.
    If it shows any errors or procedure calls, post those and we might be able to help you further.
    I'm using the default database on my server and just adding the procedure fixed it for me.



Page 1 of 2 12 LastLast

Advertisement