[Release] X-Team Sources (S4, S6, S8)

Page 27 of 57 FirstFirst ... 17192021222324252627282930313233343537 ... LastLast
Results 391 to 405 of 847
  1. #391
    Member AngerPlay is offline
    MemberRank
    Jun 2016 Join Date
    Sofia, BulgariaLocation
    61Posts

    Re: Source [MUEMU]

    How to fix this ?




  2. #392
    Valued Member ubirajara is offline
    MemberRank
    Oct 2016 Join Date
    S Paulo, BrasilLocation
    106Posts

    Re: Source [MUEMU]

    Could someone tell me where I'm going to get this black belt from the client?
    Before they speak I searched all pages.
    It's 76 pages and I did not see anything that would help me.


    Sorry for my bad English.


    Google translator
    Attached Thumbnails Attached Thumbnails screen-11_21-23-58-0000.jpg  

  3. #393

    Re: Source [MUEMU]

    Quote Originally Posted by ubirajara View Post
    Could someone tell me where I'm going to get this black belt from the client?
    Before they speak I searched all pages.
    It's 76 pages and I did not see anything that would help me.


    Sorry for my bad English.


    Google translator
    http://forum.ragezone.com/f82/s8-mu-...atbox-1104265/ this guy asked same question, maybe ask him.

  4. #394
    Valued Member ubirajara is offline
    MemberRank
    Oct 2016 Join Date
    S Paulo, BrasilLocation
    106Posts

    Re: Source [MUEMU]

    Hi
    How can I correct this mistake?
    I did several tests but I could not do it.

    Sorry for my bad English.

    (Google translator)
    Attached Thumbnails Attached Thumbnails movereg.jpg  

  5. #395

    Re: Source [MUEMU]

    Quote Originally Posted by ubirajara View Post
    Hi
    How can I correct this mistake?
    I did several tests but I could not do it.

    Sorry for my bad English.

    (Google translator)
    u can try multiple editors and save the file to .bmd again and test it

    • magic hand editor online
      mu toolkit silver edition
      pentium tools cracked by xakumm

  6. #396
    Valued Member ubirajara is offline
    MemberRank
    Oct 2016 Join Date
    S Paulo, BrasilLocation
    106Posts

    Re: Source [MUEMU]

    Quote Originally Posted by KarLi View Post
    u can try multiple editors and save the file to .bmd again and test it

    • magic hand editor online
      mu toolkit silver edition
      pentium tools cracked by xakumm
    I was using magic hand editor online, and offline and gave this error.
    By hint its downloaded mu toolkit silver edition ai worked.
    Thank you for your help.

    Leveraging your knowledge on this server.
    Do you know how I can enable the Vulcanus map?
    I already did several tests and I could not.
    Confirm the map number is 63 and gate 294?
    Sorry for my bad English.

    (Google translator)

    Solved the Vulcanus map problem !!!!!
    Last edited by ubirajara; 28-11-16 at 02:45 AM.

  7. #397
    Valued Member ubirajara is offline
    MemberRank
    Oct 2016 Join Date
    S Paulo, BrasilLocation
    106Posts

    Re: Source [MUEMU]

    Quote Originally Posted by Luis_br View Post
    FIxed Gens Rank:





    Credits to me
    Hi, I'm not getting this query.
    How do you tell me where the mistake is?
    Sorry for my bad English.


    oi não esto conseguindo roda esta query.
    tem como você me fala aonde esta o erro?

  8. #398
    #ChangeBrazil SmileYzn is offline
    MemberRank
    Nov 2012 Join Date
    0x00401000Location
    927Posts

    Re: Source [MUEMU]

    Quote Originally Posted by magtjr View Post
    Fix Illusion?
    on muemu illusion is coded for season 4 or 6 i guess. At season 8 webzen changed with ranking if i remember, soo you will need to recode all event to work on s8,3

  9. #399
    Member YolaxD is offline
    MemberRank
    Jun 2016 Join Date
    MuDevsLocation
    51Posts

    Re: Source [MUEMU]

    The illusion temple of the s6 no longer works in the versions s8 ep3, s9, s10 only in s11 and the following, the illusion temple leage works perfectly as much as the ark and castle survival

    Español

    El illusion temple de la s6 ya no funciona en las versiones s8 ep3 ,s9,s10 solo en s11 y las siguientes, el ilusión temple leage funciona perfectamente tanto como el arca y chaos castle survival

  10. #400
    Valued Member IBANEZ320 is offline
    MemberRank
    Mar 2006 Join Date
    VENEZUELALocation
    102Posts

    Re: Source [MUEMU]

    Hi here Gameserver Bin, AcheronProtector event + Skill bk

    https://mega.nz/#!vpsRgCoB!Y1He7NTi8...-rB5ojX88rQdkE

    Bk attack multile Skills OK
    Commad /Disconnect Disconnect game ok
    admin Talk !Hi
    AcheronProtectorEvent ok
    if anyone more fix i dont Remember on this Moment

  11. #401
    Enthusiast MaxMuON is offline
    MemberRank
    Nov 2016 Join Date
    42Posts

    Re: Source [MUEMU]

    Quote Originally Posted by IBANEZ320 View Post
    Hi here Gameserver Bin, AcheronProtector event + Skill bk

    https://mega.nz/#!vpsRgCoB!Y1He7NTi8...-rB5ojX88rQdkE

    Bk attack multile Skills OK
    Commad /Disconnect Disconnect game ok
    admin Talk !Hi
    AcheronProtectorEvent ok
    if anyone more fix i dont Remember on this Moment
    Hello,can you shares source for this cool release ? For people like me that added and moddified a lot of stuff like zen values, mix, commands, marry and events (like trivia event + bot buffer race and hide. )
    I will start sharing too :P Mostly except marry system, i copied from scf s6.

    My MarrySystem

    Spoiler:


    DATASERVER
    Code:
    ------------------------------------------------
    CommandManager.h
    ------------------------------------------------
    struct SDHP_COMMAND_MARRY_RECV
    {
        PSBMSG_HEAD header; // C1:0F:00
        WORD index;
        char name[11];
        char marryname[11];
        char mode[11];
    };
    struct SDHP_COMMAND_MARRY_SEND
    {
        PSBMSG_HEAD header; // C1:0F:00
        WORD index;
        char name[11];
        char marryname[11];
        char mode[11];
        char NameGet1[11];
        char NameGet2[11];
        UINT countyou;
        UINT counthim;
        UINT marriedon;
    };
    
    
    void GDCommandMarryRecv(SDHP_COMMAND_MARRY_RECV* lpMsg,int index);
    ------------------------------------------------
    CommandManager.cpp
    ------------------------------------------------
    void CCommandManager::GDCommandMarryRecv(SDHP_COMMAND_MARRY_RECV* lpMsg,int index) // OK
    {
        SDHP_COMMAND_MARRY_SEND pMsg;
        pMsg.header.set(0x0F,0x02,sizeof(pMsg));
        pMsg.index = lpMsg->index;
        memcpy(pMsg.name,lpMsg->name,sizeof(pMsg.name));
        memcpy(pMsg.marryname,lpMsg->marryname,sizeof(pMsg.marryname));
        memcpy(pMsg.mode,lpMsg->mode,sizeof(pMsg.mode));
        gQueryManager.ExecQuery("EXEC WZ_GetMarryInfo '%s','%s'",lpMsg->name,lpMsg->marryname);
        gQueryManager.Fetch();
        pMsg.countyou = gQueryManager.GetAsInteger("CountYou");
        pMsg.counthim = gQueryManager.GetAsInteger("CountHim");
        pMsg.marriedon = gQueryManager.GetAsInteger("MarriedOn");
        gQueryManager.GetAsString("NameGet1",pMsg.NameGet1,sizeof(pMsg.NameGet1));
        gQueryManager.GetAsString("NameGet2",pMsg.NameGet2,sizeof(pMsg.NameGet2));
        gQueryManager.Close();
        gSocketManager.DataSend(index,(BYTE*)&pMsg,pMsg.header.size);
    }
    ------------------------------------------------
    DataServerProtocol.h
    ------------------------------------------------
    struct SDHP_MARRY_INFO_SAVE_RECV
    {
        PBMSG_HEAD header; // C1:39
        WORD index;
        char name[11];
        char marryname[11];
        char mode[11];
    };
    
    
    void GDMarryInfoSaveRecv(SDHP_MARRY_INFO_SAVE_RECV* lpMsg);
    ------------------------------------------------
    DataServerProtocol.cpp
    ------------------------------------------------
    void GDMarryInfoSaveRecv(SDHP_MARRY_INFO_SAVE_RECV* lpMsg) // OK
    {
        if(strcmp(lpMsg->mode,"marry") == 0)
        {
            gQueryManager.ExecQuery("EXEC WZ_SetMarryInfo '%s','%s'",lpMsg->name,lpMsg->marryname);
            gQueryManager.Fetch();
            gQueryManager.Close();
        }
        else if(strcmp(lpMsg->mode,"divorce") == 0)
        {
            gQueryManager.ExecQuery("EXEC WZ_SetDivorceInfo '%s','%s'",lpMsg->name,lpMsg->marryname);
            gQueryManager.Fetch();
            gQueryManager.Close();
        }
    }
    
    
    ------------------------------------------------
    DataServerProtocol.cpp
    ------------------------------------------------
    case 0x0F:
                switch(((lpMsg[0]==0xC1)?lpMsg[3]:lpMsg[4]))
                {
                    case 0x00:
                        gCommandManager.GDCommandResetRecv((SDHP_COMMAND_RESET_RECV*)lpMsg,index);
                        break;
                    case 0x01:
                        gCommandManager.GDCommandMasterResetRecv((SDHP_COMMAND_MASTER_RESET_RECV*)lpMsg,index);
                        break;
                    case 0x02:
                        gCommandManager.GDCommandMarryRecv((SDHP_COMMAND_MARRY_RECV*)lpMsg,index);
                        break;
                }
    
    
    +
    
    
            case 0xF0:
                GDMarryInfoSaveRecv((SDHP_MARRY_INFO_SAVE_RECV*)lpMsg);
                break;

    MSSQL
    Code:
    ------------------------------------------------
    USE [MuOnline]
    GO
    
    
    /****** Object:  Table [dbo].[Marry]    Script Date: 11/16/2016 20:27:26 ******/
    SET ANSI_NULLS ON
    GO
    
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    
    SET ANSI_PADDING ON
    GO
    
    
    CREATE TABLE [dbo].[Marry](
        [Character] [varchar](15) NOT NULL,
        [MarryCharacter] [varchar](15) NOT NULL,
        [MarriedOn] [datetime] NOT NULL
    ) ON [PRIMARY]
    
    
    GO
    
    
    SET ANSI_PADDING OFF
    GO
    
    
    ALTER TABLE [dbo].[Marry] ADD  CONSTRAINT [DF_Marry_MarriedOn]  DEFAULT (getdate()) FOR [MarriedOn]
    GO
    
    
    GO
    /****** Object:  StoredProcedure [dbo].[WZ_GetMarryInfo]    Script Date: 11/16/2016 20:27:58 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    
    ALTER Procedure [dbo].[WZ_GetMarryInfo] @name varchar(10), @MarryCharacter varchar(10)
    AS
    BEGIN
    
    
    SET NOCOUNT ON
    SET XACT_ABORT ON
    
    
    DECLARE @countYou int
    DECLARE @countHim int
    
    
    DECLARE @Startdate datetime2 = '2016-01-01 00:00:00.0000000';  
    DECLARE @marriedOnEnd datetime2
    DECLARE @marriedOn int
    
    
    DECLARE @nameGet1 varchar(10)
    DECLARE @nameGet2 varchar(10)
    /*DECLARE @marriedOn int*/
    SELECT @countYou=Count(*) FROM [dbo].[Marry] WHERE Character @name OR MarryCharacter @name /*You are already married*/
    SELECT @countHim=Count(*) FROM [dbo].[Marry] WHERE Character @MarryCharacter OR MarryCharacter @MarryCharacter /*He/She is already married*/
    SELECT @nameGet1=MarryCharacter FROM [dbo].[Marry] WHERE Character @name
    SELECT @nameGet2=Character FROM [dbo].[Marry] WHERE MarryCharacter @name
    
    
    SELECT @marriedOnEnd=MarriedOn FROM [dbo].[Marry] WHERE Character @name OR MarryCharacter @name /*Married date*/
    SELECT @marriedOn=DATEDIFF(SECOND, @Startdate, @marriedOnEnd) 
    
    
    SELECT @countYou AS CountYou @countHim AS CountHim @marriedOn AS MarriedOn @nameGet1 AS NameGet1 @nameGet2 AS NameGet2
    
    
    SET NOCOUNT OFF
    SET XACT_ABORT OFF
    
    
    END
    
    
    
    
    GO
    /****** Object:  StoredProcedure [dbo].[WZ_SetDivorceInfo]    Script Date: 11/16/2016 20:28:31 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    
    ALTER Procedure [dbo].[WZ_SetDivorceInfo] @name varchar(10), @MarryCharacter varchar(10)
    AS
    BEGIN
    
    
    SET NOCOUNT ON
    SET XACT_ABORT ON
    
    
    DELETE FROM [dbo].[Marry] where Character @name OR MarryCharacter @MarryCharacter
    
    
    SET NOCOUNT OFF
    SET XACT_ABORT OFF
    
    
    END
    
    
    
    
    GO
    /****** Object:  StoredProcedure [dbo].[WZ_SetMarryInfo]    Script Date: 11/16/2016 20:28:52 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    
    ALTER Procedure [dbo].[WZ_SetMarryInfo] @name varchar(10), @MarryCharacter varchar(10)
    AS
    BEGIN
    
    
    SET NOCOUNT ON
    SET XACT_ABORT ON
    
    
    INSERT INTO [dbo].[Marry] (Character, MarryCharacter) VALUES  @name @MarryCharacter);
    
    
    SET NOCOUNT OFF
    SET XACT_ABORT OFF
    
    
    END
    ------------------------------------------------

    GAMSERVER
    Code:
    ------------------------------------------------
    DSProtocol.cpp
    ------------------------------------------------
            case 0x0F:
                switch(((lpMsg[0]==0xC1)?lpMsg[3]:lpMsg[4]))
                {
                    case 0x00:
                        gCommandManager.DGCommandResetRecv((SDHP_COMMAND_RESET_RECV*)lpMsg);
                        break;
                    case 0x01:
                        gCommandManager.DGCommandMasterResetRecv((SDHP_COMMAND_MASTER_RESET_RECV*)lpMsg);
                        break;
                    case 0x02:
                        gCommandManager.DGCommandMarryRecv((SDHP_COMMAND_MARRY_RECV*)lpMsg);
                        break;
                }
                break;
    
    
    void GDMarryInfoSaveSend(int aIndex,char* marryname,char* mode) // OK
    {
        LPOBJ lpObj = &gObj[aIndex];
    
    
        SDHP_MARRY_INFO_SAVE_SEND pMsg;
    
    
        pMsg.header.set(0xF0,sizeof(pMsg));
    
    
        pMsg.index = aIndex;
    
    
        memcpy(pMsg.name,lpObj->Name,sizeof(pMsg.name));
    
    
        memcpy(pMsg.marryname,marryname,sizeof(pMsg.marryname));
    
    
        memcpy(pMsg.mode,mode,sizeof(pMsg.mode));
    
    
        //pMsg.name = name;
    
    
        //pMsg.marryname = marryname;
    
    
        gDataServerConnection.DataSend((BYTE*)&pMsg,pMsg.header.size);
    }
    ------------------------------------------------
    User.h
    ------------------------------------------------
    DWORD MarryTimeMsj;
    
    
    ------------------------------------------------
    DSProtocol.h
    ------------------------------------------------
    struct SDHP_MARRY_INFO_SAVE_SEND
    {
        PBMSG_HEAD header; // C1:39
        WORD index;
        char name[11];
        char marryname[11];
        char mode[11];
        UINT countyou;
        UINT counthim;
        UINT marriedon;
    };
    void GDMarryInfoSaveSend(int aIndex,char* marryname,char* mode);
    
    
    ------------------------------------------------
    CommandManager.h
    ------------------------------------------------
    struct SDHP_COMMAND_MARRY_RECV
    {
        PSBMSG_HEAD header; // C1:0F:02
        WORD index;
        char name[11];
        char marryname[11];
        char mode[11];
        char NameGet1[11];
        char NameGet2[11];
        UINT countyou;
        UINT counthim;
        UINT marriedon;
    };
    struct SDHP_COMMAND_MARRY_SEND
    {
        PSBMSG_HEAD header; // C1:0F:02
        WORD index;
        char name[11];
        char marryname[11];
        char mode[11];
    };
    void DGCommandMarryRecv(SDHP_COMMAND_MARRY_RECV* lpMsg);
    void CommandMarry(LPOBJ lpObj,char* arg);
    ------------------------------------------------
    CommandManager.cpp
    ------------------------------------------------
            case COMMAND_MARRY:
                this->CommandMarry(lpObj,argument);
                break;
    
    
    void CCommandManager::CommandMarry(LPOBJ lpObj,char* arg) // OK
    {
        char mode[11] = {0};
        this->GetString(arg,mode,sizeof(mode),0);
    
    
        if(gServerInfo.m_CommandMarrySwitch == 0)
        {
            gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(619));
            return;
        }
    
    
        if (mode[0] == NULL){
            gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(606));
            gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(623),gServerInfo.m_CommandMarryLevel,gServerInfo.m_CommandMarryCost);
            return;
        }
    
    
        if(strcmp(mode,"to") == 0)
        {
            char MarryName[11] = {0};
            this->GetString(arg,MarryName,sizeof(MarryName),1);
            LPOBJ lpTarget = gObjFind(MarryName);
            if (lpTarget == 0) 
            {
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(111));
                return;
            }
        
            if (strcmp(MarryName,lpObj->Name) == 0)
            {
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(602));
                return;
            }
        
            SDHP_COMMAND_MARRY_SEND pMsg;
    
    
            pMsg.header.set(0x0F,0x02,sizeof(pMsg));
    
    
            pMsg.index = lpObj->Index;
    
    
            memcpy(pMsg.name,lpObj->Name,sizeof(pMsg.name));
    
    
            memcpy(pMsg.marryname,MarryName,sizeof(pMsg.marryname));
    
    
            memcpy(pMsg.mode,"marry",sizeof(pMsg.mode));
    
    
            gDataServerConnection.DataSend((BYTE*)&pMsg,pMsg.header.size);
        }
    
    
        else if(strcmp(mode,"divorce") == 0)
        {
            SDHP_COMMAND_MARRY_SEND pMsg;
    
    
            pMsg.header.set(0x0F,0x02,sizeof(pMsg));
    
    
            pMsg.index = lpObj->Index;
    
    
            memcpy(pMsg.name,lpObj->Name,sizeof(pMsg.name));
    
    
            memcpy(pMsg.marryname,lpObj->Name,sizeof(pMsg.marryname));
    
    
            memcpy(pMsg.mode,"divorce",sizeof(pMsg.mode));
    
    
            gDataServerConnection.DataSend((BYTE*)&pMsg,pMsg.header.size);
        }
    
    
        else if(strcmp(mode,"track") == 0)
        {
            if (lpObj->Money < (DWORD)gServerInfo.m_CommandMarryCost) {
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(620),gServerInfo.m_CommandMarryCost);
                return;
            }
    
    
            SDHP_COMMAND_MARRY_SEND pMsg;
    
    
            pMsg.header.set(0x0F,0x02,sizeof(pMsg));
    
    
            pMsg.index = lpObj->Index;
    
    
            memcpy(pMsg.name,lpObj->Name,sizeof(pMsg.name));
    
    
            memcpy(pMsg.marryname,lpObj->Name,sizeof(pMsg.marryname));
    
    
            memcpy(pMsg.mode,"track",sizeof(pMsg.mode));
    
    
            gDataServerConnection.DataSend((BYTE*)&pMsg,pMsg.header.size);
        }
    
    
        else if(strcmp(mode,"trace") == 0)
        {
            if (lpObj->Money < (DWORD)gServerInfo.m_CommandMarryCost) {
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(620),gServerInfo.m_CommandMarryCost);
                return;
            }
    
    
            SDHP_COMMAND_MARRY_SEND pMsg;
    
    
            pMsg.header.set(0x0F,0x02,sizeof(pMsg));
    
    
            pMsg.index = lpObj->Index;
    
    
            memcpy(pMsg.name,lpObj->Name,sizeof(pMsg.name));
    
    
            memcpy(pMsg.marryname,lpObj->Name,sizeof(pMsg.marryname));
    
    
            memcpy(pMsg.mode,"trace",sizeof(pMsg.mode));
    
    
            gDataServerConnection.DataSend((BYTE*)&pMsg,pMsg.header.size);
        }
        else {
            gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(606));
            gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(623),gServerInfo.m_CommandMarryLevel,gServerInfo.m_CommandMarryCost);
            return;
        }
    }
    
    
    void CCommandManager::DGCommandMarryRecv(SDHP_COMMAND_MARRY_RECV* lpMsg) // OK
    {
        LPOBJ lpObj = &gObj[lpMsg->index];
        LPOBJ lpTarget = gObjFind(lpMsg->marryname);
    
    
        //lpMsg->name;
        
        if(strcmp(lpMsg->mode,"marry") == 0)
        {
            if (lpMsg->countyou > 0){
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(604));
                return;
            }
    
    
            if (lpMsg->counthim > 0){
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(605));
                return;
            }
    
    
            //
            int minx = 12;
            int maxx = 15;
            int miny = 23;
            int maxy = 28;
            if (lpObj->Map == 2 && lpObj->X >= minx && lpObj->X <= maxx && lpObj->Y >= miny && lpObj->Y <= maxy)
            {
                //good to go for you
            }
            else {
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(621));
                return;
            }
            if (lpTarget->Map == 2 && lpTarget->X >= minx && lpTarget->X <= maxx && lpTarget->Y >= miny && lpTarget->Y <= maxy)
            {
                //good to go for the other person
            }
            else {
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(622));
                return;
            }
    
    
            //
            int first_classtype = 0;
            if(
            (lpObj->DBClass == DB_CLASS_DW) || (lpObj->DBClass == DB_CLASS_SM) || (lpObj->DBClass == DB_CLASS_GM) || (lpObj->DBClass == DB_CLASS_DK) ||
            (lpObj->DBClass == DB_CLASS_BK) || (lpObj->DBClass == DB_CLASS_BM) || (lpObj->DBClass == DB_CLASS_MG) || (lpObj->DBClass == DB_CLASS_DM) ||
            (lpObj->DBClass == DB_CLASS_DL) || (lpObj->DBClass == DB_CLASS_LE) || (lpObj->DBClass == DB_CLASS_RF) || (lpObj->DBClass == DB_CLASS_FM) ) {
                first_classtype=0;
            }
            else if(
            (lpObj->DBClass == DB_CLASS_FE) || (lpObj->DBClass == DB_CLASS_ME) || (lpObj->DBClass == DB_CLASS_HE) || (lpObj->DBClass == DB_CLASS_SU) || 
            (lpObj->DBClass == DB_CLASS_BS) || (lpObj->DBClass == DB_CLASS_DS) ) {
                first_classtype=1;
            }
            //
            int second_classtype = 0;
            if(
            (lpTarget->DBClass == DB_CLASS_DW) || (lpTarget->DBClass == DB_CLASS_SM) || (lpTarget->DBClass == DB_CLASS_GM) || (lpTarget->DBClass == DB_CLASS_DK) ||
            (lpTarget->DBClass == DB_CLASS_BK) || (lpTarget->DBClass == DB_CLASS_BM) || (lpTarget->DBClass == DB_CLASS_MG) || (lpTarget->DBClass == DB_CLASS_DM) ||
            (lpTarget->DBClass == DB_CLASS_DL) || (lpTarget->DBClass == DB_CLASS_LE) || (lpTarget->DBClass == DB_CLASS_RF) || (lpTarget->DBClass == DB_CLASS_FM) ) {
                second_classtype=0;
            }
            else if(
            (lpTarget->DBClass == DB_CLASS_FE) || (lpTarget->DBClass == DB_CLASS_ME) || (lpTarget->DBClass == DB_CLASS_HE) || (lpTarget->DBClass == DB_CLASS_SU) || 
            (lpTarget->DBClass == DB_CLASS_BS) || (lpTarget->DBClass == DB_CLASS_DS) ) {
                second_classtype=1;
            }        
            char fulltext_new[256]; 
            wsprintf(fulltext_new,gMessage.GetMessage(615),lpMsg->name,lpMsg->marryname);
            if ((first_classtype == 0) && (second_classtype == 0)) {
                if((GetTickCount()-lpObj->MarryTimeMsj) > (DWORD)(gServerInfo.m_CommandMarryNoticeDelay*1000))
                {
                    GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,gMessage.GetMessage(616));//nohomo allowed
                    GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,fulltext_new);//nohomo allowed
                }
                lpObj->MarryTimeMsj = GetTickCount();
                return;
            }
            if ((first_classtype == 1) && (second_classtype == 1)) {
                if((GetTickCount()-lpObj->MarryTimeMsj) > (DWORD)(gServerInfo.m_CommandMarryNoticeDelay*1000))
                {
                    GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,gMessage.GetMessage(616));//nohomo allowed
                    GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,fulltext_new);//nohomo allowed
                }
                lpObj->MarryTimeMsj = GetTickCount();
                return;
            } 
            //
            GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,gMessage.GetMessage(614));
            GDMarryInfoSaveSend(lpObj->Index,lpMsg->marryname,lpMsg->mode);
            gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(603),lpMsg->marryname);
            char fulltext[256]; 
            wsprintf(fulltext,gMessage.GetMessage(612),lpObj->Name,lpMsg->marryname);
            GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,fulltext);
            for(int n=0;n < 15;n++)
            {
                GCFireworksSend(lpObj,(lpObj->X+(((GetLargeRand()%5)*2)-4)),(lpObj->Y+(((GetLargeRand()%5)*2)-4)));
            }
            //
        }
        else if(strcmp(lpMsg->mode,"divorce") == 0)
        {
            if (lpMsg->countyou == 0){
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(609));
                return;
            }
            time_t timer;
            struct tm y2k = {0};
            UINT seconds;
            y2k.tm_hour = 0;   y2k.tm_min = 0; y2k.tm_sec = 0;
            y2k.tm_year = 116; y2k.tm_mon = 0; y2k.tm_mday = 1;
            time(&timer);  /* get current time; same as: timer = time(NULL)  */
            seconds = static_cast<UINT>(difftime(timer,mktime(&y2k)));
            UINT value = seconds - lpMsg->marriedon;
            if (value < (UINT)gServerInfo.m_CommandMarryMinTime){
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(607));
                return;
            }
            LPOBJ lpTarget1 = gObjFind(lpMsg->NameGet1);
            LPOBJ lpTarget2 = gObjFind(lpMsg->NameGet2);
            if (lpTarget1 == 0 && lpTarget2 == 0) {
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(624));
                return;
            }
            char fulltext[256]; 
            GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,gMessage.GetMessage(614));
            if(lpTarget1 == 0)
            {
                wsprintf(fulltext,gMessage.GetMessage(613),lpObj->Name,lpMsg->NameGet2);
                GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,fulltext);
            }
            if(lpTarget2 == 0)
            {
                wsprintf(fulltext,gMessage.GetMessage(613),lpObj->Name,lpMsg->NameGet1);
                GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,fulltext);
            }
            //
            GDMarryInfoSaveSend(lpObj->Index,lpMsg->marryname,lpMsg->mode);
            gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(608));
            //
        }
        else if(strcmp(lpMsg->mode,"track") == 0)
        {
            if (lpMsg->countyou == 0){
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(609));
                return;
            }
            LPOBJ lpTarget1 = gObjFind(lpMsg->NameGet1);
            LPOBJ lpTarget2 = gObjFind(lpMsg->NameGet2);
    
    
            if (lpTarget1 == 0 && lpTarget2 == 0) {
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(625));
                return;
            }
    
    
            if (lpObj->Level >= gServerInfo.m_CommandMarryLevel) {
                if(lpTarget1 == 0)
                {
                    gObjTeleport(lpObj->Index,lpTarget2->Map,lpTarget2->X,lpTarget2->Y);
                    gObjTeleport(lpTarget2->Index,lpTarget2->Map,lpTarget2->X,lpTarget2->Y);
                }
    
    
                if(lpTarget2 == 0)
                {
                    gObjTeleport(lpObj->Index,lpTarget1->Map,lpTarget1->X,lpTarget1->Y);
                    gObjTeleport(lpTarget1->Index,lpTarget1->Map,lpTarget1->X,lpTarget1->Y);
                }
            }
            else{
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(617),gServerInfo.m_CommandMarryLevel);
                return;
            }
            //
            GDMarryInfoSaveSend(lpObj->Index,lpMsg->marryname,lpMsg->mode);
            gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(610),lpMsg->marryname);
            lpObj->Money -= gServerInfo.m_CommandMarryCost;
            GCMoneySend(lpObj->Index,lpObj->Money);
            //
        }
        else if(strcmp(lpMsg->mode,"trace") == 0)
        {
            if (lpMsg->countyou == 0){
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(609));
                return;
            }
            LPOBJ lpTarget1 = gObjFind(lpMsg->NameGet1);
            LPOBJ lpTarget2 = gObjFind(lpMsg->NameGet2);
            //
    
    
            if (lpTarget1 == 0 && lpTarget2 == 0) {
                gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(625));
                return;
            }
    
    
            if(lpTarget1 == 0)
            {
                    if (lpTarget2->Level >= gServerInfo.m_CommandMarryLevel) {
                        gObjTeleport(lpTarget2->Index,lpObj->Map,lpObj->X,lpObj->Y);
                        gObjTeleport(lpObj->Index,lpObj->Map,lpObj->X,lpObj->Y);
                    }
                    else {
                        gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(618),gServerInfo.m_CommandMarryLevel);
                        return;
                    }
            }
            if(lpTarget2 == 0)
            {
                    if (lpTarget1->Level >= gServerInfo.m_CommandMarryLevel) {
                        gObjTeleport(lpTarget1->Index,lpObj->Map,lpObj->X,lpObj->Y);
                        gObjViewportListProtocolDestroy(lpObj);
                    }
                    else {
                        gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(618),gServerInfo.m_CommandMarryLevel);
                        return;
                    }
            }
            //
            GDMarryInfoSaveSend(lpObj->Index,lpMsg->marryname,lpMsg->mode);
            gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(611),lpMsg->marryname);
            lpObj->Money -= gServerInfo.m_CommandMarryCost;
            GCMoneySend(lpObj->Index,lpObj->Money);
            //
        }
        
    
    
        gLog.Output(LOG_COMMAND,"[CommandMarry][%s][%d][%d][%d][%s][%s][%s]",lpObj->Account,lpMsg->countyou,lpMsg->counthim,lpMsg->marriedon,lpMsg->marryname,lpMsg->NameGet1,lpMsg->NameGet2);
    }
    ------------------------------------------------
    ServerInfo.h
    ------------------------------------------------
        int m_CommandMarrySwitch;
        int m_CommandMarryLevel;
        int m_CommandMarryCost;
        int m_CommandMarryNoticeDelay;
        int m_CommandMarryMinTime;
    
    
    ------------------------------------------------
    ServerInfo.cpp
    ------------------------------------------------
    this->m_CommandMarrySwitch = GetPrivateProfileInt(section,"CommandMarrySwitch",0,path);
    
    
        this->m_CommandMarryLevel = GetPrivateProfileInt(section,"CommandMarryLevel",0,path);
    
    
        this->m_CommandMarryCost = GetPrivateProfileInt(section,"CommandMarryCost",0,path);
    
    
        this->m_CommandMarryMinTime = GetPrivateProfileInt(section,"CommandMarryMinTime",0,path);
    
    
        this->m_CommandMarryNoticeDelay = GetPrivateProfileInt(section,"CommandMarryNoticeDelay",0,path);
    
    
    
    
    
    
    
    
    --Gameserverinfo - Command.txt inside gs/Data folder
    
    
    ;==================================================
    ; Marry Command Settings
    ;==================================================
    CommandMarrySwitch = 1
    CommandMarryLevel = 150
    CommandMarryCost = 350
    CommandMarryNoticeDelay = 60
    CommandMarryMinTime = 604800

    602 "You can not marry yourself 0,0!"
    603 "You just got married to %s!"
    604 "You are already married!"
    605 "The other character is already married!"
    606 "Usage: [/marry to name | /marry divorce | /marry track or trace]!"
    607 "You can not divorce in the first week of being married!"
    608 "You just got divorced!"
    609 "You are not married!"
    610 "You tracked!"
    611 "You traced!"
    612 "%s just married %s!"
    613 "%s just divorced %s!"
    614 "[Marry System]Congragulations,"
    615 "between %s and %s!"
    616 "[Marry System]No hommo allowed"
    617 "You need at least %d level to use this command!"
    618 "He/She needs at least %d level to use this command!"
    619 "Marry system has been disabled!"
    620 "You need at least %d zen to use this command!"
    621 "You need to stand on the correct position in Devias2!"
    622 "Your target need to stand on the correct position in Devias2!"
    623 "Info: [Minimum Level : %d | Track&Trace Cost : %d zen]!"
    624 "You cannot divorce while he/she is disconnected!"
    625 "The other character is disconnected!"
    626 "Skin %d applied to %d players!"
    627 "/skinaround"
    628 "/marry"
    Last edited by MaxMuON; 04-12-16 at 04:06 AM.

  12. #402
    Apprentice xqh0728 is offline
    MemberRank
    Feb 2014 Join Date
    24Posts

    Re: Source [MUEMU]

    can someone help? need offset to Chinese language,it will be big thx^^

    MUEMU S8.3 main.exe download: https://mega.nz/#!i8NEXIaY!ByE3R9I9X...3fbK_kqPHGl61M
    Last edited by xqh0728; 04-12-16 at 01:49 PM.

  13. #403
    Member ajmeireles is offline
    MemberRank
    Feb 2016 Join Date
    52Posts

    Re: Source [MUEMU]

    Hi, guys..

    Im are work on source season 4 and already make a lot of change, including news commands: "/exit", "/char"(go to select char screen), "/server"(go to serverlist screen), "/hour"(inform the time location), "/buyvip"(remove the gpoint to bought the vip), and im trying to finish a "/ level" (to give a instantly level up to the gamemaster level)

    But i have two problem that i dont find the main process..

    1. When im are on duel and invite the enemy again to the duel, i receive a instantly disconnect.

    2. Have a some method to fix the Aging +14 and +15 on item? I believe that to fix this flaws is needed change some file into the main.exe(using a debugger as a olly).

    3. The gameserver source is version 401, but i checked that have a lot of fixs and improvements if the gameserver version is 402. How i can update this gameserver version from 401 to 402?

  14. #404
    Infraction Banned emersonx13 is offline
    MemberRank
    Nov 2007 Join Date
    223Posts

    Re: Source [MUEMU]

    Quote Originally Posted by Crowley View Post
    Lycan work in season 9 no season 8.3
    Sorry, but your are wrong...
    That works for me. Of course all MUUN of Season 9, 10, 11 Works Good.
    Certain you dont know how to add new Muun.

  15. #405
    Member Crowley is offline
    MemberRank
    Sep 2015 Join Date
    98Posts

    Re: Source [MUEMU]

    Quote Originally Posted by emersonx13 View Post
    Sorry, but your are wrong...
    That works for me. Of course all MUUN of Season 9, 10, 11 Works Good.
    Certain you dont know how to add new Muun.
    if you can help him do this



Advertisement