ALTER proc [dbo].[sp_LockStatus_Event39] ( @PlayerID varchar(30), --玩家ID @T int --时间(秒) @Flag int = null, --定身状态(null:默认状态,0:无法进行任何行动,1:无法进行普通攻击,2:无法进行招式操作) ) as declare @strSQL varchar(5000) set @strSQL = N'' set nocount on begin tran update Players set LockStatus = @Flag where PlayerID = @PlayerID set @strSQL = N'waitfor delay '''+ @T +''''; exec(@strSQL) update Players set LockStatus = 0 where PlayerID = @PlayerID commit tran大家觉得我这种做法行吗?
2007-02-06 11:00:00 10秒除用这种方式
2.用sleep(1000),休眠时间
3.可以在游戏开始的时候,先弹出一个层,"Ready Go",就象格斗里面的,让层显示一段时间后隐藏,然后判断当层隐藏后,才可以发招,也就是游戏已经开始
在游戏中,类似"多少秒内使一玩家的属性处于一个特别状态"这种做法有很多.所以采用用数据库方式来记录这种状态不太可能.
(
@PlayerID varchar(30), --玩家ID
@T int --时间(秒)
@Flag int = null, --定身状态(null:默认状态,0:无法进行任何行动,1:无法进行普通攻击,2:无法进行招式操作)
)
as
declare @strSQL varchar(5000)
set @strSQL = N''
set nocount on
begin tran
update Players set LockStatus = @Flag where PlayerID = @PlayerID
set @strSQL = N'waitfor delay '''+ @T +'''';
exec(@strSQL)
update Players set LockStatus = 0 where PlayerID = @PlayerID
commit tran大家觉得我这种做法行吗?