返回上一页
游戏技术

奇迹1.03H相关问题解方案

★疑难一:如GS提示启动攻城时间错误请清空Muonline里面的5个攻城数表:MuCastle_DATA MuCastle_MONEY_STATISTICS MuCastle_NPC  MuCastle_REG_SIEGE  MuCastle_SIEGE_GUILDLIST


★疑难二:如果GS启动出错:请重新启动服务器;或者在任务管理器里面结束所有gameserver.exe进程


复制以下代码,打开SQL查询分析器

执行,就可实现新人送点

1234可以改成你想要的数字



CREATE TRIGGER 新人送点 ON Character

AFTER INSERT

AS

SET NOCOUNT ON

UPDATE Character SET Character.LevelUpPoint=300

FROM Inserted

WHERE Character.name=Inserted.name

SET NOCOUNT OFF


圣导送9999统率:


CREATE TRIGGER [Leadership] ON [dbo].[Character]

after Insert

as

Update [Character] set [Character].Leadership=9999

From Inserted

Where Inserted.Class=64 and [Character].accountid=inserted.accountid

and [Character].name=inserted.name


1.如果服务器出现杀红名变红名:

解决:

三种方法.

一种是数据库更改pklevel默认值

二种是修改在线洗红名的关于网站或洗红工具的设置.已经有方法了,但是这不是真正引起杀红变红的原因!也不是解决之道.

真正引起杀红变红的原因是,第三种方法。问题就出在这.

一般杀红变红的人都经过了转生,才会这样.分析脚本userzs.asp (洗红功能页面)

会看到rs1("Pklevel")=0 <-代表转生后pklevel比默认少了三点

改成rs1("Pklevel")=3 就应该不会有问题了


还有就是转生后.剩余点数乱跳的问题.正在检查



修改数据库的pklevel默认值。无法保证服务器端不会报错。或者以后出现异常.

请大家小心使用转生系统.现在无错无错.不代表他没错。转生这种事情出点小错,就严重影响游戏平衡。




--自动更新所有圣导师的统率为9999

Update [Character] set [Character].Leadership=9999 Where [Character].Class=64

SET NOCOUNT ON


IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED) WHERE memb___id = @uid )

Begin

  UPDATE MEMB_STAT

      SET ip = @uip , connectstat = 1 , servername = @server , ConnectTM = (getdate())

      WHERE memb___id = @uid

End

ELSE

Begin

  INSERT INTO MEMB_STAT ( memb___id,ip,connectstat,servername)

      valueS (@uid,@uip,1,@server )

End

IF(@@Error <> 0 )

  ROLLBACK TRANSACTION

ELSE

  COMMIT TRANSACTION


--写入登录记录

IF EXISTS ( SELECT UserID FROM UserLogin WITH (READUNCOMMITTED) WHERE UserID = @uid )

Begin

  UPDATE UserLogin

      SET LoginIP=@uip,Server=@server,LoginTM = (getdate()),OnlineSec=0,GiveMoney=0,logoutTM=null

      WHERE UserID = @uid

End

ELSE

Begin

  INSERT INTO UserLogin (UserID,LoginIP,Server,LoginTM,OnlineSec,GiveMoney)

      values (@uid,@uip,@server,getdate(),0,0)

End

--自动封服务器不准进入的人物

declare @SmallestZS int

declare @LargestZS int

declare @Type int

select @Type=Type from SetServerList where ServerName=@server


if (@Type>0) begin


  select @SmallestZS=Smallest_ZS from SetServerList where ServerName=@server

  select @LargestZS=Largest_ZS from SetServerList where ServerName=@server


  if not (@SmallestZS is null) begin

  update character set ctlcode=(ctlcode | 0x81) where [name] not in

  (

      SELECT NAME FROM WEB_ZS WHERE (ACC = @uid) AND (ZSCS >= @LargestZS) AND (ZSCS <= @SmallestZS)

   ) AND (AccountID = @uid)

  end

end

DELETE FROM MEMB_STAT_GJ WHERE (memb___id = @uid and servername=@server)

update character set ctlcode=(ctlcode | 0x81) where [name] in

(

SELECT name FROM MEMB_STAT_GJ WHERE (memb___id = @uid)

) AND (AccountID = @uid)


SET NOCOUNT OFF

End

GO