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)

Newbie Spellweaver
Joined
Dec 31, 2013
Messages
90
Reaction score
2
Re: Source [MUEMU]

Code:
.h
#define MAX_COMMAND 32
COMMAND_MARRY = 32,

.cpp
this->Add(gMessage.GetMessage(628),COMMAND_MARRY);
It worked perfectly, but did not inject into the database. Run the query from Luis_br!
 
Newbie Spellweaver
Joined
Dec 31, 2013
Messages
90
Reaction score
2
Re: Source [MUEMU]

Run both, but still not injected.
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Nov 26, 2016
Messages
140
Reaction score
28
Re: Source [MUEMU]

Run both, but still not injected.
here:
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
GOCREATE TABLE [dbo].[Marry](
    [Character] [varchar](15) NOT NULL,
    [MarryCharacter] [varchar](15) NOT NULL,
    [MarriedOn] [datetime] NOT NULL
) ON [PRIMARY]
GOSET ANSI_PADDING OFF
GOALTER TABLE [dbo].[Marry] ADD  CONSTRAINT [DF_Marry_MarriedOn]  DEFAULT (getdate()) FOR [MarriedOn]
GOGO
/****** Object:  StoredProcedure [dbo].[WZ_GetMarryInfo]    Script Date: 11/16/2016 20:27:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER 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
BEGINSET NOCOUNT ON
SET XACT_ABORT ONDECLARE @[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 intDECLARE @[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 intDECLARE @[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/560057.html"]Names[/URL][/B][/I]ELECT @[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 OFFENDGO
/****** Object:  StoredProcedure [dbo].[WZ_SetDivorceInfo]    Script Date: 11/16/2016 20:28:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER 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
BEGINSET NOCOUNT ON
SET XACT_ABORT ONDELETE 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 OFFENDGO
/****** Object:  StoredProcedure [dbo].[WZ_SetMarryInfo]    Script Date: 11/16/2016 20:28:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER 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
BEGINSET NOCOUNT ON
SET XACT_ABORT ONINSERT 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 OFFEND
 
Last edited:
Skilled Illusionist
Joined
Jun 29, 2016
Messages
341
Reaction score
14
Re: Source [MUEMU]

here:
Code:
Error irrecuperable de scripting.Se ha encontrado sintaxis incorrecta al analizar GO.
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
GOCREATE TABLE [dbo].[Marry](
    [Character] [varchar](15) NOT NULL,
    [MarryCharacter] [varchar](15) NOT NULL,
    [MarriedOn] [datetime] NOT NULL
) ON [PRIMARY]
GOSET ANSI_PADDING OFF
GOALTER TABLE [dbo].[Marry] ADD  CONSTRAINT [DF_Marry_MarriedOn]  DEFAULT (getdate()) FOR [MarriedOn]
GOGO
/****** Object:  StoredProcedure [dbo].[WZ_GetMarryInfo]    Script Date: 11/16/2016 20:27:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER 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
BEGINSET NOCOUNT ON
SET XACT_ABORT ONDECLARE @[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 intDECLARE @[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 intDECLARE @[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/560057.html"]Names[/URL][/B][/I]ELECT @[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 OFFENDGO
/****** Object:  StoredProcedure [dbo].[WZ_SetDivorceInfo]    Script Date: 11/16/2016 20:28:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER 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
BEGINSET NOCOUNT ON
SET XACT_ABORT ONDELETE 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 OFFENDGO
/****** Object:  StoredProcedure [dbo].[WZ_SetMarryInfo]    Script Date: 11/16/2016 20:28:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER 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
BEGINSET NOCOUNT ON
SET XACT_ABORT ONINSERT 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 OFFEND


It shows an error message after running this query :
Error irrecuperable de scripting.Se ha encontrado sintaxis incorrecta al analizar GO.
 
Junior Spellweaver
Joined
Nov 26, 2016
Messages
140
Reaction score
28
Re: Source [MUEMU]

It shows an error message after running this query :
Error irrecuperable de scripting.Se ha encontrado sintaxis incorrecta al analizar GO.

Code:
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
 
Last edited by a moderator:
Newbie Spellweaver
Joined
Dec 31, 2013
Messages
90
Reaction score
2
Re: Source [MUEMU]

Working ok, but what does not work is the divorce properly, it is supposed to be able to divorce after a week, but allows it on the same day to get married.
 
Newbie Spellweaver
Joined
Aug 8, 2015
Messages
12
Reaction score
0
Re: Source [MUEMU]

Can anyone help in downgrade to the 97d? Please =/
 
Junior Spellweaver
Joined
Apr 21, 2005
Messages
154
Reaction score
126
Re: Source [MUEMU]

Command Marry work fine on muemu s4

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

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Dec 4, 2015
Messages
7
Reaction score
0
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"

command /marry track or /marry trace not working :/
 
Skilled Illusionist
Joined
Jun 29, 2016
Messages
341
Reaction score
14
Re: Source [MUEMU]

did i miss something about config? i used all the querys but nothing happen when I use /marry charname
 
Experienced Elementalist
Joined
Dec 2, 2004
Messages
225
Reaction score
30
Re: Source [MUEMU]

ENG

Hi
Does anyone know the offset to add the minimap to the main season 6 unpacked?

SPN

Hola

alguien sabe el offset para agregar el minimap al main season 6 unpacked?

Thanks
 
Newbie Spellweaver
Joined
Apr 27, 2017
Messages
26
Reaction score
1
Re: Source [MUEMU]

how to fix item custom bow and crowbow work with skill in Season 4 mueMU ???
you have to code it.
i have source work on my s6, but you need research offset your main.
 
Junior Spellweaver
Joined
Nov 26, 2016
Messages
140
Reaction score
28
Re: Source [MUEMU]

share source please :D
http://forum.ragezone.com/f508/custom-bows-crossbows-client-source-1080350/ source.

Code:
[COLOR=#ff0000]#define iBowAddSkillEffect 0x0074A128 // 1.04E
#define iBowAddInventoryPos 0x005CC8E4 // 1.04E 
#define iBowAddPlayerDimension 0x00566178 // 1.04E [/COLOR]
Code:
DWORD IsBowItem = 0;
DWORD IsCrossItem = 0;
DWORD BowValue = 0x09C;
DWORD MaxBoneCount = 0x108;
DWORD WorldPosition = 0x0FC;
DWORD oCreateEffect = 0x006D9070; // 1.04E
DWORD ReturnBowCode = 0x0074A12E; // 1.04E
DWORD BowPosition = 0x005CC8ED; // 1.04E
DWORD NextBowPosition = 0x005CC92E; // 1.04E
DWORD BowAddPlayerDimension_Offset = 0x0056617F; // 1.04E
 
Skilled Illusionist
Joined
Mar 27, 2013
Messages
305
Reaction score
9
Re: Source [MUEMU]

http://forum.ragezone.com/f508/custom-bows-crossbows-client-source-1080350/ source.

Code:
[COLOR=#ff0000]#define iBowAddSkillEffect 0x0074A128 // 1.04E
#define iBowAddInventoryPos 0x005CC8E4 // 1.04E 
#define iBowAddPlayerDimension 0x00566178 // 1.04E [/COLOR]
Code:
DWORD IsBowItem = 0;
DWORD IsCrossItem = 0;
DWORD BowValue = 0x09C;
DWORD MaxBoneCount = 0x108;
DWORD WorldPosition = 0x0FC;
DWORD oCreateEffect = 0x006D9070; // 1.04E
DWORD ReturnBowCode = 0x0074A12E; // 1.04E
DWORD BowPosition = 0x005CC8ED; // 1.04E
DWORD NextBowPosition = 0x005CC92E; // 1.04E
DWORD BowAddPlayerDimension_Offset = 0x0056617F; // 1.04E
please share offset in main 1.05D season 4:(
 
Junior Spellweaver
Joined
Nov 26, 2016
Messages
140
Reaction score
28
Re: Source [MUEMU]

please share offset in main 1.05D season 4:(
incomplete :)
Code:
DWORD oCreateEffect = 0063CAB0
DWORD ReturnBowCode = 0068300F
#define iBowAddSkillEffect 00683009[COLOR=#000000]
[/COLOR]
 
Back
Top