Register for your free account! | Forgot your password?

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

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

Advertisement



F10 Bug Need Help

Discussion on F10 Bug Need Help within the SRO Private Server forum part of the Silkroad Online category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2011
Posts: 38
Received Thanks: 0
F10 Bug Need Help

i Have İtem Bug
I found Codes Does not Work This code does not work
USE [SRO_VT_SHARD]
GO
/****** Object: StoredProcedure [dbo].[_UPDATE_COST] Script Date: 26.02.2012 14:03:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-- 상점개편 (최선호)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

ALTER PROCEDURE [dbo].[_UPDATE_COST]
@Operation tinyint,
@CharID int,
@PaymentDevice int,
@PackageItemCodeName varchar(129),
@RemainGold bigint,
@OwnSilkToPay int,
@GiftSilkToPay int,
@OffsetOptionalPoint int,
@MileageToPay int
AS

SET NOCOUNT ON

declare @PaymentDeviceTemp int
declare @RemainOwnSilk int
declare @RemainGiftSilk int
declare @RemainMileage int
declare @Result int

set @RemainOwnSilk = 0
set @RemainGiftSilk = 0
set @RemainMileage = 0

IF (@RemainGold < 0 or @MileageToPay < 0 or @OwnSilkToPay < 0 or @GiftSilkToPay < 0 or @OffsetOptionalPoint < 0)
BEGIN
RETURN -2001
END

DECLARE @PC_ID INT
set @PC_ID = @CharID
----------------------------------------------------------
-- Operation에 따라�* 유저 캐릭터 아이�&#240;가 넘어 올수도 있고, cos 아이�&#240;가 넘어 올 수도 있다.
-- 캐릭터 아이�&#240;를 어쨋던 알아내야 하겠다.
----------------------------------------------------------
if (@Operation = 19)
begin
-- COS 용 물품을 구입한거니깐... 캐릭 찾아�* 돈 빼줘야지...
SELECT @PC_ID = OwnerCharID FROM _CharCOS WHERE ID = @PC_ID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
RETURN -2002
END
end
/*
#define EXPAND_DEVICE_GOLDPRICE 1
#define EXPAND_DEVICE_SILKPRICE 2
#define EXPAND_DEVICE_GIFTSILKPRICE 4
#define EXPAND_DEVICE_GUILDPOINT 8
#define EXPAND_DEVICE_MILEAGE 16
*/

if ((@PaymentDevice & (2 | 4 | 16 )) > 0)
begin
-- 실크, 선물실크, 마일리지를 까야 하는구만.
-- 단, 마일리지는 옵션이다.

-- 캐릭터의 JID를 얻어오너라.
declare @JID int
select top 1 @JID = UserJID from _User
where CharID = @PC_ID
IF (@@ROWCOUNT = 0 OR @@ERROR <> 0)
BEGIN
RETURN -2006
END

DECLARE @PackageItemID int
select @PackageItemID = ID from dbo._RefPackageItem where codename128 = @PackageItemCodeName

DECLARE @rvalue int
-- EXEC @rvalue = SRO_VT_ACCOUNT.DBO._ConsumeSilkByGameServer @JID, @OwnSilkToPay OUTPUT, @GiftSilkToPay OUTPUT, @MileageToPay output, 1, @CharID
EXEC @rvalue = SRO_VT_ACCOUNT.DBO._ConsumeSilkByGameServer @JID, @OwnSilkToPay OUTPUT, @GiftSilkToPay OUTPUT, @MileageToPay output, 0, @CharID, @PackageItemID , 0

IF (@rvalue < 0 OR @@ERROR <> 0)
BEGIN
RETURN -2012
END
--------------------------
--<< 1. 수정 전 코드 >> -- 주�*
--------------------------
-- -- 게임 �*버쪽에�* 갱신 �&#222;기 위해 cost 값을 결과 테이블에 넣어�&#208;다.
-- insert into _ResultOfPackageItemToMappingWithServerSide
-- values (@Operation, @CharID, 255, @OwnSilkToPay, 2, 0, 1)
--
-- if (@@ERROR <> 0 or @@ROWCOUNT = 0)
-- begin
-- return -2007
-- end
--
-- insert into _ResultOfPackageItemToMappingWithServerSide
-- values (@Operation, @CharID, 254,@GiftSilkToPay, 4, 0, 1)
--
-- if (@@ERROR <> 0 or @@ROWCOUNT = 0)
-- begin
-- return -2007
-- end
--
-- insert into _ResultOfPackageItemToMappingWithServerSide
-- values (@Operation, @CharID, 253,@MileageToPay, 16, 0, 1)
--------------------------
--<< 1. 수정 후 코드 >> --
--------------------------
-- 게임 �*버쪽에�* 갱신 �&#222;기 위해 cost 값을 결과 테이블에 넣어�&#208;다.
insert into _ResultOfPackageItemToMappingWithServerSide
values (@Operation, @CharID, 255, @OwnSilkToPay, 2, 0, 1, 0)

if (@@ERROR <> 0 or @@ROWCOUNT = 0)
begin
return -2007
end

