عرض مشاركة واحدة
قديم 28-06-2016, 12:50 PM   #2

Dev.Ri3o
عضو ذهبى



الصورة الرمزية Dev.Ri3o


• الانـتـسـاب » Apr 2015
• رقـم العـضـويـة » 121546
• المشـــاركـات » 4,029
• الـدولـة » https://t.me/pump_upp
• الـهـوايـة » MIS
• اسـم الـسـيـرفـر » No Server
• الـجـنـس » Male
• نقـاط التقييم » 45
Dev.Ri3o صـاعـد

Dev.Ri3o غير متواجد حالياً


إرسال رسالة عبر ICQ إلى Dev.Ri3o إرسال رسالة عبر AIM إلى Dev.Ri3o إرسال رسالة عبر Yahoo إلى Dev.Ri3o

افتراضي رد: طلب تغيير نسبة النجاح في plus & تغيير Returned spawn point



دى نسبة ال Lucky
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
و بالنسبة لموضوع ال CharRevive
هتحط ده بدل اللى عندك فى _ResetCharPos
كود:
USE [SRO_RI3O_HYPER_SH]
GO
/****** Object:  StoredProcedure [dbo].[_ResetCharPos]    Script Date: 28/06/2016 11:52:52 ص ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[_ResetCharPos]
as
	set xact_abort on
	
begin transaction
	-- reset aux pos
	update _Char set TelRegion = 0, TelPosX = 0, TelPosY = 0, TelPosZ = 0, DiedRegion = 0, DiedPosX = 0, DiedPosY = 0, DiedPosZ = 0
	
	-- initialize char pos
	declare @RefTelID int
	declare @RegionID int
	declare @PosX real
	declare @PosY real
	declare @PosZ real
	declare @CharID int
	declare @TelID int
	declare char_cursor 	cursor fast_forward for
	select CharID, AppointedTeleport
	from	_Char with(nolock) 
	
	open char_cursor
	fetch next from char_cursor into @CharID, @TelID
	while (@@fetch_status = 0)
	begin
		if (@TelID is not null and @TelID <> 0)
		begin
	
			set @RegionID = 0 
			set @PosX = 0
			set @PosY = 0
			set @PosZ = 0
			
			select @RefTelID = ID from _RefObjCommon where ID = @TelID
			select @RegionID = GenRegionID, @PosX = GenPos_X, @PosY = GenPos_Y, @PosZ = GenPos_Z from _RefTeleport where AssocRefObjID = @RefTelID
	
			update _char set LatestRegion = @RegionID, PosX = @PosX, PosY = @PosY, PosZ = @PosZ where CharID = @CharID
		end
	
		fetch next from char_cursor into @CharID, @TelID
	end
	close char_cursor
	deallocate char_cursor
commit transaction
وكمان _ModifyCharPos
كود:
USE [SRO_RI3O_HYPER_SH]
GO
/****** Object:  StoredProcedure [dbo].[_ModifyCharPos]    Script Date: 28/06/2016 11:54:17 ص ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

-- ¾È¹Ù²ãµµ µÇ°Ú´Ù by novice.
ALTER  PROCEDURE [dbo].[_ModifyCharPos]
	@name 		varchar(64),
	@region		smallint,
	@x		float,
	@y		float,
	@z		float,
	@worldID	smallint
AS
	-- not existing character
	declare @charid int
	set @charid = 0
	select @charid = charid from _char where charname16 = @name
	if (@@rowcount = 0 or @charid is null or @charid = 0)
	begin
		select -2
		return
	end
	-- failed to rename
	update _Char set LatestRegion = @region, PosX = @x, PosY = @y, PosZ = @z, WorldID = @worldID where CharName16 = @name
	if (@@error <> 0 or @@rowcount = 0)
	begin
		select -4
		return
	end
	select 1
	return
و _CharInstanceWorldDataUpdate
كود:
USE [SRO_RI3O_HYPER_SH]
GO
/****** Object:  StoredProcedure [dbo].[_CharInstanceWorldDataUpdate]    Script Date: 28/06/2016 12:00:26 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

ALTER procedure  [dbo].[_CharInstanceWorldDataUpdate]
@CharID		int,
@DungeonKeyID	int,
@WorldID	int,
@LayerID	int,
@Openedtime	datetime,
@RegionID	int,
@PosX		float,
@PosY		float,
@PosZ		float,
@IsActivated	tinyint,
@EnterCount	int,
@LastEnterTime	datetime

AS

BEGIN TRANSACTION


	IF( EXISTS( SELECT WorldID FROM _CharInstanceworldData WHERE Charid = @CharID and IsActivated = 1) )
	BEGIN
		UPDATE _CharInstanceworldData SET IsActivated = 0 WHERE Charid = @CharID
	END

	IF( EXISTS( SELECT WorldID FROM _CharInstanceworldData WHERE CharID = @CharID and WorldID = @WorldID) )
	begin
		UPDATE _CharInstanceworldData
		SET
			 DungeonKeyID = @DungeonKeyID
			, LayerID = @LayerID
			, OpenedTime = @Openedtime
			, RegionID = @RegionID
			, PosX = @PosX
			, PosY = @PosY
			, PosZ = @PosZ
			, IsActivated = @IsActivated
			, EnterCount = @EnterCount
			, LastEnterTime = @LastEnterTime

		WHERE CharID = @CharID and WorldID = @WorldID
	END

	ELSE

	BEGIN
		insert _CharInstanceworldData
		values( @CharID, @DungeonKeyID, @WorldID, @LayerID, @Openedtime,@RegionID, @PosX, @PosY, @PosZ ,@IsActivated, @EnterCount, @LastEnterTime )
	END

	COMMIT TRANSACTION
	RETURN 1
و_InsertRefTeleLink
كود:
USE [SRO_RI3O_HYPER_SH]
GO
/****** Object:  StoredProcedure [dbo].[_InsertRefTeleLink]    Script Date: 28/06/2016 12:15:39 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER PROCEDURE [dbo].[_InsertRefTeleLink]
@Service				int,
@OwnerTeleport_CodeName			varchar(128),
@TargetTeleport_CodeName		varchar(128),
@Fee					int,
@RestrictBindMethod			tinyint,
@RunTimeTeleportMethod			tinyint,
@CheckResult				tinyint,
@Restrict1				int,
@RT1_Data1				int,
@RT1_Data2				int,
@RT1_Desc				varchar(128),
@Restrict2				int,
@RT2_Data1				int,
@RT2_Data2				int,
@RT2_Desc				varchar(128),
@Restrict3				int,
@RT3_Data1				int,
@RT3_Data2				int,
@RT3_Desc				varchar(128),
@Restrict4				int,
@RT4_Data1				int,
@RT4_Data2				int,
@RT4_Desc				varchar(128),
@Restrict5				int,
@RT5_Data1				int,
@RT5_Data2				int,
@RT5_Desc				varchar(128)
as
	declare @OwnerTeleport		int
	declare @TargetTeleport		int
begin transaction
begin
	exec _GetRestrictTeleLink @Restrict1,@RT1_Data1 output,@RT1_Data2 output,@RT1_Desc
	exec _GetRestrictTeleLink @Restrict2,@RT2_Data1 output,@RT2_Data2 output,@RT2_Desc
	exec _GetRestrictTeleLink @Restrict3,@RT3_Data1 output,@RT3_Data2 output,@RT3_Desc
	exec _GetRestrictTeleLink @Restrict4,@RT4_Data1 output,@RT4_Data2 output,@RT4_Desc
	exec _GetRestrictTeleLink @Restrict5,@RT5_Data1 output,@RT5_Data2 output,@RT5_Desc
		
	select @OwnerTeleport = ID from _RefTeleport where CodeName128 = @OwnerTeleport_CodeName
	select @TargetTeleport = ID from _RefTeleport where CodeName128 = @TargetTeleport_CodeName
	if (@OwnerTeleport is null or @TargetTeleport is null )
	begin
		rollback transaction
		raiserror('owner ȤÀº target teleport°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù. [owner: %s, target: %s]', @OwnerTeleport_CodeName, @TargetTeleport_CodeName)
		return
	end
	if (exists (select * from _RefTeleLink where OwnerTeleport = @OwnerTeleport and TargetTeleport = @TargetTeleport))
	begin
		update _RefTeleLink
		set Service = @Service,
			Fee = @Fee, RestrictBindMethod = @RestrictBindMethod, RunTimeTeleportMethod = @RunTimeTeleportMethod, CheckResult = @CheckResult,
			Restrict1 = @Restrict1, Data1_1 = @RT1_Data1, Data1_2 = @RT1_Data2, 
			Restrict2 = @Restrict2, Data2_1 = @RT2_Data1, Data2_2 = @RT2_Data2, 
			Restrict3 = @Restrict3, Data3_1 = @RT3_Data1, Data3_2 = @RT3_Data2, 
			Restrict4 = @Restrict4, Data4_1 = @RT4_Data1, Data4_2 = @RT4_Data2, 
			Restrict5 = @Restrict5, Data5_1 = @RT5_Data1, Data5_2 = @RT5_Data2
			where OwnerTeleport = @OwnerTeleport and TargetTeleport = @TargetTeleport
	end
	else
	begin
		insert into _RefTeleLink
		values (@Service,
				@OwnerTeleport,
				@TargetTeleport,
				@Fee,
				@RestrictBindMethod,
				@RunTimeTeleportMethod,
				@CheckResult,
				@Restrict1, @RT1_Data1, @RT1_Data2, 
				@Restrict2, @RT2_Data1, @RT2_Data2, 
				@Restrict3, @RT3_Data1, @RT3_Data2, 
				@Restrict4, @RT4_Data1, @RT4_Data2, 
				@Restrict5, @RT5_Data1, @RT5_Data2)
	end
	if (@@error <> 0)
	begin
		rollback transaction
		raiserror('TeleportLink Ãß°¡(ȤÀº °»½Å) ½ÇÆÐ! [%s, %s]', 1, 16, @OwnerTeleport_CodeName, @TargetTeleport_CodeName)
		return
	end
	
	commit transaction
	
end
و_InsertRefTeleport
كود:
USE [SRO_RI3O_HYPER_SH]
GO
/****** Object:  StoredProcedure [dbo].[_InsertRefTeleport]    Script Date: 28/06/2016 12:15:58 م ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[_InsertRefTeleport]
@Service		as int,
@CodeName128		as varchar(129),
@GenWorldCodeName	as varchar(129),
@AssocObjCodeName	as varchar(129),
@ZoneName128		as varchar(129),
@GenRegionID		as int,
@GenPos_X		as smallint,
@GenPos_Y		as smallint,
@GenPos_Z		as smallint,
@GenAreaRadius		as smallint,
@CanBeResurrectPos	as tinyint,
@CanGotoResurrectPos	as tinyint,
@BindInteractionMask	as tinyint
as
	declare @GenWorldID		smallint
	declare @assoc_ref_obj		int
	declare @count			int
begin transaction
begin
	select @GenWorldID = ID from _RefGame_World where WorldCodeName128 = @GenWorldCodeName
	if (@GenWorldID < 1)
	begin
		rollback transaction
		raiserror('¿ùµå¾ÆÀ̵𰡠¾ø´Ù! È®ÀÎ ¿ä¸Á! [%s]', 1, 16, @GenWorldCodeName)
		return
	end

	select @count = count(*) from _RefTeleport where AssocRefObjID = @assoc_ref_obj or CodeName128 = @CodeName128	
	if (@count > 1)
	begin
		rollback transaction
		raiserror('µ¿ÀÏÇÑ ÅÚ·¹Æ÷Æ®°¡ Áߺ¹µÇ¾î ÁöÁ¤µÈ µí ÇÏ´Ù! È®ÀÎ ¿ä¸Á! [%s]', 1, 16, @CodeName128)
		return
	end
	set @assoc_ref_obj = 0
	if (@AssocObjCodeName <> 'xxx')
	begin
		execute @assoc_ref_obj = _FindRefObjCommonID @AssocObjCodeName
		if (@assoc_ref_obj is null or @assoc_ref_obj = 0)
		begin
			rollback transaction
			raiserror('AttachÇÒ ¿ÀºêÁ§Æ®¸¦ ãÀ» ¼ö ¾ø´Ù! : %s - %s', 1, 16, @CodeName128, @AssocObjCodeName)
			return
		end
	end
	-- sql ÀÌ unsigned short¸¦ Áö¿øÇÏÁö ¾Ê´Â °ü°è·Î WORD ÇüÀ¸·Î ÀԷµǴ RegionID¸¦ ShortÇüÀ¸·Î º¯È¯ÇѰŴÙ... À½¼ö·Î ¹Ù²Û°ÅÁö ¹¹...
	if (@GenRegionID > 32767)
	begin
		set @GenRegionID = (@GenRegionID - 32767 - 2) - 32767
	end
	if (exists (select * from _RefTeleport where CodeName128 = @CodeName128))
	begin
		update _RefTeleport
		set Service = @Service, AssocRefObjID = @assoc_ref_obj, 
		     ZoneName128 = @ZoneName128,
		     GenRegionID = @GenRegionID, 
		     GenPos_X = @GenPos_X, GenPos_Y = @GenPos_Y, GenPos_Z = @GenPos_Z,
		     GenAreaRadius = @GenAreaRadius,
		     CanBeResurrectPos = @CanBeResurrectPos, CanGotoResurrectPos = @CanGotoResurrectPos,
		     GenWorldID = @GenWorldID, BindInteractionMask = @BindInteractionMask
		where CodeName128 = @CodeName128
	end
	else		
	begin
		insert into _RefTeleport 
		values  (@Service, @CodeName128, @assoc_ref_obj, @ZoneName128,
			@GenRegionID, @GenPos_X, @GenPos_Y, @GenPos_Z, @GenAreaRadius,
			@CanBeResurrectPos, @CanGotoResurrectPos, @GenWorldID, @BindInteractionMask)
	end
	if (@@error <> 0)
	begin
		rollback transaction
		
		if (@count <> 0)
			begin raiserror('Teleport µ¥ÀÌÅÍ Update ½ÇÆÐ! :%s', 1, 16, @CodeName128) end
		else
			begin raiserror('Teleport µ¥ÀÌÅÍ Insert ½ÇÆÐ! :%s', 1, 16, @CodeName128) end
		return
	end
	
	commit transaction
end


توقيع Dev.Ri3o :
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]

التعديل الأخير تم بواسطة Dev.Ri3o ; 28-06-2016 الساعة 01:16 PM