Yeni Karakter Ekleyince 'karakteri yaratamazın' hatasının çözümü

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 86

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
game/src/locale_service.cpp

if (PLAYER_PER_ACCOUNT !

arat

ordaki 4 kısmını kaçıncı karakteri eklediysen değiştir örneğin lycan eklediysen 5 yap

common/src/length.h

PLAYER_PER_ACCOUNT

arat

ordaki 4 kısmını kaçıncı karakteri eklediysen değiştir örneğin lycan eklediysen 5 yap


şimdi sıra clientte

clientsrc/userinterface/packet.h

PLAYER_PER_ACCOUNT3 = 3,
PLAYER_PER_ACCOUNT4 = 4,

arat

PLAYER_PER_ACCOUNT3 = 4,
PLAYER_PER_ACCOUNT4 = 5,

olarak değiştir

bu kadar artık hata almazsınız iyi akşamlar :)
Yeni Karakter Ekleyince 'karakteri yaratamazın' Hatasi Cozumu

Metin2 Private Server gelistirme surecinde karsilasilan en sik hatalardan birisi 'karakteri yaratamazsin' hatasidir. Bu hata genellikle yeni karakter olusturulmaya calisildiginda, karakter slotu dolu oldugu halde sistemde bu bilgi dogru sekilde guncellenmedigi icin ortaya cikar. Bu yazimizda bu hatanin neden kaynaklandigini ve nasil cozulecegini detayli olarak inceleyecegiz.

Hatanin Kaynagi Nedir?
Bu hata genellikle su senaryolarda olusabilir:
- Oyuncu onceki karakterini silmis ama sistemde bu bilgi guncellenmemis olabilir.
- Auth veya game sunucularinda karakter sayisi ile ilgili eslesmeler dogru yapilmamis olabilir.
- Client tarafinda karakter listesi cache sorunu olabilir.

Cozum Yontemleri[/BR]
1. Auth Sunucusu Kontrolu[/BR]
Auth sunucusunda bulunan player tablosu karakter olusturma islemini kontrol eder. Eger oyuncunun 6 karakteri varsa yeni karakter olusturmasina izin vermez. Bu tabloyu kontrol etmek icin asagidaki SQL komutunu kullanabilirsiniz:

Kod:
SELECT name FROM player WHERE account_id = [account_id];


Eger karakter sayisi 6 ise ama gercekten silinmis karakterler varsa bu karakterleri manuel olarak silmeniz gerekebilir.

2. Game Sunucusu Ayarlari[/BR]
Game sunucusunda bulunan config dosyalarinda max_character_count gibi degiskenlerin dogru ayarlandigindan emin olun. Ornegin eger 6 karakter izni veriyorsaniz bu deger 6 olmalidir.

3. Client Tarafinda Cache Temizligi[/BR]
Client tarafinda karakter listesi bazen cache'e alinabilir. Bu durumda karakter silme islemi serverda gerceklesmis olsa bile client hala eski bilgiyi gosterebilir. Bu sorunu cozmenin bir yolu client tarafinda characterlist.xml gibi dosyalari temizlemektir.

Python ve C++ Baglantisi[/BR]
Metin2'nin ozellikle game server tarafinda C++ kodlarinin calismasi, karakter olusturma islemlerinde onemlidir. Ornegin char_create.cpp dosyasinda karakter olusturma kosullari tanimlanmistir. Burada yapilan kontrollerde eksiklikler varsa hata olusabilir. Ayrica Python tarafinda GUI ile baglanti kurarken karakter olusturma isleminde bir uyumsuzluk olabilir. Bu durumda uiscript ve py root dosyalarinin kontrolu onemlidir.

Martysama ve Metin2 Development[/BR]
Gelistiriciler genellikle Martysama gibi kaynaklar kullanarak karakter yaratma sistemini ozellestirebilirler. Ancak bu ozellestirmeler sirasinda auth-server ile game-server arasindaki veri aktarimi dogru yapilmazsa 'karakteri yaratamazsin'[/B] hatasi daha sik gorulebilir. Bu nedenle tum baglanti noktalarinin test edilmesi ve guncellenmesi onemlidir.

Sonuc[/BR]
Bu hatanin cozumu icin hem server tarafinda hem de client tarafinda uygun kontrollerin yapilmasi gereklidir. Dogru DB yonetimi, dogru auth ve game server entegrasyonu ve kullanici arayuzu baglantilarinin saglam tutulmasi bu tur hatalarin onune gecebilir. Ayrica Metin2 gelistiricileri icin bu gibi hatalar compile veya source edit sureclerinde gozden kacabilecek ufak ama onemli detaylardir.


How to Fix 'Cannot Create Character' Error When Adding New Characters

One of the most common errors encountered during Metin2 Private Server development is the 'cannot create character' error. This error typically occurs when trying to create a new character while the system still believes all character slots are full. In this article, we will examine the causes and solutions for this issue in detail.

What Causes This Error?[/BR]
This error usually happens under the following scenarios:
- Player may have deleted a previous character but the system has not updated that information properly.
- There might be mismatches in character count settings between auth and game servers.
- There could be a cache issue with the character list on the client side.

Solution Methods[/BR]
1. Check the Auth Server[/BR]
The player table on the auth server controls character creation. If a player already has 6 characters, no new ones can be created. You can check this using the following SQL query:

Kod:
SELECT name FROM player WHERE account_id = [account_id];


If there are 6 characters but some were actually deleted, you might need to manually remove those records.

2. Adjust Game Server Settings[/BR]
Ensure that variables like max_character_count in the config files of the game server are set correctly. For instance, if 6 characters are allowed, this value should be 6.

3. Clear Client-Side Cache[/BR]
Sometimes the character list is cached on the client side. Even if the character deletion was successful on the server, the client might still display outdated information. To resolve this, clearing files such as characterlist.xml on the client-side may help.

Python and C++ Integration[/BR]
Especially on the game server side, C++ code execution plays an important role in character creation processes. For example, conditions for creating characters are defined in char_create.cpp. If checks here are incomplete, errors may occur. Additionally, there might be incompatibilities in GUI connections made via Python during character creation. Therefore, checking uiscript and py root files is crucial.

Martysama and Metin2 Development[/BR]
Developers often customize character creation systems using sources like Martysama. However, if data transfer between auth-server and game-server is not handled properly during these customizations, the 'cannot create character'[/B] error may appear more frequently. Therefore, testing and updating all connection points is essential.

Conclusion[/BR]
To fix this error, proper checks must be made on both the server and client sides. Correct DB management, correct integration between auth and game servers, and stable user interface connections can prevent such issues. Moreover, for Metin2 developers, such errors are small but critical details that might be overlooked during compile or source edit processes.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt