Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
KO Developers Platformuna Hoşgeldin!
KroniqWaqaa

21xx Oto Master

Önerilen Mesajlar

Herkese Merhaba;

Konuyu Doğru yeremi açtım bilmiyorum kusuruma bakmayın.

21xx Database' de 60 LvL' e gelince otomatik master açılıyor. Bunu kapatıp master ı görevlerle açmak istiyorum. yardımcı olabilecek varsa şimdiden teşkkür ederim.

İletiyi paylaş


Link to post
Sitelerde Paylaş

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

/*EXEC StartBanka strAccountID*/


/*EXEC GIVE_BEGINNER_ITEM strAccountID*/
EXEC ITEM_VER @StrCharID
IF (@@ERROR 0)
BEGIN
ROLLBACK TRAN
RETURN 4
END
COMMIT TRAN

RETURN 0

İletiyi paylaş


Link to post
Sitelerde Paylaş

LOAD_USER_DATA prosedüründe olabilir, eğer karakter 60 levelden yüksek ise 205 class ını 206, 207 yi 208 yap gibi bir kontrol vardır. Bir incele istersen.

CREATE_NEW_CHAR'da olmaz çünkü 60 tan sonra açılıyor demiş arkadaş. İlk açtığı anda masterli gelmiyormuş.

İletiyi paylaş


Link to post
Sitelerde Paylaş

Aynenn @ aakinci' nında dediği gibi. Char açarken 'NewBie' Sınıfında açılıyor. fakat 59'dan 60 a geçince master otomatik açılıyor.

@ aakinci Prosedurde birşey bulamadım bakabilirimisin gözden kaçırdığım birşey olabilir.

USE [kn_online]

