Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
RAMBO

KC itemini kırdığımızda Information ekranında yazdırma hk.

Önerilen Mesajlar

Merhaba arkadaşlar,

Bu işi öğrenme ve geliştirme aşamasındayım.
Şu anda yapmak istediğim şey NPC üzerinden KC kırdırdığım da "Information" kısmında x kc voucher.... gibisine yazı yazdırmak istiyorum.
@ PENTAGRAM 'dan aldığım bilgiye göre exe üzerinden yapılması gerekiyormuş.

Bu konuda yardımcı olabilecek arkadaşlar varsa yorumlarını bekliyorum.

4GMWoY.png

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Information bölümünden yazdırmak yerine chat üzerinden yada PM üzerinden yazdırmış olsan daha mantıklı olmaz mı sence?


Sizin söylediğiniz de tabi ki de çok mantıklı. Tabi ki chat ekranında yazdırmakta işimi görür ancak nasıl yapacağım konusunda fikrim yok. Exe düzenleme işine hiç bulaşmadım. Yeni öğrenmeye çalışıyorum.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin
Alıntı
Sizin söylediğiniz de tabi ki de çok mantıklı. Tabi ki chat ekranında yazdırmakta işimi görür ancak nasıl yapacağım konusunda fikrim yok. Exe düzenleme işine hiç bulaşmadım. Yeni öğrenmeye çalışıyorum.


Chat ekranına yazdıracaksın serverdan paket atacaksın KC kırdıran karaktere bu kadar basit.

İletiyi paylaş


Link to post
Sitelerde Paylaş

kanka çok güzel bir konuya değinmişsin kesinlikle pm olarak gelmesi daha güzel olur ama nasıl yapacağın hakkında bilgi sahibi değilim exe ile uğraşacaktım sen önce kodlamala dillerinden bir kaç tanesini öğren dedin neyse :D başarılar değerli insan güzel kardeşim

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Kafanda o kısımın paketi gibi bir şey var sanıyorsan, malesef bu tarz bir packet exede ekli değil.


Cevabın için teşekkür ederim.

Alıntı
kanka çok güzel bir konuya değinmişsin kesinlikle pm olarak gelmesi daha güzel olur ama nasıl yapacağın hakkında bilgi sahibi değilim exe ile uğraşacaktım sen önce kodlamala dillerinden bir kaç tanesini öğren dedin neyse :D başarılar değerli insan güzel kardeşim

PM olarak denemedim ama onu da denerim. Şimdilik chat ekranına yazdırarak işimi hallettim.

@ OzkanOzdemir 'in server taraflı paket göndereceksin demesi üzerine server taraflı bir inceleme yaptım ve deneme yanılma yöntemi ile istediğimi yaptım.
Server taraflı bu işi yaptırıp chat ekranına yazdırmak isteyenler için kodları aşağıda paylaştım.
Kodlamada hata yada fazlalık olduğunu düşünen arkadaş olursa yorum yazarsa sevinirim. Herkesin ilgi ve alakası için teşekkür ederim.

Source içerisinde GameServer > User.cpp dosyası içerisinde "SendKnightCash" metodunu değiştirdim.

Eski hali;

if (nCashPoint == 0)
return;

g_DBAgent.UpdateAccountKnightCash(GetAccountName(), nCashPoint);


Düzenlenmiş hali;

std::string cashMiktari = std::to_string(nCashPoint);

if (nCashPoint == 0)
return;

g_DBAgent.UpdateAccountKnightCash(GetAccountName(), nCashPoint);

std::string MessageKC;
MessageKC = string_format("Hesabınıza %s Knight Cash eklendi.", cashMiktari.c_str());

Packet SendMessageKC(WIZ_CHAT, uint8(PUBLIC_CHAT));
SendMessageKCSend(&SendMessageKC);


qJWngV.png

İletiyi paylaş


Link to post
Sitelerde Paylaş

g_pMain->SendHelpDestruction tam adını hatırlayamadım bu şekilde bi fonksiyon var 2 parametreli 1. si user pointerı 2. si mesaj onu kullanırsan hantallıktan kurtulursun fonksiyonunda gereksiz kod bloğu olmaz gökhan

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
g_pMain->SendHelpDestruction tam adını hatırlayamadım bu şekilde bi fonksiyon var 2 parametreli 1. si user pointerı 2. si mesaj onu kullanırsan hantallıktan kurtulursun fonksiyonunda gereksiz kod bloğu olmaz gökhan


Bu kodlardan sonra daha temiz bir kod yapısına @ PENTAGRAM sayesinde ulaştım. Kendisine paylaşıp paylaşmamayı sorduğumda paylaşabileceğimi beyan ettirdikten sonra sizinle de paylaşmış olayım.

Öncelikle GameServer > user.cpp içerisinde SendChat isminde bir metot tanımladım.


void CUser::SendChat(std::string message, std::string sender, ChatType type)
{
Packet result;
ChatPacket::Construct(&result, type, message.c_str(), sender.empty() ? NULL : sender.c_str(), GetNation());
Send(&result);
}


Daha sonrasında bu metodun çalışması için GameServer > user.h içerisinde tanımlama işlemi gerçekleştirdim.


void SendChat(std::string strMessage, std::string strSender, ChatType type);


Ve son olarak bu metodu GameServer > user.cpp içerisinde daha önce oluşturulmuş olan SendKnightCash metodu içerisinde çalıştırdım.


std::string Message = string_format("Hesabınıza %s Knight Cash eklendi.", cashMiktari.c_str());

SendChat(Message, NULL, PUBLIC_CHAT); -- Chat ekranına mesaj gönderme
SendChat(Message, "[KC Exchange]", PRIVATE_CHAT); -- Özel mesaj ile mesaj gönderme


Bu kodlar daha stabil çalışmaktadır. Umarım ihtiyacı olan diğer arkadaşlarla da bir yardımcı olur. İlgi ve alakası için @ PENTAGRAM 'a tekrar teşekkür ederim.

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...