• 1511阅读
  • 27回复

[转贴][分享]Muonline强力剂,30个实用SQL查询脚本~ [复制链接]

上一主题 下一主题
离线联诚论坛
 
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2006-05-18
创建新角色送300点

CREATE TRIGGER [Restrict_IntLUP] ON [dbo].[Character]
after Insert
as
Update [Character] set [Character].LevelUpPoint=300 From Inserted
Where [Character].accountid=inserted.accountid
and [Character].name=inserted.name
----------------------------------------------------------------------
更改角色名

use muonline
declare @oldname nvarchar(10),@newname nvarchar(10)
--在单引号里面输入要查询的角色名,前是老名字,后是新名字。
set @oldname = '老名字'
set @newname = '新名字'

if @newname in (select name from character where name=@newname)
print '数据库里已有相同角色名,不进行更名操作!'
else
begin
update accountcharacter set gameid1 = @newname where gameid1 = @oldname
update accountcharacter set gameid2 = @newname where gameid2 = @oldname
update accountcharacter set gameid3 = @newname where gameid3 = @oldname
update accountcharacter set gameid4 = @newname where gameid4 = @oldname
update accountcharacter set gameid5 = @newname where gameid5 = @oldname
update accountcharacter set gameidc = @newname where gameidc = @oldname

update character set name = @newname where name = @oldname
update guild set g_master = @newname where g_master = @oldname
update guildmember set name = @newname where name = @oldname
update optiondata set name = @newname where name = @oldname
end

--------------------------------------------------------------------------
删除30天未上线

delete from memb_info
where memb___id in (select memb___id from memb_stat where getdate()-isnull(connecttm,'1900/01/01')>30 and getdate()-isnull(disconnecttm,'1900/01/01')>30)
delete from warehouse
where accountid in (select memb___id from memb_stat where getdate()-isnull(connecttm,'1900/01/01')>30 and getdate()-isnull(disconnecttm,'1900/01/01')>30
)
delete from character where accountid in (select memb___id from memb_stat where getdate()-isnull(connecttm,'1900/01/01')>30 and getdate()-isnull(disconnecttm,'1900/01/01')>30 )
----------------------------------------------------------------------
解决日志档过大

SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT


USE muonline -- 要*作的数据库名
SELECT @LogicalFileName = 'MuOnline_log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 30 -- 你想设定的日志文件的大小(M)

-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(varCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(varCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)


DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog varCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'

DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans valueS ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(varCHAR(30),size) + ' 8K pages or ' +
CONVERT(varCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF
1条评分
军刀 金钱 +5 - 2006-05-18
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
出售精灵1.02I商业版服务端
组服务器送域名,服务端
网址BBS.IDCLC.COM
QQ:286395269


离线联诚论坛
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 沙发  发表于: 2006-05-18
清空有全属装备的仓库

update warehouse set Items=null where (charindex(0xbf,items)%10=8) or (charindex(0xff,items)%10=8)
or (charindex(0x7f,items)%10=8) or (charindex(0x3f,items)%10=8)

-------------------------------------------------------------------
让退盟变的轻松

USE MuOnline

UPDATE [MuOnline].[dbo].[MEMB_INFO]
SET [sno__numb]=1

--然后退站盟 只需要按确定就行了 啥也不用输入

---------------------------------------------------------
删除CT后门存储过程

DROP PROC ADM_ClearAllData
--删除存储过程
----------------------
删除等级为1从未登陆过的角色

delete from character where (clevel = '1') and (money = '0')

-------------------------------------------------
删除角色及所属帐号

use muonline
declare @i int,@varid nvarchar(10), @varname nvarchar (10),@vargn nvarchar(10)

--在单引号里面输入要查询的角色名
set @varname = '角色名字'

--查出帐号
select @varid = accountid from character where name = @varname

--根据帐号下的每个角色,删除盟数据.如果是盟主,删除整个盟的数据.
set @i=1
while (@i < 6)
begin
set @varname = ''
set @vargn = ''
select @varname =
case when @i=1 then gameid1
when @i=2 then gameid2
when @i=3 then gameid3
when @i=4 then gameid4
when @i=5 then gameid5
end
from accountcharacter where id = @varid
if @varname = '' break

select @vargn = g_name from guild where g_master = @varname

if @vargn = ''
delete from guildmember where Name = @varname
else
begin
delete from guild where g_master = @varname
delete from guildmember where g_name = @vargn
end

set @i = @i + 1
end
--以下删除与帐号相关的所有信息
delete from accountcharacter where id = @varid
delete from character where accountid = @varid
delete from memb_info where memb___id = @varid
delete from vi_curr_info where memb___id = @varid
delete from warehouse where accountid = @varid
-------------------------------------------------------------------
彻底解决战盟重名问题


CREATE procedure WZ_GuildCreate
@GuildName nvarchar(50),
@MasterName nvarchar(10)
as
if (SELECT COUNT(*) FROM guild where G_Name=@GuildName )=0

BEGIN
DECLARE @ErrorCode int

SET @ErrorCode = 0
SET XACT_ABORT OFF

Set nocount on

begin transaction

-- 望萄蒂 ?撩??.
INSERT INTO Guild (G_Name, G_Master) valueS (@GuildName, @MasterName)
IF ( @@Error <> 0 )
BEGIN
SET @ErrorCode = 1
END

-- 望萄蒂 怂鼻瞳?煎 ?撩 ??佘
IF ( @ErrorCode = 0 )
BEGIN
-- 望萄 葆蝶?煎 芘陛??.
INSERT GuildMember (Name, G_Name, G_Level) valueS (@MasterName, @GuildName, 1)
IF ( @@Error <> 0 )
BEGIN
SET @ErrorCode = 2
END
END

IF ( @ErrorCode <> 0 )
rollback transaction
ELSE
commit transaction

select @ErrorCode

Set nocount off
SET XACT_ABORT ON
END

---------
声明:
有什么问题,或不对的地方可以在后面跟帖或去BBS.IDCLC.COM
出售精灵1.02I商业版服务端
组服务器送域名,服务端
网址BBS.IDCLC.COM
QQ:286395269


离线联诚论坛
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 板凳  发表于: 2006-05-18
处理登陆和打开仓库延迟的方法

select * into warehousebak from warehouse
select * into optiondatabak from optiondata
delete from warehouse where items is null
select distinct * into warehousetmp from warehouse
select accountid from warehousetmp group by accountid having count(*)>1
truncate table warehouse
truncate table optiondata
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[warehouse]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[warehouse]

CREATE TABLE [dbo].[warehouse] (
[AccountID] [nvarchar] (10) COLLATE Latin1_General_CS_AS NOT NULL ,
[Items] [varbinary] (1200) NULL ,
[Money] [int] NULL ,
[EndUseDate] [smalldatetime] NULL ,
[DbVersion] [tinyint] NULL ,
[pw] [smallint] NULL
) ON [PRIMARY]

CREATE UNIQUE CLUSTERED INDEX [PK_Warehouse] ON [dbo].[warehouse]([AccountID] DESC ) ON [PRIMARY]


if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[OptionData]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[OptionData]

CREATE TABLE [dbo].[OptionData] (
[Name] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Skillkey] [binary] (10) NULL ,
[GameOption] [tinyint] NULL ,
[Qkey] [tinyint] NULL ,
[Wkey] [tinyint] NULL ,
[Ekey] [tinyint] NULL ,
[ChatWindow] [tinyint] NULL
) ON [PRIMARY]
CREATE UNIQUE CLUSTERED INDEX [PK_Optiondata] ON [dbo].[OptionData]([Name] DESC ) ON [PRIMARY]
insert into warehouse select * from warehousetmp
--第9步操作如果报错,
--那就是你导出的warehousetmp数据中依样有重复数据,
--重复前面的检查步骤。

---------------------
删除重复ID的仓库数据

use muonline
select accountid,count(accountid) as cnt into cfid from warehouse group by accountid

delete warehouse where accountid in (select accountid from cfid where cnt>1)

drop table cfid


-----------------
提高注销登陆速度

CREATE PROCEDURE WZ_DISCONNECT_MEMB
@uid varchar(10)
AS
Begin
DECLARE @uidl varchar(10)
Declare @dtToday datetime
Declare @logindate datetime
Declare @uip varchar(15)
Declare @Server varchar(15)
select @dtToday={fn CURDATE()}
select @dtToday
set nocount on
begin transaction
update Uselog set State= '下线' where id=@uid
INSERT INTO joinlog(id,state,sdatetime) values (@uid,'下线',@dtToday)
if(@@error <> 0)
begin
rollback transaction
select-1
end
else
begin
commit transaction
select @uid
end
end


----------------
封号

use muonline
UPDATE [MuOnline].[dbo].[Character]
SET [CtlCode]='1'
WHERE Name='名字'

----------------
提高登陆速度

CREATE PROCEDURE WZ_CONNECT_MEMB
@uid varchar(20),
@Server varchar(10),
@uip varchar(15)
AS
Begin
Declare @dtToday datetime
select @dtToday={fn CURDATE()}
select @dtToday
set nocount on
if exists(select * from Uselog where id=@uid)
begin
update Uselog set State= '上线' where id=@uid
INSERT INTO joinlog( ServerName,id,state,ip,sdatetime) values (@Server,@uid,'上线',@uip,@dtToday)
if(@@error <> 0)
begin
rollback
select-1
end
else
begin
commit
select @uid
end
end
else
begin
INSERT INTO Uselog ( ServerName,id,ip,State) values ( @Server , @uid, @uip,'上线')
INSERT INTO joinlog( ServerName,id,state,ip,sdatetime) values (@Server,@uid,'上线',@uip,@dtToday)
end
end

---------------------
减小数据库的SQL命令

backup log MuOnline with NO_LOG
backup log MuOnline with TRUNCATE_ONLY
DBCC SHRINKDATABASE(MuOnline)

backup log Ranking with NO_LOG
backup log Ranking with TRUNCATE_ONLY
DBCC SHRINKDATABASE(Ranking)

--------------------
我手累了啊,怎么办啊  555555555555
出售精灵1.02I商业版服务端
组服务器送域名,服务端
网址BBS.IDCLC.COM
QQ:286395269


离线联诚论坛
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 地板  发表于: 2006-05-18
GS关闭问题与解决方式

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Guild]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Guild]


