Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

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

Skilled Illusionist
Joined
Mar 27, 2013
Messages
305
Reaction score
9
Re: Source [MUEMU]

incomplete :)
Code:
DWORD oCreateEffect = 0063CAB0
DWORD ReturnBowCode = 0068300F
#define iBowAddSkillEffect 00683009[COLOR=#000000]
[/COLOR]
DWORD NextBowPosition =
DWORD BowAddPlayerDimension_Offset=
DWORD BowPosition=
#define iBowAddInventoryPos =
#define iBowAddPlayerDimension =
please share me offset :(
 
Junior Spellweaver
Joined
Jan 31, 2008
Messages
106
Reaction score
2
Re: Source [MUEMU]

anyone? how to create 4th wing in this server files? thank you
 
Junior Spellweaver
Joined
Jan 31, 2008
Messages
106
Reaction score
2
Re: Source [MUEMU]

add new mix in Chaosbox.cpp and .h. Level: Easy

i think the mix is already there.. but where i can find drops for wing 4 ingredients?
it is not there in item.txt
 
Newbie Spellweaver
Joined
Jun 20, 2016
Messages
51
Reaction score
41
Re: Source [MUEMU]

I have this problem with the OffAttack and the OffStore, when i relog the character its online yet

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


Can help me please?

Check your joinserver is the one in charge of verifying if the account is active
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Apr 26, 2015
Messages
25
Reaction score
0
Re: Source [MUEMU]

YolaxD can you give some help to me? The joinserver is in default, im only fix the ''Server Full'' problem.
 
Junior Spellweaver
Joined
Nov 26, 2016
Messages
140
Reaction score
28
Re: Source [MUEMU]

someone know how to config cashshop?
i used igctoolkit but after buy name is aaa?

4Y99ffh - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Jan 31, 2008
Messages
106
Reaction score
2
Re: Source [MUEMU]

hello
is there a way i can add a command to mute a player?
maybe for a days, weeks or month?
 
Master Summoner
Joined
Feb 17, 2017
Messages
580
Reaction score
72
Re: Source [MUEMU]

Guys any have a Source with limit of Wings i already did this #define MAX_CUSTOM_WING 70 But Still have an error When i warp Wings go invisible Thanks
 
Skilled Illusionist
Joined
Jul 16, 2013
Messages
317
Reaction score
9
Re: Source [MUEMU]

Anyone have fixed Titan Editor or MUMaker for MuEMU Files S6 or S8?
Coz' my TitanEditor have a bug on socket editing.
This is preview on my Editor:
ethondev - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums

And this what happen ingame:
ethondev - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums


also, anyone of you guys know where can I enable Yellow Option on Socketed Items ? I already explore all item configs and also on GameServerInfo - Common still I can't find :(
 
Newbie Spellweaver
Joined
Aug 1, 2016
Messages
30
Reaction score
2
Re: Source [MUEMU]

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

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] @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I] varchar(10), @[I][B][URL="http://forum.ragezone.com/members/2000111361.html"]Marry[/URL][/B][/I]Character varchar(10)
AS
BEGIN


SET NOCOUNT ON
SET XACT_ABORT ON


DECLARE @[I][B][URL="http://forum.ragezone.com/members/138004.html"]count[/URL][/B][/I]You int
DECLARE @[I][B][URL="http://forum.ragezone.com/members/138004.html"]count[/URL][/B][/I]Him int


DECLARE @[I][B][URL="http://forum.ragezone.com/members/829527.html"]Start[/URL][/B][/I]date datetime2 = '2016-01-01 00:00:00.0000000';  
DECLARE @[I][B][URL="http://forum.ragezone.com/members/283349.html"]mar[/URL][/B][/I]riedOnEnd datetime2
DECLARE @[I][B][URL="http://forum.ragezone.com/members/283349.html"]mar[/URL][/B][/I]riedOn int


DECLARE @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I]Get1 varchar(10)
DECLARE @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I]Get2 varchar(10)
/*DECLARE @[I][B][URL="http://forum.ragezone.com/members/283349.html"]mar[/URL][/B][/I]riedOn int*/
SELECT @[I][B][URL="http://forum.ragezone.com/members/138004.html"]count[/URL][/B][/I]You=Count(*) FROM [dbo].[Marry] WHERE Character @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I] OR MarryCharacter @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I] /*You are already married*/
SELECT @[I][B][URL="http://forum.ragezone.com/members/138004.html"]count[/URL][/B][/I]Him=Count(*) FROM [dbo].[Marry] WHERE Character @[I][B][URL="http://forum.ragezone.com/members/2000111361.html"]Marry[/URL][/B][/I]Character OR MarryCharacter @[I][B][URL="http://forum.ragezone.com/members/2000111361.html"]Marry[/URL][/B][/I]Character /*He/She is already married*/
SELECT @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I]Get1=MarryCharacter FROM [dbo].[Marry] WHERE Character @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I]
SELECT @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I]Get2=Character FROM [dbo].[Marry] WHERE MarryCharacter @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I]


SELECT @[I][B][URL="http://forum.ragezone.com/members/283349.html"]mar[/URL][/B][/I]riedOnEnd=MarriedOn FROM [dbo].[Marry] WHERE Character @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I] OR MarryCharacter @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I] /*Married date*/
SELECT @[I][B][URL="http://forum.ragezone.com/members/283349.html"]mar[/URL][/B][/I]riedOn=DATEDIFF(SECOND, @[I][B][URL="http://forum.ragezone.com/members/829527.html"]Start[/URL][/B][/I]date, @[I][B][URL="http://forum.ragezone.com/members/283349.html"]mar[/URL][/B][/I]riedOnEnd) 


SELECT @[I][B][URL="http://forum.ragezone.com/members/138004.html"]count[/URL][/B][/I]You AS CountYou @[I][B][URL="http://forum.ragezone.com/members/138004.html"]count[/URL][/B][/I]Him AS CountHim @[I][B][URL="http://forum.ragezone.com/members/283349.html"]mar[/URL][/B][/I]riedOn AS MarriedOn @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I]Get1 AS NameGet1 @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I]Get2 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] @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I] varchar(10), @[I][B][URL="http://forum.ragezone.com/members/2000111361.html"]Marry[/URL][/B][/I]Character varchar(10)
AS
BEGIN


SET NOCOUNT ON
SET XACT_ABORT ON


DELETE FROM [dbo].[Marry] where Character @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I] OR MarryCharacter @[I][B][URL="http://forum.ragezone.com/members/2000111361.html"]Marry[/URL][/B][/I]Character


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] @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I] varchar(10), @[I][B][URL="http://forum.ragezone.com/members/2000111361.html"]Marry[/URL][/B][/I]Character varchar(10)
AS
BEGIN


SET NOCOUNT ON
SET XACT_ABORT ON


INSERT INTO [dbo].[Marry] (Character, MarryCharacter) VALUES  @[I][B][URL="http://forum.ragezone.com/members/1333344765.html"]name[/URL][/B][/I] @[I][B][URL="http://forum.ragezone.com/members/2000111361.html"]Marry[/URL][/B][/I]Character);


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"


The system marry system works well but has a critical problem when marrying not updated the database, which is not registered that they are married

Spañish

el sistema marry system trabaja bien pero tiene un problema critico al casarse no updated la base de datos , el cual no queda registrado que quedan casados



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


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

6IpfxQ5 - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums


ekZH1Xi - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums
Not being updated the marriage can not be used the commands marry track and there is no record of
marriage


Spanish

al no ser updateado el matrimonio no puede ser usado los comandos marry track y no queda registro del matrimonio




creo yo que es problema los store procedures aportados.
I think it's a problem with the stored procedures.
@Luis_br

You solved this problem?
In the case that you are well you can contribute all the querrys referred to the marry sistem

en el caso que te ande bien tu puedes aportar todo las querrys referido al marry sistem
 

Attachments

You must be registered for see attachments list
Last edited:
Experienced Elementalist
Joined
Dec 2, 2004
Messages
225
Reaction score
30
Re: Source [MUEMU]

The system marry system works well but has a critical problem when marrying not updated the database, which is not registered that they are married

Spañish

el sistema marry system trabaja bien pero tiene un problema critico al casarse no updated la base de datos , el cual no queda registrado que quedan casados



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


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

6IpfxQ5 - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums


ekZH1Xi - [Release] X-Team Sources (S4, S6, S8) - RaGEZONE Forums
Not being updated the marriage can not be used the commands marry track and there is no record of
marriage


Spanish

al no ser updateado el matrimonio no puede ser usado los comandos marry track y no queda registro del matrimonio




creo yo que es problema los store procedures aportados.
I think it's a problem with the stored procedures.
@Luis_br

You solved this problem?
In the case that you are well you can contribute all the querrys referred to the marry sistem

en el caso que te ande bien tu puedes aportar todo las querrys referido al marry sistem

need change source database por update save of marry in DB

Thx
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Aug 1, 2016
Messages
30
Reaction score
2
Re: Source [MUEMU]

need change source database por update save of marry in DB

Thx

I know that I lack this pedaso I do not have many experiences in database statements, you could pass the update set and so put the code in the dataserver.Or if you have the best code xd

español

yo se que falta ese pedaso no tengo mucha experiencias en sentencias de base de datos , podrias pasarme la setencia update y asi armar el codigo en el dataserver.o si tenes el codigo mejor xd


Adding Finding and looking is a problem with the possessed stored

Agrego Averiguando y mirando es un problema con el poseso almacenado

/****** Object: StoredProcedure [dbo].[WZ_SetMarryInfo] Script Date: 06/08/2017 19:47:16 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER Procedure [dbo].[WZ_SetMarryInfo] name varchar(10), MarryCharacter varchar(10)ASBEGINSET NOCOUNT ONSET XACT_ABORT ONINSERT INTO [dbo].[Marry] (Character, MarryCharacter) VALUES name, MarryCharacter);SET NOCOUNT OFFSET XACT_ABORT OFFEND



The problem is that the stored process is not INSERT INTO to the database probe with UPDATE and neither Updatea, probe asi


UPDATE Marry SET Character = @ name AND MarryCharacter = @ MarryCharacter


I did not work, I add that I have no experience in this subject



Spanish

el problema esta que el proceso almacenado no esta INSERT INTO a la base de datos probe con UPDATE y tampoco Updatea, probe asi

UPDATE Marry SET Character name AND MarryCharacter MarryCharacter

no me funciono,agrego que no tengo experiencia en este temaAdding Finding and looking is a problem with the possessed storedAdding Finding and looking is a problem with the possessed stored
 
Last edited:
Newbie Spellweaver
Joined
Aug 1, 2016
Messages
30
Reaction score
2
Re: Source [MUEMU]

Hola

No en las procedures pienso que el dataserver debes modificar las source para actualizar el marry

metele la mano al source

saludos

me referia a los procedures ya que fueron hechos para updatear la base de datos cuando se casen, su funcionamiento no es complicado asi que las rehize pero al igual sigen si funcar
Gracias por contestar tambien probe eso tambien ,
probe asi

gQueryManager.ExecQuery("UPDATE SET Marry Character='%s',MarryCharacter='%s' ",lpMsg->name,lpMsg->marryname); gQueryManager.Fetch(); gQueryManager.Close();


y probe tambien asi

gQueryManager.ExecQuery("INSERT INTO Marry (Character, MarryCharacter) VALUES ('%s', '%s')",lpMsg->name,lpMsg->marryname); gQueryManager.Fetch(); gQueryManager.Close();


y no update la base de datos


English

Thank you for replying also probe that too.Probe like this

GQueryManager.ExecQuery ("UPDATE SET Marry Character = '% s', MarryCharacter = '% s'", lpMsg-> name, lpMsg-> marryname);
GQueryManager.Fetch ();
GQueryManager.Close ();

And also probe like that
GQueryManager.ExecQuery ("INSERT INTO Marry (Character, MarryCharacter) VALUES ('% s', '% s')", lpMsg-> name, lpMsg-> marryname);
GQueryManager.Fetch ();
GQueryManager.Close ();

And do not update the database
 
Last edited:
Experienced Elementalist
Joined
Dec 2, 2004
Messages
225
Reaction score
30
Re: Source [MUEMU]

me referia a los procedures ya que fueron hechos para updatear la base de datos cuando se casen, su funcionamiento no es complicado asi que las rehize pero al igual sigen si funcar
Gracias por contestar tambien probe eso tambien ,
probe asi

gQueryManager.ExecQuery("UPDATE SET Marry Character='%s',MarryCharacter='%s' ",lpMsg->name,lpMsg->marryname); gQueryManager.Fetch(); gQueryManager.Close();


y probe tambien asi

gQueryManager.ExecQuery("INSERT INTO Marry (Character, MarryCharacter) VALUES ('%s', '%s')",lpMsg->name,lpMsg->marryname); gQueryManager.Fetch(); gQueryManager.Close();


y no update la base de datos


English

Thank you for replying also probe that too.Probe like this

GQueryManager.ExecQuery ("UPDATE SET Marry Character = '% s', MarryCharacter = '% s'", lpMsg-> name, lpMsg-> marryname);
GQueryManager.Fetch ();
GQueryManager.Close ();

And also probe like that
GQueryManager.ExecQuery ("INSERT INTO Marry (Character, MarryCharacter) VALUES ('% s', '% s')", lpMsg-> name, lpMsg-> marryname);
GQueryManager.Fetch ();
GQueryManager.Close ();

And do not update the database

puede probar asi creo

gQueryManager.ExecQuery("EXEC NOMBRE PROCEDURE ETC ETC ETC

Saludos
 
Newbie Spellweaver
Joined
Dec 4, 2015
Messages
39
Reaction score
2
Re: Source [MUEMU]

How to add a message to the player to mix wing level 3 successful
same
;==================================================;
Announce Chaos Mix Settings
;==================================================
AnnounceChaosMix = 0
AnnounceChaosMixText = %s put the item %s +15
 
Newbie Spellweaver
Joined
Dec 31, 2013
Messages
90
Reaction score
2
Re: Source [MUEMU]

How about people, someone managed to run the / offattack with the helper?
 
Back
Top