Çözüldü player table'ina yeni column eklemek

  • Konuyu açan Konuyu açan Finnael
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 10
  • Gösterim Gösterim 985
  • Etiketler Etiketler
    metin2
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

Finnael

Üye
Üye
Mesaj
69
Çözümler
4
Beğeni
130
Puan
724
Ticaret Puanı
0
Merhaba arkadaslar uzerinde calistigim bir sistem icin player tablosuna yeni bir sutun eklemek istiyorum. Burada kaydetmek ve oyuncu oyuna giris yaparken cekmek istedigim "equip_set" adinda, BYTE tipinde bir veriyi saklamak istiyorum. Navicat uzerinden gordugunuz gibi yeni column'u ekliyorum.

Capture.JPG


Daha sonra asagida gosterdigim duzenlemeleri yapiyorum:

common/tables.h acilir
C++:
Genişlet Daralt Kopyala
1.)Bulunur:
int        aiPremiumTimes[PREMIUM_MAX_NUM];
2.)Altina eklenir:
BYTE equip_set

C++:
Genişlet Daralt Kopyala
1.) Bulunur
"horse_skill_point = %d, "
2.) Altina ekle
"equip_set = %d, "

3.)Bulunur
pkTab->horse_skill_point);
4.)Degistirilir:
pkTab->horse_skill_point,
pkTab->equip_set);

5.)Bulunur
horse_skill_point FROM
6.)Degistirilir
horse_skill_point,equip_set FROM

7.)Bulunur:
str_to_number(pkTab->horse_skill_point, row[col++]);
8.)Altina eklenri:
str_to_number(pkTab->equip_set, row[col++]);

game/src/char.h acilir

C++:
Genişlet Daralt Kopyala
1.)Bulunur:
BYTE            skill_group;
2.)Altina eklenir:
BYTE           equip_set;

game/src/char.cpp acilir

C++:
Genişlet Daralt Kopyala
1.)Bulunur:
m_points.iRandomSP = t->sRandomSP;
2.)Altina eklenir:
m_points.equip_set = t->equip_set;

3.) Bulunur:
tab.sRandomSP = m_points.iRandomSP;
4.) Altina eklenir:
tab.equip_set = m_points.equip_set

Tum bunlari yapip basarili bir sekilde game ve db'yi build ettikten sonra oyuna girerken karakteri sectikten sonra giris yapmaya calistigim zaman core crash veriyor. Herhangi bir syserr hatasi almiyorum. Ayni zamanda sys_log kullanarak yaptigim debuglar sonucu t->equip_set'in veri tabaninda oldugundan farkli bir sekilde atandigini gordum. Hatanin sebebi hakkinda bilgisi olan varsa paylasirsa sevinirim.
 
Son düzenleme:
Aldığın hata dökumanlarını bizimle paylaşabilirmisin ? Giriş yapmaya çalıştıgın zaman auth syserr düşüyor mu veya dbye ? Syserr hatası almadığını söylemişsin fakat buralara bakmamış olabilirsin teyit etmek amacıyla soruyorum. Ayrıyetten boş bırakılabilir olarak ayarlayıp denediniz mi ?

game.core Dosyasında Yazan Hataları Öğrenmek
 
core crash'i gdb ile açıp buraya atarsanız daha hızlı bir sonuç elde edersiniz.
 
Eğer veritabanında ki değerden farklı atama varsa kodda bir sıkıntı vardır. Hata kayıtlarını görmeden bir şey söylemek güç. @Reached ve @Trashy ‘nin dediği gibi gdb kayıtlarını buraya atarsanız daha iyi olacak
 
Neden bilmiyorum ama git ile yaptigim tum degisiklikleri eski haline getirip yukarida yazdigim degisiklikleri tekrar uyguladigim zaman sorunsuz bir sekilde calisti. Keske gdb ile debug etmek tum degisiklikleri sifirlamadan once aklima gelseydi. Sorunun kaynagini suan cok merak ettim acikcasi. Neyi yanlis yapmis olabilecegimi baya bir dusundum fakat aklima hic bir sey gelmedi. Bir yerlerde acaba herhangi bir query'i falan mi bozdum acaba yanlislikla, bilemiyorum.

Neyse en azindan artik bu konu benim gibi player tablosuna ekstra sutun eklemek isteyen arkadaslara bir rehber niteliginde olabilir :)
 
Sorunun kaynağını bende merak ediyordum. Yine de çözülmesine sevindim. Git ile geri almadan önceki halini push ettiyseniz belki eskisini görebilirsiniz.
Bu arada bende 2018’den beri projelerimi git ile saklıyorum. Daha sonra dönüp hangi düzenlemeleri yaptığımı daha rahat görüyorum. İyi ki bu sistemi kurmuşlar :D
 
Yaptigim degisiklikleri commitlememistim. Yukarida degisiklikleri yaptigim dosyalari direk git restore kullanarak eski hallerine getirdim. Navicat uzerinden ekledigim yeni sutunu da silip tekrar ekledim. (Bunun bir etkisinin oldugunu sanmiyorum.)

git olmadan herhangi bir sekilde yazilim gelistirilebilecegini dusunmuyorum ben zaten. Bu arada git nasil kullanilir, freebsd'ye nasil kurulur da guzel bir ders konusu olabilir. Metin2 TR communitysi olarak cag atlariz :) Cogu kisi hala kullanmayi bilmiyor cunku
 
Eğer vakit ayırabilirseniz git kullanımıyla ilgili rehberleri siz oluşturabilirsiniz. :)
Ben sadece Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi'nin son bölümünde git ile dosyaları alıp tekrardan filesi kurmayı ve kaynak kodlarını buildlemeyi göstereceğim.
Bakmak isterseniz;
Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.


Konunuzu şimdilik açık tutalım. Eğer her şey sıkıntısız çalışırsa son durumu bildirebilirsiniz.
 
Eğer vakit ayırabilirseniz git kullanımıyla ilgili rehberleri siz oluşturabilirsiniz. :)
Ben sadece Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi'nin son bölümünde git ile dosyaları alıp filesi kurmayı ve kaynak kodlarını buildlemeyi göstereceğim.
Bakmak isterseniz;
Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.


Konunuzu şimdilik açık tutalım. Eğer her şey sıkıntısız çalışırsa son durumu bildirebilirsiniz.
Git ile files hazırlama rehberi efsane bir rehberdir, herkese tavsiye ederim özellikle benim gibi titiz ve düzenli çalışmayı sevenler için. Keşke başta git ile başlasaydım diyorum bir yandan.
Linkleri görebilmek için giriş yap veya kayıt ol.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst