Register for your free account! | Forgot your password?

Go Back   elitepvpers › Popular Games › Silkroad Online › SRO Private Server
You last visited: Today at 17:15

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[vSRO] Start Position

Discussion on [vSRO] Start Position within the SRO Private Server forum part of the Silkroad Online category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2011
Posts: 192
Received Thanks: 32
[vSRO] Start Position

hey,
I'm trying to change the start position of every newchar, but cant really figure out how, any hint or tutorial out there? cant find any ;o
D4rkSoe is offline  
Old   #2
 
elite*gold: 0
Join Date: Sep 2010
Posts: 1,003
Received Thanks: 652
you should check dbo procedure! dbo._NewChar maybe i rly dont know the exact name ;D
x*Manu*x is offline  
Old   #3
 
xBongosx's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 1,296
Received Thanks: 424
Recall to JANGAN
Quote:
USE [SRO_VT_SHARD]
UPDATE _Char SET LatestRegion= 25254, posX= 1600.34668 , posY= -3.232344 ,posZ= 185.784119 ,AppointedTeleport=27754,TelRegion= 0, TelPosX= 0, TelPosY= 0, TelPosZ= 0,
DiedRegion= 0 ,DiedPosX= 0 ,DiedPosY= 0, DiedPosZ= 0, WorldID= 1 WHERE CharID>= 0
xBongosx is offline  
Old   #4
 
elite*gold: 0
Join Date: Nov 2011
Posts: 73
Received Thanks: 19
dont work, gives an error at execute
tantekaethe85 is offline  
Old   #5
 
elite*gold: 0
Join Date: Nov 2011
Posts: 166
Received Thanks: 23
(2 row(s) affected)
?
thebook23 is offline  
Old   #6
 
Kape7's Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 3,211
Received Thanks: 6,303
Modify the _AddNewChar procedure.
Kape7 is offline  
Old   #7
 
elite*gold: 0
Join Date: Sep 2010
Posts: 59
Received Thanks: 1
Post

USE [SRO_VT_SHARD_INIT]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 06/08/2012 00:11:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO



ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID INT,
--@CharSlot INT,
@RefCharID INT,
@CharName nvarchar (50),
@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 @Slot INT
DECLARE @temp INT

DECLARE @NewCharID INT
SET @NewCharID = 0


-----------------------------------------------------------------------------
-- 1. 캐릭터 슬롯 넘버가 valid한 것인지, 그리고 빈슬롯이 맞는지 먼저 체크한다.
-----------------------------------------------------------------------------

-- start by novice.
SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID

IF (@temp >= 4)
BEGIN
-- 너무 많자나
RETURN -2
END
-- finish by novice.

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

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

BEGIN TRANSACTION

-- 인던시스템이 적용되면�* 마지막에 WorldID와 1값을 더 넣어 주었다!
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,
GetDate(), 1, 1, 0, 0, 0, 200,200, 1, 1, 1, 1)

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


-- start by novice.
-- 이제 Slot 안쓴다.. 그냥 Insert 만..
INSERT INTO _User VALUES (@UserJID, @NewCharID)
-- finish by novice.


-----------------------------------------------------------------------------
-- 3-1. 장비 슬롯 채우기
-- [인벤토리 슬롯 96개] + [장비슬롯 13개] <- 인벤토리 확장 �*비스 후 48개에�* 96개로 증가!!!(woos0)
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO _Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _RefDummySlot with( nolock )
WHERE cnt < 109


IF (@@ERROR <> 0)
BEGIN
-- 인벤토리 생성 실패!
ROLLBACK TRANSACTION
RETURN -7
END

--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!

