sphandler.h

来自「国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国」· C头文件 代码 · 共 690 行 · 第 1/2 页

H
690
字号

GO

/********************************************************************/

/********************************************************************

					酒捞袍 积己(急拱罐扁)

CREATE PROCEDURE [DBO].[SASetItemCreate]
	@IDX			bigint,
	@INVENSLOT		varchar(2),
	@ITEM			varchar(15)
AS
SET NOCOUNT ON

declare @param		nvarchar(256)
set @param='@outIdx bigint output'
declare @sql 		nvarchar(256)
set @sql='update SAItem set sai_slot' + @INVENSLOT + '=''' + @ITEM + ''' where sai_idx=@outIdx'

exec sp_executesql @sql, @param, @outIdx=@IDX output

GO

/********************************************************************/

/********************************************************************

			酒捞袍 昏力(矫埃力茄 棺 蜡历啊 流立颇鲍)

CREATE PROCEDURE [DBO].[SASetItemDelete]
	@IDX			bigint,
	@MECHANIC		bigint,
	@EQUIPSLOT		tinyint,
	@INVENSLOT		varchar(2)
AS
SET NOCOUNT ON

declare @param		nvarchar(256)
set @param='@outIdx bigint output'
declare @sql 		nvarchar(256)
set @sql='update SAItem set sai_slot' + @INVENSLOT + '='''' where sai_idx=@outIdx'

exec sp_executesql @sql, @param, @outIdx=@IDX output

if not(@MECHANIC = 0)--皋墨葱 厘馒吝
begin
	if(@EQUIPSLOT = 0)
	begin
		update SAMechanic set sam_main_slot=0, sam_update_time=getdate() where sam_idx=@MECHANIC
	end
	else if(@EQUIPSLOT = 1)
	begin
		update SAMechanic set sam_sub_slot=0, sam_update_time=getdate() where sam_idx=@MECHANIC
	end
	if(@EQUIPSLOT = 2)
	begin
		update SAMechanic set sam_back_slot1=0, sam_update_time=getdate() where sam_idx=@MECHANIC
	end
	if(@EQUIPSLOT = 3)
	begin
		update SAMechanic set sam_back_slot2=0, sam_update_time=getdate() where sam_idx=@MECHANIC
	end
	if(@EQUIPSLOT = 4)
	begin
		update SAMechanic set sam_back_slot3=0, sam_update_time=getdate() where sam_idx=@MECHANIC
	end
end

GO

/********************************************************************/


/////////////////////////////////////////////////////////////////////////


/********************************************************************

			葛靛喊 霸烙搬苞 盎脚

CREATE PROCEDURE [DBO].[MBSetGameResult]
	@IDX			bigint,
	@MODE			tinyint,
	@MONEY			bigint,
	@EXP			bigint,
	@LEVEL			tinyint,
	@RANK			tinyint
AS
SET NOCOUNT ON

if(@MODE = 1)--ScenarioMode
begin
	update MBGame
	set mbg_money=@MONEY, mbg_exp=@EXP, mbg_level=@LEVEL
	where mbg_idx=@IDX
end
else if(@RANK = 1)--win(FireMode, VSMode, ColorMode, GambleMode)
begin
	update MBGame
	set mbg_money=@MONEY, mbg_exp = @EXP, mbg_level = @LEVEL, mbg_win=mbg_win+(1), mbg_win_straight=mbg_win_straight+(1),
	mbg_best_straight = case when mbg_win_straight > mbg_best_straight then mbg_win_straight else mbg_best_straight end
	where mbg_idx=@IDX
end
else--lose(FireMode, VSMode, ColorMode, GambleMode)
begin
	update MBGame
	set mbg_money=@MONEY, mbg_exp = @EXP, mbg_level = @LEVEL, mbg_lose=mbg_lose+(1), mbg_win_straight=0
	where mbg_idx=@IDX
end

GO

/********************************************************************/

/********************************************************************

			酒捞袍 厘馒

CREATE PROCEDURE [DBO].[MBSetItemEquip]
	@IDX			bigint,
	@EQUIPSLOT		varchar(2),
	@EQUIP			tinyint
AS
SET NOCOUNT ON

declare @param		nvarchar(256)
set @param='@outEquip tinyint output, @outIdx bigint output'
declare @sql 		nvarchar(256)
set @sql='update MBItem set mbi_equip' + @EQUIPSLOT + '=@outEquip where mbi_idx=@outIdx'

exec sp_executesql @sql, @param, @outEquip=@EQUIP output, @outIdx=@IDX output

GO

/********************************************************************/

/********************************************************************

				白喉硅泼

CREATE PROCEDURE [DBO].[MBSetGameBetting]
	@IDX1			bigint,
	@IDX2			bigint,
	@IDX3			bigint,
	@IDX4			bigint,
	@IDX5			bigint,
	@IDX6			bigint,
	@IDX7			bigint,
	@IDX8			bigint,
	@MONEY			smallint
AS
SET NOCOUNT ON

update MBGame set mbg_money=mbg_money-(@MONEY)
where @IDX1>0 and mbg_idx=@IDX1
or @IDX2>0 and mbg_idx=@IDX2
or @IDX3>0 and mbg_idx=@IDX3
or @IDX4>0 and mbg_idx=@IDX4
or @IDX5>0 and mbg_idx=@IDX5
or @IDX6>0 and mbg_idx=@IDX6
or @IDX7>0 and mbg_idx=@IDX7
or @IDX8>0 and mbg_idx=@IDX8

GO

/********************************************************************/



