Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Görev Sistemi C++

  • Konuyu başlatan Konuyu başlatan diconeta123
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 4
  • Görüntüleme Görüntüleme 242

diconeta123

Level 1
Üye
Katılım
6 Nis 2014
Konular
3
Mesajlar
19
Çözüm
1
Online süresi
1d 7h
Reaksiyon Skoru
11
Altın Konu
0
TM Yaşı
12 Yıl 2 Ay 1 Gün
Başarım Puanı
63
MmoLira
531
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!



[SİSTEM ÖZETİ] Canavar Avcısı (Monster Kill Quest) Sistemi

Bu proje, oyuncuların oyun içinde aktif görevlerini takip edebileceği, sunucu (C++) ve istemci (Python) arasında tam senkronize çalışan modern bir görev takip sistemidir.
Hem eski nesil oyunlara ve yeni nesil oyunlara entegre edilebilir. Sistemi çalıştırmak için dahi olsa Quest veya Lua kullanılmadı.

Sistem: oyuna her karakter açıldığında mevcut karakter oluştur kısmından sonraki fonksiyonda yüklenir. Anlık olarak görev ekleyebilir ve çıkartabilirsiniz. Verilecek olan ödüllerde Mysql'ye görev ıdsi eklenip her ödül verişinde sorgu atar. Yüksek userli olan sunucuda asla db şişirme yapmaz.

1. Sunucu Tarafı (C++) Özellikleri

  • Dinamik Veri Yönetimi: Görevler MySQL veritabanından CMonsterQuestManager aracılığıyla çekilir ve sunucu belleğinde optimize edilmiş bir harita (Map) yapısında tutulur.
  • Anlık Güncelleme: /reload_monster_quest komutu ile oyunu kapatmadan görev listesi veritabanından yeniden yüklenebilir.
  • Verimli Paket Yapısı: İstemciye sadece gerekli veriler (Görev ID, Canavar Vnum, Mevcut Kesilen, Gereken Sayı) ChatPacket komutları üzerinden paketlenerek gönderilir.
  • Güvenlik: Paket gönderimi sırasında veri uyuşmazlığını önlemek için parametre kontrolleri yapılmıştır.

2. İstemci Tarafı (Python) Özellikleri

  • Bağımsız Arayüz (Hardcoded): Sistemin kurulumunu kolaylaştırmak için uiscript dosyalarına olan bağımlılık kaldırılmıştır. Tüm UI bileşenleri doğrudan kod (hardcoded) üzerinden oluşturulur.
  • Modern Tasarım (UI/UX):
    • ListBoxEx Kullanımı: Görevler, kaydırılabilir bir liste içinde modern kartlar şeklinde gösterilir.
    • İlerleme Çubuğu (Gauge): Her görev için görsel bir ilerleme barı bulunur.
    • Yüzdelik Gösterge: Sayısal değerlerin yanı sıra %1den %100e kadar dinamik yüzde hesaplaması ekrandan takip edilebilir.
  • Performans Odaklı: game.py üzerindeki köprü fonksiyonları sayesinde sunucudan gelen veriler anında ilgili karta işlenir ve sadece değişen kart Render() edilir.

3. Teknik Akış Şeması

  1. Giriş/Yükleme: Oyuncu giriş yaptığında veya GM reload komutu verdiğinde C++ veriyi DB'den çeker.
  2. Senkronizasyon: QMK_AddQuest komutuyla game.py üzerindeki handler tetiklenir.
  3. Görselleştirme: Veriler uiquestmonster.py içindeki QuestItem sınıfına aktarılarak bar ve yüzde değerleri matematiksel olarak hesaplanıp çizilir. [DEĞİŞEBİLİR] Uiscript tasarıma geçiş çalışması yapılacak.

    Altyapı olarak Lorenzo files kullandım.

    Bu çalışmanın amacı 400 - 500 dolarları gördükten sonra belki bir katkım olur diye düşündüm.

    Gui tasarımında yardımcı olacak varsa mesaj atabilir. Bir kaç gün içersinde forumda paylaşacağım.

    Sisteme eklememi istediğiniz özellik varsa ekleyebilirim ve tavsiyelerinizi alırım.
 
Son düzenleme:


[SİSTEM ÖZETİ] Canavar Avcısı (Monster Kill Quest) Sistemi

