Geliştirilmiş Pet/Pokemon Sistemi [Catch, Feed, Evolution - Yakalama, Besleme, Geliştirme] - Yapay Zeka ile yapıldı.

  • Konuyu açan Konuyu açan Raviel
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 14
  • Gösterim Gösterim 444

Raviel

Premium Üye
Premium Üye
MT Üye
Mesaj
258
Çözümler
5
Beğeni
304
Puan
829
Ticaret Puanı
0
Herkese selamlar,

Başlıyorum ama umarım bitiriyorum konusuyla yeniden beraberiz. Öncelikle bana ilham olan konuyu aşağıya bırakmak istiyorum.

28 Adet POKEMON PET Sizlerle

Bu sistem nedir?
Pokemon Sistemi, oyunda özel evcil hayvanlar bulmanıza ve onları güçlendirmenize olanak sağlar. Bu evcil hayvanlar size özel güçler verir ve seviye atladıkça daha da güçlenir!

Pokemonlar nasıl elde edilir?
- Haritada dolaşan vahşi Pokemon'lar olacak.
- Pokemon Topu kullanarak yakalayabileceksiniz.
- Yakalama şansı Pokemon'un nadirliğine göre değişecek.


2️⃣ POKEMON ÖZELLİKLERİ

Her Pokemon'un 4 önemli özelliği vardır:

A. NADİRLİK (Rarity)
Pokemon'lar 5 nadirlik seviyesinde gelir:

NADİRLİKRenkGüç
⭐ CommonGriZayıf
⭐⭐ UncommonYeşilNormal
⭐⭐⭐ RareMaviİyi
⭐⭐⭐⭐ EpicMorÇok iyi
⭐⭐⭐⭐⭐ LegendaryTuruncuEn Güçlü!


Ne Etkiler: Nadirlik, Pokemon'unuzun verdiği bonus miktarını belirler. Legendary bir Pokemon, Common'dan 3 kat daha güçlüdür!

B. SEVİYE (Level 1-30)

Pokemon'lar Level 1 ile başlar ve Pokemon Candy kullanarak Level 30'a kadar yükseltilebilir.

Özel Seviyeler:
- Level 10: 1. yetenek açılır 🔓
- Level 20: 2. yetenek açılır 🔓
- Level 30: 3. yetenek açılır (MAX!) 🔓


C. ELEMENT (Özel Güç)
Her Pokemon'un bir elementi vardır:

ElementBonusPet Örneği
🔥 AteşAteş hasarıFrank
❄️ BuzBuz hasarıPet2
⚡ ŞimşekŞimşek hasarıDonni
💨 RüzgarRüzgar hasarıPet4
🌍 ToprakToprak hasarıPet5
🌑 KaranlıkKaranlık hasarıPet6


Ne İşe Yarar: Saldırılarınıza ekstra element hasarı katar. Rare bir Donni size %11 Lightning hasarı verir!


D. SÜRE (Duration)

Her Pokemon 7 gün sürelidir. Süre dolunca:
- ❌ Pokemon giyilemez
- ❌ Bonuslar çalışmaz
- ✅ Ama SİLİNMEZ! (Süre uzatıcı kullanabilirsiniz)

Süre Uzatma:
- Süre Uzatıcı (7 Gün): Normal eşya, bosslardan düşer
- Süre Uzatıcı (Sonsuz): Premium eşya, Pokemon'u kalıcı yapar!


3️⃣ POKEMON NASIL KULLANILIR?

Envanterinizde Donni veya Frank var.


Tooltip'e Bakın (Mouse üzerine getirin):

Donni
===================================
Time: 6D 23H 45m
===================================
Rarity: ⭐⭐⭐ Rare
Level: 1 / 30
Element: Lightning
Element Damage: +11%
===================================
Use Pokemon Candy to level up!

Aynı pet sistemi gibi herhangi bir değişen yok. Peti aktifleştirdiğinizde yanınızda gezer.


Pokemon Candy ile Seviye Atlat
Pokemon Candy Nasıl Kullanılır:

1. Envanterinizde Pokemon Candy bulun
2. Candy'yi Pokemon'un üstüne sürükleyin (drag & drop)
3. Pokemon 1 level atlar!
4️⃣ POKEMON GÜCÜ (Power System)


Level 1 Pokemon (Başlangıç)


Donni (Level 1, Rare)
Bonuslar:
- Lightning Damage: +11%
Toplam: 1 bonus

Level 10 Pokemon (1. Gelişim)

Donni (Level 10, Rare)
Bonuslar:
- Lightning Damage: +11%
- Monster Bonus: +12% ← YENİ!
Toplam: 2 bonus

Level 20 Pokemon (2. Gelişim)

Donni (Level 20, Rare)
Bonuslar:
- Lightning Damage: +11%
- Monster Bonus: +12%
- Berserker: +8 ← YENİ!
Toplam: 3 bonus

Level 30 Pokemon (MAX POWER!)

Donni (Level 30, Legendary)
Bonuslar:
- Lightning Damage: +15% (Legendary!)
- Monster Bonus: +20%
- Berserker: +15
- Casting Speed: +25% ← YENİ!
Toplam: 4 bonus (FULL POWER!)

Element bonusları her pette sabittir. Yani element bonusları default olarak gelmektedir.


5️⃣ İKİ POKEMON ARASINDAKİ FARKLAR

Donni (Lightning)
**Özellik:** Hızlı, saldırı odaklı
**Bonuslar:**
- Lightning hasarı (her zaman)
- Monster Bonus (Level 10+)
- Berserker (Level 20+)
- Casting Speed (Level 30)


Frank (Fire)
**Özellik:** Dayanıklı, savunma odaklı
**Bonuslar:**
- Fire hasarı (her zaman)
- Magic ATK (Level 10+)
- Defense (Level 20+)
- Max HP (Level 30)

Her türden Pet olacağı için hem PvP hemde PvE tarafında oyuncular diledikleri petleri kullanabilecekler.

Vahşi Pokemon'lar Nereden Çıkar?

Spawn Sistemi:

- Belirli haritalarda vahşi Pokemon'lar dolaşır
- Her 30 dakikada bir yeni Pokemon'lar belirir
- Harita başına 2-4 Pokemon spawn olur
- Random koordinatlarda spawn (ezberlenemez!)

Vahşi Pokemon Özellikleri:
- Saldırmazlar (pasif NPC)
- 30 dakika sonra kaybolurlar
- Nadirlik random belirlenir (spawn anında)

🎯 YAKALAMA MEKANİZMASI (Devil Tower Mühür Sistemi)

Nasıl Çalışır:
1. Vahşi Pokemon Bul
- Haritada dolaşan vahşi Pokemon'u gör
- Pokemon'a yaklaş (10 metre içinde)
- Target al (tıkla)

2. Poke Ball Hazırla
- Envanterinizde Poke Ball olmalı
- 3 tip Poke Ball var:
- Poke Ball (Normal): Bonus yok
- Ultra Ball: +%20 yakalama şansı
- Master Ball: +%40 yakalama şansı (en iyi!)

3. Poke Ball Kullan (Devil Tower Mühür Gibi!)
- Poke Ball'u Pokemon'un üstüne SÜRÜKLE (drag & drop)
- Sistem Devil Tower mühür mekaniği ile aynı!
- Item'ı NPC'ye sürüklüyorsunuz (envanter → NPC)

Teknik Detay:
Normal Sistem: Item → Item (envanter → envanter)
Pokemon Sistem: Item → NPC (Poke Ball → Wild Pokemon)
Devil Tower: Item → NPC (Mühür → Tower)
Aynı mekanizma kullanılıyor!

4. Yakalama Dice Roll
- Sistem şans zarı atar
- Yakalama şansı:
- Pokemon nadirliği
- Poke Ball tipi
- Toplam şans hesaplanır

**Başarı Şansları:**
| Pokemon Nadirliği | Poke Ball | Ultra Ball | Extreme Ball |
|-------------------|-----------|------------|--------------|
| Common (⭐) | %70 | %90 | %100 ✅ |
| Uncommon (⭐⭐) | %60 | %80 | %100 ✅ |
| Rare (⭐⭐⭐) | %50 | %70 | %90 |
| Epic (⭐⭐⭐⭐) | %40 | %60 | %80 |
| Legendary (⭐⭐⭐⭐⭐) | %30 | %50 | %70 |

**Örnek:**
- Legendary Pokemon + Extreme Ball = %70 şans!
- Legendary Pokemon + Normal Ball = %30 şans (zor!)

5. Sonuç:
**BAŞARILI! ✅**

- 🎉 "Pokemon captured successfully!" mesajı
- ✨ Başarı efekti (yeşil ışık)
- 📦 Pokemon envanterinize eklenir
- 🏃 Vahşi Pokemon kaybolur

**Örnek:**
You obtained Donni (Rarity: 3)!

**Pokemon Özellikleri (Spawn Anında Belirlenir):**

- Socket 0: 7 gün süre (yeni yakalandı)
- Socket 1: Nadirlik (spawn'da random)
- Socket 2: Level 1 (her zaman)
- Socket 3: Element (Pokemon tipine göre)
---
**BAŞARISIZ! ❌**
- 💔 "Pokemon escaped! (50% chance)" mesajı
- 💨 Başarısızlık efekti (kırmızı duman)
- 🏃 Vahşi Pokemon kaçar (despawn)
- 😢 Poke Ball tüketilir

**Tekrar deneyebilirsiniz:**

- Başka bir vahşi Pokemon bulun
- Daha iyi Poke Ball kullanın (Ultra/Extreme)
- Şansınızı deneyin!

Mutlaka fikir ve önerilerinizi bu konu altından belirtmeniz çok önemi bu sistem sizinde önerilerinizle geliştirilebilir :) Biraz uzun bir konu oldu ama çok daha iyi ilerleyişini paylaşacağım.
 
Son düzenleme:
Başarılar bittiğinde inşallah istediğin gibi bir sonuç alırsın :)
 
valiant2 de ki pet sistemini inceleyebilirsin ;
pet_sistemi-webp.19118
 
Çok iyi, harbi fikir çok iyi, saltanat mt2de pazar var orada bi alan var ws alanı gibi, birde öyle alan yapıp yakalanan pokemonları savaştırsak nasıl olurdu acaba o 3 yada 5 beceri karekterler gibi skill olarak yansıtacak o arenada savaş başladığında karekterimizi bırakıp pokemon olcaz ve o skillerle savaşıcaz biraz abartımı olur mt2 için yoksa eğlencelimi olur acaba, bak şimdi hevese geldim. Benimde kodlamaya başlayasım geldi. 😂😂😂
Konuyu merakla takip ediyor olucam. 😂😂
 
valiant2 de ki pet sistemini inceleyebilirsin ;
pet_sistemi-webp.19118
Bu sistem benimkisi gibi değil evet benzer sistemler güzel mantık benimkisi daha çok pokemon yakalama üzerine belki ileride bu tarz bir yıldız arttırma rarity yükseltme gibi şeyler yapılabilir bu fikirde böyle ilham verdi teşekkür ederin.

Çok iyi, harbi fikir çok iyi, saltanat mt2de pazar var orada bi alan var ws alanı gibi, birde öyle alan yapıp yakalanan pokemonları savaştırsak nasıl olurdu acaba o 3 yada 5 beceri karekterler gibi skill olarak yansıtacak o arenada savaş başladığında karekterimizi bırakıp pokemon olcaz ve o skillerle savaşıcaz biraz abartımı olur mt2 için yoksa eğlencelimi olur acaba, bak şimdi hevese geldim. Benimde kodlamaya başlayasım geldi. 😂😂😂
Konuyu merakla takip ediyor olucam. 😂😂
Dediğiniz şey çok güzel ve mantıklı. Ama bunu tercih etmem çünkü evet oyuncu için farklı bir bakış ama oyuncuyu normal bildiği sistemlerden aşırı uzaklaştırmakta adaptasyon konusunda sorun yaşattığını düşünüyorum. O sebeple mevcut pet sistemi üzerine kurmaya odaklandım. :) Ama bunuda belki yapıp özel skiller bile koyabilirim :D aynı aşağıda ki görselde ki gibi

1761574447314.webp
 
Bu sistem benimkisi gibi değil evet benzer sistemler güzel mantık benimkisi daha çok pokemon yakalama üzerine belki ileride bu tarz bir yıldız arttırma rarity yükseltme gibi şeyler yapılabilir bu fikirde böyle ilham verdi teşekkür ederin.


Dediğiniz şey çok güzel ve mantıklı. Ama bunu tercih etmem çünkü evet oyuncu için farklı bir bakış ama oyuncuyu normal bildiği sistemlerden aşırı uzaklaştırmakta adaptasyon konusunda sorun yaşattığını düşünüyorum. O sebeple mevcut pet sistemi üzerine kurmaya odaklandım. :) Ama bunuda belki yapıp özel skiller bile koyabilirim :D aynı aşağıda ki görselde ki gibi

26450 eklentisini görüntüle
Tam olarak görseldeki gibi bir olay canlandı kafamda, ama bu gibi 2 boyut değilde, 3 boyutlu şekilde yapılabilirse mühteşem olacağını düşünüyorum. Ama söylediğinize katılıyorum adaptasyon sorunu yaşayabilirler.
 
Herkese selam ufak bir güncelleme vereyim.

Bu sistemi yazarken yapay zekada daha planlı ve daha dosyalaştırarak gidiyorum adımlarımı. Bu sistemi adım adım Toplamda 4 Faz'dan oluşan şekilde güncelliyorum ve gördüğüm hataları vb. şeyleri çözerek ilerliyorum.

Neler yaptık?
FAZ 1 İÇERİĞİ (Tamamlandı)

1. Temel Pokemon Sistemi

- Donni (53250) ve Frank (53251) soket tabanlı bonus sistemi
- Socket[0] = ExpireTime, Socket[1] = Rarity, Socket[2] = Level, Socket[3] = Element
- Proto'dan bonus okuma devre dışı (APPLY_NONE)
- Dinamik bonus hesaplama (ApplyPokemonBonuses)


2. Pokemon Item'ları
- Pokemon Candy (58601) - Level +1
- Süre Uzatıcı 7G (58602) - +7 gün
- Süre Uzatıcı Perma (58603) - Kalıcı

1761599843299.webp

(Görsel ve icon üretiminde chatgpt kullanıldı aynı zamanda oradan gerekli boyutlar 32x32 söylenerek .tga dosyasına kendi çevirdi.)


3. Tooltip Sistemi
- Time gösterimi (PERMANENT / XD XH Xm / EXPIRED)
- Rarity gösterimi (Common/Uncommon/Rare/Epic/Legendary)
- Level gösterimi (1-30 / 30)
- Element gösterimi (Fire/Ice/Lightning/Wind/Earth/Dark)
- Active Skills + Next Skill Preview
- Renk kodları (POSITIVE_COLOR, NORMAL_COLOR)

1761599945569.webp
1761599957438.webp


(Tooltipler henüz tam olarak bitmedi. Tam olarak hepsi güzelce düzenlenecek ve daha iyi bir görünüm kazanacak. Şu anda bazı kısımlar hardcoded yani LC ile çekmiyor)


4. Drag-and-Drop Sistemi
- Client `uiinventory.py` USE_TYPE_TUPLE eklendi
- Client `uiinventory.py` __CanUseSrcItemToDstItem eklendi
- Server `char_item.cpp` USE_POKEMON_* case'leri
- item_proto.txt ITEM_APPLICABLE flag eklendi


5. Kalıcı Guard Sistemi
- Socket5 permanent marker (USE_POKEMON_TIME_INF)
- 5 yıl buffer guard
- POKEMON_ALREADY_PERMANENT mesajı


6. Expired Pokemon Koruması
- real_time_expire_event Pokemon kontrolü
- Equip engeli (süre doldu)
- Item silinmemesi



