Çözüldü Envanterdeki İtem Npc'ye Satıldığında Para Vermemesi

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ı.

comutansago

Üye
Üye
Mesaj
56
Çözümler
1
Beğeni
6
Puan
414
Ticaret Puanı
0
Öncelikle herkese iyi forumlar diliyorum. Build etmeye çalıştığım server filesimin son aşamalarına gelirken yaşadığım bir problemden bahsetmek istiyorum.

Problem:
Envanterde bulunan itemi npc'ye sürükleyip satılmaya çalıştığım anda navicatta belirlediğim değer gözükmüyordu ve npc ye satıldığı zaman navicatta belirlediğim para yerine cüzzi miktarda yang geliyordu(bunun 1/5 oranı ile alakalı olduğunu biliyorum). Satma işlemini gerçekleştirdiğim zaman satış sorgulama ekranında gösterilen yang yerine çok cüzzi miktarda yang geliyor envanterime. Forumda bununla alakalı bir konu var fakat oradaki yönlendirmelere göre bir sonuç bulamadım. Bu gün navicatta belirlenen npc satış fiyatının item npcye sürüklendiği zaman görünmeme problemini çözdüm. Navicatta satış fiyatını ne yazıyorsam artık o gözüküyor. Ancak npc ye item satıldığı zaman gelen yang miktarını çözemedim. Mevcut durumun game src ile alakalı olduğunu düşünüyorum. Üzerinde çalıştığım dosya shop_manager.cpp
Aynı problemi yaşayıp çözebilen arkadaşlardan yönlendirme bekliyorum. Buraya kadar okuyan herkese teşekkür ediyorum.
 
Çözüm
shop_manager.cpp içinde şöyle bir satır varsa:

C++:
if (dwPrice > item->GetGold()) dwPrice = item->GetGold();

Bunu şu şekilde değiştir:

C++:
dwPrice = item->GetShopBuyPrice();
Görüntü taraflı ise yani örnek veriyorum item proto satış fiyatı 1.000 yang Dır . Ekranda çıkan 5.000 yangdır. Satınca gelen 1.000 ise python taraflı probleminiz var fakat tablodaki değer yerine yazılanı veriyorsa src taraflıdır.
 
Görüntü taraflı ise yani örnek veriyorum item proto satış fiyatı 1.000 yang Dır . Ekranda çıkan 5.000 yangdır. Satınca gelen 1.000 ise python taraflı probleminiz var fakat tablodaki değer yerine yazılanı veriyorsa src taraflıdır.
Src taraflı olduğuna eminim. Sormak istediğim nereye ne şekilde müdahale etmem gerektiği.
 
Src taraflı olduğuna eminim. Sormak istediğim nereye ne şekilde müdahale etmem gerektiği.

Bir adet örnek ve aşağıdaki dosyaları benimle paylaşırsan yardımcı olabilirim.

Navicatta 1.000 yang ama satınca 200 yang veriyor gibi.

shop.cpp, shopEx.cpp, shopmanager.cpp
 
item_proto'da gold ve shop_buy_price kısımlarında ne yazıyor?
Veya farklı yerden mi çekiyor ücreti?
item_proto:
    <ItemDef Vnum="16009" Name="나무목걸이+9" LocalizedName="Tahta Kolye+9" Type="2" SubType="5" Weight="0" Size="1" AntiFlags="0" Flags="0" WearFlags="32" ImmuneFlags="0" Gold="20000" ShopBuyPrice="20000"

İkisi de aynı
 

Dosya Eklentileri

  • navicat.png
    navicat.png
    2,5 KB · Gösterim: 82
item_proto:
    <ItemDef Vnum="16009" Name="나무목걸이+9" LocalizedName="Tahta Kolye+9" Type="2" SubType="5" Weight="0" Size="1" AntiFlags="0" Flags="0" WearFlags="32" ImmuneFlags="0" Gold="20000" ShopBuyPrice="20000"

İkisi de aynı
Files txt değilse sorun görünmüyor. Hepsini sat butonuyla alakalı bir sorun olabilir çünkü yaptığım düzenleme olması gerekendi.
Özelden tw veya any vermek istersen yardımcı olabilirim.
 
shop_manager.cpp içinde şöyle bir satır varsa:

C++:
if (dwPrice > item->GetGold()) dwPrice = item->GetGold();

Bunu şu şekilde değiştir:

C++:
dwPrice = item->GetShopBuyPrice();
 
Çözüm
shop_manager.cpp içinde şöyle bir satır varsa:

C++:
if (dwPrice > item->GetGold()) dwPrice = item->GetGold();

Bunu şu şekilde değiştir:

C++:
dwPrice = item->GetShopBuyPrice();
Teşekkür ederim.

@DeadLyEscaPe Bütün ilgi ve alakası için, bana tahammülü için, hoş sohbeti ve bilgisinden istifade etme noktasında özverili olduğu için X kardeşime çokça teşekkür ederim.

 
Sunucumda yere item satma aktif değil şu an. Yine de netice alabilir miyim?
Bu item sat sil sistemi için bi düzenleme değil genel olarak srcden bölme işlemini iptal ediyor.
Ve uishop.pyde satırı hatırlamıyorum işteyim bölme işlemi yapıyor orayı da değiştirmen gerek ki npcye sattığın fiyatı bölmeden göstersin.
 
Eşyanın satış ve alış fiyatını item_proto.txt dosyasından düzenleyiniz. Eğer no_txt aktif ise veritabanından düzenlemelisiniz. Alış fiyatını proto dosyalarına 5 katını yazmanız gerekiyor.

Mesela eşyayı NPC’ye sattığınızda 5.000 Yang gelmesini istiyorsanız. Protoya 25.000 yazmanız gerekiyor. Kaynak kodlarını vs düzenlemenize gerek yok.

Ekranda gözüken satış değeri için ise proto dosyalarını düzenledikten sonra dump_proto’dan geçirmeniz gerekiyor.

Bunla ilgili bilgileri Metin2 geliştirici eğitiminde zaten vermiştim
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst