Uzaktan Ticaret[C++&PYTHON]

LDrago

The Dragon's Excalibur
Üye
Mesaj
162
Çözümler
1
Beğeni
179
Puan
726

cmd.cpp açılır-aratılır:
C++:
ACMD(do_stun);
Altına eklenir;
C++:
ACMD(do_uzaktan_ticaret);
ACMD(do_uzaktan_ticaret_hayir);
ACMD(do_uzaktan_ticaret_kabul);
Aratılır:
C++:
{ "mall_passwor",    do_inputall,        0,            POS_DEAD,    GM_PLAYER    },
Altına Eklenir;
C++:
{ "uzaktan_ticaret",        do_uzaktan_ticaret,            0,            POS_DEAD,    GM_PLAYER    },    { "uzaktan_ticaret_hayir",    do_uzaktan_ticaret_hayir,    0,            POS_DEAD,    GM_PLAYER    },

   { "uzaktan_ticaret_kabul",    do_uzaktan_ticaret_kabul,    0,            POS_DEAD,    GM_PLAYER    },
cmd_general.cpp açılır-aratılır:
Kod:
ACMD(do_observer_exit)
Kod bloğunun altına eklenir;
Linkleri görebilmek için giriş yap veya kayıt ol.

C++:
ACMD(do_uzaktan_ticaret_hayir)
{
   char hedef[256];
   one_argument(argument, hedef, sizeof(hedef));
   LPCHARACTER kimsin = CHARACTER_MANAGER::instance().FindPC(hedef);
   CCI * farklich = P2P_MANAGER::instance().Find(hedef);
   /////////////////////////////////////////////////////////////////////////
   if (kimsin == ch){return;}
   if (!*hedef){ch->ChatPacket(CHAT_TYPE_INFO, "yanlis kullanim");return;}
   if (kimsin)
   {
       kimsin->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s isimli oyuncu uzaktan ticareti reddetti!"),ch->GetName());
   }
   else if (!kimsin)
   {
       if (farklich)
       {
           ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s kisisi bu kanalda degil."), kimsin->GetName());
           return;
       }
       else
       {
           ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s kisisi oyunda degil"), hedef);
       }
   }
}
ACMD(do_uzaktan_ticaret_kabul)
{
   char hedef[256];
   one_argument(argument, hedef, sizeof(hedef));
   LPCHARACTER kimsin = CHARACTER_MANAGER::instance().FindPC(hedef);
   CCI * farklich = P2P_MANAGER::instance().Find(hedef);
   /////////////////////////////////////////////////////////////////
   if (kimsin == ch){return;}
   if (!*hedef)
   {}
   if (kimsin)
   {
       ch->ExchangeStart(kimsin);//__Exchange.cpp__
   }
   else if (!kimsin)
   {
       if (farklich)
       {
           ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s kisisi bu kanalda degil."), kimsin->GetName());
           return;
       }
       else
       {
           ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s kisisi oyunda degil"), hedef);
       }
   }
}
ACMD(do_uzaktan_ticaret)
{
   char hedef[256];
   one_argument(argument, hedef, sizeof(hedef));
   LPCHARACTER kimsin = CHARACTER_MANAGER::instance().FindPC(hedef);
   CCI * farklich = P2P_MANAGER::instance().Find(hedef);
   ////////////////////////////////////////////////////////////////////
   if (!*hedef){return;}  
   if (kimsin == ch)
   {
       ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("|cffFFC125Hata: Kendi ismini yazamazsin!"));
       return;
   }
 
   if (kimsin)
   {
       kimsin->ChatPacket(CHAT_TYPE_COMMAND, "sorgu %s %d", ch->GetName(), ch->GetLevel());
       ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s kisisine isteginiz iletildi."), kimsin->GetName());
   }  
   else if (!kimsin)
   {
       if (farklich)
       {
           ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s kisisi bu kanalda degil."), kimsin->GetName());
           return;
       }
       else
       {
           ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s kisisi oyunda degil"), hedef);
           return;
       }
   }
}
exchange.cpp açılır-aratılır:
C++:
if (iDist >= EXCHANGE_MAX_DISTANCE)
       return false;
Değiştirilir;
C++:
/*if (iDist >= EXCHANGE_MAX_DISTANCE)
       return false;*/
game.py açılır-aratılır:
Python:
"ConsoleEnable"            : self.__Console_Enable,
Altına eklenir;
Python:
"sorgu"            : self.Uzaktan_ticaret_soru,
Py Sonuna Eklenir;
Linkleri görebilmek için giriş yap veya kayıt ol.

Python:
def Uzaktan_ticaret_soru(self, isim, level):        uzaktan_sorusu = uiCommon.QuestionDialog()
       uzaktan_sorusu.SetText("|cffFDD017|H|h" + str(isim)+ "|cff00ccff" + "(Lv."+str(level)+")"+ "|h|r" + " Seninle uzaktan ticaret yapmak istiyor.")
       uzaktan_sorusu.SetAcceptEvent(lambda arg=TRUE: self.tamam_mk(isim))
       uzaktan_sorusu.SetCancelEvent(lambda arg=FALSE: self.sie_mq(isim))      
       uzaktan_sorusu.Open()
       self.uzaktan_sorusu = uzaktan_sorusu
       return  
     
   def tamam_mk(self, isim):
       #net.SendExchangeStartPacket(isim)
       net.SendChatPacket("/uzaktan_ticaret_kabul " + str(isim))
       self.uzaktan_sorusu.Close()
   def sie_mq(self, isim):
       net.SendChatPacket("/uzaktan_ticaret_hayir " + str(isim))
       self.uzaktan_sorusu.Close()
locale_string.txt'ye ekleyin
Kod:
"%s isimli oyuncu uzaktan ticareti reddetti!";"|cff00ccff%s |cffFFC125isimli oyuncu uzaktan ticareti reddetti.";


"%s kisisi oyunda degil";
"|cff00ccff%s |cffFFC125isimli oyuncu oyunda değil.";


"%s kisisi bu kanalda degil.";
"|cff00ccff%s |cffFFC125isimli oyuncu bu kanalda değil.";


"|cffFFC125Hata: Kendi ismini yazamazsin!";
"|cffFFC125Hata: Kendi ismini yazamazsın.";
Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.
 
Hocam Merhabalar hepsini ekledim game build ettim ama
Root Pack/Game.py düzenliyorum sorunsuz şekilde kopyalayıp yapıştırıyorum.
Oyuna girince bu ekranda kalıyor. Eski root pack'leri atınca geri düzeliyor.

hataaa.png
 
En son bir moderatör tarafından düzenlenmiş:
Syserr Hatalarını ve Yapmayı denediğim bu sistemi geri kaldırdığım için bilgilere şuan için ulaşamıyorum. İlginiz için teşekkürler. Bir daha denersem syserr hatalarını konu dahil ederim.
 
farklı maplarda olunca ut açılmıyor ve hiçbir tepki vermiyor farklı maplarda 2-3 defa uzaktan ticarete tıklayınca oyundan atıyor ve bi daha girmiyor
ch düşüyor yani
 
Son düzenleme:
Geri
Üst