Çözüldü Başlangıç itemleri haklında tavsiye

  • Konuyu açan Konuyu açan asilords
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 8
  • Gösterim Gösterim 88
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ı.

asilords

MT Üye
MT Üye
Mesaj
327
Çözümler
13
Beğeni
82
Puan
729
Ticaret Puanı
0
Başlangıçta verilen itemleri yere atılmasın satılmasın hiç bişey yapılmasın istiyorum ancak +9 kılıç anti flagından ayarlarsam bu seferde normal silahçıdan alınan ve ya oyunda elde edilende satılıp yere atılamıycak fikri olan var mı?
 
Çözüm
Daha fonksiyonel birşey olsun istiyorsan item.sql'a yeni bir stun ekle sonra item.cpp'deki constructor'un gövdesinin üstüne yani üye olarak başlayacak bir değişken yap bunun prototiplerini vs yap. sonra packet.h'deki item setleri strcutları içine yeni bir değişken yap sonra itemleri verirken hem değişken için hem de item.sql'a o itemler için 1 olarak kaydettir. input_db.cpp'de ItemLoad olurken'de for döngüsü içinde item.h'daki değişkene gelen değeri ver. Belki daha fazla ekleme isteyebilir taslak olarak söyledim bunları. Sonra mesela shop_manager.cpp'de

Sell içinde veya başka bir dosya içindeki yere atma fonksiyonunda

if (item->FirstItem()) return false;
Souldbind sistemi mantığı da bu da fazla kod bilgisi gerekiyor sanki...
Aynı itemden kopyala hocam protosunu değiş, yani itemi tekrar ekle her şeyini yeni itemde proto değişikliği yap
 
Onu da düşündüm sadece item değil oto pot yeşil iksir tanrılar vs de çok item var hepsini eklemek istemiyorum
hocam bunlara başlangıçta yere atılmaması için nasıl bir düzenleme getirilir bilmiyorum ama arkadaşın dediği gibi erinmem uğraşırım dersen başlangıçta yere atılmasını istemediğin itemleri baştan ekle ve o itemler üzerinde istediklerini gerçekleştir. bunun bundan başka bir çözümü yok diye biliyorum. Mesela bende kendi sunucumda başlangıç kostümleri ekledim aynı kostümden aslında 2 tane var birisi oyun içi diğeri sadece başlangıç itemi. birinin ticareti var diğerinin yok.
 
hocam bunlara başlangıçta yere atılmaması için nasıl bir düzenleme getirilir bilmiyorum ama arkadaşın dediği gibi erinmem uğraşırım dersen başlangıçta yere atılmasını istemediğin itemleri baştan ekle ve o itemler üzerinde istediklerini gerçekleştir. bunun bundan başka bir çözümü yok diye biliyorum. Mesela bende kendi sunucumda başlangıç kostümleri ekledim aynı kostümden aslında 2 tane var birisi oyun içi diğeri sadece başlangıç itemi. birinin ticareti var diğerinin yok.
muhtemelen bunun çözümü var, global sunucularda filan itemi bağlayıp bağlamama muhabbetı de bunla alakalı. nesne markette daha ucuza bağlısını satmak vs. yüzlerce itemi tekrar tekrar eklediklerini düşünmüyorum

hatta örneğin

Ticareti olmayan BP satın alırsanız, aldığınız tüm ödüller bağlı oluyor , eğer kullandıgınız battlepass bileti ticareti olansa (daha pahalı) ödüllerin ticareti oluyor :D
 
muhtemelen bunun çözümü var, global sunucularda filan itemi bağlayıp bağlamama muhabbetı de bunla alakalı. nesne markette daha ucuza bağlısını satmak vs. yüzlerce itemi tekrar tekrar eklediklerini düşünmüyorum

hatta örneğin

Ticareti olmayan BP satın alırsanız, aldığınız tüm ödüller bağlı oluyor , eğer kullandıgınız battlepass bileti ticareti olansa (daha pahalı) ödüllerin ticareti oluyor :D
yani @okan4141 `a sormak lazım :D
 
item_proto'ya yeni bir value sütunu eklersiniz, eşyanın kaynağını belirtir. Bir enum oluşturursunuz yerden mi alındı, ödül olarak mı verildi, starter pack'ten mi çıktı gibi:

C++:
Genişlet Daralt Kopyala
enum ItemSource {
    Default, // yerden alindi
    QuestReward,
    Shop,
    StarterPack
};

Oyuncuya eşya veren kısımlarda, fonksiyonlarda bu değeri doldurursunuz. Eşya yere atıldığında, silindiğinde ve satıldığında eşyanın kaynağını kontrol ederek işlem yaparsınız.
 
Daha fonksiyonel birşey olsun istiyorsan item.sql'a yeni bir stun ekle sonra item.cpp'deki constructor'un gövdesinin üstüne yani üye olarak başlayacak bir değişken yap bunun prototiplerini vs yap. sonra packet.h'deki item setleri strcutları içine yeni bir değişken yap sonra itemleri verirken hem değişken için hem de item.sql'a o itemler için 1 olarak kaydettir. input_db.cpp'de ItemLoad olurken'de for döngüsü içinde item.h'daki değişkene gelen değeri ver. Belki daha fazla ekleme isteyebilir taslak olarak söyledim bunları. Sonra mesela shop_manager.cpp'de

Sell içinde veya başka bir dosya içindeki yere atma fonksiyonunda

if (item->FirstItem()) return false;
 
Son düzenleme:
Daha fonksiyonel birşey olsun istiyorsan item.sql'a yeni bir stun ekle sonra item.cpp'deki constructor'un gövdesinin üstüne yani üye olarak başlayacak bir değişken yap bunun prototiplerini vs yap. sonra packet.h'deki item setleri strcutları içine yeni bir değişken yap sonra itemleri verirken hem değişken için hem de item.sql'a o itemler için 1 olarak kaydettir. input_db.cpp'de ItemLoad olurken'de for döngüsü içinde item.h'daki değişkene gelen değeri ver. Belki daha fazla ekleme isteyebilir taslak olarak söyledim bunları. Sonra mesela shop_manager.cpp'de

Sell içinde veya başka bir dosya içindeki yere atma fonksiyonunda

if (item->FirstItem()) return false;
Souldbind sistemi mantığı da bu da fazla kod bilgisi gerekiyor sanki ticarete shopa yere atmaua item efsunlmaya taş çıkartıp ekleme bir ton engel gerekli sanırım itemleri kopyalıycam
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst