Oto bağırma sistemi pm butonu ekleme

abdullahaltnbs

Moderatör
Katılım
6 Tem 2018
Konular
36
Mesajlar
792
Online süresi
28g 1265s
Reaksiyon Skoru
106
Altın Konu
0
Başarım Puanı
119
Yaş
29
TM Yaşı
7 Yıl 9 Ay 19 Gün
MmoLira
426
DevLira
6

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Merhabalar, filesimde CTRL+C ile çalışan oto bağırma sistemi var.
Normal bağırmadan yazınca isim yanında [PM] at seçeneği var
ama oto bağırma aktif edince otomatik gönderilen bağırmada PM at seçeneği yok.

Bunu nasıl düzeltebilirim.





Oto bağırma uichat.py:
    def OnUpdate(self):
        if self.boardState == chat.BOARD_STATE_EDIT:
            chat.Update(self.chatID)
        elif self.boardState == chat.BOARD_STATE_VIEW:
            if systemSetting.IsViewChat():
                chat.Update(self.chatID)
        if constInfo.AUTO_CHAT == 1:
            if app.GetTime() > self.lastShoutTime and app.GetTime() > constInfo.wait_chat_auto:
                if constInfo.chat_wait_because_teleport == 1:
                    return
                if len(constInfo.LAST_CHAT_MESSAGE) > 2:
                    text = constInfo.LAST_CHAT_MESSAGE
                    constInfo.wait_chat_auto2 = app.GetTime() + 1
                    net.SendChatPacket(text, chat.CHAT_TYPE_SHOUT)
                elif len(constInfo.LAST_CHAT_MESSAGE_TRADE) > 2:
                    text = constInfo.LAST_CHAT_MESSAGE_TRADE
                    constInfo.wait_chat_auto2 = app.GetTime() + 1
                    net.SendChatPacket(text, chat.CHAT_TYPE_SHOUT_TRADE)
                self.lastShoutTime = app.GetTime() + 30

Normal bağırma uichat.py:
    def __SendShoutChatPacket(self, text):

        if 1 == len(text):
            self.RunCloseEvent()
            return

        if app.GetTime() < self.lastShoutTime + 15:
            chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHAT_SHOUT_LIMIT)
            self.__ResetChat()
            return
        chInfo = net.GetServerInfo()
        myChannel = chInfo[-3:]
        if net.GetEmpireID() == 1:
            self.__SendChatPacket(""+constInfo.pm_button+'|cFF47DA00|Hpm_button:'+str(player.GetName())+'|h[PM]|h|r:'+" "+text[1:], chat.CHAT_TYPE_SHOUT)       
        elif net.GetEmpireID() == 2:
            self.__SendChatPacket(""+constInfo.pm_button+'|cFF47DA00|Hpm_button:'+str(player.GetName())+'|h[PM]|h|r:'+" "+text[1:], chat.CHAT_TYPE_SHOUT)   
        elif net.GetEmpireID() == 3:
            self.__SendChatPacket(""+constInfo.pm_button+'|cFF47DA00|Hpm_button:'+str(player.GetName())+'|h[PM]|h|r:'+" "+text[1:], chat.CHAT_TYPE_SHOUT)

        self.__SendChatPacket(text[1:], chat.CHAT_TYPE_SHOUT)
        self.__ResetChat()

        self.lastShoutTime = app.GetTime()
 
Son düzenleme:
Çözüm
Tab hatasından kaynaklı olarak bu sysser veriyor yapamazsan anydesk ver halledeyim

uichat.py:
# Orijinal Hatalı Satır (yanlış girinti):
                            net.SendChatPacket(constInfo.BagirmaPm+'|cff00ff00|HBagirmaPm:'+str(player.GetName())+'|h - [PM AT] |h|r'+" : "+text[1:], chat.CHAT_TYPE_SHOUT)

# Düzeltilmiş Girinti (çevresindeki kodla aynı hizada olmalı):
                            net.SendChatPacket(constInfo.BagirmaPm + '|cff00ff00|HBagirmaPm:' + str(player.GetName()) + '|h - [PM AT] |h|r' + " : " + text[1:], chat.CHAT_TYPE_SHOUT)
Eklediğin bu [PM] buton sistemini oto bağırmaya uyarlaman gerekiyor dostum.
 
Şu adımları izle

constinfo.py:
# Ekle
BagirmaPm = ""

game.py:
# Arat
                            net.SendChatPacket(text, chat.CHAT_TYPE_SHOUT)

# Değiştir
                            net.SendChatPacket(constInfo.BagirmaPm+'|cff00ff00|HBagirmaPm:'+str(player.GetName())+'|h - [PM AT] |h|r'+" : "+text[1:], chat.CHAT_TYPE_SHOUT)
 
input_main.cpp:
//Arat;

    int len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);


//Değiştir;

    if (CHAT_TYPE_SHOUT == pinfo->type)
    {
        len = snprintf(chatbuf, sizeof(chatbuf), "|cFF98FF33|h[Lv %d] |Hchattanpmyolla:%s|h%s|h|r : %s", ch->GetLevel(), ch->GetName(), ch->GetName(), buf);
    }
    else
    {
        len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);
    }



interfacemodule.py:
#Arat;

    def MakeHyperlinkTooltip(self, hyperlink):

        tokens = hyperlink.split(":")

        if tokens and len(tokens):

            type = tokens[0]

            if "item" == type:

                self.hyperlinkItemTooltip.SetHyperlinkItem(tokens)


#D#Değiştir   def MakeHyperlinkTooltip(self, hyperlink):

        tokens = hyperlink.split(":")

        if tokens and len(tokens):

            type = tokens[0]

            if "item" == type:

                self.hyperlinkItemTooltip.SetHyperlinkItem(tokens)

            elif "chattanpmyolla" == type:

                self.OpenWhisperDialog(str(tokens[1]))
 
Hocam benim fileste bu kodlama game.py de yok ama uichat.py de var.
yaptığımda SYSERR
networkModule.SetSelectCharacterPhase - <type 'exceptions.IndentationError'>:unindent does not match any outer indentation level (uiChat.py, line 835)

Konuya uichat.py içeriği ekledim hocam size zahmet göz atar mısınız
 
Son düzenleme:

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)