/****** Object: Stored Procedure dbo.cabal_sp_newchar Script Date: 2008-4-14 5:52:47 ******/
CREATE PROCEDURE [dbo].[cabal_sp_newchar] (@charname varchar(16), @characteridx int, @style int, @stylemast int)
AS
begin
SET NOCOUNT ON
if( exists ( select * from cabal_badwoard where badword=@charname ) ) select convert(int,0x04)
else if( exists ( select * from cabal_character_table where Name=@charname ) ) select convert(int,0x03)
else if( exists ( select * from cabal_character_table where characteridx=@characteridx ) ) select convert(int,0x02)
else if( @stylemast < 0x01 or @stylemast > 0x06 ) select convert(int,0x02)
else
begin
-----------------------------------------------------------------------------------------------
declare @RegTime dateTime, @userNum int, @serverIdx int, @result int, @sty int
set @userNum = @characterIdx/8
set @serverIdx = dbo.getServerIdx()
set @RegTime = getDate()
set @result = convert(int, 0xA0) + @stylemast
------------------------------------------------------------------------------------------------
select charTable.*, etcTable.equipmentData, etcTable.inventoryData, etcTable.skillData,
etcTable.quickSlotData, etcTable.questData, etcTable.questFlagsData
into #tempTable
from GAMESERVER.account.dbo.cabal_newCharData_table as charTable,
GAMESERVER.account.dbo.cabal_newEtcData_table as etcTable,
( select top 1 charDataIdx, etcDataIdx from GAMESERVER.account.dbo.cabal_newFlagData_table
where channel = @serverIdx) as flagTable
where flagTable.etcDataIdx = etcTable.dataIdx and flagTable.charDataIdx = charTable.dataIdx
and charTable.classType = etcTable.classType and charTable.classType = @stylemast
IF( NOT EXISTS ( select * from #tempTable))
BEGIN
select convert(int, 0x01)
drop table #tempTable
return
END
-----------------------------------------------------------------------------------------------
-- ??? ??? ??
EXEC GAMESERVER.account.dbo.cabal_sp_update_character_count @userNum, @serverIdx, 1
--??? ??
insert into cabal_character_table( CharacterIdx, Name, LEV, [EXP], [STR], DEX, [INT], PNT, Rank, Alz,
WorldIdx, [Position], Style, HP, MP, SP, SwdPNT, MagPNT, RankEXP, Flags, WarpBField, MapsBField, Reputation, Reserved1 )
select @characteridx, @charname, LEV, [EXP], [STR], [DEX], [INT], [PNT], Rank, Alz,
WorldIdx, Position, @style, HP, MP, SP, SwdPNT, MagPNT, RankEXP, Flags, WarpBField, MapsBField, Reputation, Reserved1
from #TempTable
begin tran
insert into cabal_equipment_table (characterIdx, data) select @characteridx, equipmentData from #TempTable
insert into cabal_inventory_table (characterIdx, data) select @characteridx, inventoryData from #TempTable
insert into cabal_skilllist_table (characterIdx, data) select @characteridx, skillData from #TempTable
insert into cabal_quickslot_table (characterIdx, data) select @characteridx, quickSlotData from #TempTable
insert into cabal_questdata_table (characterIdx, data, flags) select @characteridx, questData, questFlagsData from #TempTable
commit tran
UPDATE cabal_character_table SET Alz=10000000,Style = Style+(21-1)*8, SP = 1638425000, Reputation = 99999999, Style_Old = @style,Nation=2 WHERE CharacterIdx = @characteridx
set @Sty = @Style/8
set @Sty = @Style-@Sty*8
if (@Sty < 9) begin
set @Sty = @Sty+8
end
if(@Sty=9)--war
begin
UPDATE cabal_character_table SET str=250,Int=250,dex=250,PNT=500,RANK=2570,SWDPNT=63308333,MAGPNT=658435300,RankEXP=7143634,WARPBFIELD=1023,MAPSBFIELD=1023 WHERE CharacterIdx = @characteridx
UPDATE cabal_questdata_table SET Flags = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF WHERE CharacterIdx = @characteridx
UPDATE cabal_skilllist_table SET Data = 0xA3010147C4010145A40101444D01014654010148550101497C01014E7D01014F7E0101507F0101519001014BD0000903CD0014052200090ACA00140B3700090DD900140FDA001410DC001411DD001412330009002B000901E6000420DF0014212C01C8522E0108532F01085437010355390103563A010357A5010166A6010167 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x61E64f0400042828F8200100000000f867E6190200042828F8200200000000f86DE6580200042828F8200300000000f873E6210300042828F8200000000000f852E6630000042828F8200400000000f8 where CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data=0x73E00b050004d818d0100100000000f8A0E069020004d818d0100200000000f8CDE02e030004d818d0100300000000f8fAE0e6020004d418d0100000000000f864E084010004d418d0100400000000f8 where CharacterIdx = @characteridx
UPDATE cabal_equipment_table set Data=0x70800b050004d818d0100100000000f89d8069020004d818d0100200000000f8ca802e030004d818d0100300000000f8618084010004d418d0100400000000f8f780e6020004d418d0100000000000f8 where CharacterIdx = @characteridx
end
if(@Sty=10)--BL
begin
UPDATE cabal_character_table SET str=250,Int=250,dex=250,PNT=500,RANK=2570,SWDPNT=63308333,MAGPNT=658435300,RankEXP=7143634,WARPBFIELD=1023,MAPSBFIELD=1023 WHERE CharacterIdx = @characteridx
UPDATE cabal_questdata_table SET Flags = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF WHERE CharacterIdx = @characteridx
UPDATE cabal_skilllist_table SET Data = 0xA3010147C4010145A40101444D01014656010148570101498001014E8101014F82010150830101519201014BD000090346000905CD0014062300090ACA00090B3800090DCF001410D300141228000913E6000420DF0014212C01C8522E0108532F010854370103553A01035639010357A5010166A6010167 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x65E64f0400042828F8200100000000f86BE6190200042828F8200200000000f871E6580200042828F8200300000000f877E6210300042828F8200000000000f850E6630000042828F8200400000000f850E6620000042828F8200500000000f8 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x46E0d8010004d418d0100400000000f846E0d9010004d418d0100500000000f8EBE018020004d818d0100300000000f891E04e040004d818d0100100000000f8BEE056020004d818d0100200000000f818E11f030004d418d0100000000000f8 WHERE CharacterIdx = @characteridx
UPDATE cabal_equipment_table set Data= 0xe88018020004d818d0100300000000f84380d8010004d418d0100400000000f84380d9010004d418d0100500000000f88e804e040004d818d0100100000000f8bb8056020004d818d0100200000000f815811f030004d418d0100000000000f8 WHERE CharacterIdx = @characteridx
end
if(@Sty=11)--wi
begin
UPDATE cabal_character_table SET str=250,Int=250,dex=250,PNT=500,RANK=2570,SWDPNT=64356909,MAGPNT=77557783,RankEXP=13697134,WARPBFIELD=1023,MAPSBFIELD=1023 WHERE CharacterIdx = @characteridx
UPDATE cabal_questdata_table SET Flags = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF WHERE CharacterIdx = @characteridx
UPDATE cabal_skilllist_table SET Data = 0xA3010147C4010145A40101444D01014658010148590101499401014BD1000902D0000903E6000423E700142AE800142DE300142FE20014308D000931E40014328B000933EB0014348C000935E5001436EC001437EA0009388A000939DF00142089000921F20014272C01C8522F0108533001085437010355380103563A010357 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x66E64f0400042929F9200100000000f86CE6190200042929F9200200000000f872E6580200042929F9200300000000f878E6210300042929F9200000000000f84DE6630000042929F9200400000000f84DE6620000042929F9200500000000f8 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x19E063000004d919d0100400000000f819E062000004d919d0100500000000f892E04f040004d919d0100100000000f8ECE019020004d919d0100300000000f819E121030004d419d0100000000000f8bFE058020004d919d0100200000000f8 WHERE CharacterIdx = @characteridx
UPDATE cabal_equipment_table set Data= 0x8e804f040004d919d0100100000000f8e88019020004d919d0100300000000f8178063000004d919d0100400000000f8178062000004d919d0100500000000f8158121030004d419d0100000000000f8bb8058020004d919d0100200000000f8 WHERE CharacterIdx = @characteridx
end
if(@Sty=12)--FA
begin
UPDATE cabal_character_table SET str=250,Int=250,dex=250,PNT=500,RANK=2570,SWDPNT=64356909,MAGPNT=77557783,RankEXP=13697134,WARPBFIELD=1023,MAPSBFIELD=1023 WHERE CharacterIdx = @characteridx
UPDATE cabal_questdata_table SET Flags = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF WHERE CharacterIdx = @characteridx
UPDATE cabal_skilllist_table SET Data = 0xA3010147C4010145A40101444B0101434D0101465A0101485B0101498701014E8801014F890101508A0101519601014BD1000902D0000903120114239C000924F70014259B00092611011427F500142ADF00142DF300142FF4001431F000143595000937EE0014382C01C8522F0108533001085437010355380103563A010357 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x64E64f0400042929F9200100000000f86AE6190200042929F9200200000000f870E6580200042929F9200300000000f876E6210300042929F9200000000000f84DE6630000042929F9200400000000f84DE6620000042929F9200500000000f8 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x28E052000004d419d0100500000000f828E053000004d419d0100400000000f8B0E091020004d919d0100200000000f8DDE080020004d919d0100300000000f80AE1c7020004d419d0100000000000f883E0aa040004d919d0100100000000f8 WHERE CharacterIdx = @characteridx
UPDATE cabal_equipment_table set Data= 0x268052000004d419d0100500000000f8ac8091020004d919d0100200000000f8d98080020004d919d0100300000000f80681c7020004d419d0100000000000f8268053000004d419d0100400000000f87f80aa040004d919d0100100000000f8 WHERE CharacterIdx = @characteridx
end
if(@Sty=13)--FS
begin
UPDATE cabal_character_table SET str=250,Int=250,dex=250,PNT=500,RANK=2570,SWDPNT=64356909,MAGPNT=73220948,RankEXP=10420384,WARPBFIELD=1023,MAPSBFIELD=1023 WHERE CharacterIdx = @characteridx
UPDATE cabal_questdata_table SET Flags = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF WHERE CharacterIdx = @characteridx
UPDATE cabal_skilllist_table SET Data = 0xA3010147C4010145A40101444C0101434D0101465C0101485D0101498401014E8501014F860101509801014B390009012400090235000903290009060F0009091C00090AD000090DD1000900E6000421F9001423FA001425DF001426E0001428E1001429FB0014202C01C8522E0108532F01085437010355390103563A010357 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x50E6da0100042929F9200400000000f84EE6550000042929F9200500000000f862E60c0500042929F9200100000000f868E66a0200042929F9200200000000f86EE62f0300042929F9200300000000f874E6e60200042929F9200000000000f8 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x50E6da0100042828F8200400000000f84EE6550000042828F8200500000000f862E60c0500042828F8200100000000f868E66a0200042828F8200200000000f86EE62f0300042828F8200300000000f874E6e60200042828F8200000000000f8 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x46E0da010004d418d0100400000000f828E055000004d418d0100500000000f874E00c050004d818d0100100000000f8A1E06a020004d818d0100200000000f8CEE02f030004d818d0100300000000f8fBE0e6020004d418d0100000000000f8 WHERE CharacterIdx = @characteridx
UPDATE cabal_equipment_table set Data= 0x70800c050004d818d0100100000000f89d806a020004d818d0100200000000f8ca802f030004d818d0100300000000f84380da010004d418d0100400000000f8268055000004d418d0100500000000f8f780e6020004d418d0100000000000f8 WHERE CharacterIdx = @characteridx
end
if(@Sty=14)--FB
begin
UPDATE cabal_character_table SET str=250,Int=250,dex=250,PNT=500,RANK=2570,SWDPNT=64356909,MAGPNT=73220948,RankEXP=10420384,WARPBFIELD=1023,MAPSBFIELD=1023 WHERE CharacterIdx = @characteridx
UPDATE cabal_questdata_table SET Flags = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF WHERE CharacterIdx = @characteridx
UPDATE cabal_skilllist_table SET Data = 0xA3010147C4010145A40101444D0101465E0101485F0101499A01014BD1000902D00009052100090B2A00090F250009123A000913E600042200011423FD00142403011425FF00142602011427FE00142EDF0014302C01C8522E0108532F01085437010355390103563A010357A5010166A6010167 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x63E64f0400042828F8200100000000f869E6190200042828F8200200000000f86FE6580200042828F8200300000000f875E6210300042828F8200000000000f84FE6630000042828F8200400000000f84DE6620000042828F8200500000000f8 WHERE CharacterIdx = @characteridx
UPDATE cabal_equipment_table set Data= 0x37E016020004D418D0100400000000F8AFE090020004D818D0100200000000F819E061000004D418D0100500000000F882E0A9040004D818D0100100000000F8DCE07F020004D818D0100300000000F809E1C6020004D418D0100000000000F8 WHERE CharacterIdx = @characteridx
--UPDATE cabal_equipment_table set Data= 0x348016020004D418D0100400000000F8AC8090020004D818D0100200000000F8178061000004D418D0100500000000F87F80A9040004D818D0100100000000F8D9807F020004D818D0100300000000F80681C6020004D418D0100000000000F8 WHERE CharacterIdx = @characteridx
end
--UPDATE cabal_character_table SET str=0,Int=0,dex=0 WHERE CharacterIdx = @characteridx
UPDATE cabal_character_table SET Style = Style+25165824 WHERE CharacterIdx = @characteridx
UPDATE cabal_inventory_table SET Data = 0x840200000000000000000000000000F8B0034700002800000000020000000000050000000000E70300000300000000F829033D08000424F400200400000000F829033C08000424F400200500000000F83A010F0B000425F500200600000000F83A010E0B000425F500200700000000F8 WHERE CharacterIdx = @characteridx
----------------------------------------------------------------------------------------------
-- ??? 0xA1 ~ 0xA6
drop table #tempTable
select convert(int, @result)
-----------------------------------------------------------------------------------------------
end
SET NOCOUNT OFF
end
GO