CREATE TABLE [dbo].[Guild] (
[G_Name] [nvarchar] (10) COLLATE Latin1_General_CS_AS NOT NULL ,
[G_Mark] [varbinary] (32) NULL ,
[G_Score] [int] NULL ,
[G_Master] [varchar] (10) COLLATE Latin1_General_CS_AS NULL ,
[G_Count] [int] NULL ,
[G_Notice] [varchar] (60) COLLATE Latin1_General_CS_AS NULL ,
[Number] [int] IDENTITY (1, 1) NOT NULL
) ON [PRIMARY]


if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GuildMember]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[GuildMember]


CREATE TABLE [dbo].[GuildMember] (
[Name] [nvarchar] (10) COLLATE Latin1_General_CS_AS NOT NULL ,
[G_Name] [nvarchar] (10) COLLATE Latin1_General_CS_AS NOT NULL ,
[G_Level] [tinyint] NULL
) ON [PRIMARY]

今天就写到这里 大家不要骂我哦
出售精灵1.02I商业版服务端
组服务器送域名,服务端
网址BBS.IDCLC.COM
QQ:286395269


离线狂CAO520B
发帖
52
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 4楼 发表于: 2006-05-18
顶。。。不错恩
离线联诚论坛
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 5楼 发表于: 2006-05-18
限制金钱超过21亿的方法

CREATE TRIGGER [Restrict_Money] ON [dbo].[Character]
after update

as

Update [Character] set [Character].money=1000000000
From Inserted
Where Inserted.money>1000000000 and [Character].accountid=inserted.accountid
and [Character].name=inserted.name

--这里是限制的10亿,超过10亿就变回10亿
--需要限制为多少请自己去修改写数字的地方

-----------------------
防止复制一

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[trg_CheckSameID]') and OBJECTPROPERTY(id, N'IsTrigger') = 1)
drop trigger [dbo].[trg_CheckSameID]
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[AllItemsLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[AllItemsLog]
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CopyLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[CopyLog]
CREATE TABLE [dbo].[AllItemsLog] (
[items_id] [int] IDENTITY (1, 1) NOT NULL ,
[items_type] [binary] (1) NOT NULL ,
[items_serial] [binary] (4) NOT NULL ,
[items_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[CopyLog] (
[copy_id] [int] IDENTITY (1, 1) NOT NULL ,
[copy_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[copy_whdata] [binary] (1200) NOT NULL ,
[copy_date] [datetime] NOT NULL
) ON [PRIMARY]
ALTER TABLE [dbo].[AllItemsLog] ADD
CONSTRAINT [DF_CT_ITEM_item] DEFAULT (0) FOR [items_type],
CONSTRAINT [DF_CT_ITEM_itemid] DEFAULT (0) FOR [items_serial],
CONSTRAINT [DF_CT_ITEM_itemrole] DEFAULT (0) FOR [items_acid]
CREATE INDEX [IX_CT_ITEM] ON [dbo].[AllItemsLog]([items_type], [items_serial]) ON [PRIMARY]
ALTER TABLE [dbo].[CopyLog] ADD
CONSTRAINT [DF_CopyLog_copy_date] DEFAULT (getdate()) FOR [copy_date]
SET QUOTED_IDENTIFIER ON
SET ANSI_NULLS ON

-------------------------------
防止复制二

CREATE TRIGGER [dbo].[trg_CheckSameID] ON [dbo].[character]
FOR UPDATE
AS
BEGIN
IF UPDATE(inventory)
BEGIN
SET NOCOUNT ON
DECLARE
@wh_acid varchar(10),
@wh_data binary(1200),
@wh_type binary(1),
@wh_serial binary(4),
@cr_user varchar(10),
@cr_acid varchar(10),
@cr_data binary(760),
@cr_type binary(1),
@cr_serial binary(4),
@al_acid varchar(10),
@j int,
@k int,
@find bit
SELECT @cr_acid=i.accountid,
@cr_data=i.inventory
FROM inserted i
SET @j=0
SET @find=0
WHILE @j<76 AND @cr_data IS NOT NULL
BEGIN
SET @cr_type=SUBSTRING(@cr_data,@j*10+1,1)
SET @cr_serial=SUBSTRING(@cr_data,@j*10+4,4)
IF @cr_type<>0xFF AND @cr_serial<>0x00000000
BEGIN
SELECT @al_acid=items_acid FROM allitemslog WHERE items_type=@cr_type AND items_serial=@cr_serial
IF @al_acid IS NULL
INSERT INTO allitemslog (items_type,items_serial,items_acid) VALUES (@cr_type,@cr_serial,@cr_acid)
ELSE
BEGIN
UPDATE allitemslog SET items_acid=@cr_acid WHERE items_type=@cr_type AND items_serial=@cr_serial
SELECT @wh_data=items FROM warehouse WHERE accountid=@al_acid
SET @k=0
WHILE @k<120 AND @wh_data IS NOT NULL
BEGIN
SET @wh_type=SUBSTRING(@wh_data,@k*10+1,1)
SET @wh_serial=SUBSTRING(@wh_data,@k*10+4,4)
IF @wh_type=@cr_type AND @wh_serial=@cr_serial
SET @find=1
SET @k=@k+1
END
END
END
SET @j=@j+1
END
IF @find=1
BEGIN
INSERT INTO copylog (copy_whdata,copy_acid,copy_date) VALUES (@wh_data,@al_acid,getdate())
update warehouse set pw=911 WHERE accountid=@al_acid
INSERT INTO autogmgg (Valid,SvrID,Type,BeginTM,EndTM,DispJG,WorkMINU,LoopMINU,Notice) values (1,0,0,getdate(),getdate()+2,15,15,15,@al_acid+'在'+convert(varchar(10),getdate(),111)+' '+convert(varchar(10),getdate(),8)+'进行了复制行为,已经被记录,并且被自动清空仓库,超过三次自动删除此账号')
END
SET NOCOUNT OFF
END
END
出售精灵1.02I商业版服务端
组服务器送域名,服务端
网址BBS.IDCLC.COM
QQ:286395269


离线联诚论坛
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 6楼 发表于: 2006-05-18
0.98学习新魔法的方法

update character set magiclist=0x1100000400000b00000900000100000500000200000300000600000a00000800000c00000700000e00001000000d00000f0000260000270000280000
where name='角色名称'

------------------
心之记忆解决办法

use MuOnline
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[loveheart]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[loveheart]

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[loveheartall]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[loveheartall]

CREATE TABLE [dbo].[loveheart] (
[number] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[heart_count] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[id] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[server] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]

CREATE TABLE [dbo].[loveheartall] (
[number] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[id] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[server] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]

---------------------
减少SQL日志的方法

backup log MuOnline with NO_LOG
backup log MuOnline with TRUNCATE_ONLY
DBCC SHRINKDATABASE(MuOnline)
--将上面的语句多次执行,直到日志文件缩小。
-----------------------
删除申请帐号后从未上过线

delete from memb_info where memb___id in (select memb___id from memb_stat)

----------------------------------
删除没有100级人物的帐号

delete from memb_info where memb___id not in (select DISTINCT accountid from character where clevel>=100)
delete from warehouse where accountid not in (select DISTINCT accountid from character where clevel>=100)
delete from character where accountid not in (select memb___id from memb_info)


-----------------------------
新人送2转

CREATE TRIGGER [zscount] ON [dbo].[Character]
after Insert
as
Update [Character] set [Character].zs_count=2
From Inserted
Where Inserted.zs_count=0 and [Character].accountid=inserted.accountid
and [Character].name=inserted.name

--把上面"zs_count"改为你数据库里统计转生次数的列

---------------------------------
删除过期复制品广告

delete from autogmgg where gq=1 and getdate()-BeginTM>1

---------------------------------

解封

use muonline
UPDATE [MuOnline].[dbo].[Character]
SET [CtlCode]='0'
WHERE Name='名字'
出售精灵1.02I商业版服务端
组服务器送域名,服务端
网址BBS.IDCLC.COM
QQ:286395269


离线联诚论坛
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 7楼 发表于: 2006-05-18
RC转生变回初职业问题

/* 转生 */
CREATE PROCEDURE RC_Relife
@acc varchar(10),
@chr varchar(10),
@type int,
@lv int,
@rcb int,
@rsv int,
@rinv int,
@zspp int
AS
declare @myrcb int, @cls smallint, @sql varchar(520), @mystr varchar(10), @zscc int
if not exists(select Name from Character where AccountID=@acc and Name=@chr)
begin
select '帐号角色错误!'
return
end
if not exists(select Name from Character where cLevel>=@lv and Name=@chr)
begin
select '角色的级别不够,不能转生!'
return
end
select @myrcb=rcb from MEMB_INFO where memb___id=@acc
if (@myrcb is null and @rcb>0)
begin
select '您的帐户没有RC币,不能进行转生!'
return
end
if (@myrcb is null)
set @myrcb=0
else
set @myrcb=@myrcb-@rcb
if (@myrcb<0)
begin
select '您的帐户RC币金额不足,不能进行转生!<BR><BR>本次转生需要' + ltrim(str(@rcb)) + '元RC币'
return
end
select @cls=Class from Character where Name=@chr
-- 公共模块
select @zscc=zs_count from Character where Name=@chr
if (@zscc is null)
set @zscc=1
else
set @zscc=@zscc+1
set @sql='Update Character set cLevel=1,Experience=0,MagicList=null,PkTime=0,PkLevel=3,LevelUpPoint='+ltrim(str(@zspp))+',zs_point='+ltrim(str(@zspp))+',zs_count='+ltrim(str(@zscc))
if (@rinv<>1)
set @sql=@sql+',Inventory=null'

set @sql=@sql+',Quest=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'

-- 角色类型分类
set @mystr='error'
if (@cls=0)
begin
if (@rsv<>1)
set @sql=@sql+',Strength=18,Dexterity=18,Vitality=15,Energy=30'
set @sql=@sql+', Life=60,MaxLife=60, Mana=60,MaxMana=60,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1'
set @mystr='法师'
end
else if (@cls=1)
begin
if (@rsv<>1)
set @sql=@sql+',Strength=18,Dexterity=18,Vitality=15,Energy=30,Class=1'
set @sql=@sql+', Life=60,MaxLife=60,Mana=60,MaxMana=60,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1'
set @mystr='魔导师'
end
else if (@cls=16)
begin
if (@rsv<>1)
set @sql=@sql+',Strength=28,Dexterity=20,Vitality=25,Energy=10'
set @sql=@sql+',Life=110,MaxLife=110,Mana=20,MaxMana=20,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1'
set @mystr='战士'
end
else if (@cls=17)
begin
if (@rsv<>1)
set @sql=@sql+',Strength=28,Dexterity=20,Vitality=25,Energy=10,Class=17'
set @sql=@sql+',Life=110,MaxLife=110,Mana=20,MaxMana=20,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1'
set @mystr='骑士'
end
else if (@cls=32)
begin
if (@rsv<>1)
set @sql=@sql+',Strength=22,Dexterity=25,Vitality=20,Energy=15'
set @sql=@sql+',Life=80,MaxLife=80,Mana=30,MaxMana=30,MapNumber=3,MapPosX=175,MapPosY=100,MapDir=4'
set @mystr='精灵'
end
else if (@cls=33)
begin
if (@rsv<>1)
set @sql=@sql+',Strength=22,Dexterity=25,Vitality=20,Energy=15,Class=33'
set @sql=@sql+',Life=80,MaxLife=80,Mana=30,MaxMana=30,MapNumber=3,MapPosX=175,MapPosY=100,MapDir=4'
set @mystr='圣射手'
end
else if (@cls=48)
begin
if (@rsv<>1)
set @sql=@sql+',Strength=26,Dexterity=26,Vitality=26,Energy=26'
set @sql=@sql+',Life=110,MaxLife=110,Mana=60,MaxMana=60,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1'
set @mystr='魔剑士'
end
else if (@cls=64)
begin
if (@rsv<>1)
set @sql=@sql+',Strength=30,Dexterity=26,Vitality=26,Energy=30'
set @sql=@sql+',Life=110,MaxLife=110,Mana=60,MaxMana=60,MapNumber=0,MapPosX=140,MapPosY=120,MapDir=1'
set @mystr='圣导师'
end

if (@mystr='error')
begin
select '角色类型错误!'
return
end

update MEMB_INFO set rcb=@myrcb where memb___id=@acc
set @sql=@sql+' where Name= ''' + @chr + ''''
exec(@sql)
if (@type=1)
set @sql='高级转生'
else
set @sql='普通转生'
select '恭喜您的〖' + @mystr + '〗 ' + @chr + ' 第<strong>' + ltrim(str(@zscc)) + '</strong>次转生(' + @sql + ')成功!<BR><BR>您的角色现在已经有<strong>' + ltrim(str(@zspp)) + '</strong>自由分配点了,本次转生费用:<strong>' + ltrim(str(@rcb)) + '</strong>元RC币!'

GO
出售精灵1.02I商业版服务端
组服务器送域名,服务端
网址BBS.IDCLC.COM
QQ:286395269


离线联诚论坛
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 8楼 发表于: 2006-05-18
看了眼花了吧~  如果你善长写程序,这些脚本有助于你写成网页程序哦~

打包下载自己挑吧 :)

等待加入~ 

大家不用谢没事的情况下去小弟的论坛里光顾以下就行.
出售精灵1.02I商业版服务端
组服务器送域名,服务端
网址BBS.IDCLC.COM
QQ:286395269


离线wendy01
发帖
2638
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 9楼 发表于: 2006-05-18
离线121547074
发帖
477
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 10楼 发表于: 2006-05-18



        free sky
      www.cd100.be
真正的3路通!!请大家选择自己所在的线路!
__________人生的真谛不是要抓一手好牌而是要打好一副烂牌
离线chbin
发帖
712
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 11楼 发表于: 2006-05-18
呵呵,东西真的很好,收下了,不过8楼有做广告的嫌疑
离线gia
发帖
159
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 12楼 发表于: 2006-05-18
这些东西我己经有了!不过也支持一下.
离线一半情人
发帖
332
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 13楼 发表于: 2006-05-18
偶有97D到现在1.02E的奇迹-传奇资料..几乎论坛以发的偶都以刻盘..需要的可以联系偶...无偿提供
一半情人软件工作室:http://ljsheng.qyun.net 联系Q-9021616 ~出售游戏服务器和传奇版本-大量太阳级QQ

离线yyyllluuu
发帖
81
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 14楼 发表于: 2006-05-18
恩 好 不错 正寻找中。。。。。。。。。
离线wyhxl
发帖
94
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 15楼 发表于: 2006-05-18
不得不顶
离线2390058
发帖
67
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 16楼 发表于: 2006-05-18
哇好东西
离线chinta
发帖
52
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 17楼 发表于: 2006-05-18
不是30个吗? 才29个耶 少一个喔!!
离线auldey
发帖
1022
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 18楼 发表于: 2006-05-19
MuChina
离线chief_du
发帖
149
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 19楼 发表于: 2006-05-19
不错,13楼的哥们怎么联系你
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个

      管理员联系信箱 [email protected] 所有内容均来之互联网,如侵犯您的隐私和权益,请和我们及时联系!