v0.2.1-12 - Server/Client Temel Implementasyon
Dosyalar:

- PokemonSystem.h/cpp (YENİ)
- service.h - ENABLE_POKEMON_SYSTEM
- item_length.h - USE_POKEMON_* enum'lar
- item.cpp - ApplyPokemonBonuses
- char_item.cpp - Candy/Time case'leri
- ProtoReader.cpp - DB parser entegrasyonu
- Locale_inc.h - Client define
- PythonApplicationModule.cpp - PyModule const
- item_proto.txt - 5 entry + FLAG
- locale_string.txt - 12 Pokemon mesajı
- itemdesc.txt (TR/EN) - 3 açıklama

Şu anda FAZ1 bitti ve FAZ2'ye geçmiş bulunmaktayım. FAZ1'de yaşadığım hataları, çözüm adımlarını tam olarak nasıl hallettiğimi içereden çok detaylı bir dosya mevcut ancak kısaltılmış olarak aşağıyada bırakayım (Soru işaretlerine takılmayın dosya encoding kaynaklı bu şekilde oluyor. Yazı bozulmalarını önlemek amaçlı Cursor'da Windows 1254 Turkish encondingi ile çalışıyorum. Bu sebeple bazı emojiler ve yazılar yanlış çıkabiliyor.

FAZ2 aşamasında yapmak istediğim şeyler Wild Pokemon Spawn ve Poke Ball ile yakalama
Map Index'ler (CONFIG'ten):
- 1: Red Flag Village 1
- 3: Red Flag Village 2
- 21: Blue Flag Village 1
- 23: Blue Flag Village 2
- 41: Ghost Forest
- 43: Desert

Buradaki isimlere takılmayın yapay zeka kendi veriyor bazen böyle isimleri hatta bazı indexler alakasız olabilir o sebeple ben kendim çıkartıp kendim yazıyorum.

Yapılanlar:

- `PokemonSpawnManager.h` oluşturuldu
- `PokemonSpawnManager.cpp` oluşturuldu (180 satır)
- Pokemon spawn mekanizması: Her map'te maksimum 4 pokemon, 30 dakika yaşar
- Rarity belirleme: %50 R1, %30 R2, %15 R3, %4 R4, %1 R5
- Yakalama oranları: R1:50%, R2:40%, R3:30%, R4:20%, R5:10%
- `char.h` wild pokemon flag'leri eklendi (SetWildPokemon, IsWildPokemon, GetPokemonRarity, vb.)
- Pokemon Topu oyuna eklendi.

1761600543642.webp


Şu anda FAZ2'de karşılaştığım sorunları çözmekle uğraşıyorum. Spawn olayını oluştururken bu arada Zodyak zindanından kaynaklı bir sorunlada karşılaştım ve bunuda çözmüş oldum Pokemon sistemine teşekkür ederim.

Şimdilik bu kadardı. Eğer merak ettikleriniz olursa veya değiştirdiğim bir şey mutlaka konu altındanda belirticem. Ayrıca Spawn ve Pokemon yakalama olayını bitirdikten sonra sistemin ufak bir videosuda gelecek. Herkese desteği için ayrıca teşekkür ederim. Beğenileriniz motivasyonumu arttırıyor.
 
Son düzenleme:
Bu sistem benimkisi gibi değil evet benzer sistemler güzel mantık benimkisi daha çok pokemon yakalama üzerine belki ileride bu tarz bir yıldız arttırma rarity yükseltme gibi şeyler yapılabilir bu fikirde böyle ilham verdi teşekkür ederin.


Dediğiniz şey çok güzel ve mantıklı. Ama bunu tercih etmem çünkü evet oyuncu için farklı bir bakış ama oyuncuyu normal bildiği sistemlerden aşırı uzaklaştırmakta adaptasyon konusunda sorun yaşattığını düşünüyorum. O sebeple mevcut pet sistemi üzerine kurmaya odaklandım. :) Ama bunuda belki yapıp özel skiller bile koyabilirim :D aynı aşağıda ki görselde ki gibi

