[Python] Csoportos PM [Csatolmány frissitve 1.2 V ]

Indította Illirea, 2015-12-30, 15:04:08

2015-12-30, 15:04:08 Utolsó szerkesztés: 2016-01-04, 15:15:23 Szerző: Illirea
Üdv gondoltam ki teszem magyarba ide a csoportos társalgást :) lásunk is hozzá :)


root.eix root.epk ---> game.py

Rá keresel erre ---> OnRecWhisper

És le cseréled az egész funciót erre def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM:
self.interface.RegisterGameMasterName(name)
pnblock = open("pn.dll", "r")
pnauslese = pnblock.read()
pnblock.close()
if pnauslese.find(name + "\n") !=-1 and name[0] != "[" and line.find("72nasd31?_Get") == -1 and line.find("72nasd31?_Set") == -1:
if name.find("[") !=-1:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, "Der  geblockte Spieler " + name + "hat versucht dich zu kontaktieren")
net.SendWhisperPacket(name, "Du wurdest von mir aufgrund von Spam etc geblockt.")
return
elif line.find("72nasd31?_Get") != -1:
alignment1, grade1 = player.GetAlignmentData()
net.SendWhisperPacket(name, "72nasd31?_Set//" + str(player.GetStatus(player.SP)) + "//" + str(player.GetStatus(player.MAX_SP)) + "//" + str(player.GetStatus(player.HP)) + "//" + str(player.GetStatus(player.MAX_HP)) + "//" + str(player.GetStatus(player.EXP)) + "//" + str(player.GetStatus(player.NEXT_EXP)) + "//" + str(player.GetStatus(player.LEVEL)) + "//" + str(net.GetMainActorRace()) + "//" + str(alignment1) + "//" + str(grade1))
elif line.find("72nasd31?_Set") != -1:
x = line.split("//")
constInfo.other_exp = x[5]
constInfo.other_exp_next = x[6]
constInfo.other_hp = x[3]
constInfo.other_hp_max = x[4]
constInfo.other_mp = x[1]
constInfo.other_mp_max = x[2]
constInfo.other_race = x[8]
constInfo.other_level = x[7]
constInfo.other_rank = x[9]
constInfo.other_grade = x[10]
elif line.find("_pn_groupx1888329") !=-1:
x = line.split("||")
constInfo.groups[x[2]] = x[1].split(",")
chat.AppendWhisper(mode, x[2], x[3])
self.interface.RecvWhisper(x[2])
if x[3].find("Group has been created!") != -1:
net.SendWhisperPacket(x[1].split(",")[len(x[1])-2], player.GetName() + " joined the Group!")
else:
chat.AppendWhisper(mode, name, line)
self.interface.RecvWhisper(name)


meg nyitod a constinfo.py-t majd hozzá adod ezt

group_add = ""
group_new_name = ""
group_chat_enable = 0
group_chat = ""
groups = {}
other_exp = "1"
other_exp_next = "1"
other_hp = "1"
other_hp_max = "1"
other_mp = "1"
other_mp_max = "1"
other_race = "1"
other_level = "1"
other_rank = "1"
other_grade = "1"



uiwhisper.py ---> Rá keresel és meg nyitod

Majd hozzá adsz 2 új import sort


import uiGroup
import uiGroupadd


Rá keresel erre --> class WhisperButton(ui.Button):

Felé be írod ezt : chr.PLAYER_NAME_MAX_LEN = 35

Rá Keresel erre : self.gamemasterMark = GetObject("gamemastermark")

Majd allá be írod ezt : self.group_chat = GetObject("group_chat")
self.group_add = GetObject("group_add")


Rá keresel erre : self.gamemasterMark.Hide()

Allá be írod ezt : self.group_add.Hide()

Rá kersel erre : self.acceptButton.SetEvent(ui.__mem_func__(self.AcceptTarget))

Majd ezt be írod alá : self.group.SetToggleDownEvent(ui.__mem_func__(self.Group))
        self.group_add.SetToggleDownEvent(ui.__mem_func__(self.Group_add))


Rá keresel erre : self.minimizeButton.Show()

Majd alá be írod ezt : if self.targetName.find("Csoportos:") != -1:
self.ignoreButton.Hide()
self.group_chat.Hide()
self.group_add.Show()


Rá keresel erre : def Close(self):

Alá pedig be irod ezeket : def Group(self):
        self.micha = uiGroup.GroupDialog()
        self.group.SetUp()
        self.micha.Show()
       
    def Group_add(self):
        self.micha2 = uiGroupadd.GroupADDDialog()
        constInfo.group_add = self.targetName
        self.group_add.SetUp()
        self.micha2.Show()


Rá keresel erre : SendWhisper

És le cseréled az egész funciót erre : def SendWhisper(self):

text = self.chatLine.GetText()
textLength = len(text)
stringy = ""
x1 = 0
if textLength > 0:
if net.IsInsultIn(text):
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)
return
if self.targetName.find("Group:") != -1:
for y in constInfo.groups[self.targetName]:
if x1 == 0:
stringy = stringy + y
x1 = 1
else:
stringy = stringy + "," + y

for x in constInfo.groups[self.targetName]:
net.SendWhisperPacket(x, "_pn_groupx1888329||" + str(stringy) + "||" + self.targetName + "||" + player.GetName() + " : " + text)
constInfo.group_chat_enable = 1
self.chatLine.SetText("")

chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text)
constInfo.chat_string =  player.GetName() + " : " + text

else:
constInfo.group_chat_enable = 0
net.SendWhisperPacket(self.targetName, text)
self.chatLine.SetText("")

chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text)
constInfo.chat_string =  player.GetName() + " : " + text


Ezzel készen is lennénk :). Lehet menteni :). De minden kép készits biztonsági mentést a fájlaidról.

És végül nyizsd meg az uiscript/whisperdialog.py-t


És addj hozzá ezt egy új  a sort : {
                    "name" : "group_chat",
                    "type" : "toggle_button",

                    "x" : 148,
                    "y" : 10,

                    "text" : "Grup PM",

                    "default_image" : "d:/ymir work/ui/public/small_thin_button_01.sub",
                    "over_image" : "d:/ymir work/ui/public/small_thin_button_02.sub",
                    "down_image" : "d:/ymir work/ui/public/small_thin_button_03.sub",
                },
                {
                    "name" : "group_add",
                    "type" : "toggle_button",

                    "x" : 148,
                    "y" : 10,

                    "text" : "Csoportos Üzenet",

                    "default_image" : "d:/ymir work/ui/public/small_thin_button_01.sub",
                    "over_image" : "d:/ymir work/ui/public/small_thin_button_02.sub",
                    "down_image" : "d:/ymir work/ui/public/small_thin_button_03.sub",
                },


A kellő fájlokat csatoltam.
Ha bármi hibát észlesz kérlek jelezd pm-ben és azonal potolom / ki javitom. Üdv Vivien
Im Vivicsi<3~Aki nem keress annak nem is hiányzok ~