iSRO-R Çözüldü addnewchar sorunu isro files

  • Konuyu Başlatan Konuyu Başlatan serkangny
  • Başlangıç tarihi Başlangıç tarihi

serkangny

.
.
1 Mesaj
Katılım
12 Kas 2024
Mesajlar
29
Tepkime puanı
8
Puan
3
Yaş
31
Konum
bartın
Thread owner
Merhabalar, isro files addnewchar ayarlarını nasıl yapıyoruz. Envantere item eklediğim zaman böyle boş olarak oluşturuyor. Elinde Query kodu olan varsa yardımcı olabilir mi? SRO[2025-05-05 09-43-02]_81.jpg
SRO[2025-05-05 09-43-02]_81.jpg
 
_AddNewChar ve _AddNewChar_Channel ikisini kontrol et rigid kullanıyorsan cheste atar başlangıç itemlerini
 
Thread owner
item chest kontol edermisn mini map alt
Kontrol etmiştim. Zaten her iki yerde de itemleri göremeyince forumdan destek almak istedim.
Üst üste post gönderildiği için tek mesajda birleştirildi:

USE [SILKROAD_R_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar_Channel] Script Date: 6.05.2025 09:21:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewChar_Channel]
@UserJID INT,
@RefCharID INT,
@CharName VARCHAR(64),
@CharScale TINYINT,
@StartRegionID INT,
@StartPos_X REAL,
@StartPos_Y REAL,
@StartPos_Z REAL,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail TINYINT,
@DurPants TINYINT,
@DurBoots TINYINT,
@DurWeapon TINYINT,
@DurShield TINYINT,
@DefaultArrow INT
-- #ifdef CHANNELING_LOGIN_SERVICE
,@LoginType TINYINT
-- #endif //CHANNELING_LOGIN_SERVICE
AS
DECLARE @NewCharID INT

-- SET NOCOUNT ON --Disabled requested by muhab or he will die xD

EXEC @NewCharID = dbo._AddNewChar
@UserJID
,@RefCharID
,@CharName
,@CharScale
,@StartRegionID
,@StartPos_X
,@StartPos_Y
,@StartPos_Z
,@DefaultTeleport
,@RefMailID
,@RefPantsID
,@RefBootsID
,@RefWeaponID
,@RefShield
,@DurMail
,@DurPants
,@DurBoots
,@DurWeapon
,@DurShield
,@DefaultArrow

/*

IF (@LoginType = 2) -- JC Planet
BEGIN
EXEC [_ADD_SOMETHING_FOR_JCPLANET] @NewCharID, @RefWeaponID
END
-- #endif CHANNELING_LOGIN_SERVICE
*/








RETURN @NewCharID
Üst üste post gönderildiği için tek mesajda birleştirildi:

USE [SILKROAD_R_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 6.05.2025 09:21:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

--NEW

ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID INT,
@RefCharID INT,
@CharName VARCHAR(64),
@CharScale TINYINT,
@StartRegionID INT,
@StartPos_X REAL,
@StartPos_Y REAL,
@StartPos_Z REAL,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail TINYINT,
@DurPants TINYINT,
@DurBoots TINYINT,
@DurWeapon TINYINT,
@DurShield TINYINT,
@DefaultArrow INT
AS
SET NOCOUNT ON

DECLARE @temp INT

-----------------------------------------------------------------------------
-- 1. 선 체크!
-----------------------------------------------------------------------------
SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
IF (@temp >= 8)
BEGIN
-- 너무 많자나
RETURN -2
END

IF (@CharScale > 68) -- 0100 0100 --> 68 이다!
BEGIN
-- 캐릭터 생성 실패! 스케일 값이 이상하다!
RETURN -3
END

EXEC @temp = _IsExistingCharName @CharName
IF (@temp <> 0)
BEGIN
-- 이미 사용중인 이름이라는데?
RETURN -4
END

DECLARE @IsMale TINYINT
SELECT @IsMale = ROCH.CharGender
FROM _RefObjChar AS ROCH WITH (NOLOCK)
INNER JOIN _RefObjCommon AS ROC WITH (NOLOCK) ON ROC.Link = ROCH.ID AND ROC.ID = @RefCharID
IF @@ROWCOUNT = 0 OR @@ERROR <> 0 OR @IsMale IS NULL
BEGIN
RETURN -24
END

DECLARE @NewCharID INT
SET @NewCharID = 0

BEGIN TRANSACTION

-----------------------------------------------------------------------------
-- 2. 캐릭터 추가하기
-----------------------------------------------------------------------------

INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, 20, 20, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 45,
CONVERT(SMALLDATETIME, '2079-01-06'), 1, 1, 0, 0, 100000, 200,200, 1, 1, 1, 1)

