Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
brkklkn17

Unknown Char Hk.

Önerilen Mesajlar

Merhaba forum da benzer konulara baktım ama net olarak çözülen konu bulamadım yardımcı olursanız sevinirim
nret kaldırdığım zaman karakter hiç oluşturulmuyor ve log kısmına hata gelmiyor
Log ;

Spoiler

[ ODBC Error - 6.1.2018 0:12:8 ] Source: {CALL LOAD_CHAR_INFO(?)} Error: [Microsoft]

[SQL Server]Procedure or function 'LOAD_CHAR_INFO' expects parameter '@nRet', which was not supplied. Description: Failed to execute statement.



LOAD_CHAR_INFO
Spoiler


GO
/****** Object: StoredProcedure [dbo].[LOAD_CHAR_INFO] Script Date: 06.01.2018 00:04:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[LOAD_CHAR_INFO]
@CharId varchar(21),
@nRet smallint OUTPUT
AS
SELECT @nRet = COUNT(strUserId) FROM USERDATA WHERE strUserId = @CharId
IF @nRet = 0
RETURN

SET @nRet = 1
SELECT Race, Class, HairRGB, [Level], Face, Zone, strItem FROM USERDATA WHERE strUserID = @CharId



Buda şekil de birşey yaparak da denedim aynı sonuç
Spoiler

USE [ko_xpega]
GO
/****** Object: StoredProcedure [dbo].[LOAD_CHAR_INFO] Script Date: 05.01.2018 22:36:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[LOAD_CHAR_INFO]
@strCharID char(21),
@nRet smallint OUTPUT,
@bRace tinyint,
@sClass smallint,
@nHair int,
@bLevel tinyint,
@bFace tinyint,
@bZone tinyint,
@strItem binary(592)
AS
SELECT @nRet = COUNT(strUserId) FROM USERDATA WHERE strUserId = @strCharID
IF @nRet = 0
RETURN

SET @nRet = 1
--SELECT Race, Class, HairRGB, [Level], Face, Zone, strItem FROM USERDATA WHERE strUserID = @CharId
SELECT
@bRace = Race,
@sClass = Class ,
@nHair = HairRGB ,
@bLevel = [LEVEL] ,
@bFace = Face ,
@bZone = city ,
@strItem = strItem from USERDATA WHERE strUserID = @strCharID



CREATE_NEW_CHAR Prosedürüm ;
Spoiler

USE [ko_xpegaEDIT]
GO
/****** Object: StoredProcedure [dbo].[CREATE_NEW_CHAR] Script Date: 06.01.2018 00:18:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[CREATE_NEW_CHAR]
@strAccountID varchar(21),
@index tinyint,
@strCharID varchar(21),
@bRace tinyint,
@sClass smallint,
@nHair int,
@bFace tinyint,
@bStr tinyint,
@bSta tinyint,
@bDex tinyint,
@bIntel tinyint,
@bCha tinyint
AS

DECLARE @bNation tinyint
DECLARE @bCharCount tinyint
DECLARE @bCount tinyint

SELECT @bNation = bNation, @bCharCount = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @strAccountID

IF (@bNation = 1 AND @bRace > 10)
RETURN 2
ELSE IF (@bNation = 2 AND @bRace RETURN 2
ELSE IF (@bNation 1 AND @bNation 2)
RETURN 2

SELECT @bCount = COUNT(strUserID) FROM USERDATA WHERE strUserID = @strCharID

IF (@bCount > 0)
RETURN 3

BEGIN TRAN
IF (@index = 0)
UPDATE ACCOUNT_CHAR SET strCharID1 = @strCharID, bCharNum += 1 WHERE strAccountID = @strAccountID
ELSE IF (@index = 1)
UPDATE ACCOUNT_CHAR SET strCharID2 = @strCharID, bCharNum += 1 WHERE strAccountID = @strAccountID
ELSE IF (@index = 2)
UPDATE ACCOUNT_CHAR SET strCharID3 = @strCharID, bCharNum += 1 WHERE strAccountID = @strAccountID
ELSE IF (@index = 3)
UPDATE ACCOUNT_CHAR SET strCharID4 = @strCharID, bCharNum += 1 WHERE strAccountID = @strAccountID

IF (@@ERROR 0 OR @@ROWCOUNT = 0)
BEGIN
ROLLBACK TRAN
RETURN 4
END

INSERT INTO USERDATA (strUserID, Nation, Race, Class, HairRGB, Face, Strong, Sta, Dex, Intel, Cha)
VALUES (@strCharID, @bNation, @bRace, @sClass, @nHair, @bFace, @bStr, @bSta, @bDex, @bIntel, @bCha)



--HUMAN WARRİOR--
--update userdata set Class = 206 ,strong = '255' , sta = '177' ,Dex='60',Cha='50',Intel='50', [level] = '83' where struserid = @strCharID and @sClass = 201
--HUMAN WARRİOR--


--HUMAN ROGUE--
--update userdata set Class = 208 ,strong = '60' , dex = '255' , sta = '177',Intel='50',Cha='50' , [level] = '83' where struserid = @strCharID and @sClass = 202
--HUMAN ROGUE--


--HUMAN MAGİCİAN--
--update userdata set Class = 210 ,strong = '51' , sta = '135' ,Dex='60', cha = '186' , intel = '160', [level] = '83' where struserid = @strCharID and @sClass = 203
--HUMAN MAGİCİAN--


--HUMAN PRİEST--
--update userdata set Class = 212 ,strong = '194' , sta = '84' , intel = '194',Dex='70',Cha='50' ,[level] = '83' where struserid = @strCharID and @sClass = 204
--HUMAN PRİEST--





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

--KARUS WARRİOR--
--update userdata set Class = 106 ,strong = '255' , sta = '177' ,Dex='60',Cha='50',Intel='50', [level] = '83' where struserid = @strCharID and @sClass = 101
--KARUS WARRİOR--


--KARUS ROGUE--
--update userdata set Class = 108 ,strong = '60' , dex = '255' , sta = '177',Intel='50',Cha='50' , [level] = '83' where struserid = @strCharID and @sClass = 102
--KARUS ROGUE--


--KARUS MAGİCİAN--
--update userdata set Class = 110 ,strong = '51' , sta = '135' ,Dex='60', cha = '186' , intel = '160', [level] = '83' where struserid = @strCharID and @sClass = 103
--KARUS MAGİCİAN--


--KARUS PRİEST--
--update userdata set Class = 112 ,strong = '194' , sta = '84' , intel = '194',Dex='70',Cha='50' ,[level] = '83' where struserid = @strCharID and @sClass = 104
--KARUS PRİEST--







update userdata set Class = 105 where struserid = @strCharID and @sClass = 101
update userdata set Class = 107 where struserid = @strCharID and @sClass = 102
update userdata set Class = 109 where struserid = @strCharID and @sClass = 103
update userdata set Class = 111 where struserid = @strCharID and @sClass = 104

update userdata set Class = 205 where struserid = @strCharID and @sClass = 201
update userdata set Class = 207 where struserid = @strCharID and @sClass = 202
update userdata set Class = 209 where struserid = @strCharID and @sClass = 203
update userdata set Class = 211 where struserid = @strCharID and @sClass = 204







DECLARE @bFree tinyint
SET @bFree = 0


--EXEC GIVE_BEGINNER_ITEM @StrCharID







IF (@@ERROR 0)






BEGIN
ROLLBACK TRAN
RETURN 4
END
COMMIT TRAN

RETURN 0




TB_USER Tablom ;
Spoiler

USE [ko_xpega]
GO

/****** Object: Table [dbo].[TB_USER] Script Date: 06.01.2018 00:19:20 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[TB_USER](
[ID] [int] IDENTITY(1,1) NOT NULL,
[strAccountID] [varchar](21) NOT NULL,
[strPasswd] [varchar](28) NULL,
[strSealPasswd] [char](8) NOT NULL CONSTRAINT [DF_TB_USER_strSealPasswd] DEFAULT ((12345678)),
[strClientIP] [char](15) NULL,
[bPremiumType] [tinyint] NOT NULL CONSTRAINT [DF_TB_USER_bPremiumType] DEFAULT ((0)),
[dtPremiumTime] [datetime] NULL CONSTRAINT [DF_TB_USER_dtPremiumTime] DEFAULT (getdate()),
[sHours] [smallint] NOT NULL CONSTRAINT [DF_TB_USER_sHours] DEFAULT ((0)),
[dtCreateTime] [datetime] NULL CONSTRAINT [DF_TB_USER_dtCreateTime] DEFAULT (getdate()),
[NPoints] [int] NULL CONSTRAINT [DF_TB_USER_CashPoint] DEFAULT ((0)),
[varchar](50) NULL,
[guvenlikcevap] [varchar](50) NULL,
[guvenliksoru] [varchar](50) NULL,
[TCashPoint] [int] NULL,
[PusAdmin] [tinyint] NULL CONSTRAINT [DF_TB_USER_PusAdmin] DEFAULT ((0)),
[strAuthority] [tinyint] NULL CONSTRAINT [DF_TB_USER_strAuthority] DEFAULT ((6)),
[KraftAdmin] [int] NULL,
[free_slot] [int] NOT NULL DEFAULT ((0))
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO




USERDATA Tablom ;
Spoiler

USE [ko_xpega]
GO

/****** Object: Table [dbo].[USERDATA] Script Date: 06.01.2018 00:19:50 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[USERDATA](
[strUserID] [char](21) NOT NULL,
[Nation] [tinyint] NOT NULL,
[Race] [tinyint] NOT NULL,
[Class] [smallint] NOT NULL,
[HairRGB] [int] NULL,
[Rank] [tinyint] NOT NULL CONSTRAINT [DF_Table_1_Rank] DEFAULT ((0)),
[Title] [tinyint] NOT NULL CONSTRAINT [DF_Table_1_Title] DEFAULT ((0)),
[Level] [tinyint] NOT NULL CONSTRAINT [DF_Table_1_Level] DEFAULT ((83)),
[bLevelRebirth] [tinyint] NULL CONSTRAINT [DF_USERDATA_bRebLevel] DEFAULT ((0)),
[exp] [bigint] NOT NULL CONSTRAINT [DF_USERDATA_exp] DEFAULT ((1)),
[Loyalty] [int] NOT NULL CONSTRAINT [DF_Table_1_Loyalty] DEFAULT ((100)),
[Face] [tinyint] NOT NULL,
[City] [tinyint] NOT NULL CONSTRAINT [DF_Table_1_City] DEFAULT ((0)),
[Knights] [smallint] NOT NULL CONSTRAINT [DF_Table_1_Knights] DEFAULT ((0)),
[Fame] [tinyint] NOT NULL CONSTRAINT [DF_Table_1_Fame] DEFAULT ((0)),
[Hp] [smallint] NOT NULL CONSTRAINT [DF_Table_1_Hp] DEFAULT ((100)),
[Mp] [smallint] NOT NULL CONSTRAINT [DF_Table_1_Mp] DEFAULT ((100)),
[Sp] [smallint] NOT NULL CONSTRAINT [DF_Table_1_Sp] DEFAULT ((100)),
[Strong] [tinyint] NOT NULL,
[Sta] [tinyint] NOT NULL,
[Dex] [tinyint] NOT NULL,
[Intel] [tinyint] NOT NULL,
[Cha] [tinyint] NOT NULL,
[Authority] [tinyint] NOT NULL CONSTRAINT [DF_Table_1_Authority] DEFAULT ((1)),
[Points] [smallint] NOT NULL CONSTRAINT [DF_Table_1_Points] DEFAULT ((302)),
[Gold] [int] NOT NULL CONSTRAINT [DF_Table_1_Gold] DEFAULT ((500000)),
[Zone] [tinyint] NOT NULL CONSTRAINT [DF_Table_1_Zone] DEFAULT ((21)),
[Bind] [smallint] NULL,
[PX] [int] NOT NULL CONSTRAINT [DF_Table_1_PX] DEFAULT ((81700)),
[PZ] [int] NOT NULL CONSTRAINT [DF_Table_1_PZ] DEFAULT ((43500)),
[PY] [int] NOT NULL CONSTRAINT [DF_Table_1_PY] DEFAULT ((0)),
[dwTime] [int] NOT NULL CONSTRAINT [DF_Table_1_dwTime] DEFAULT ((0)),
[strSkill] [varchar](10) NULL CONSTRAINT [DF_USERDATA_strSkill] DEFAULT ('”'),
[strItem] [binary](592) NULL,
[strSerial] [binary](592) NULL,
[strVIPItem] [binary](392) NULL,
[strVIPSerial] [binary](392) NULL CONSTRAINT [DF_USERDATA_strVIPSerial] DEFAULT ((12345678)),
[sQuestCount] [smallint] NOT NULL CONSTRAINT [DF_Table_1_sQuestCount] DEFAULT ((0)),
[sAchieveQuestCount] [int] NOT NULL CONSTRAINT [DF_USERDATA_sAchieveQuestCount] DEFAULT ((0)),
[strQuest] [binary](600) NULL,
[strAchieveQuest] [binary](1500) NULL,
[MannerPoint] [int] NOT NULL CONSTRAINT [DF_Table_1_MannerPoint] DEFAULT ((0)),
[LoyaltyMonthly] [int] NOT NULL CONSTRAINT [DF_Table_1_LoyaltyMonthly] DEFAULT ((0)),
[iSavedCONT] [int] NOT NULL CONSTRAINT [DF_USERDATA_iSavedCONT_1] DEFAULT ((0)),
[strItemTime] [binary](592) NULL CONSTRAINT [DF_USERDATA_strItemTime] DEFAULT ((0)),
[strVIPItemTime] [binary](392) NULL,
[dtCreateTime] [datetime] NOT NULL CONSTRAINT [DF_Table_1_dtCreateTime] DEFAULT (getdate()),
[dtUpdateTime] [datetime] NULL,
[strMemo] [char](21) NULL CONSTRAINT [DF_USERDATA_strMemo] DEFAULT ('XEIDON'),
[sGenieTime] [smallint] NOT NULL CONSTRAINT [DF_USERDATA_sGenieTime] DEFAULT ((120)),
[strGenieOptions] [char](100) NULL,
[strQuestKill] [varchar](1200) NULL,
[strAchieveQuestKill] [varchar](3000) NULL,
[strRebStats] [binary](50) NULL CONSTRAINT [DF_USERDATA_strRebStats] DEFAULT ((0)),
[dtUpdateClan] [int] NULL CONSTRAINT [DF_USERDATA_dtUpdateClan] DEFAULT ((0)),
[id] [int] IDENTITY(1,1) NOT NULL,
[SkillTitle] [int] NOT NULL CONSTRAINT [DF_USERDATA_AchieveCoverTitle] DEFAULT ((0)),
[CoverTitle] [int] NOT NULL CONSTRAINT [DF_USERDATA_CoverTitle] DEFAULT ((0)),
[VIPStorePassword] [char](4) NOT NULL CONSTRAINT [DF_USERDATA_VIPStorePassword] DEFAULT ('0'),
[VIPStoreMinute] [int] NOT NULL CONSTRAINT [DF_USERDATA_VIPStoreMinute] DEFAULT ((0)),
[iMonsterDefeatedCount] [int] NOT NULL CONSTRAINT [DF_USERDATA_iMonsterDefeatedCount] DEFAULT ((0)),
[iUserDefeatedCount] [int] NOT NULL CONSTRAINT [DF_USERDATA_iUserDefeatedCount] DEFAULT ((0)),
[iUserDeathCount] [int] NOT NULL CONSTRAINT [DF_USERDATA_iUserDeathCount] DEFAULT ((0)),
[iAchievementPoint] [int] NOT NULL CONSTRAINT [DF_USERDATA_iAchievementPoint] DEFAULT ((0)),
[LastOnline] [int] NOT NULL CONSTRAINT [DF_USERDATA_LastOnline] DEFAULT ((0)),
[sQuestUseCount] [smallint] NOT NULL DEFAULT ((0)),
[strQuestUse] [binary](1296) NOT NULL DEFAULT ((0)),
[tip] [smallint] NULL,
CONSTRAINT [PK_USERDATA] PRIMARY KEY CLUSTERED
(
[strUserID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO



6J7dl3.jpg

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Sourcedeki..

LOAD_CHAR_INFO bulur musu onun bakar mısı..

Ayrıca sexyko src kullanıyorsun onun pek tek tek load sql yazılmak gerekiyor.. bunu bil.


Yorumun için çok teşekkür ederim evet biliyorum uğraşmak gelişim açısından iyidir diye düşünmekteyim :)
KOD;
Spoiler

unique_ptr dbCommand(m_GameDB->CreateCommand());
if (dbCommand.get() == nullptr)
return;

dbCommand->AddParameter(SQL_PARAM_INPUT, strCharID.c_str(), strCharID.length());

if (!dbCommand->Execute(_T("{CALL LOAD_CHAR_INFO(?)}")))
ReportSQLError(m_GameDB->GetError());

if (dbCommand->hasData())
{
dbCommand->FetchByte(1, bRace);
dbCommand->FetchUInt16(2, sClass);
dbCommand->FetchUInt32(3, nHair);
dbCommand->FetchByte(4, bLevel);
dbCommand->FetchByte(5, bFace);
dbCommand->FetchByte(6, bZone);
dbCommand->FetchBinary(7, strItem, sizeof(strItem));
}
}

itemData.append(strItem, sizeof(strItem));

result for (int i = 0; i {
uint32 nItemID,unused;
uint16 sDurability, sCount;
itemData >> nItemID >> sDurability >> sCount >> unused;
if (i == HEAD || i == BREAST || i == SHOULDER || i == LEG || i == GLOVE || i == FOOT || i == RIGHTHAND || i == LEFTHAND)
result }

İletiyi paylaş


Link to post
Sitelerde Paylaş

bunu uğraşmak amacı yok C++ bunu void kısımı öğrenmek gerekiyor bilmedigimi olmasa çözemezsin dikkatli çekmiyorsun.. Yardım yardım diye soruyorsun bende.. ban yedim diyorsa neden böyle söyledin ?

Göhkan ? :abow:

if (!dbCommand->Execute(_T("{CALL LOAD_CHAR_INFO(?)}")))

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
bunu uğraşmak amacı yok C++ bunu void kısımı öğrenmek gerekiyor bilmedigimi olmasa çözemezsin dikkatli çekmiyorsun.. Yardım yardım diye soruyorsun bende.. ban yedim diyorsa neden böyle söyledin ?

Göhkan ? :abow:

if (!dbCommand->Execute(_T("{CALL LOAD_CHAR_INFO(?)}")))


Tabiri caizse hiçbir şey anlamadım dedikleriniz den?

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
sorunu çözdüm eksik yokmuş konuyu kilitleye bilrisiniz


Forumdakı dıger arkadasların yararlanması ıcın cozumu yazarsan cok daha ıyı olur dostum.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin

Bu şekilde gelenlere yardım etmeyin.
Bütün elinde ne varsa gerekli gereksiz konuya atmış öğrenmeye çalışmıyor dosyaları hazıra yaptırmaya çalışıyor.
Konu kapatılmıştır.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Misafir
Bu konu kapalıdır ama konuya cevap yazmaya yetkiniz var görünüyor.

×
×
  • Yeni Oluştur...