Register for your free account! | Forgot your password?

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

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

Advertisement



initial DB NewChar Stat

Discussion on initial DB NewChar Stat within the SRO Private Server forum part of the Silkroad Online category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2012
Posts: 78
Received Thanks: 16
Question initial DB NewChar Stat

Hii I'm using dakupra files, it is configured for pvp, the characters start from lvl100, I want to change that start from lvl 1 have changed this. But upon entering the game by creating a new character and move it I close the game, and get a message on Agent Server, Xtrap Session: GMNayMan



SRO_VT_SHARD
Progammability
Stored Procedures
dbo.AddNewChar

Code:
USE [SRO_VT_SHARD]GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 08/27/2014 03:25:29 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID	INT, 
--@CharSlot	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 @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, DailyPK, PKPenaltyPoint, TotalPK) 
VALUES (@RefCharID, @CharName, @CharScale, 119, 119, 26265, 932, -106.760178, 1474, 2094, 109,
GetDate(), 1, 1, 10000000, 297, 10000000, 200,200, 1, 1, 1, 1, 50, 0, 0) 

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




-- start by novice. 
-- A??� 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!!! 

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

----------------------------------------------------------------------------- 
-- CharList에 ID 넣어주기 
----------------------------------------------------------------------------- 
INSERT _CharNameList VALUES(@CharName, @NewCharID) 


BEGIN
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_PREMIUM_VIETNAM_GOLDTIME_PLUS',1,1 
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_COS_P_GHOST_SCROLL',0,0 
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_HP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_MP_SUPERSET_5_BAG',1000,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SPEED_UP_BASIC',20,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_EVENT_RESURRECTION_60P_SCROLL',5,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_MALL_REVERSE_RETURN_SCROLL',10,1




INSERT INTO SRO_VT_ACCOUNT.dbo.SK_Silk (JID, silk_own, silk_gift, silk_point) VALUES (@UserJID, 0, 0, 0); 
END


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


COMMIT TRANSACTION 

RETURN @NewCharID
Please Help!
pablitto18 is offline  
Old   #2
 
Muhab*'s Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 885
Received Thanks: 1,420
Try to use no-Xtrap Agent and sro_client
Muhab* is offline  
Thanks
1 User
Old   #3
 
elite*gold: 0
Join Date: Mar 2012
Posts: 78
Received Thanks: 16
No bro, the problem remains the same, what I've noticed is that if I go with lvl 100 characters does not give me dc and if I go with lvl 1 gives me dc characters.
pablitto18 is offline  
Old   #4
 
elite*gold: 0
Join Date: Aug 2014
Posts: 48
Received Thanks: 10
Try a normal Procedure [Non Edited] one and tell me if it's the same.
Exorcī𐌔t is offline  
Reply


Similar Threads Similar Threads
[Release] How to change stat points per level and working stat resets
04/08/2017 - Shaiya PServer Guides & Releases - 20 Replies
A tutorial on how to change Ultimate Mode stat points and make stat resets give the changed stats back Things you will need. ollydbg 2.0 - http://www.ollydbg.de/odbg200.zip ps_game.exe not to be confused with game.exe can be found in server folder SHAIYA_SERVER\SERVER\PSM_Client\Bin Make a back up of your ps_game.exe before you edit it just incase you make a mistake.
Initial items
10/07/2013 - CO2 Private Server - 1 Replies
Hello guys, I'm new to the forum so sorry for any mistakes. My English is not very good, but come on. I've got a problem, I need to change the initial gold players on my server or add some items in the bag early, but I'm not finding the way to do it. Could anyone help me? Thanks in advance!
NewChar Problem Help Vsro
07/05/2012 - SRO Private Server - 1 Replies
http://img6.imageshack.us/img6/561/s1030.jpg error 2012-07-04 19:28:08 {?=CALL _AddNewChar (75422, 14880,'AkR3Pp__',68,26957,1466.000000,79.000000,14 88.000000,19554,11623,11624,11625,10893,0,32,32,32 ,39,0,0)} 2012-07-04 19:28:08 SQL Error State:01000, Native Error Code: E25, ODBC Error: The statement has been terminated. 2012-07-04 19:28:08 {?=CALL _AddNewChar (75422, 14880,'AkR3Pp__',68,26957,1466.000000,79.000000,14 88.000000,19554,11623,11624,11625,10893,0,32,32,32 ,39,0,0)}...
[Help/Info] Initial Equipment
08/18/2008 - EO PServer Hosting - 4 Replies
What tables should be amended to change the equipment, and eudemon map of the original character? Sorry to write but not speak English, use the Google Translator :p



All times are GMT +2. The time now is 04:46.


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.