ctgwglzc 发表于 2008-8-20 21:27:29

Procedure: Nation Transfer 种族转换进程

Human NT 人族转换USE
GO
/****** Object: StoredProcedure . Script Date: 08/18/2008 09:50:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE procedure .
@Account char(30)

AS DECLARE @clannumber smallint, @length int,@row int,@i int,@dwid int,@pos int,@dur int,@dur1 int,@ext int,@StackSize1 int,@strName varchar(30),@strExtName varchar(30),@Cdwid varbinary(4),@cdur varchar(2),@cstack varchar(2)
begin tran
declare @char1 varchar(21)
set @char1 = (select strcharid1 from account_char where straccountid = @account)
declare @char2 varchar(21)
set @char2 = (select strcharid2 from account_char where straccountid = @account)
declare @char3 varchar(21)
set @char3 = (select strcharid3 from account_char where straccountid = @account)
declare @clannumber1 smallint
set @clannumber1 = (select idnum from knights where chief = @char1)
declare @clannumber2 smallint
set @clannumber2 = (select idnum from knights where chief = @char2)
declare @clannumber3 smallint
set @clannumber3 = (select idnum from knights where chief = @char3)
update account_char set bnation = '2' where bnation = '1' and straccountid = @Account
update userdata set nation = '2' where nation = '1' and struserid = @char1
update userdata set race = '11' where race = '1' and class in ('101','105','106') and struserid = @char1
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104','112','108') and struserid = @char1
update userdata set race = '13' where race = '3' and class in ('103','109','110') and struserid = @char1
update userdata set race = '13' where race = '4' and class in ('104','111','112') and struserid = @char1
update userdata set class = '205' where class = '105' and struserid = @char1
update userdata set class = '207' where class = '107' and struserid = @char1
update userdata set class = '209' where class = '109' and struserid = @char1
update userdata set class = '211' where class = '111' and struserid = @char1
update userdata set class = '201' where class = '101' and struserid = @char1
update userdata set class = '202' where class = '102' and struserid = @char1
update userdata set class = '203' where class = '103' and struserid = @char1
update userdata set class = '204' where class = '104' and struserid = @char1
update userdata set class = '212' where class = '112' and struserid = @char1
update userdata set class = '206' where class = '106' and struserid = @char1
update userdata set class = '208' where class = '108' and struserid = @char1
update userdata set class = '210' where class = '110' and struserid = @char1
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char1
delete from knights where chief = @char1
delete from knights_user where sidnum = @clannumber1
delete from knights_rating where shindex = @clannumber1
update userdata set knights = 0, fame = 0 where knights = @clannumber1
update userdata set nation = '2' where nation = '1' and struserid = @char2
update userdata set race = '11' where race = '1' and class in ('101','105','106') and struserid = @char2
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104','112','108') and struserid = @char2
update userdata set race = '13' where race = '3' and class in ('103','109','110') and struserid = @char2
update userdata set race = '13' where race = '4' and class in ('104','111','112') and struserid = @char2
update userdata set class = '205' where class = '105' and struserid = @char2
update userdata set class = '207' where class = '107' and struserid = @char2
update userdata set class = '209' where class = '109' and struserid = @char2
update userdata set class = '211' where class = '111' and struserid = @char2
update userdata set class = '201' where class = '101' and struserid = @char2
update userdata set class = '202' where class = '102' and struserid = @char2
update userdata set class = '203' where class = '103' and struserid = @char2
update userdata set class = '204' where class = '104' and struserid = @char2
update userdata set class = '212' where class = '112' and struserid = @char2
update userdata set class = '206' where class = '106' and struserid = @char2
update userdata set class = '208' where class = '108' and struserid = @char2
update userdata set class = '210' where class = '110' and struserid = @char2
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char2
delete from knights where chief = @char2
delete from knights_user where sidnum = @clannumber2
delete from knights_rating where shindex = @clannumber2
update userdata set knights = 0, fame = 0 where knights = @clannumber2
update userdata set nation = '2' where nation = '1' and struserid = @char3
update userdata set race = '11' where race = '1' and class in ('101','105','106') and struserid = @char3
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104','112','108') and struserid = @char3
update userdata set race = '13' where race = '3' and class in ('103','109','110') and struserid = @char3
update userdata set race = '13' where race = '4' and class in ('104','111','112') and struserid = @char3
update userdata set class = '205' where class = '105' and struserid = @char3
update userdata set class = '207' where class = '107' and struserid = @char3
update userdata set class = '209' where class = '109' and struserid = @char3
update userdata set class = '211' where class = '111' and struserid = @char3
update userdata set class = '201' where class = '101' and struserid = @char3
update userdata set class = '202' where class = '102' and struserid = @char3
update userdata set class = '203' where class = '103' and struserid = @char3
update userdata set class = '204' where class = '104' and struserid = @char3
update userdata set class = '212' where class = '112' and struserid = @char3
update userdata set class = '206' where class = '106' and struserid = @char3
update userdata set class = '208' where class = '108' and struserid = @char3
update userdata set class = '210' where class = '110' and struserid = @char3
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char3
delete from knights where chief = @char3
delete from knights_user where sidnum = @clannumber3
delete from knights_rating where shindex = @clannumber3
update userdata set knights = 0, fame = 0 where knights = @clannumber3
update userdata set knights = 0, fame = 0 where struserid = @char1
update userdata set knights = 0, fame = 0 where struserid = @char2
update userdata set knights = 0, fame = 0 where struserid = @char3
Update knights set vicechief_1 = '' where vicechief_1 = @char1
Update knights set vicechief_2 = '' where vicechief_2 = @char1
Update knights set vicechief_3 = '' where vicechief_3 = @char1
Update knights set vicechief_1 = '' where vicechief_1 = @char2
Update knights set vicechief_2 = '' where vicechief_2 = @char2
Update knights set vicechief_3 = '' where vicechief_3 = @char2
Update knights set vicechief_1 = '' where vicechief_1 = @char3
Update knights set vicechief_2 = '' where vicechief_2 = @char3
Update knights set vicechief_3 = '' where vicechief_3 = @char3
delete from knights_user where struserid = @char1
delete from knights_user where struserid = @char2
delete from knights_user where struserid = @char3
commit tran

ctgwglzc 发表于 2008-8-20 21:28:07

Karus NT,兽族转换

USE
GO
/****** Object:StoredProcedure .    Script Date: 08/18/2008 09:50:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


CREATE procedure .
@Account char(30)

AS DECLARE @clannumber smallint, @length int,@row int,@i int,@dwid int,@pos int,@dur int,@dur1 int,@ext int,@StackSize1 int,@strName varchar(30),@strExtName varchar(30),@Cdwid varbinary(4),@cdur varchar(2),@cstack varchar(2)

begin tran

declare @char1 varchar(21)
set @char1 = (select strcharid1 from account_char where straccountid = @account)
declare @char2 varchar(21)
set @char2 = (select strcharid2 from account_char where straccountid = @account)
declare @char3 varchar(21)
set @char3 = (select strcharid3 from account_char where straccountid = @account)
declare @clannumber1 smallint
set @clannumber1 = (select idnum from knights where chief = @char1)
declare @clannumber2 smallint
set @clannumber2 = (select idnum from knights where chief = @char2)
declare @clannumber3 smallint
set @clannumber3 = (select idnum from knights where chief = @char3)

update account_char set bnation = '1' where bnation = '2' and straccountid = @Account

update userdata set nation = '1' where nation = '2' and struserid = @char1
Update userdata set race = '1' where race = '11' and class in ('201','205','206') and struserid = @char1
Update userdata set race = '1' where race = '12' and class in ('201','205','206') and struserid = @char1
Update userdata set race = '1' where race = '13' and class in ('201','205','206') and struserid = @char1
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204','212','208') and struserid = @char1
update userdata set race = '2' where race = '13' and class in ('202','207','208') and struserid = @char1
update userdata set race = '3' where race = '12' and class in ('203','209','210') and struserid = @char1
update userdata set race = '3' where race = '13' and class in ('203','209','210') and struserid = @char1
update userdata set race = '4' where race = '13' and class in ('204','211','212') and struserid = @char1
update userdata set class = '105' where class = '205' and struserid = @char1
update userdata set class = '107' where class = '207' and struserid = @char1
update userdata set class = '109' where class = '209' and struserid = @char1
update userdata set class = '111' where class = '211' and struserid = @char1
update userdata set class = '101' where class = '201' and struserid = @char1
update userdata set class = '102' where class = '202' and struserid = @char1
update userdata set class = '103' where class = '203' and struserid = @char1
update userdata set class = '104' where class = '204' and struserid = @char1
update userdata set class = '112' where class = '212' and struserid = @char1
update userdata set class = '106' where class = '206' and struserid = @char1
update userdata set class = '108' where class = '208' and struserid = @char1
update userdata set class = '110' where class = '210' and struserid = @char1
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char1
delete from knights where chief = @char1
delete from knights_user where sidnum = @clannumber1
delete from knights_rating where shindex = @clannumber1
update userdata set knights = 0, fame = 0 where knights = @clannumber1

update userdata set nation = '1' where nation = '2' and struserid = @char2
Update userdata set race = '1' where race = '11' and class in ('201','205','206') and struserid = @char2
Update userdata set race = '1' where race = '12' and class in ('201','205','206') and struserid = @char2
Update userdata set race = '1' where race = '13' and class in ('201','205','206') and struserid = @char2
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204','212','208') and struserid = @char2
update userdata set race = '2' where race = '13' and class in ('202','207','208') and struserid = @char2
update userdata set race = '3' where race = '12' and class in ('203','209','210') and struserid = @char2
update userdata set race = '3' where race = '13' and class in ('203','209','210') and struserid = @char2
update userdata set race = '4' where race = '13' and class in ('204','211','212') and struserid = @char2
update userdata set class = '105' where class = '205' and struserid = @char2
update userdata set class = '107' where class = '207' and struserid = @char2
update userdata set class = '109' where class = '209' and struserid = @char2
update userdata set class = '111' where class = '211' and struserid = @char2
update userdata set class = '101' where class = '201' and struserid = @char2
update userdata set class = '102' where class = '202' and struserid = @char2
update userdata set class = '103' where class = '203' and struserid = @char2
update userdata set class = '104' where class = '204' and struserid = @char2
update userdata set class = '112' where class = '212' and struserid = @char2
update userdata set class = '106' where class = '206' and struserid = @char2
update userdata set class = '108' where class = '208' and struserid = @char2
update userdata set class = '110' where class = '210' and struserid = @char2
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char2
delete from knights where chief = @char2
delete from knights_user where sidnum = @clannumber2
delete from knights_rating where shindex = @clannumber2
update userdata set knights = 0, fame = 0 where knights = @clannumber2

update userdata set nation = '1' where nation = '2' and struserid = @char3
Update userdata set race = '1' where race = '11' and class in ('201','205','206') and struserid = @char3
Update userdata set race = '1' where race = '12' and class in ('201','205','206') and struserid = @char3
Update userdata set race = '1' where race = '13' and class in ('201','205','206') and struserid = @char3
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204','212','208') and struserid = @char3
update userdata set race = '2' where race = '13' and class in ('202','207','208') and struserid = @char3
update userdata set race = '3' where race = '12' and class in ('203','209','210') and struserid = @char3
update userdata set race = '3' where race = '13' and class in ('203','209','210') and struserid = @char3
update userdata set race = '4' where race = '13' and class in ('204','211','212') and struserid = @char3
update userdata set class = '105' where class = '205' and struserid = @char3
update userdata set class = '107' where class = '207' and struserid = @char3
update userdata set class = '109' where class = '209' and struserid = @char3
update userdata set class = '111' where class = '211' and struserid = @char3
update userdata set class = '101' where class = '201' and struserid = @char3
update userdata set class = '102' where class = '202' and struserid = @char3
update userdata set class = '103' where class = '203' and struserid = @char3
update userdata set class = '104' where class = '204' and struserid = @char3
update userdata set class = '112' where class = '212' and struserid = @char3
update userdata set class = '106' where class = '206' and struserid = @char3
update userdata set class = '108' where class = '208' and struserid = @char3
update userdata set class = '110' where class = '210' and struserid = @char3
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char3
delete from knights where chief = @char3
delete from knights_user where sidnum = @clannumber3
delete from knights_rating where shindex = @clannumber3
update userdata set knights = 0, fame = 0 where knights = @clannumber3
update userdata set knights = 0, fame = 0 where struserid = @char1
update userdata set knights = 0, fame = 0 where struserid = @char2
update userdata set knights = 0, fame = 0 where struserid = @char3
Update knights set vicechief_1 = '' where vicechief_1 = @char1
Update knights set vicechief_2 = '' where vicechief_2 = @char1
Update knights set vicechief_3 = '' where vicechief_3 = @char1
Update knights set vicechief_1 = '' where vicechief_1 = @char2
Update knights set vicechief_2 = '' where vicechief_2 = @char2
Update knights set vicechief_3 = '' where vicechief_3 = @char2
Update knights set vicechief_1 = '' where vicechief_1 = @char3
Update knights set vicechief_2 = '' where vicechief_2 = @char3
Update knights set vicechief_3 = '' where vicechief_3 = @char3
delete from knights_user where struserid = @char1
delete from knights_user where struserid = @char2
delete from knights_user where struserid = @char3

commit tran

ctgwglzc 发表于 2008-8-20 21:32:05

使用方法:
For example account: lol = Human, and u want it to be karus.
then execute this:
比如说,lol这个帐户是人族,你想转换为SS,可以使用如下程序:exec KarusNT 'lol'Same for karus but reversed like:
同样的对SS转RR,可以使用:exec HumanNT 'lol'Can also be easily put in a tool, i recommend a tool wich costs kc to execute, otherwise players will spam it and heave lag will occur...........
利用这个进程你很容易制作种族转换的程序或者网页~

ctgwglzc 发表于 2009-1-12 22:33:05

发个另外的转换种族存储,MYSTNT

CREATE procedure
@Account char(30)
AS
Declare @nation char(21), @char1 char(21), @char2 char(21), @char3 char(21), @char1Class char(21), @char2Class char(21), @char3Class char(21), @knights1 char(21), @knights2 char(21), @knights3 char(21)
declare @evet char(21), @evet2 char(21)

select @nation = bnation from account_char where straccountid = @account
select @char1 = strcharid1, @char2 = strcharid2 , @char3 = strcharid3 from account_char where straccountid = @account

declare @account2 varchar(21)
declare @char varchar(21)
set @account= @account

Select @account2= straccountid from currentuser where straccountid = @account
if @account2 is not null or @account2 != ''
begin
select @char = strcharid from currentuser where straccountid = @account
print @char + ' Suan Oyunda'
end

if @account2 is null or @account2 = ''
begin
update userdata set knights = 0, fame = 0 where struserid = @char1
update userdata set knights = 0, fame = 0 where struserid = @char2
update userdata set knights = 0, fame = 0 where struserid = @char3
delete * from knights_user where struserid = @char1 or struserid = @char3 or struserid = @char3
if @nation = 1
begin

update account_char set bnation = 2 where straccountid = @account
update userdata set race = 11, class = 205 where struserid in (@char1, @char2, @char3) and class = 105
update userdata set race = 11, class = 206 where struserid in (@char1, @char2, @char3) and class = 106
update userdata set race = 12, class = 207 where struserid in (@char1, @char2, @char3) and class = 107
update userdata set race = 12, class = 208 where struserid in (@char1, @char2, @char3) and class = 108
update userdata set race = 12, class = 209 where struserid in (@char1, @char2, @char3) and class = 109
update userdata set race = 12, class = 210 where struserid in (@char1, @char2, @char3) and class = 110
update userdata set race = 12, class = 211 where struserid in (@char1, @char2, @char3) and class = 111
update userdata set race = 12, class = 212 where struserid in (@char1, @char2, @char3) and class = 112
update userdata set zone = '21' where struserid in (@char1, @char2, @char3)
-- update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char2
-- update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char3
update userdata set nation = 2 where struserid in (@char1, @char2, @char3)
select 'Nation transfered to Elmorad'
end
else
begin

update account_char set bnation = 1 where straccountid = @account
update userdata set race = 1, class = 105 where struserid in (@char1, @char2, @char3) and class = 205
update userdata set race = 1, class = 106 where struserid in (@char1, @char2, @char3) and class = 206
update userdata set race = 2, class = 107 where struserid in (@char1, @char2, @char3) and class = 207
update userdata set race = 2, class = 108 where struserid in (@char1, @char2, @char3) and class = 208
update userdata set race = 3, class = 109 where struserid in (@char1, @char2, @char3) and class = 209
update userdata set race = 3, class = 110 where struserid in (@char1, @char2, @char3) and class = 210
update userdata set race = 4, class = 111 where struserid in (@char1, @char2, @char3) and class = 211
update userdata set race = 4, class = 112 where struserid in (@char1, @char2, @char3) and class = 212
update userdata set zone = '21' where struserid in (@char1, @char2, @char3)
update userdata set nation = 1 where struserid in (@char1, @char2, @char3)
select 'Nation transfered to Karus'
-- select 'disabled just for now'
end
end
GO

xz7323746 发表于 2009-6-7 01:41:16

看了半天没懂``角色名写在那里有效果?
页: [1]
查看完整版本: Procedure: Nation Transfer 种族转换进程