-- 디폴트로 선택한 아이템을 다시 넣어주자...
/* 요런 순�*로 정의되어 있다.
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


-----------------------------------------------------------------------------
-- 3-2. 아바타 Inventory 슬롯 채우기
-- [아바타 인벤토리 슬롯 5개]
-- APPLY_AVATAR_SYSTEM이 적용되면�* 추가되는 부분
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO _InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _RefDummySlot with( nolock )
WHERE cnt < 5


IF (@@ERROR <> 0)
BEGIN
-- 아바타 인벤토리 생성 실패!
ROLLBACK TRANSACTION
RETURN -14
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!

-----------------------------------------------------------------------------
-- 3-3. 배낭 슬롯 채우기
-- [배낭 슬롯은 최대 50개]
-- Define ADD_TRADE_BAG_INVENTORY 가 적용되면�* 추가되는 부분
-----------------------------------------------------------------------------
-- PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO _TradeBagInventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _RefDummySlot with( nolock )
WHERE cnt < 50

IF (@@ERROR <> 0)
BEGIN
-- 배낭 생성 실패!
ROLLBACK TRANSACTION
RETURN -20
END
-- PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!


-----------------------------------------------------------------------------
-- 3-4. 직업 장비 슬롯 채우기
-- [직업 슬롯은 최대 11개]
-- Define ADD_TRADE_EQUIP_INVENTORY가 적용되면�* 추가되는 부분
-----------------------------------------------------------------------------
-- PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO _TradeEquipInventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _RefDummySlot with( nolock )
WHERE cnt < 11

IF (@@ERROR <> 0)
BEGIN
-- 직업 장비 인벤토리 생성 실패!
ROLLBACK TRANSACTION
RETURN -21
END
-- PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-----------------------------------------------------------------------------
-- 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
-----------------------------------------------------------------------------
-- 기본 퀘스트 넣어주기
-----------------------------------------------------------------------------
INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM _RefQuest
WHERE CodeName in (SELECT CodeName FROM _RefCharDefault_Quest with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and 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

-----------------------------------------------------------------------------
-- 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

-- 제작 레시피 추가
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- 캐릭터 생성시 습득할 수 있는 레시피를 배우자!!!
-----------------------------------------------------------------------------
-- ReqType이 1이면 캐릭터 레벨
INSERT _CharAlchemy_MK_Recipe
SELECT @NewCharID, MR.RC_ID FROM _RefLearnRecipeByReqType AS LR
JOIN _RefAlchemy_MK_Recipe AS MR ON LR.RecipeCodeName = MR.RC_CodeName128
WHERE LR.ReqType = 1 AND LR.ReqValue = 1 AND LR.Service = 1

IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -21 -- 레시피 추가 실패
END
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

-----------------------------------------------------------------------------
-- 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
insert here the items I want???

-- Quick Slot 정보 저장용!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...

COMMIT TRANSACTION

RETURN @NewCharID
ShymonString is offline  
Old   #8
 
elite*gold: 38
Join Date: Nov 2008
Posts: 795
Received Thanks: 680
@obove, yes just copy the exec _ADD....line and change the item code

about the start position
SET @StartRegionID = 25256
SET @StartPos_X = 975
SET @StartPos_Y = 0
SET @StartPos_Z = 158
You can get StartRegionID; Pos_X; Pos_Y and Pos_Z from dbo._Char(StartRegionID=Latest Region)
Veteran1337 is offline  
Reply


Similar Threads Similar Threads
Vsro start items
10/18/2011 - SRO Private Server - 8 Replies
Guys any 1 know how to make start's items for accounts .I hope i will get help soon :)
Vsro Files Problems [Not Come Start]
09/14/2011 - SRO Private Server - 8 Replies
All programs working but no come starts.. Help me please.. http://img706.imageshack.us/img706/735/mach.png Uploaded with ImageShack.us http://img534.imageshack.us/img534/8706/melih.png Uploaded with ImageShack.us
VSRO Start Problems
04/10/2010 - Silkroad Online - 2 Replies
Hello everybody, 2 weeks ago i installed vsro. It starts and i played the last two weeks but now it doesnt starts. After klick start button the game crashs and than a window open up: xtrap code field 01-0400-00000000-701 The game security module cannot run properly. Can somebody please help me?!
Start Player Position
04/08/2010 - WoW Private Server - 1 Replies
Hi Weis einer wo man die Start Player Position verendern kann oder wie man es machen kann? Mangos v0.3.7.5 danke
vsro start error
11/02/2009 - Silkroad Online - 0 Replies
When i click start, xtrap apper and hide and nothing more :< I cant play



All times are GMT +1. The time now is 17:17.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.