SET @NewCharID = @@IDENTITY

IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- 캐릭터 생성 실패!
ROLLBACK TRANSACTION
RETURN -5
END

INSERT INTO _User VALUES (@UserJID, @NewCharID)
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- 유저 테이블에 추가 실패!
ROLLBACK TRANSACTION
RETURN -6
END

-----------------------------------------------------------------------------
-- 3-1. 장비 슬롯 채우기
-----------------------------------------------------------------------------
-- 디폴트로 선택한 아이템을 다시 넣어주자...
/* 요런 순서로 정의되어 있다.
0: EQUIP_SLOT_HELM
1: EQUIP_SLOT_MAIL,
2: EQUIP_SLOT_SHOULDERGUARD,
3: EQUIP_SLOT_GAUNTLET,
4: EQUIP_SLOT_PANTS,
5: EQUIP_SLOT_BOOTS,
6: EQUIP_SLOT_WEAPON,
7: EQUIP_SLOT_SHIELD or ARROW,
8: EQUIP_SLOT_EARRING,
9: EQUIP_SLOT_NECKLACE,
10: EQUIP_SLOT_L_RING,
11: EQUIP_SLOT_R_RING,
*/

DECLARE @ItemID BIGINT
SET @ItemID = 0

-- 상갑
IF (@RefMailID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- 바지
IF (@RefPantsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@RefBootsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF (@RefWeaponID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
-- 방패
IF (@RefShield <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
END
-- 혹시 default로 선택한 무기가 활이라면 화살 250개들이 활통도 함께 준다. 죠치?
IF (@DefaultArrow <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
END
END

-----------------------------------------------------------------------------
-- default skill 넣어주기
-----------------------------------------------------------------------------
DECLARE @country TINYINT
EXEC @country = _GetObjCountry @RefCharID

INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM _RefCharDefault_SkillMastery WITH (NOLOCK)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END

INSERT INTO _CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM _RefCharDefault_Skill WITH (NOLOCK)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END

-----------------------------------------------------------------------------
-- default Quest 넣어주기
-----------------------------------------------------------------------------
INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, RQ.ID, 1, 0, getdate(), getdate(), 0, 0
FROM _RefQuest AS RQ WITH (NOLOCK)
JOIN _RefCharDefault_Quest AS RDQ WITH (NOLOCK)
ON RDQ.CodeName = RQ.CodeName AND ((RDQ.Race = @country or RDQ.Race = 3) and RDQ.RequiredLevel = 1 and RDQ.Service = 1)
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -17
END

-----------------------------------------------------------------------------
-- Static Avatar Initial Record 넣기
-----------------------------------------------------------------------------
INSERT INTO _StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END

-----------------------------------------------------------------------------
-- Trijob 채워넣기!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- 인벤토리 생성 실패!
ROLLBACK TRANSACTION
RETURN -19
END
-- #ifdef NEW_CHARACTER_ITEM_SUPPORT
-- 새로운 아이템 지급
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_COS_P_PINKPIG_SCROLL_BASIC',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_REVERSE_RETURN_SCROLL_BASIC',11,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SPEED_UP_BASIC',50,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_03_BASIC',50,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_60EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_100EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_LEVEL_TOKEN_01',1500,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_LEVEL_TOKEN_02',1500,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_LEVEL_TOKEN_01',1500,1
-- 반드시 아이템 지급 목록을 확인 하자..
-- 반드시 아이템 지급 목록을 확인 하자..
-- 반드시 아이템 지급 목록을 확인 하자..
-- 나스룬 아이템 지급을 할때만 아래 쿼리 실행
DECLARE @CharGender tinyINT
SELECT @CharGender = CharGender FROM _RefObjCommon AS RO WITH(NOLOCK)
JOIN _RefObjChar AS RC WITH(NOLOCK) ON RO.Link = RC.ID
WHERE RO.ID = @RefCharID

IF( 0 = @CharGender )
BEGIN
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_AVATAR_W_NASRUN_BASIC',1,0
END
ELSE IF( 1 = @CharGender )
BEGIN
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_AVATAR_M_NASRUN_BASIC',1,0
END
-- #ifdef REMOVE_DEFAULT_FRIEND_GROUP_IN_DATABASE
-- 더이상 0번 default 친구그룹은 추가하지 않는다.
-- #else REMOVE_DEFAULT_FRIEND_GROUP_IN_DATABASE
-----------------------------------------------------------------------------
-- 친구그룹 생성 추가
-----------------------------------------------------------------------------
--INSERT _FriendGroup Values (@NewCharID, 0, 'N/A')
--IF (@@ERROR <> 0)
--BEGIN
-- ROLLBACK TRANSACTION
-- RETURN -20 -- 그룹추가 실패!
--END
-- #endif REMOVE_DEFAULT_FRIEND_GROUP_IN_DATABASE

-----------------------------------------------------------------------------
-- TradeConflictJob 채워넣기!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTradeConflictJob VALUES (@NewCharID, GetDate(), 1, 0, 0, 0, 0, 0 ,0)
IF (@@ERROR <> 0)
BEGIN
-- 무역과 직업대립 데이터 넣기 실패...!
ROLLBACK TRANSACTION
RETURN -22
END

-----------------------------------------------------------------------------
-- NewTrade 채워넣기!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharNewTrade VALUES (@NewCharID, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- 무역과 직업대립 데이터 넣기 실패...!
ROLLBACK TRANSACTION
RETURN -23
END
-----------------------------------------------------------------------------
-- ADD SILK IN BETA
-----------------------------------------------------------------------------
DECLARE @PortalJID INT

SET @PortalJID = (SELECT PortalJID FROM [SILKROAD_R_ACCOUNT].[dbo].[TB_User] WHERE JID = @UserJID)

EXEC SILKROAD_R_ACCOUNT.._Rigid_AddSilk_By_PortalJID_NEW @PortalJID, 3, 1
-----------------------------------------------------------------------------
-- CharList에 ID 넣어주기
-----------------------------------------------------------------------------
INSERT _CharNameList VALUES(@CharName, @NewCharID)

exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_60EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_100EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_NEWBIE_01',20,1

-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...

COMMIT TRANSACTION

RETURN @NewCharID
Üst üste post gönderildiği için tek mesajda birleştirildi:

Ayarlar bu şekilde. Yardımcı olabilir misiniz ?
 
Kontrol etmiştim. Zaten her iki yerde de itemleri göremeyince forumdan destek almak istedim.
Üst üste post gönderildiği için tek mesajda birleştirildi:

USE [SILKROAD_R_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar_Channel] Script Date: 6.05.2025 09:21:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewChar_Channel]
@UserJID INT,
@RefCharID INT,
@CharName VARCHAR(64),
@CharScale TINYINT,
@StartRegionID INT,
@StartPos_X REAL,
@StartPos_Y REAL,
@StartPos_Z REAL,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail TINYINT,
@DurPants TINYINT,
@DurBoots TINYINT,
@DurWeapon TINYINT,
@DurShield TINYINT,
@DefaultArrow INT
-- #ifdef CHANNELING_LOGIN_SERVICE
,@LoginType TINYINT
-- #endif //CHANNELING_LOGIN_SERVICE
AS
DECLARE @NewCharID INT

-- SET NOCOUNT ON --Disabled requested by muhab or he will die xD

EXEC @NewCharID = dbo._AddNewChar
@UserJID
,@RefCharID
,@CharName
,@CharScale
,@StartRegionID
,@StartPos_X
,@StartPos_Y
,@StartPos_Z
,@DefaultTeleport
,@RefMailID
,@RefPantsID
,@RefBootsID
,@RefWeaponID
,@RefShield
,@DurMail
,@DurPants
,@DurBoots
,@DurWeapon
,@DurShield
,@DefaultArrow

/*

IF (@LoginType = 2) -- JC Planet
BEGIN
EXEC [_ADD_SOMETHING_FOR_JCPLANET] @NewCharID, @RefWeaponID
END
-- #endif CHANNELING_LOGIN_SERVICE
*/








RETURN @NewCharID
Üst üste post gönderildiği için tek mesajda birleştirildi:

USE [SILKROAD_R_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 6.05.2025 09:21:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

--NEW

ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID INT,
@RefCharID INT,
@CharName VARCHAR(64),
@CharScale TINYINT,
@StartRegionID INT,
@StartPos_X REAL,
@StartPos_Y REAL,
@StartPos_Z REAL,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail TINYINT,
@DurPants TINYINT,
@DurBoots TINYINT,
@DurWeapon TINYINT,
@DurShield TINYINT,
@DefaultArrow INT
AS
SET NOCOUNT ON

DECLARE @temp INT

-----------------------------------------------------------------------------
-- 1. 선 체크!
-----------------------------------------------------------------------------
SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
IF (@temp >= 8)
BEGIN
-- 너무 많자나
RETURN -2
END

IF (@CharScale > 68) -- 0100 0100 --> 68 이다!
BEGIN
-- 캐릭터 생성 실패! 스케일 값이 이상하다!
RETURN -3
END

EXEC @temp = _IsExistingCharName @CharName
IF (@temp <> 0)
BEGIN
-- 이미 사용중인 이름이라는데?
RETURN -4
END

DECLARE @IsMale TINYINT
SELECT @IsMale = ROCH.CharGender
FROM _RefObjChar AS ROCH WITH (NOLOCK)
INNER JOIN _RefObjCommon AS ROC WITH (NOLOCK) ON ROC.Link = ROCH.ID AND ROC.ID = @RefCharID
IF @@ROWCOUNT = 0 OR @@ERROR <> 0 OR @IsMale IS NULL
BEGIN
RETURN -24
END

DECLARE @NewCharID INT
SET @NewCharID = 0

BEGIN TRANSACTION

-----------------------------------------------------------------------------
-- 2. 캐릭터 추가하기
-----------------------------------------------------------------------------

INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, 20, 20, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 45,
CONVERT(SMALLDATETIME, '2079-01-06'), 1, 1, 0, 0, 100000, 200,200, 1, 1, 1, 1)

SET @NewCharID = @@IDENTITY

IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- 캐릭터 생성 실패!
ROLLBACK TRANSACTION
RETURN -5
END

INSERT INTO _User VALUES (@UserJID, @NewCharID)
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- 유저 테이블에 추가 실패!
ROLLBACK TRANSACTION
RETURN -6
END

-----------------------------------------------------------------------------
-- 3-1. 장비 슬롯 채우기
-----------------------------------------------------------------------------
-- 디폴트로 선택한 아이템을 다시 넣어주자...
/* 요런 순서로 정의되어 있다.
0: EQUIP_SLOT_HELM
1: EQUIP_SLOT_MAIL,
2: EQUIP_SLOT_SHOULDERGUARD,
3: EQUIP_SLOT_GAUNTLET,
4: EQUIP_SLOT_PANTS,
5: EQUIP_SLOT_BOOTS,
6: EQUIP_SLOT_WEAPON,
7: EQUIP_SLOT_SHIELD or ARROW,
8: EQUIP_SLOT_EARRING,
9: EQUIP_SLOT_NECKLACE,
10: EQUIP_SLOT_L_RING,
11: EQUIP_SLOT_R_RING,
*/

DECLARE @ItemID BIGINT
SET @ItemID = 0

-- 상갑
IF (@RefMailID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- 바지
IF (@RefPantsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@RefBootsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF (@RefWeaponID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
-- 방패
IF (@RefShield <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
END
-- 혹시 default로 선택한 무기가 활이라면 화살 250개들이 활통도 함께 준다. 죠치?
IF (@DefaultArrow <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
END
END

-----------------------------------------------------------------------------
-- default skill 넣어주기
-----------------------------------------------------------------------------
DECLARE @country TINYINT
EXEC @country = _GetObjCountry @RefCharID

INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM _RefCharDefault_SkillMastery WITH (NOLOCK)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END

INSERT INTO _CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM _RefCharDefault_Skill WITH (NOLOCK)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END

-----------------------------------------------------------------------------
-- default Quest 넣어주기
-----------------------------------------------------------------------------
INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, RQ.ID, 1, 0, getdate(), getdate(), 0, 0
FROM _RefQuest AS RQ WITH (NOLOCK)
JOIN _RefCharDefault_Quest AS RDQ WITH (NOLOCK)
ON RDQ.CodeName = RQ.CodeName AND ((RDQ.Race = @country or RDQ.Race = 3) and RDQ.RequiredLevel = 1 and RDQ.Service = 1)
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -17
END

-----------------------------------------------------------------------------
-- Static Avatar Initial Record 넣기
-----------------------------------------------------------------------------
INSERT INTO _StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END

-----------------------------------------------------------------------------
-- Trijob 채워넣기!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- 인벤토리 생성 실패!
ROLLBACK TRANSACTION
RETURN -19
END
-- #ifdef NEW_CHARACTER_ITEM_SUPPORT
-- 새로운 아이템 지급
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_COS_P_PINKPIG_SCROLL_BASIC',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_REVERSE_RETURN_SCROLL_BASIC',11,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SPEED_UP_BASIC',50,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_03_BASIC',50,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_60EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_100EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_LEVEL_TOKEN_01',1500,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_LEVEL_TOKEN_02',1500,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_LEVEL_TOKEN_01',1500,1
-- 반드시 아이템 지급 목록을 확인 하자..
-- 반드시 아이템 지급 목록을 확인 하자..
-- 반드시 아이템 지급 목록을 확인 하자..
-- 나스룬 아이템 지급을 할때만 아래 쿼리 실행
DECLARE @CharGender tinyINT
SELECT @CharGender = CharGender FROM _RefObjCommon AS RO WITH(NOLOCK)
JOIN _RefObjChar AS RC WITH(NOLOCK) ON RO.Link = RC.ID
WHERE RO.ID = @RefCharID

IF( 0 = @CharGender )
BEGIN
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_AVATAR_W_NASRUN_BASIC',1,0
END
ELSE IF( 1 = @CharGender )
BEGIN
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_AVATAR_M_NASRUN_BASIC',1,0
END
-- #ifdef REMOVE_DEFAULT_FRIEND_GROUP_IN_DATABASE
-- 더이상 0번 default 친구그룹은 추가하지 않는다.
-- #else REMOVE_DEFAULT_FRIEND_GROUP_IN_DATABASE
-----------------------------------------------------------------------------
-- 친구그룹 생성 추가
-----------------------------------------------------------------------------
--INSERT _FriendGroup Values (@NewCharID, 0, 'N/A')
--IF (@@ERROR <> 0)
--BEGIN
-- ROLLBACK TRANSACTION
-- RETURN -20 -- 그룹추가 실패!
--END
-- #endif REMOVE_DEFAULT_FRIEND_GROUP_IN_DATABASE

-----------------------------------------------------------------------------
-- TradeConflictJob 채워넣기!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTradeConflictJob VALUES (@NewCharID, GetDate(), 1, 0, 0, 0, 0, 0 ,0)
IF (@@ERROR <> 0)
BEGIN
-- 무역과 직업대립 데이터 넣기 실패...!
ROLLBACK TRANSACTION
RETURN -22
END

-----------------------------------------------------------------------------
-- NewTrade 채워넣기!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharNewTrade VALUES (@NewCharID, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- 무역과 직업대립 데이터 넣기 실패...!
ROLLBACK TRANSACTION
RETURN -23
END
-----------------------------------------------------------------------------
-- ADD SILK IN BETA
-----------------------------------------------------------------------------
DECLARE @PortalJID INT

SET @PortalJID = (SELECT PortalJID FROM [SILKROAD_R_ACCOUNT].[dbo].[TB_User] WHERE JID = @UserJID)

EXEC SILKROAD_R_ACCOUNT.._Rigid_AddSilk_By_PortalJID_NEW @PortalJID, 3, 1
-----------------------------------------------------------------------------
-- CharList에 ID 넣어주기
-----------------------------------------------------------------------------
INSERT _CharNameList VALUES(@CharName, @NewCharID)

exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_60EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_100EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_NEWBIE_01',20,1

-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...

COMMIT TRANSACTION

RETURN @NewCharID
Üst üste post gönderildiği için tek mesajda birleştirildi:

Ayarlar bu şekilde. Yardımcı olabilir misiniz ?
Önce Yedeklerini Al Sonra Denermisin

SQL:
İçeriği görebilmek için Giriş yap ya da üye ol.


SQL:
İçeriği görebilmek için Giriş yap ya da üye ol.
 
Thread owner
Önce Yedeklerini Al Sonra Denermisin

SQL:
İçeriği görebilmek için Giriş yap ya da üye ol.


SQL:
İçeriği görebilmek için Giriş yap ya da üye ol.
[/SPOI
Bu şekilde geneSRO[2025-05-06 11-06-21]_13.jpg
Önce Yedeklerini Al Sonra Denermisin

SQL:
İçeriği görebilmek için Giriş yap ya da üye ol.


SQL:
İçeriği görebilmek için Giriş yap ya da üye ol.
bu şekilde
Üst üste post gönderildiği için tek mesajda birleştirildi:

SRO[2025-05-06 11-06-21]_13.jpg
 

Bu konuyu görüntüleyen kullanıcılar

Geri
Üst Alt