GO
/****** Object: StoredProcedure [dbo].[LOAD_USER_DATA] Script Date: 13.02.2018 16:58:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[LOAD_USER_DATA]
@strAccountID varchar(21),
@strCharID varchar(21)
AS

DECLARE @strCharID1 varchar(21), @strCharID2 varchar(21), @strCharID3 varchar(21), @strCharID4 varchar(21)

SELECT @strCharID1 = ISNULL(strCharID1, ''),
@strCharID2 = ISNULL(strCharID2, ''),
@strCharID3 = ISNULL(strCharID3, ''),
@strCharID4 = ISNULL(strCharID4, '')
FROM ACCOUNT_CHAR WHERE strAccountID = @strAccountID

IF (@strCharID NOT IN(@strCharID1, @strCharID2, @strCharID3, @strCharID4))
RETURN

DECLARE @ Knights int, @ Knights2 int, @Zone int, @Kc int
SELECT @ Knights=Knights,@Zone =Zone from USERDATA where strUserID=@strCharID
select @Kc = Cashpoint from tb_user where strAccountID=@strAccountID
SELECT @ Knights2=count(*) from KNIGHTS where IDNum=@ Knights
IF (@ Knights2 = 0)
BEGIN

UPDATE USERDATA SET KNIGHTS=0,FAME=0 WHERE strUserID=@strCharID
END
if (@Zone = 21 or @Zone = 22)
begin
UPDATE USERDATA SET PX=81360,PZ=42940,Zone=21 WHERE strUserID=@strCharID
END
if (@Kc begin
UPDATE TB_USER set cashpoint = 1 where strAccountID=@strAccountID
END

SELECT Nation, Race, Class, HairRGB, [Rank], Title, [Level],bLevelRebirth, [Exp], Loyalty, Face, City, Knights, Fame, Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, Zone, Bind, PX, PZ, PY, dwTime, strSkill, strItem, strSerial, strVIPItem, strVIPSerial,sQuestCount,sQuestUseCount, sAchieveQuestCount, strQuest,strQuestUse, strAchieveQuest, MannerPoint, LoyaltyMonthly, strItemTime, strVIPItemTime, strMemo, sGenieTime, strGenieOptions, strAchieveQuestKill, strRebStats, SkillTitle, CoverTitle, VIPStorePassword, VIPStoreMinute, iMonsterDefeatedCount, iUserDefeatedCount, iUserDeathCount, iAchievementPoint,LastOnline FROM USERDATA WHERE strUserID = @strCharID

-- mesaja ek olarak --
Aynenn @ aakinci' nında dediği gibi. Char açarken 'NewBie' Sınıfında açılıyor. fakat 59'dan 60 a geçince master otomatik açılıyor.

@ aakinci Prosedurde birşey bulamadım bakabilirimisin gözden kaçırdığım birşey olabilir.

USE [kn_online]

GO
/****** Object: StoredProcedure [dbo].[LOAD_USER_DATA] Script Date: 13.02.2018 16:58:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[LOAD_USER_DATA]
@strAccountID varchar(21),
@strCharID varchar(21)
AS

DECLARE @strCharID1 varchar(21), @strCharID2 varchar(21), @strCharID3 varchar(21), @strCharID4 varchar(21)

SELECT @strCharID1 = ISNULL(strCharID1, ''),
@strCharID2 = ISNULL(strCharID2, ''),
@strCharID3 = ISNULL(strCharID3, ''),
@strCharID4 = ISNULL(strCharID4, '')
FROM ACCOUNT_CHAR WHERE strAccountID = @strAccountID

IF (@strCharID NOT IN(@strCharID1, @strCharID2, @strCharID3, @strCharID4))
RETURN

DECLARE @ Knights int, @ Knights2 int, @Zone int, @Kc int
SELECT @ Knights=Knights,@Zone =Zone from USERDATA where strUserID=@strCharID
select @Kc = Cashpoint from tb_user where strAccountID=@strAccountID
SELECT @ Knights2=count(*) from KNIGHTS where IDNum=@ Knights
IF (@ Knights2 = 0)
BEGIN

UPDATE USERDATA SET KNIGHTS=0,FAME=0 WHERE strUserID=@strCharID
END
if (@Zone = 21 or @Zone = 22)
begin
UPDATE USERDATA SET PX=81360,PZ=42940,Zone=21 WHERE strUserID=@strCharID
END
if (@Kc begin
UPDATE TB_USER set cashpoint = 1 where strAccountID=@strAccountID
END

SELECT Nation, Race, Class, HairRGB, [Rank], Title, [Level],bLevelRebirth, [Exp], Loyalty, Face, City, Knights, Fame, Hp, Mp, Sp, Strong, Sta, Dex, Intel, Cha, Authority, Points, Gold, Zone, Bind, PX, PZ, PY, dwTime, strSkill, strItem, strSerial, strVIPItem, strVIPSerial,sQuestCount,sQuestUseCount, sAchieveQuestCount, strQuest,strQuestUse, strAchieveQuest, MannerPoint, LoyaltyMonthly, strItemTime, strVIPItemTime, strMemo, sGenieTime, strGenieOptions, strAchieveQuestKill, strRebStats, SkillTitle, CoverTitle, VIPStorePassword, VIPStoreMinute, iMonsterDefeatedCount, iUserDefeatedCount, iUserDeathCount, iAchievementPoint,LastOnline FROM USERDATA WHERE strUserID = @strCharID

İletiyi paylaş


Link to post
Sitelerde Paylaş
Teşkkür Ederim @ HKS. Fakat denemek için elimde sorunsuz derlenebilen bi sourcem yok. sitedeki çoğu source de derlenmiyor. VS işlerindende pek anlamıyorum. varmı sorunsuz derlenebilen tavsiye edebileceğin bir 21x source.

İletiyi paylaş


Link to post
Sitelerde Paylaş

Konu yanlış kategoriye açılmıştır.. Lütfen yardım konularınızı (Genel Yardım) kategorisine açmaya özen gösteriniz..

Konu çözüldüğünden çözülen konular arasına taşınmıştır !

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...