insert into _ResultOfPackageItemToMappingWithServerSide
values (@Operation, @CharID, 254,@GiftSilkToPay, 4, 0, 1, 0)

if (@@ERROR <> 0 or @@ROWCOUNT = 0)
begin
return -2007
end

insert into _ResultOfPackageItemToMappingWithServerSide
values (@Operation, @CharID, 253,@MileageToPay, 16, 0, 1, 0)


----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------

if (@@ERROR <> 0 or @@ROWCOUNT = 0)
begin
return -2007
end
end

-- gold
if ((@PaymentDevice & 1) > 0)
begin
UPDATE _Char SET RemainGold = @RemainGold WHERE CharID = @PC_ID
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
RETURN -2003
END
end

-- guildpoint
if ((@PaymentDevice & 8) > 0)
BEGIN
-- 길드를 알아와라.
declare @GuildID int
select @GuildID = GuildID from _GuildMember
where CharID = @PC_ID

IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
RETURN -2004
END

-- 길드 포인트 까라.
update _Guild set GatheredSP = GatheredSP - @OffsetOptionalPoint
where GatheredSP >= @OffsetOptionalPoint and ID = @GuildID

IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
/*
-- 없을수도 있는거다.

-- by novice. 2010-01-15 에러코드 데이터형 확장
-- 원래 주석되어 있던 코드이지만, 추후 개발하는 사람들이
-- 수정되지 않은 내용을 보고 혼란스러워 할 수 있어�*
-- 이 부�&#208;까지 수정해버림!
-- declare @Slot tinyint
declare @Slot int
declare @RefItemSerial64 bigint
declare @RefItemDBID bigint
declare @RefItemID int
declare @Type tinyint

-- by novice. 2010-01-15 에러코드 데이터형 확장
-- set @Slot = 0xd0 -- error_num �*버에�* 사용하는 에러

-- MAKE_SRO_SP_ERR_TYPE( _UPDATE_COST, 0x0004);
-- DEFINE_SRO_SP_ERR( SRO_SP_ERR_NOT_ENOUGH_GUILD_POINT, _UPDATE_COST, 0x8001 ); // ==> 0x80010004
-- BIND_SRO_SP_ERR_TO_SRO_ERR( SRO_SP_ERR_NOT_ENOUGH_GUILD_POINT, STRGERR_NOT_ENOUGH_GUILDPOINT );
set @Slot = 0x80010004 -- error_num �*버에�* 사용하는 에러
set @RefItemSerial64 = 0
set @RefItemDBID = 0
set @RefItemID = 0
set @Type = 2
select @Operation, @Slot, @RefItemSerial64, @RefItemDBID, @RefItemID, @Type
*/
RETURN -2005
END
--------------------------
--<< 2. 수정 전 코드 >> --
--------------------------
-- 게임 �*버쪽에�* 갱신 �&#222;기 위해 cost 값을 결과 테이블에 넣어�&#208;다.
-- insert into _ResultOfPackageItemToMappingWithServerSide
-- values (@Operation, @CharID, 252, @OffsetOptionalPoint, 8, 0, 1)
--------------------------
--<< 2. 수정 후 코드 >> --
--------------------------
-- 게임 �*버쪽에�* 갱신 �&#222;기 위해 cost 값을 결과 테이블에 넣어�&#208;다.
insert into _ResultOfPackageItemToMappingWithServerSide
values (@Operation, @CharID, 252, @OffsetOptionalPoint, 8, 0, 1, 0)


----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------

if (@@ERROR <> 0 or @@ROWCOUNT = 0)
begin
return -2007
end
end

-- honorpoint
else if ((@PaymentDevice & 32) > 0)
begin
-- honorpoint 까라.
update _TrainingCampMember set HonorPoint = HonorPoint - @OffsetOptionalPoint
where HonorPoint >= @OffsetOptionalPoint and CharID = @PC_ID

if (@@ERROR <> 0 or @@ROWCOUNT = 0)
begin
return -2006
end
--------------------------
--<< 3. 수정 전 코드 >> --
--------------------------
-- 게임 �*버쪽에�* 갱신 �&#222;기 위해 cost 값을 결과 테이블에 넣어�&#208;다.
-- insert into _ResultOfPackageItemToMappingWithServerSide
-- values (@Operation, @CharID, 252, @OffsetOptionalPoint, 32, 0, 1)

--------------------------
--<< 3. 수정 후 코드 >> --
--------------------------
-- 게임 �*버쪽에�* 갱신 �&#222;기 위해 cost 값을 결과 테이블에 넣어�&#208;다.
insert into _ResultOfPackageItemToMappingWithServerSide
values (@Operation, @CharID, 252, @OffsetOptionalPoint, 32, 0, 1, 0)


----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------

if (@@ERROR <> 0 or @@ROWCOUNT = 0)
begin
return -2007
end
end

SET NOCOUNT OFF


return 1

--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Need Helppp
AqRa is offline  
Old   #2
 
elite*gold: 0
Join Date: May 2013
Posts: 1,447
Received Thanks: 1,046
If it doesn't work, you simply fix it. This table usually do not work because the name of the account database is different than SRO_VT_ACCOUNT.
Anonymous-6723 is offline  
Reply




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


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.