Sziasztok! :)
Többen megkerestek már privát üzenetben, hogy PM-be hogyan lehetne szint-, időkijelzést tenni.
Most erre szeretnék egy tutorial-t írni, hátha a fórumozó banda megszereti a python nyelvet. ;D
Mellékesen megjegyzem, hogy a kliens 34k-nál locale.py-t használ és 40k-nál localeInfo.py-t. Ezért ahol láttok olyat, hogy locale. és 40k-s kliensetek van, akkor írjátok át localeInfo. -ra.
Tehát:
locale.valami
localeInfo.valami
Súgásban idő kijelzése
1, root.eix/epk-t kibontod.
2, uiwhisper.py-t megnyitod!
3, Rákeresel erre:
def SendWhisper(self):
Közvetlenül aláírod ezt:
import time
localtime = localtime = time.strftime("[%H:%M:%S]")
Így nézzen ki:
def SendWhisper(self):
import time
localtime = localtime = time.strftime("[%H:%M:%S]")
text = self.chatLine.GetText()
textLength = len(text)
4, Ezután ezt a sort:
text = self.chatLine.GetText()
Módosítod erre:
text = (localtime + self.chatLine.GetText())
Így néz ki az egész funkció:
Idéz
def SendWhisper(self):
import time
localtime = localtime = time.strftime("[%H:%M:%S]")
text = (localtime + self.chatLine.GetText())
textLength = len(text)
if textLength > 0:
if net.IsInsultIn(text):
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)
return
net.SendWhisperPacket(self.targetName, text)
self.chatLine.SetText("")
chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text)
Súgásban szint és idő kijelzése egyszerre
1, root.eix/epk-t kibontod
2, uiwhisper.py-t megnyitod!
3, Rákeresel erre:
def SendWhisper(self):
A legegyszerűbb ha az egész funkció részt átírjuk erre:
def SendWhisper(self):
import time
localtime = localtime = time.strftime("[%H:%M:%S]")
text = self.chatLine.GetText()
textLength = len(text)
if textLength > 0:
if net.IsInsultIn(text):
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)
return
##net.SendWhisperPacket(self.targetName, text)
net.SendWhisperPacket(self.targetName, "(Lv. " + str(player.GetStatus(player.LEVEL) )+ localtime + ") :" + text)
self.chatLine.SetText("")
##chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text)
chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " (Lv. " + str(player.GetStatus(player.LEVEL)) + localtime + ") : " + text)
Megjegyzés: Egy funkció azt jelenti, hogy a def valami(self): tart a másik def valami2(self):-ig, és nem vesszük bele a másik def részt.
Hívásban idő kijelzése
1, root.eix/epk-t bontsuk ki
2, uichat.py-t megnyitjuk!
3, Elejére a sok import alá beírod ezt:
import time
Ezután rákeresel erre:
def __SendShoutChatPacket(self, text):
Ezt átírod:
self.__SendChatPacket(text[1:], chat.CHAT_TYPE_SHOUT)
Erre:
##self.__SendChatPacket(text[1:], chat.CHAT_TYPE_SHOUT)
localtime = time.strftime("%H:%M:%S")
self.__SendChatPacket(localtime + " : " + text[1:], chat.CHAT_TYPE_SHOUT)
Így nézzen ki a funkció:
Idéz
def __SendShoutChatPacket(self, text):
if 1 == len(text):
self.RunCloseEvent()
return
if app.GetTime() < self.lastShoutTime + 15:
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_SHOUT_LIMIT)
self.__ResetChat()
return
##self.__SendChatPacket(text[1:], chat.CHAT_TYPE_SHOUT)
localtime = time.strftime("%H:%M:%S")
self.__SendChatPacket(localtime + " : " + text[1:], chat.CHAT_TYPE_SHOUT)
self.__ResetChat()
self.lastShoutTime = app.GetTime()
Megjegyzés: Ez csak a Shout, vagyis a Hívásra adja ki. (a felkiáltójellel írtat: ! )
Hívásban verzió szám ellenőrző
root.eix/epk --> uichat.py
Rákeresel erre:
def __SendShoutChatPacket(self, text):
Ezt átírod:
self.__SendChatPacket(text[1:], chat.CHAT_TYPE_SHOUT)
Erre:
self.__SendChatPacket("[v1.0] " + text[1:], chat.CHAT_TYPE_SHOUT)
Hívásban idő és verziószám ellenőrző egyszerre
1, root.eix/epk
2, uichat.py
Rákeresel erre:
def __SendShoutChatPacket(self, text):
Ezt átírod:
self.__SendChatPacket(text[1:], chat.CHAT_TYPE_SHOUT)
Erre:
localtime = time.strftime("%H:%M:%S")
self.__SendChatPacket(localtime + " [v1.0] : " + text[1:], chat.CHAT_TYPE_SHOUT)
Tehát így néz ki:
Idéz
def __SendShoutChatPacket(self, text):
if 1 == len(text):
self.RunCloseEvent()
return
if app.GetTime() < self.lastShoutTime + 15:
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_SHOUT_LIMIT)
self.__ResetChat()
return
##self.__SendChatPacket(text[1:], chat.CHAT_TYPE_SHOUT)
localtime = time.strftime("%H:%M:%S")
self.__SendChatPacket(localtime + " [v1.0] : " + text[1:], chat.CHAT_TYPE_SHOUT)
self.__ResetChat()
self.lastShoutTime = app.GetTime()
Hívásban CH kiíratása
1, root.eix/epk
2, uichat.py
Rákeresel erre:
def __SendShoutChatPacket(self, text):
Ezt átírod:
self.__SendChatPacket(text[1:], chat.CHAT_TYPE_SHOUT)
Erre:
a = net.GetServerInfo()
channel = a[-3:]
self.__SendChatPacket("[" + channel + "]: " + text[1:], chat.CHAT_TYPE_SHOUT)
Hívásban CH kiíratása (bizonyos mappokon)
Ha bizonyos map vagy map-okon vagy, és hívásban írsz, akkor kiírja a CH-ját a játékosnak.
Csak annyi kell tenned, hogy az egész def __SendShoutChatPacket(self, text): részt lecseréled erre:
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
a = net.GetServerInfo()
channel = a[-3:]
if not self.Some_Map():
self.__SendChatPacket("[" + channel + "]: " + text[1:], chat.CHAT_TYPE_SHOUT)
else:
self.__SendChatPacket(text[1:], chat.CHAT_TYPE_SHOUT)
self.__ResetChat()
self.lastShoutTime = app.GetTime()
def Some_Map(self):
import background
channel_map = [
"season1/metin2_map_oxevent",
]
if str(background.GetCurrentMapName()) in channel_map:
return TRUE
return FALSE
Ezután már csak ki kell egészítened azokkal a mappokkal, ahol akarod, hogy ha onnan ír, kiírja azt a CH-t hívásban, ahol van a játékos.
Köszönöm a figyelmet! Sok sikert, és jó fejlesztést mindenkinek!
Üdvözlettel, Pisti95