[C++] Atın Canı Dolduğunda Beslenmesini Engellemek

MT2Dev

Cplusplus
Premium Üye
Geliştirici
Usta Üye
Mesaj
316
Çözümler
20
Beğeni
578
Puan
824
Ticaret Puanı
0
GİRİŞ & PROBLEM

Merhaba, biliyorsunuz ki oyundaki at sisteminde oyuncu atını sınırsız şekilde arka arkaya besleyebiliyor, bu durum kodlardaki kontroller sebebiyle bir overflow sorunu yaratmayacaktır fakat canı zaten fullenmiş bir atı beslemenin de oyuncuya hiçbir faydası yok diye düşünüyorum.

NEDEN & NELERİ DEĞİŞTİRDİK ?

Atın canı maksimum seviyeye ulaştığında beslenmeye reddetmesini ve oyuncunun bir bilgilendirme mesajı almasını sağladık ayrıca ekstra kontroller de ekledik.


GÜNCELLEME - 29 HAZİRAN 2024

M2Dev'de iki arkadaşın verdiği feedback ile çözüm sağlandı, o yüzden son hali için güncelliyorum şimdi sorunsuz çalışacak.

NASIL YAPILIR ?

Öncelikle "horse_rider.cpp" dosyası açılır.

Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.


Sonrasında "char_item.cpp" dosyası açılır.
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.


Sonrasında "cmd_general.cpp" dosyası açılır.
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.



Sonrasında "questlua_horse.cpp" dosyası açılır.
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.



Son olarak "locale_string.txt" açılarak sonuna eklenir;
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.


Son bir ekleme yapmak gerekiyor, at menüsünü kullanarak yapılan besleme işlemi için bir kontrol daha eklendi, bunun için eklenti olarak konu altında bulabileceğiniz horse_menu.rar dosyasını indirin ve içerisindeki .quest dosyasını questlerinizin içine atıp okutun, işlem tamam.
MT2Dev
 

Dosya Eklentileri

Son düzenleme:
At tok ve sağlıklı olmasına rağmen yiyor, kırmızı ginseng yemeye devam ediyor neden çalışmadı 1-1 aynı herşey
ChatPacket (CHAT_TYPE_INFO, LC_TEXT ("HORSE_HEALTH_ALREADY_FULL")); build ederken bu kısımda da ChatPacket hatası veriyor build almıyor neyi include etmemiz lazım?
Elinize sağlık.
 
At tok ve sağlıklı olmasına rağmen yiyor, kırmızı ginseng yemeye devam ediyor neden çalışmadı 1-1 aynı herşey
ChatPacket (CHAT_TYPE_INFO, LC_TEXT ("HORSE_HEALTH_ALREADY_FULL")); build ederken bu kısımda da ChatPacket hatası veriyor build almıyor neyi include etmemiz lazım?
Elinize sağlık.
Yorumunuz için teşekkürler öncelikle, bunun olmaması gerekir, FeedHorse fonksiyonunu güncelliyorum, yeni haliyle tekrar dener misiniz ? ChatPacket için de char.h include etmek gerek, onu da ekliyorum.
 
Adsız.png

Yorumunuz için teşekkürler öncelikle, bunun olmaması gerekir, FeedHorse fonksiyonunu güncelliyorum, yeni haliyle tekrar dener misiniz ? ChatPacket için de char.h include etmek gerek, onu da ekliyorum.
aynı include ettim. Lider hesabın atı kara at, sol üstte at Tok yazıyor yinede kırmızı ginseng ile besle diyorum besliyorum yiyor
 
17267 eklentisini görüntüle

aynı include ettim. Lider hesabın atı kara at, sol üstte at Tok yazıyor yinede kırmızı ginseng ile besle diyorum besliyorum yiyor

Build sorunu devam ediyorsa chatpacket satırınının başına // koyup deaktif hale getirip buildi tamamlayın, buildde hata alıp nasıl denediğinizi anlamadım ama eğer bu şekilde yapıp build alıp denediyseniz sadece Tok yazısının yazması canın full olduğu anlamına gelmez, arka arkaya yem yedirmeye devam edin, bir noktadan sonra artık kırmızı ginseng gitmemeye başlamalı, kodu ve fonksiyonları kontrol ettim bir hata göremiyorum sorunsuz çalışması lazım.

EShopPackets olarak değiştir build alsana. Dener misin.

Bunu yapmayın, orada gösterilen öneri hiçbir zaman çözüm değildir bunu da bilgi olarak vereyim, derleyici ilgili tanımlamayı bulamadığı için size benzer isimde farklı bir fonksiyon öneriyor, Google'ın bunu mu demek istediniz özelliği gibi düşünün.
 
Build sorunu devam ediyorsa chatpacket satırınının başına // koyup deaktif hale getirip buildi tamamlayın, buildde hata alıp nasıl denediğinizi anlamadım ama eğer bu şekilde yapıp build alıp denediyseniz sadece Tok yazısının yazması canın full olduğu anlamına gelmez, arka arkaya yem yedirmeye devam edin, bir noktadan sonra artık kırmızı ginseng gitmemeye başlamalı, kodu ve fonksiyonları kontrol ettim bir hata göremiyorum sorunsuz çalışması lazım.



Bunu yapmayın, orada gösterilen öneri hiçbir zaman çözüm değildir bunu da bilgi olarak vereyim, derleyici ilgili tanımlamayı bulamadığı için size benzer isimde farklı bir fonksiyon öneriyor, Google'ın bunu mu demek istediniz özelliği gibi düşünün.
Bunu ilk defa filesim de olmayan efsunlar için denemiştim bu sebebten işe yarayabilir diye düşündüm filesimde metin ve bosslara karşı efsunlar yoktu önerileri orc ve lucifer di ve çalışmıştı demek ki her zaman geçerli bir durum değil.
 
Son düzenleme:
Bunu ilk defa filesim de olmayan efsunlar için denemiştim bu sebebten işe yarayabilir diye düşündüm filesimde metin ve bosslara karşı efsunlar yoktu önerileri orc ve lucifer di ve çalışmıştı demek ki her zaman geçerli bir durum değil.
Tabii ki, tahmin ettim böyle bir durum olduğunu hazır konusu geçmişken araya bir bilgi sıkıştırayım dedim. 😄
 
ChatPacket fonksiyonunu doğru şekilde çağırıp çalıştırmak için fonksiyonda biraz değişiklik yapmak gerek, biraz ince bir iş gerekecek ve tabii FeedHorse çağrılan her yerin değiştirilmesi gerekecek, şuan bununla uğraşacak vaktim olmadığı için geçici olarak ChatPacket kısmını başına // koyarak deaktif edin, sonrasında güncelleme vereceğim.
 
Konu güncellendi, lütfen bu fixi kullanan veya hata verdiği için ekleyememiş olan herkes tekrar eklesin. Artık sorunsuz çalışacaktır..

Quest için son bir güncelleme verildi, tüm eksiklikler giderilmiş oldu, farklı bir sıkıntı yaşarsanız -ki artık sanmıyorum- yorum yazmaktan çekinmeyin.
 
En son bir moderatör tarafından düzenlenmiş:
Konu son kez güncellendi, artık ne at menüsünden, ne kısayol tuşlarıyla, ne at yemini atın üstüne sürükleyerek, ne de quest üzerinden atın canı doluyken beslenmesi mümkün değil, hepsine gerekli kontroller eklendi. Ekleyen arkadaşlar lütfen güncellesin, iyi forumlar.
 
Üst