Bu proje, oyuncuların oyun içinde aktif görevlerini takip edebileceği, sunucu (C++) ve istemci (Python) arasında tam senkronize çalışan modern bir görev takip sistemidir.
Hem eski nesil oyunlara ve yeni nesil oyunlara entegre edilebilir. Sistemi çalıştırmak için dahi olsa Quest veya Lua kullanılmadı.

Sistem: oyuna her karakter açıldığında mevcut karakter oluştur kısmından sonraki fonksiyonda yüklenir. Anlık olarak görev ekleyebilir ve çıkartabilirsiniz. Verilecek olan ödüllerde Mysql'ye görev ıdsi eklenip her ödül verişinde sorgu atar. Yüksek userli olan sunucuda asla db şişirme yapmaz.

1. Sunucu Tarafı (C++) Özellikleri

  • Dinamik Veri Yönetimi: Görevler MySQL veritabanından CMonsterQuestManager aracılığıyla çekilir ve sunucu belleğinde optimize edilmiş bir harita (Map) yapısında tutulur.
  • Anlık Güncelleme: /reload_monster_quest komutu ile oyunu kapatmadan görev listesi veritabanından yeniden yüklenebilir.
  • Verimli Paket Yapısı: İstemciye sadece gerekli veriler (Görev ID, Canavar Vnum, Mevcut Kesilen, Gereken Sayı) ChatPacket komutları üzerinden paketlenerek gönderilir.
  • Güvenlik: Paket gönderimi sırasında veri uyuşmazlığını önlemek için parametre kontrolleri yapılmıştır.

2. İstemci Tarafı (Python) Özellikleri

  • Bağımsız Arayüz (Hardcoded): Sistemin kurulumunu kolaylaştırmak için uiscript dosyalarına olan bağımlılık kaldırılmıştır. Tüm UI bileşenleri doğrudan kod (hardcoded) üzerinden oluşturulur.
  • Modern Tasarım (UI/UX):
    • ListBoxEx Kullanımı: Görevler, kaydırılabilir bir liste içinde modern kartlar şeklinde gösterilir.
    • İlerleme Çubuğu (Gauge): Her görev için görsel bir ilerleme barı bulunur.
    • Yüzdelik Gösterge: Sayısal değerlerin yanı sıra %1den %100e kadar dinamik yüzde hesaplaması ekrandan takip edilebilir.
  • Performans Odaklı: game.py üzerindeki köprü fonksiyonları sayesinde sunucudan gelen veriler anında ilgili karta işlenir ve sadece değişen kart Render() edilir.

3. Teknik Akış Şeması

  1. Giriş/Yükleme: Oyuncu giriş yaptığında veya GM reload komutu verdiğinde C++ veriyi DB'den çeker.
  2. Senkronizasyon: QMK_AddQuest komutuyla game.py üzerindeki handler tetiklenir.
  3. Görselleştirme: Veriler uiquestmonster.py içindeki QuestItem sınıfına aktarılarak bar ve yüzde değerleri matematiksel olarak hesaplanıp çizilir. [DEĞİŞEBİLİR] Uiscript tasarıma geçiş çalışması yapılacak.

    Altyapı olarak Lorenzo files kullandım.

    Bu çalışmanın amacı 400 - 500 dolarları gördükten sonra belki bir katkım olur diye düşündüm.

    Gui tasarımında yardımcı olacak varsa mesaj atabilir. Bir kaç gün içersinde forumda paylaşacağım.

    Sisteme eklememi istediğiniz özellik varsa ekleyebilirim ve tavsiyelerinizi alırım.

yapay zekanın geldiği noktaya bak :P
 
yapay zekanın geldiği noktaya bak :p
Değerli yorumun için teşekkür ederim, yapay mı zeka mı bilemedim ki ama bence en mantıklısı satırlarca kod yazmak varken testini yapan bir hazır sistemin olması. Yoksa ilerizekanın yapay zekayı eleştiricek noktaya gelmesi düşündürücü :)
 
Değerli yorumun için teşekkür ederim, yapay mı zeka mı bilemedim ki ama bence en mantıklısı satırlarca kod yazmak varken testini yapan bir hazır sistemin olması. Yoksa ilerizekanın yapay zekayı eleştiricek noktaya gelmesi düşündürücü :)
 
Yapay zekayı bu kadar takmalarını anlamıyorum, sistem açıksız çalışıyorsa ve iş görüyorsa bence sorun yoktur. Eline sağlık
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst