- 精华
- 阅读权限
- 50
- 好友
- 相册
- 分享
- 听众
- 收听
- 注册时间
- 2010-9-28
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
发表于 2011-7-22 13:48:24
|
显示全部楼层
各职业出生点数修改(MS SQL方法)
不用什么写触发器,简单、方便。
下面就来说一下修改方法:
1、打开数据库MuOnline----表----右键DefaultClassType---返回所有行。
2、下面对某些字段解释一下:
class:职业
0: 法师
1: 魔导师
16: 战士
17: 骑士
32: 弓箭手
33: 圣射手
48: 魔剑士
64: 圣导师
Strength:力量
Dexterity:敏捷
Vitality: 体力
Energy :智力
Leadership:统率
Level: 等级
LevelUpPoint:剩余升级点数
还有一些其他字段也都能相应设置(包括HP、MP、出身坐标等),设置这些字段就能改变各职业初始化点数,不用写触发器,简单方便。
战士.魔剑.圣导上线送300点,法师.MM上线送600点 SQL触发器
CREATE TRIGGER 法师送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=600
FROM Inserted
Where Inserted.Class=0
and Character.name=Inserted.name
SET NOCOUNT OFF
CREATE TRIGGER 精灵送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=600
FROM Inserted
Where Inserted.Class=32
and Character.name=Inserted.name
SET NOCOUNT OFF
CREATE TRIGGER 战士送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=300
FROM Inserted
Where Inserted.Class=16
and Character.name=Inserted.name
SET NOCOUNT OFF
CREATE TRIGGER 魔剑送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=300
FROM Inserted
Where Inserted.Class=48
and Character.name=Inserted.name
SET NOCOUNT OFF
CREATE TRIGGER 圣导送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=300
FROM Inserted
Where Inserted.Class=64
and Character.name=Inserted.name
SET NOCOUNT OFF
分别5次运行
CREATE TRIGGER 法师送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=600
FROM Inserted
Where Inserted.Class=0
and Character.name=Inserted.name
SET NOCOUNT OFF
CREATE TRIGGER 精灵送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=600
FROM Inserted
Where Inserted.Class=32
and Character.name=Inserted.name
SET NOCOUNT OFF
CREATE TRIGGER 战士送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=300
FROM Inserted
Where Inserted.Class=16
and Character.name=Inserted.name
SET NOCOUNT OFF
CREATE TRIGGER 魔剑送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=300
FROM Inserted
Where Inserted.Class=48
and Character.name=Inserted.name
SET NOCOUNT OFF
CREATE TRIGGER 圣导送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=300
FROM Inserted
Where Inserted.Class=64
and Character.name=Inserted.name
SET NOCOUNT OFF
分别5次运行
--------------------------------------------------------------------------------
________________________________________________________________________________________
use muonline
go
CREATE TRIGGER 普通职业送点 ON Character
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=600
FROM Inserted
Where (Inserted.Class=0 or Inserted.Class=16 or Inserted.Class=32 or Inserted.Class=48 or Inserted.Class=64)
and Character.name=Inserted.name
SET NOCOUNT OFF
--------------------------------------------------------------------------------
Class:职业
0:法师
1:魔导师
16:战士
17:骑士
32:弓箭手
33:圣箭手
48:魔剑士
64:圣导师
--------------------------------------------------------------------------------
CREATE Procedure WZ_CreateCharacter
@AccountID varchar(10),
@Name varchar(10),
@Class tinyint
AS
Begin
SET NOCOUNT ON
SET XACT_ABORT ON
DECLARE @Result tinyint
DECLARE @FASHI int
DECLARE @ZHANSHI int
DECLARE @JINGLING int
DECLARE @MOJIAN int
DECLARE @SHENGDAO int
DECLARE @BORNMONEY int
SET @Result = 0x00
SET @FASHI= 300 -- 法师出生点数
SET @ZHANSHI= 300 -- 战士出生点数
SET @JINGLING= 300 -- 精灵出生点数
SET @MOJIAN= 300 -- 魔剑出生点数
SET @SHENGDAO= 300 -- 圣导出生点数
SET @BORNMONEY= 0 -- 出生送的钱
If EXISTS ( SELECT Name FROM Character WHERE Name = @Name )
begin
SET @Result = 0x01
GOTO ProcEnd
end
这里 我用SQL2000修改了新人出生送点数 还是不行 啊!!没用 !!未必还是要用SQL触发器?? |
|