You last visited: Today at 04:46
Advertisement
initial DB NewChar Stat
Discussion on initial DB NewChar Stat within the SRO Private Server forum part of the Silkroad Online category.
08/27/2014, 13:39
#1
elite*gold: 0
Join Date: Mar 2012
Posts: 78
Received Thanks: 16
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!
08/27/2014, 15:42
#2
elite*gold: 0
Join Date: Feb 2014
Posts: 885
Received Thanks: 1,420
Try to use no-Xtrap Agent and sro_client
08/27/2014, 19:08
#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.
08/28/2014, 17:26
#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.
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 .