//SP
#define SP_RECSET				100
#define SPSEL_MASTER_AUTHOR		(SP_RECSET+1)
#define SPSEL_SERVER_INFO		(SP_RECSET+2)
#define SPSEL_SERVER_INDEX		(SP_RECSET+3)
#define SPSEL_SERVER_AUTHOR		(SP_RECSET+4)
#define SPSEL_USER_INFO			(SP_RECSET+5)
#define SPSEL_GAME_INFO			(SP_RECSET+6)
#define SPSEL_ITEM_INFO			(SP_RECSET+7)
#define SPSEL_MECHANIC_INFO		(SP_RECSET+8)
#define SPINS_USER_INFO			(SP_RECSET+9)


#define SPUPD_GAME_LOGIN	1
#define SPUPD_GAME_LOGOUT	2
#define SPUPD_GAME_POSITION	3
#define SPUPD_GAME_RESULT	4

#define SPUPD_ITEM_BUY		5
#define SPUPD_ITEM_CREATE	6
#define SPUPD_ITEM_DELETE	7

#define SPUPD_SERVER_LOGIN	10

#define SPUPD_ITEM_EQUIP	4


typedef struct _SPINFO		//历厘橇肺矫廉 龋免阑 困茄 沥焊
{
	short index;
	unsigned short sp_index;
	void *rec;

	union
	{
		char param[LEN_SP+1];

		struct {
			UINT64 account;
			WORD port;
			char remote_ip[LEN_IP+1];
		} SAGetServerAuthor;

		struct {
			char id[LEN_SVRNAME+1];
			char group[LEN_SVRNAME+1];
		} SAGetServerInfo;

		struct {
			char remote_ip[LEN_IP+1];
			char id[LEN_SVRNAME+1];
			char group[LEN_SVRNAME+1];
		} MCGetServerIndex;

		struct {
			UINT64 account;
			char remote_ip[LEN_IP+1];
		} MCSetServerLogin;

		struct {
			char id[LEN_ID+1];
		} SAGetUserInfo;

		struct {
			UINT64 account;
		} SAGetGameInfo;

		struct {
			UINT64 account;
		} SAGetItemInfo;

		struct {
			UINT64 account;
		} SAGetMechanicInfo;

		struct {
			char id[LEN_ID+1];
			char pwd[LEN_PWD+1];
			char nick[LEN_NICKNAME+1];
			BYTE gender;
		} SAAddUserInfo;

		struct {
			UINT64 account;
			char remote_ip[LEN_IP+1];
			char private_ip[LEN_IP+1];
		} SASetGameLogin;

		struct {
			UINT64 account;
		} SASetGameLogout;

		struct {
			UINT64 account;
			UINT64 server;
		} SASetGamePosition;

		struct {
			UINT64 account;
			UINT64 mechanic;
			BYTE level;
			UINT64 exp;
			short point;
			BYTE kill_cnt;
			BYTE death_cnt;
			bool win;
			bool quit;
			bool increase;				//器牢飘 刘啊
			char item_slot[WEAPON_MAX][LEN_SLOTBUF+1];
			char item_update[WEAPON_MAX][LEN_ITEMBUF+1];
		} SASetGameResult;

		struct {
			UINT64 account;
			char item_invenslot[LEN_SLOTBUF+1];
			char item_buf[LEN_ITEMBUF+1];
			UINT64 cash;
			UINT64 point;
		} SASetItemBuy;

		struct {
			UINT64 account;
			char item_invenslot[LEN_SLOTBUF+1];
			char item_buf[LEN_ITEMBUF+1];
		} SASetItemCreate;

		struct {
			UINT64 account;
			UINT64 mechanic;
			BYTE item_equipslot;
			char item_invenslot[LEN_SLOTBUF+1];
		} SASetItemDelete;
	};
} SPINFO;


struct _ITEM_INFO;

bool spsel_server_info(char *svr_name, char *svr_group);
void spset_server_info(CADORecordset *pRec);
bool spsel_server_index(char *svr_name, char *svr_group);
void spset_server_index(CADORecordset *pRec);
bool spsel_master_author();
void spset_master_author(CADORecordset *pRec);
bool spsel_server_author(int id);
void spset_server_author(CADORecordset *pRec, int id);
bool spupd_server_login(int id);

bool spsel_user_info(int id);
bool spset_user_info(CADORecordset *pRec, int id);
bool spsel_game_info(int id);
bool spset_game_info(CADORecordset *pRec, int id);
bool spsel_item_info(int id);
bool spset_item_info(CADORecordset *pRec, int id);
bool spsel_mechanic_info(int id);
bool spset_mechanic_info(CADORecordset *pRec, int id);
bool spins_user_info(SPINFO *sp);

bool spupd_game_login(UINT64 account, DWORD remote_ip, DWORD private_ip);
bool spupd_game_logout(UINT64 account);
bool spupd_game_position(UINT64 account, UINT64 server);
bool spupd_game_result(UINT64 account, UINT64 mechanic,
					   BYTE level, UINT64 exp, short point,
					   BYTE kill_cnt, BYTE death_cnt,
					   bool win, bool quit,
					   _ITEM_INFO *item_info);


bool spupd_item_buy(UINT64 account, BYTE item_invenindex, char *item_buf, UINT64 cash, UINT64 point);
bool spupd_item_create(UINT64 account, BYTE item_invenindex, char *item_buf);
bool spupd_item_delete(UINT64 account, UINT64 mechanic, BYTE item_invenindex, BYTE item_equipslot);

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?