|
You last visited: Today at 00:03
Advertisement
[ECT] All skill on char create
Discussion on [ECT] All skill on char create within the 4Story forum part of the MMORPGs category.
04/21/2013, 12:44
|
#1
|
elite*gold: 0
Join Date: Oct 2010
Posts: 546
Received Thanks: 152
|
[ETC] All skill on char create
Put it in TCREATECHAR
Code:
/* CREATE CHARACTER PROCESS
========================================================
PARAMETER
========================================================
@szNAME VARCHAR(50)
@dwCharID INT OUTPUT
@dwUserID INT
@bSlot TINYINT
@bClass TINYINT
@bRace TINYINT
@bCountry TINYINT
@bSex TINYINT
@bHair TINYINT
@bFace TINYINT
@bBody TINYINTd
@bPants TINYINT
@bHand TINYINT
@bFoot TINYINT
========================================================
RETURN VALUE
========================================================
0 : SUCCESS
1 : NO GROUP
2 : DUPLICATE NAME
3 : INVALID SLOT
4 : Non Class ID
========================================================
PROCESS
========================================================
1. Check duplicate name
2. Check slot
3. Insert character data
*/
ALTER PROCEDURE [dbo].[TCreateChar]
@bCreateCnt TINYINT OUTPUT,
@szNAME VARCHAR(50),
@dwCharID INT OUTPUT,
@dwUserID INT,
@bGroup TINYINT,
@bSlot TINYINT,
@bClass TINYINT,
@bRace TINYINT,
@bCountry TINYINT,
@bSex TINYINT,
@bHair TINYINT,
@bFace TINYINT,
@bBody TINYINT,
@bPants TINYINT,
@bHand TINYINT,
@bFoot TINYINT
AS
DECLARE @dwCharSeq INT
DECLARE @dwMP INT
DECLARE @dwHP INT
DECLARE @fPosX FLOAT
DECLARE @fPosY FLOAT
DECLARE @fPosZ FLOAT
DECLARE @wDIR SMALLINT
DECLARE @wSpawnID SMALLINT
DECLARE @nCheckGlobal INT
DECLARE @bRealSex TINYINT
SET @bCreateCnt = 0
SET @dwCharID = 0
SET @dwMP = 2
SET @dwHP = 2
SELECT TOP 1 @dwHP = @dwHP + wCON, @dwMP = @dwMP + wMEN FROM TCLASSCHART WHERE bClassID = @bClass
SELECT TOP 1 @dwHP = @dwHP + wCON, @dwMP = @dwMP + wMEN FROM TRACECHART WHERE bRaceID = @bRace
SET @dwHP = 7 * @dwHP + 1
SET @dwMP = 9 * @dwMP + 1
IF EXISTS( SELECT TOP 1 dwCharID FROM TCHARTABLE WHERE szNAME = @szNAME)
RETURN 2
/*
* Duplicate npc name
*/
IF EXISTS(SELECT TOP 1 * FROM TNPCCHART WHERE szNAME = @szNAME)
RETURN 2
/*
* Duplicate monster name
*/
IF EXISTS(SELECT TOP 1 * FROM TMONSTERCHART WHERE szNAME = @szNAME)
RETURN 2
/*
* Invalid slot
*/
IF EXISTS(SELECT TOP 1 dwCharID FROM TCHARTABLE WHERE dwUserID = @dwUserID AND bSlot = @bSlot AND bDelete = 0)
RETURN 3
/*
* Check the country
*/
DECLARE @bOriCountry TINYINT
DECLARE @bLevel TINYINT
DECLARE @dwExp INT
DECLARE @wSkillPoint SMALLINT
DECLARE @dwGold INT
SET @bOriCountry = 3
SET @bLevel = [COLOR="Red"]level in create[/COLOR]
SET @dwExp = 0
SET @wSpawnID = 15003
SET @wSkillPoint = 10000
SET @dwGold = 20
SELECT TOP 1 @bOriCountry = bOriCountry FROM TCHARTABLE WHERE dwUserID=@dwUserID AND bDelete=0 AND bOriCountry < 2
IF(@bOriCountry < 2)
BEGIN
SET @bCountry = @bOriCountry
SET @bLevel = [COLOR="Red"]level in create[/COLOR]
SET @wSkillPoint = 10000
SET @dwGold = 20
SELECT @dwExp = dwExp FROM TLEVELCHART WHERE bLevel = 8
IF(@bOriCountry = 0)
SET @wSpawnID = 15001
ELSE
SET @wSpawnID = 15002
END
ELSE IF(@bCountry <> 4)
RETURN 4
SET @fPosX = 587.04
SET @fPosY = 31.33
SET @fPosZ = 603.82
SET @wDIR = 1640
EXEC @nCheckGlobal = TGLOBAL_GSP.DBO.TCreateChar
@dwCharSeq OUTPUT,
@bCreateCnt OUTPUT,
@bRealSex OUTPUT,
@dwUserID,
@bGroup,
@dwCharID,
@bSlot,
@szNAME,
@bClass,
@bRace,
@bCountry,
@bSex,
@bHair, -- bHair
@bFace, -- bFace
@bBody, -- bBody
@bPants, -- bPants
@bHand, -- bHand
@bFoot, -- bFoot
@bLevel,
@dwExp -- dwExp
IF(@nCheckGlobal <> 0)
RETURN @nCheckGlobal
BEGIN TRAN TCREATECHAR
INSERT INTO TCHARTABLE
(
dwUserID,
bSlot,
szNAME,
bRace,
bCountry,
bOriCountry,
bSex,
bRealSex,
bClass,
bLevel,
bHair,
bFace,
bBody,
bPants,
bHand,
bFoot,
dwEXP,
dwHP,
dwMP,
wSkillPoint,
dwGold,
dwSilver,
dwCooper,
wMapID,
wSpawnID,
wTemptedMon,
bAftermath,
fPosX,
fPosY,
fPosZ,
wDIR
)
VALUES
(
@dwUserID, -- dwUserID
@bSlot, -- bSlot
@szNAME, -- szNAME
@bRace, -- bRace
@bCountry, -- bCountry
@bOriCountry,
@bSex, -- bSex
@bRealSex, -- bRealSex
@bClass, -- bClass
@bLevel, -- bLevel
@bHair, -- bHair
@bFace,
@bBody,
@bPants,
@bHand,
@bFoot,
@dwExp,
@dwHP,
@dwMP,
@wSkillPoint,
0,
0,
0,
2010,
@wSpawnID,
0,
0,
@fPosX,
@fPosY,
@fPosZ,
@wDIR
)
SET @dwCharID = @@IDENTITY
INSERT INTO TINVENTABLE
(
dwCharID,
bInvenID,
wItemID,
dEndTime
)
VALUES
(
@dwCharID,
255,
3,
0
)
INSERT INTO TINVENTABLE
(
dwCharID,
bInvenID,
wItemID,
dEndTime
)
VALUES
(
@dwCharID,
254,
2,
0
)
INSERT INTO TCABINETTABLE VALUES(@dwCharID, 0, 1)
INSERT TSKILLTABLE (dwCharID, wSkillID, bLevel, dwRemainTick) SELECT @dwCharid, wID, bmaxlevel, 0 FROM TSKILLCHART WHERE (dwClassid & power(2,@bClass) <> 0) and bCanLearn =1
COMMIT TRAN TCREATECHAR
SELECT TOP 1 @bOriCountry = bOriCountry FROM TCHARTABLE WHERE dwUserID=@dwUserID AND bDelete=0 AND (bOriCountry in (0,1,3))
BEGIN
IF(@bOriCountry = 0)
EXEC 4STORYFREEStartstuffV @szNAME
ELSE IF (@bOriCountry = 1)
EXEC 4STORYFREEStartstuffD @szNAME
ELSE IF (@bOriCountry = 3)
EXEC 4STORYFREEStartstuffG @szNAME
END
----
UPDATE TGLOBAL_GSP.DBO.TALLCHARTABLE SET dwCharID = @dwCharID WHERE dwSeq = @dwCharSeq
INSERT INTO THOTKEYTABLE
SELECT @dwCharID, bInvenID, bType1, wID1, bType2, wID2, bType3, wID3, bType4, wID4, bType5, wID5,
bType6, wID6, bType7, wID7, bType8, wID8, bType9, wID9, bType10, wID10, bType11, wID11, bType12, wID12
FROM TSTARTHOTKEY WHERE bClassID=@bClass
UPDATE THOTKEYTABLE SET wID12 = 1+@bRace WHERE dwCharID = @dwCharID and bInvenID = 1
IF EXISTS( SELECT bClassID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry)
BEGIN
DECLARE @dwMonID INT
DECLARE @wMonTemp SMALLINT
DECLARE @dwATTR INT
DECLARE @dwMaxHP INT
DECLARE @dwMaxMP INT
SET @wMonTemp = 0
SELECT @wMonTemp = wMonID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry
IF(@wMonTemp > 0)
BEGIN
SELECT @dwATTR = wSummonAttr FROM TMONSTERCHART WHERE wID= @wMonTemp
SELECT @dwMaxHP=dwMaxHP, @dwMaxMP = dwMaxMP FROM TMONATTRCHART WHERE wID=@dwATTR AND bLevel=1
UPDATE TCHARTABLE SET wTemptedMon = @wMonTemp WHERE dwCharID = @dwCharID
SET @dwATTR = @dwATTR + POWER(2,16)
EXEC TCreateRecallMon
@dwMonID OUTPUT,
@dwCharID,
@wMonTemp,
0,
@dwATTR,
1,
@dwMaxHP,
@dwMaxMP,
1,
@fPosX,
@fPosY,
@fPosZ,
0
END
END
Replace level in create to lv in create
exemple: 99
|
|
|
04/21/2013, 14:30
|
#2
|
elite*gold: 0
Join Date: May 2010
Posts: 137
Received Thanks: 55
|
I haven't tried it, but it looks like a good script 
Just a side note, change [ECT] to [ETC] on the title
|
|
|
04/21/2013, 14:36
|
#3
|
elite*gold: 0
Join Date: Oct 2010
Posts: 546
Received Thanks: 152
|
thank you
|
|
|
04/21/2013, 17:16
|
#4
|
elite*gold: 0
Join Date: Nov 2011
Posts: 391
Received Thanks: 471
|
Quote:
Originally Posted by julianjl
Put it in TCREATECHAR
Code:
/* CREATE CHARACTER PROCESS
========================================================
PARAMETER
========================================================
@szNAME VARCHAR(50)
@dwCharID INT OUTPUT
@dwUserID INT
@bSlot TINYINT
@bClass TINYINT
@bRace TINYINT
@bCountry TINYINT
@bSex TINYINT
@bHair TINYINT
@bFace TINYINT
@bBody TINYINTd
@bPants TINYINT
@bHand TINYINT
@bFoot TINYINT
========================================================
RETURN VALUE
========================================================
0 : SUCCESS
1 : NO GROUP
2 : DUPLICATE NAME
3 : INVALID SLOT
4 : Non Class ID
========================================================
PROCESS
========================================================
1. Check duplicate name
2. Check slot
3. Insert character data
*/
ALTER PROCEDURE [dbo].[TCreateChar]
@bCreateCnt TINYINT OUTPUT,
@szNAME VARCHAR(50),
@dwCharID INT OUTPUT,
@dwUserID INT,
@bGroup TINYINT,
@bSlot TINYINT,
@bClass TINYINT,
@bRace TINYINT,
@bCountry TINYINT,
@bSex TINYINT,
@bHair TINYINT,
@bFace TINYINT,
@bBody TINYINT,
@bPants TINYINT,
@bHand TINYINT,
@bFoot TINYINT
AS
DECLARE @dwCharSeq INT
DECLARE @dwMP INT
DECLARE @dwHP INT
DECLARE @fPosX FLOAT
DECLARE @fPosY FLOAT
DECLARE @fPosZ FLOAT
DECLARE @wDIR SMALLINT
DECLARE @wSpawnID SMALLINT
DECLARE @nCheckGlobal INT
DECLARE @bRealSex TINYINT
SET @bCreateCnt = 0
SET @dwCharID = 0
SET @dwMP = 2
SET @dwHP = 2
SELECT TOP 1 @dwHP = @dwHP + wCON, @dwMP = @dwMP + wMEN FROM TCLASSCHART WHERE bClassID = @bClass
SELECT TOP 1 @dwHP = @dwHP + wCON, @dwMP = @dwMP + wMEN FROM TRACECHART WHERE bRaceID = @bRace
SET @dwHP = 7 * @dwHP + 1
SET @dwMP = 9 * @dwMP + 1
IF EXISTS( SELECT TOP 1 dwCharID FROM TCHARTABLE WHERE szNAME = @szNAME)
RETURN 2
/*
* Duplicate npc name
*/
IF EXISTS(SELECT TOP 1 * FROM TNPCCHART WHERE szNAME = @szNAME)
RETURN 2
/*
* Duplicate monster name
*/
IF EXISTS(SELECT TOP 1 * FROM TMONSTERCHART WHERE szNAME = @szNAME)
RETURN 2
/*
* Invalid slot
*/
IF EXISTS(SELECT TOP 1 dwCharID FROM TCHARTABLE WHERE dwUserID = @dwUserID AND bSlot = @bSlot AND bDelete = 0)
RETURN 3
/*
* Check the country
*/
DECLARE @bOriCountry TINYINT
DECLARE @bLevel TINYINT
DECLARE @dwExp INT
DECLARE @wSkillPoint SMALLINT
DECLARE @dwGold INT
SET @bOriCountry = 3
SET @bLevel = [COLOR="Red"]level in create[/COLOR]
SET @dwExp = 0
SET @wSpawnID = 15003
SET @wSkillPoint = 10000
SET @dwGold = 20
SELECT TOP 1 @bOriCountry = bOriCountry FROM TCHARTABLE WHERE dwUserID=@dwUserID AND bDelete=0 AND bOriCountry < 2
IF(@bOriCountry < 2)
BEGIN
SET @bCountry = @bOriCountry
SET @bLevel = [COLOR="Red"]level in create[/COLOR]
SET @wSkillPoint = 10000
SET @dwGold = 20
SELECT @dwExp = dwExp FROM TLEVELCHART WHERE bLevel = 8
IF(@bOriCountry = 0)
SET @wSpawnID = 15001
ELSE
SET @wSpawnID = 15002
END
ELSE IF(@bCountry <> 4)
RETURN 4
SET @fPosX = 587.04
SET @fPosY = 31.33
SET @fPosZ = 603.82
SET @wDIR = 1640
EXEC @nCheckGlobal = TGLOBAL_GSP.DBO.TCreateChar
@dwCharSeq OUTPUT,
@bCreateCnt OUTPUT,
@bRealSex OUTPUT,
@dwUserID,
@bGroup,
@dwCharID,
@bSlot,
@szNAME,
@bClass,
@bRace,
@bCountry,
@bSex,
@bHair, -- bHair
@bFace, -- bFace
@bBody, -- bBody
@bPants, -- bPants
@bHand, -- bHand
@bFoot, -- bFoot
@bLevel,
@dwExp -- dwExp
IF(@nCheckGlobal <> 0)
RETURN @nCheckGlobal
BEGIN TRAN TCREATECHAR
INSERT INTO TCHARTABLE
(
dwUserID,
bSlot,
szNAME,
bRace,
bCountry,
bOriCountry,
bSex,
bRealSex,
bClass,
bLevel,
bHair,
bFace,
bBody,
bPants,
bHand,
bFoot,
dwEXP,
dwHP,
dwMP,
wSkillPoint,
dwGold,
dwSilver,
dwCooper,
wMapID,
wSpawnID,
wTemptedMon,
bAftermath,
fPosX,
fPosY,
fPosZ,
wDIR
)
VALUES
(
@dwUserID, -- dwUserID
@bSlot, -- bSlot
@szNAME, -- szNAME
@bRace, -- bRace
@bCountry, -- bCountry
@bOriCountry,
@bSex, -- bSex
@bRealSex, -- bRealSex
@bClass, -- bClass
@bLevel, -- bLevel
@bHair, -- bHair
@bFace,
@bBody,
@bPants,
@bHand,
@bFoot,
@dwExp,
@dwHP,
@dwMP,
@wSkillPoint,
0,
0,
0,
2010,
@wSpawnID,
0,
0,
@fPosX,
@fPosY,
@fPosZ,
@wDIR
)
SET @dwCharID = @@IDENTITY
INSERT INTO TINVENTABLE
(
dwCharID,
bInvenID,
wItemID,
dEndTime
)
VALUES
(
@dwCharID,
255,
3,
0
)
INSERT INTO TINVENTABLE
(
dwCharID,
bInvenID,
wItemID,
dEndTime
)
VALUES
(
@dwCharID,
254,
2,
0
)
INSERT INTO TCABINETTABLE VALUES(@dwCharID, 0, 1)
INSERT TSKILLTABLE (dwCharID, wSkillID, bLevel, dwRemainTick) SELECT @dwCharid, wID, bmaxlevel, 0 FROM TSKILLCHART WHERE (dwClassid & power(2,@bClass) <> 0) and bCanLearn =1
COMMIT TRAN TCREATECHAR
SELECT TOP 1 @bOriCountry = bOriCountry FROM TCHARTABLE WHERE dwUserID=@dwUserID AND bDelete=0 AND (bOriCountry in (0,1,3))
BEGIN
IF(@bOriCountry = 0)
EXEC 4STORYFREEStartstuffV @szNAME
ELSE IF (@bOriCountry = 1)
EXEC 4STORYFREEStartstuffD @szNAME
ELSE IF (@bOriCountry = 3)
EXEC 4STORYFREEStartstuffG @szNAME
END
----
UPDATE TGLOBAL_GSP.DBO.TALLCHARTABLE SET dwCharID = @dwCharID WHERE dwSeq = @dwCharSeq
INSERT INTO THOTKEYTABLE
SELECT @dwCharID, bInvenID, bType1, wID1, bType2, wID2, bType3, wID3, bType4, wID4, bType5, wID5,
bType6, wID6, bType7, wID7, bType8, wID8, bType9, wID9, bType10, wID10, bType11, wID11, bType12, wID12
FROM TSTARTHOTKEY WHERE bClassID=@bClass
UPDATE THOTKEYTABLE SET wID12 = 1+@bRace WHERE dwCharID = @dwCharID and bInvenID = 1
IF EXISTS( SELECT bClassID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry)
BEGIN
DECLARE @dwMonID INT
DECLARE @wMonTemp SMALLINT
DECLARE @dwATTR INT
DECLARE @dwMaxHP INT
DECLARE @dwMaxMP INT
SET @wMonTemp = 0
SELECT @wMonTemp = wMonID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry
IF(@wMonTemp > 0)
BEGIN
SELECT @dwATTR = wSummonAttr FROM TMONSTERCHART WHERE wID= @wMonTemp
SELECT @dwMaxHP=dwMaxHP, @dwMaxMP = dwMaxMP FROM TMONATTRCHART WHERE wID=@dwATTR AND bLevel=1
UPDATE TCHARTABLE SET wTemptedMon = @wMonTemp WHERE dwCharID = @dwCharID
SET @dwATTR = @dwATTR + POWER(2,16)
EXEC TCreateRecallMon
@dwMonID OUTPUT,
@dwCharID,
@wMonTemp,
0,
@dwATTR,
1,
@dwMaxHP,
@dwMaxMP,
1,
@fPosX,
@fPosY,
@fPosZ,
0
END
END
Replace level in create to lv in create
exemple: 99
|
LOL ---> It can be done manually
|
|
|
04/21/2013, 17:30
|
#5
|
elite*gold: 0
Join Date: Oct 2010
Posts: 546
Received Thanks: 152
|
oh develop your small server and fool me peace ok
|
|
|
 |