26450 eklentisini görüntüle
Fire Red az mı oynardık zamanında gameboydan geçenlerde modlanmış fire red oynadım muazzam hazzı vardı
 
Kardeşim öncelikle azmini ve çabanı takdir ediyorum ama bir de sana eleştirim olacak. Lütfen konuları açarken veya güncelleme notu verirken direkt olarak yapay zekanın yazdığı çıktıyı yapıştırma. Düzensiz ve anlaması zor bir hale getiriyor.

İyi forumlar dilerim.
 
Kardeşim öncelikle azmini ve çabanı takdir ediyorum ama bir de sana eleştirim olacak. Lütfen konuları açarken veya güncelleme notu verirken direkt olarak yapay zekanın yazdığı çıktıyı yapıştırma. Düzensiz ve anlaması zor bir hale getiriyor.

İyi forumlar dilerim.
Öneriniz için teşekkür ederim. :) Daha spesifik söyleyebilirseniz daha iyi olur benim açımdan aslında yapmıyorum bazı şeyleri düzeltmeye özen gösteriyorum ama bu sefer konu detaylı olması sebebiyle ekstra bilgiler vermek istedim. Ama daha dikkatli şekilde ilerlerim tabi neden olmasın :)
 
Öneriniz için teşekkür ederim. :) Daha spesifik söyleyebilirseniz daha iyi olur benim açımdan aslında yapmıyorum bazı şeyleri düzeltmeye özen gösteriyorum ama bu sefer konu detaylı olması sebebiyle ekstra bilgiler vermek istedim. Ama daha dikkatli şekilde ilerlerim tabi neden olmasın :)
çok ufak bir örnek

1761655317880.webp
 
Selamlar FAZ2 güncellemelerini tamamlamaya devam ediyorum. Bunu yaparken 2 adet yeni item ve pokemonların maplerde daha net görünmesi, oyuncunun kolayca pokemonları ayırt edebilmesi için ufak tefek güncellemeler yapıldı.

2 Adet yeni pokemon topu oyuna eklendi

- Ultra Ball
- Master Ball

1761663621659.webp


Sırasıyla +%10 ve +%20 şeklinde pokemon yakalama şansını arttıran itemler.

Pokemonların mapte dolaşıldığı esnada daha net görünmesini sağlamak için normal petlere göre isimleri farklı bir renk ile gösterilip boyutları 2 kat arttırıldı. (Henüz yalnızca isim olayını doğru şekilde yapabildim. Boyutlarıyla uğraşmaya devam ediyorum)

1761663718051.webp


Bunun için spawn olan moblarda IsWildPokemon = true tarzında bir fonksiyon kullanıyorum.

Sonra ki hedefim boyutlarını büyütmek yada quest'lerde NPC'lerin üzerinde çıkan ok işareti gibi ok işareti göstermek olacak. Oyuncu gözünden hangisi sizin için daha uygunsa bu konuda yorum bırakmanızı rica edeceğim. Ardından her map'e pokemon spawnlarını ve dungeonlara özel legendary pokemon spawnlarına geçeceğim.
 
1761685560941.webp


Pokemonlar kalabalık slot gruplarının yanlarında spawn olması durumunda oyuncuların normal slotlardan ayırabilmesi için efektler eklendi. Boyut arttırma olayından vazgeçtim gereksiz yere mevcut petlerinde boyutlarını değiştirmem gerekicekti o sebeple böyle bir sisteme geçmenin daha sağlıklı olacağını fark ettim.

FAZ 2 neredeyse tamamlandı diyebiliriz. Bundan sonrasında maplerde ve dungeonlarda rastgele konumlarda spawn olmaları adına geliştirmeleri tamamladıktan sonra pet sisteminde kalan bütün petler için ayrı ayrı özellikler belirleyerek Tooltip tarafında daha güzel ve detaylı renklendirilmiş bir açıklama yazacağım. Ardından pokemon görünümlü petleride oyuna ekleyeceğim.
 
Geri
Üst