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

vestside

Bağımlı Üye
  • İçerik sayısı

    428
  • Katılım

  • Son ziyaret

  • Günün Kazananı

    1
  • Puan

    10,197 [ Bağış Yap ]

İletiler : vestside



  1. void CNpc::OnDeathProcess(Unit *pKiller)


    if (pUser->isInParty())
    {
    CUser *pPartyUser;
    _PARTY_GROUP *pParty = g_pMain->GetPartyPtr(pUser->GetPartyID());
    if (pParty)
    {
    for (int i = 0; i {
    pPartyUser = g_pMain->GetUserPtr(pParty->uid);
    if (pPartyUser)
    {
    if(pUser->GetID() != pPartyUser->GetID() && pPartyUser->isInRange(this, RANGE_50M)){
    pPartyUser->V3_MonsterCount(GetProtoID());
    pPartyUser->ChallengeMonsterCountAdd(GetProtoID());
    }

    pKillerPartyUsers += string_format("%s,",pPartyUser->GetName().c_str());

    }
    }
    }


    bu şekilde değiştirerek sorunu çözdüm teşekkürler.

  2. Alıntı
    QuestHandlerin sorunlu bununla ilgili 1453 sourcelere bakarak düzeltmeleri yapabilirsin diye düşünüyorum. ve party ile ilgili olarak bir fonksiyon vardı adını unuttum orayıda kontrol etmen gerekir. bilen arkadaşlar adını yazarsa düzeltmen daha kolay olacaktır.


    reis bazı görevlerde mi oluyor anlamadım yada bayadır kodlar ile uğraşıyorum sanırım baya bozdum, party de biri varken 1 kestiğin yaratık 2 sayıyor. paylaşım işini yapmıyor.

  3. Son Güncelleme olarak şunu aktarayım, saymada problem var. yaratığı kestiği zaman kabul ediyor ama yukarıdan kontrol göstermiyor. yani sen 1 tane kestin arkadasın 5 tane sende yaratık 1 tane kesilmiş olarak gösteriyor görev penceresinde ama, sen kesince arkadasından sonra 6 - 7 olarak gösteriyor yani COUNT alıyor ama sanırım STATE yapmıyor.

  4. Öncelikle herkese iyi forumlar, arkadaşlar ACHIEVE sistemini farklı bir SRC den bakarak kendi SRC me uyarladım. daha sonra LOADUSER voidi ile, UPDATEUSER voidlerini olduğu gibi aldım Achieve sini aldığım SRC nin DB sinin de aynı isimlerde prosedürlerini kendi DB me göre ayarladım.

    oyuna girip her türlü şeyi yaptığımda DB tarafına SAVE yapıyor. yalnız GÖREV alıp sunucu dosyalarını kapatıp tekrar oyuna girdiğim zaman. görev listesi QUEST TIPS gelmiyor. ama NPC ye gittiğim zaman görev alındı olarak gösteriyor. ayrıca sunucu dosyaları açıkken aldığım görevler duruyor RELOG attığım da gitmiyor. tek problem komple dosyaları kapatıp acınca görevler gidiyor..

    günlerdir uğraşıyorum bilgisi olan varsa yardımcı olursa inanılmaz sevinirim şimdiden herkese yorumlarından dolayı teşekkürler.

  5. itemleribul prosedurünü farklı bir DB den bul kendi DB ne aktar.

    yada;



    USE [kn_online]
    GO
    /****** Object: StoredProcedure [dbo].[ITEMLERI_BUL] Script Date: 22.07.2018 16:38:52 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER procedure [dbo].[ITEMLERI_BUL]
    @StrUserID varchar(30)
    AS
    DECLARE
    @length int, -- stritem uzunluğu
    @i int, -- item'in stritem deki yeri
    @dwid int,
    @dur int,
    @duar int,
    @StackSize1 int,
    @Sira int,
    @Row int,
    @name varchar(100),
    @extname varchar(100),
    @ext int


    set @i = 14*0+1
    set @length = 601--401

    select @row=count(*) from userdata where
    struserid=@StrUserID

    delete from itemler where struserid=@StrUserID

    if @row>0
    begin

    WHILE @i Begin

    Select
    @dwid=cast(cast(substring(cast(substring(strItem,
    @i,4) as varbinary(4)), 4,
    1)+substring(cast(substring(strItem, @i,4) as
    varbinary(4)), 3, 1)+substring(cast(substring(strItem,
    @i,4) as
    varbinary(4)), 2, 1)+substring(cast(substring(strItem,
    @i,4) as varbinary(4)), 1, 1) as varbinary(4)) as varbinary(4)),
    @dur = cast(cast(cast( substring(strItem, @i+5, 1) as
    varbinary(1))+cast(substring(strItem, @i+4, 1) as
    varbinary(1)) as varbinary(2)) as smallint),
    @StackSize1 = cast(cast(cast( substring(strItem,
    @i+7, 1) as varbinary(1))+cast(substring(strItem,
    @i+6, 1) as
    varbinary(1)) as varbinary(2)) as smallint),
    @StrUserID = strUserID
    From UserData
    Where strUserID = @StrUserID



    if @dwid is null
    set @dwid=0
    if @stacksize1 is null
    set @stacksize1=0
    if @dur is null
    set @dur=0

    insert into itemler
    (dwid,stacksize,durability,struserid,sira,itembasicname
    ,extname)
    values(@dwid,@stacksize1,@dur,@StrUserID,(@i-1)
    / 8,@extname,@name )

    set @i=@i+8

    end
    end
×
×
  • Yeni Oluştur...