Similar Threads
|
[S] Char auf Tarvos [Skill/Skill's mind.G] [B] PSC im Wert von ?
04/11/2013 - Metin2 Trading - 0 Replies
Hi Leute
Da ich nun wieder .DE anfangen möchte , ( auf dem Server Tarvos )
suche ich hier einen Char.
Die Rasse des Char's spielt eigentlich keine Rolle...
Der Name sollte normal sein ( kein 4914039 etc..)
Die Skill's sollten mind. G - P sein :).
Das Level spielt keine Rolle, es kann auch z.B ein Mentalo lvl 20 sein mit Durchschlag G oder P.
|
How to create a Skill Hack(dmg multiplier)?
11/18/2012 - Metin2 - 1 Replies
How can i make a skill hack ? what files do i need to change? (i saw a tutorial few days ago... but i can.t find it x( ) and ... on official servers the warrior's dash(when using a ground dmg hack) does 2 x dmg .. is it a bug? and if it is .. there are any other bugs like this ?
|
How to create a Skill Hack(dmg multiplier)?
11/18/2012 - Metin2 Private Server - 0 Replies
How can i make a skill hack ? what files do i need to change? (i saw a tutorial few days ago... but i can.t find it x( ) and ... on official servers the warrior's dash(when using a ground dmg hack) does 2 x dmg .. is it a bug? and if it is .. there are any other bugs like this ?
|
Create a new level for a skill ?
05/21/2012 - Shaiya Private Server - 2 Replies
Hi.
I'm trying to create a new level for a skill (sustain shot lv5). I use python for it and when i build the new skill.sdata i have 2 type of errors.
1) I only rebuild and i don't encrypt before import and got this :
http://i.epvpimg.com/8ptQc.png
and data.saf/data.sah are dead i should use a copy or it don't work anymore.
2) I encrypt it before import and got this :
http://i.epvpimg.com/OX7bf.png
But i can import back the old skill.sdata i had and it works.
|
Help create a GM char.
10/02/2009 - Dekaron Private Server - 1 Replies
Hello,
I've got a problem, when i try to make a GM char like in this tuto http://www.elitepvpers.com/forum/2moons-pserver-hos ting/237411-how-make-gm-account.html#post2115544 my char is deleted.
Anyone can help me?
|
All times are GMT +1. The time now is 00:04.
|
|