Hızlı RuhTaşı Ve Bk Okuma Sistemi

ruhtasiac questini tekrardan okut ve o sil dediğim dosların olduğu kısımdaki diğer dosyaların içerisine bak sildiğin dosyayla aynı isimde başka dosya varsa sil.

Bilgisayar başında değilim tamda yardımcı olamıyorum kusura bakma.
 
ruhtasiac questini tekrardan okut ve o sil dediğim dosların olduğu kısımdaki diğer dosyaların içerisine bak sildiğin dosyayla aynı isimde başka dosya varsa sil.

Bilgisayar başında değilim tamda yardımcı olamıyorum kusura bakma.
tüm quest klasörünü tarıyorum,
Linkleri görebilmek için giriş yap veya kayıt ol.
sonuc bu şekilde başka quest yada object klasöründe dosya çıkmıyor çok garip gerçekten
 
tüm quest klasörünü tarıyorum,
Linkleri görebilmek için giriş yap veya kayıt ol.
sonuc bu şekilde başka quest yada object klasöründe dosya çıkmıyor çok garip gerçekten
Benim mallığım hocam durumu düzelttim, sistemi kuracak kuran arkadaşlardan ben gibi duruma düşen olursa diye açıklıyorum.
çalıştıgım files dbden locale kısmında english kısmında kalmış ben questi turkey içine attım okuttum. sanırım bknın calısma sebebi önceden hiçbir questi olmamasıydı. şimdi bu eklenti sayesinde bu durumlarıda düzeltmiş oldum.

Linkleri görebilmek için giriş yap veya kayıt ol.
 
C++:
Genişlet Daralt Kopyala
                        if (distribution_test_server)
                            iReadDelay /= 3;

distribution_test_server kodlarını ben kaldırmıştım gereksiz diye senin kodundan bunu kaldırdığımda doğal olarak böyle bir hata almaktayım

HATA:
Genişlet Daralt Kopyala
cmd_general.cpp:527:51: error: comparison between pointer and integer ('CAffect *' and 'bool')
  527 |                         if (ch->FindAffect(AFFECT_SKILL_NO_BOOK_DELAY) == false && ch->CountSpecifyItem(71001) < 1)
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~

C++:
Genişlet Daralt Kopyala
            if (ch->FindAffect(AFFECT_SKILL_NO_BOOK_DELAY) == false && ch->CountSpecifyItem(71001) < 1)
            {
                ch->SkillLearnWaitMoreTimeMessage(ch->GetSkillNextReadTime(skillindex) - get_global_time());
                return;
            }

Bunuda false değerini nullptr şeklinde düzelttikten sonra önüme tekrar bir hata düşüyor

HATA:
Genişlet Daralt Kopyala
ld: error: undefined symbol: CHARACTER::BKBul(long) const
>>> referenced by cmd_general.cpp:354
>>>               OBJDIR/cmd_general.o:(bk_event(boost::intrusive_ptr<event>, long))
>>> referenced by cmd_general.cpp:492
>>>               OBJDIR/cmd_general.o:(do_bkoku(CHARACTER*, char const*, int, int))
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

Bu hatanın nedeninin cmd.cpp dosyasında eklememiz gereken ama eklemediğimiz bir şey varmış gibi geliyor bana burada kaldım bir bakabilir misin?
 
C++:
Genişlet Daralt Kopyala
                        if (distribution_test_server)
                            iReadDelay /= 3;

distribution_test_server kodlarını ben kaldırmıştım gereksiz diye senin kodundan bunu kaldırdığımda doğal olarak böyle bir hata almaktayım

HATA:
Genişlet Daralt Kopyala
cmd_general.cpp:527:51: error: comparison between pointer and integer ('CAffect *' and 'bool')
  527 |                         if (ch->FindAffect(AFFECT_SKILL_NO_BOOK_DELAY) == false && ch->CountSpecifyItem(71001) < 1)
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~

C++:
Genişlet Daralt Kopyala
            if (ch->FindAffect(AFFECT_SKILL_NO_BOOK_DELAY) == false && ch->CountSpecifyItem(71001) < 1)
            {
                ch->SkillLearnWaitMoreTimeMessage(ch->GetSkillNextReadTime(skillindex) - get_global_time());
                return;
            }

Bunuda false değerini nullptr şeklinde düzelttikten sonra önüme tekrar bir hata düşüyor

HATA:
Genişlet Daralt Kopyala
ld: error: undefined symbol: CHARACTER::BKBul(long) const
>>> referenced by cmd_general.cpp:354
>>>               OBJDIR/cmd_general.o:(bk_event(boost::intrusive_ptr<event>, long))
>>> referenced by cmd_general.cpp:492
>>>               OBJDIR/cmd_general.o:(do_bkoku(CHARACTER*, char const*, int, int))
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

Bu hatanın nedeninin cmd.cpp dosyasında eklememiz gereken ama eklemediğimiz bir şey varmış gibi geliyor bana burada kaldım bir bakabilir misin?
C++:
Genişlet Daralt Kopyala
if (!ch->FindAffect(AFFECT_SKILL_NO_BOOK_DELAY) && ch->CountSpecifyItem(71001) < 1)

bu şekilde düzelt.
 
Beceri kitabı okurken beceri kitabında kaç adet olduğunu gösteren kısım sayıyı yanlış gösteriyor envanterdeki tüm beceri kitaplarının toplamını hesaplıyor bu işlem doğrumu sizce ?
 
111.webp


2222.webp



Kuran Çarpsın kafayı yicem ya :) Bunu da revize etmek şart oldu :)

Edit:

Başladım Bakalım :)

222.webp
 
Son düzenleme:
Beceri kitabı okurken beceri kitabında kaç adet olduğunu gösteren kısım sayıyı yanlış gösteriyor envanterdeki tüm beceri kitaplarının toplamını hesaplıyor bu işlem doğrumu sizce ?

SetItemSlot içindeki count yerine GetItemCountByVnum eklenmiş sanırım o envanterdeki tüm bkları alıyor olabilir kodu görmeden tahminen söylüyorum. Şöyle birşey yapacaksın guideki beceriye tıkladığında bir becerinin max kaçta master seviyesi bitiyorsa onu alacaksın sonra o becerinin seviyesini alacaksın

max beceri seviyesi - beceri seviyen = kalan beceri seviyen

Kalan beceri seviyen senin master seviyesinin bitmesi için gereken kitap sayın olacak. O sayıyı da SetItemSlotun count yerine yazdıracaksın bunu da her beceriyi geliştirdiğinde slotu tekrar güncelleyeceksin.
 
Son düzenleme:
SetItemSlot içindeki count yerine GetItemCountByVnum eklenmiş sanırım o envanterdeki tüm bkları alıyor olabilir kodu görmeden tahminen söylüyorum. Şöyle birşey yapacaksın guideki beceriye tıkladığında bir becerinin max kaçta master seviyesi bitiyorsa onu alacaksın sonra o becerinin seviyesini alacaksın

max beceri seviyesi - beceri seviyen = kalan beceri seviyen

Kalan beceri seviyen senin master seviyesinin bitmesi için gereken kitap sayın olacak. O sayıyı da SetItemSlotun count yerine yazdıracaksın bunu da her beceriyi geliştirdiğinde slotu tekrar güncelleyeceksin.
sadece seçili seçili becerinin kitap sayısını göstermek içinde > seçili skill id sini alıp envanterdeki kitapların value0 ı ile aynı olanları yazdırmalı.
 
sadece seçili seçili becerinin kitap sayısını göstermek içinde > seçili skill id sini alıp envanterdeki kitapların value0 ı ile aynı olanları yazdırmalı.
Tamam zaten bende onu diyorum guide hangi beceriyi seçtiyse diye anlattığım şey ile bahsettiğin şey aynı.
 
Python Dosyalarını'da Temize çektikten sonra bu foruma özel burada olacak. :)

Skill'e tıkladığınızda ActivateSlot çalışıyor fakat pencereyi kapatıp tekrar açsanız bile hala daha aynı skill slotunda çalışır durumdaydı bu sıkıntılı bir durum. Bunu fixledim.



Ruh Taşı ve Skill Penceresini Açmak Common Olarak Çalışır. (1: HEADER 1: SUBHEADER)

666.webp


22222222.webp


Eğer Beceri Seçmemişseniz Skill Penceresini Açamazsınız.

4444.webp


Ruh Taşı:

3333.webp


Çalışma Şekilleri CMD_GENERAL'den Çıkarıldı ve Python Dosyasından Client - Game İletişimi İle CHAR.cpp Tarafına Taşındı.

Örnek SkillBook:

5555.webp


SkillBook Tamam Bitti. :) Saat 04:43 Uyumam Lazım :) Yarın'da Ruh Taşını Yapıp Sallıyorum İnşAllah. :)
 
Son düzenleme:
Geri
Üst