Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Modyfikacja Klienta - Czyli pzm , w szepcie


Rekomendowane odpowiedzi

Opublikowano

Raczej nie było .. ( raczej) Efekt :

 

popp.jpg

 

 

Na pączątek trzeba rozpakować :

root

 

gdy już rozpakujemy , otwieramy plik:

uiwhisper.py

 

 

Szukamy :

 if textLength > 0:
if net.IsInsultIn(text):
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)
return

Dodajemy :

 net.SendWhisperPacket(self.targetName, "(Lv. " + str(player.GetStatus(player.LEVEL) )+ ") sagte :" + text)

 

Tak to powinno wygląć :


if textLength > 0:
if net.IsInsultIn(text):
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)
return
net.SendWhisperPacket(self.targetName, "(Lv. " + str(player.GetStatus(player.LEVEL) )+ ") sagte :" + text)
self.chatLine.SetText("")

 

Edytujemy linijkę :

chat.AppendWhisper(chat.WHISPER_TYPE_CHAT,

 

po edycji powinno tak to wyglądać :


chat.AppendWhisper (chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName () + "(Lv." + str (player.GetStatus (player.LEVEL)), "powiedział):" + tekst +)

 

Dla nie kumatych Gotowy plik :

 




import ui
import net
import chat
import player
import app
import locale

class WhisperButton(ui.Button):
def __init__(self):
ui.Button.__init__(self, "TOP_MOST")
def __del__(self):
ui.Button.__del__(self)
def SetToolTipText(self, text, x=0, y = 32):
ui.Button.SetToolTipText(self, text, x, y)
self.ToolTipText.Show()

def ShowToolTip(self):
if 0 != self.ToolTipText:
self.ToolTipText.Show()
def HideToolTip(self):
if 0 != self.ToolTipText:
self.ToolTipText.Show()

class WhisperDialog(ui.ScriptWindow):

class TextRenderer(ui.Window):
def SetTargetName(self, targetName):
self.targetName = targetName

def OnRender(self):
(x, y) = self.GetGlobalPosition()
chat.RenderWhisper(self.targetName, x, y)

class ResizeButton(ui.DragButton):

def __init__(self):
ui.DragButton.__init__(self)

def __del__(self):
ui.DragButton.__del__(self)

def onmouseoverIn(self):
app.SetCursor(app.HVSIZE)

def onmouseoverOut(self):
app.SetCursor(app.NORMAL)

def __init__(self, eventMinimize, eventClose):
print "NEW WHISPER DIALOG ----------------------------------------------------------------------------"
ui.Scriptwindow.__init__(self)
self.targetName = ""
self.eventMinimize = eventMinimize
self.eventClose = eventClose
self.eventAcceptTarget = None
def __del__(self):
print "---------------------------------------------------------------------------- DELETE WHISPER DIALOG"
ui.Scriptwindow.__del__(self)

def LoadDialog(self):
try:
pyScrLoader = ui.PythonScriptLoader()
pyScrLoader.LoadScriptFile(self, "UIScript/WhisperDialog.py")
except:
import exception
exception.Abort("WhisperDialog.LoadDialog.LoadScri pt")

try:
GetObject=self.GetChild
self.titleName = GetObject("titlename")
self.titleNameEdit = GetObject("titlename_edit")
self.closeButton = GetObject("closebutton")
self.scrollBar = GetObject("scrollbar")
self.chatLine = GetObject("chatline")
self.minimizeButton = GetObject("minimizebutton")
self.ignoreButton = GetObject("ignorebutton")
self.acceptButton = GetObject("acceptbutton")
self.sendButton = GetObject("sendbutton")
self.board = GetObject("board")
self.editBar = GetObject("editbar")
except:
import exception
exception.Abort("Dialogwindow.LoadDialog.BindObjec t")

self.titleName.SetText("")
self.titleNameEdit.SetText("")
self.minimizeButton.SetEvent(ui.__mem_func__(self. Minimize))
self.closeButton.SetEvent(ui.__mem_func__(self.Clo se))
self.scrollBar.SetPos(1.0)
self.scrollBar.SetScrollEvent(ui.__mem_func__(self .onscroll))
self.chatLine.SetReturnEvent(ui.__mem_func__(self. SendWhisper))
self.chatLine.SetEscapeEvent(ui.__mem_func__(self. Minimize))
self.chatLine.SetMultiLine()
self.sendButton.SetEvent(ui.__mem_func__(self.Send Whisper))
self.titleNameEdit.SetReturnEvent(ui.__mem_func__( self.AcceptTarget))
self.titleNameEdit.SetEscapeEvent(ui.__mem_func__( self.Close))
self.ignoreButton.SetToggleDownEvent(ui.__mem_func __(self.IgnoreTarget))
self.ignoreButton.SetToggleUpEvent(ui.__mem_func__ (self.IgnoreTarget))
self.acceptButton.SetEvent(ui.__mem_func__(self.Ac ceptTarget))

self.textRenderer = self.TextRenderer()
self.textRenderer.SetParent(self)
self.textRenderer.SetPosition(20, 28)
self.textRenderer.SetTargetName("")
self.textRenderer.Show()

self.resizeButton = self.ResizeButton()
self.resizeButton.SetParent(self)
self.resizeButton.SetSize(20, 20)
self.resizeButton.SetPosition(260, 180)
self.resizeButton.SetMoveEvent(ui.__mem_func__(sel f.ResizeWhisperDialog))
self.resizeButton.Show()

self.ResizeWhisperDialog()

def Destroy(self):

self.eventMinimize = None
self.eventClose = None
self.eventAcceptTarget = None

self.ClearDictionary()
self.scrollBar.Destroy()
self.titleName = None
self.titleNameEdit = None
self.closeButton = None
self.scrollBar = None
self.chatLine = None
self.sendButton = None
self.ignoreButton = None
self.acceptButton = None
self.minimizeButton = None
self.textRenderer = None
self.board = None
self.editBar = None
self.resizeButton = None

def ResizeWhisperDialog(self):
(xPos, yPos) = self.resizeButton.GetLocalPosition()
if xPos < 200:
self.resizeButton.SetPosition(200, yPos)
return
if yPos < 150:
self.resizeButton.SetPosition(xPos, 150)
return
self.SetWhisperDialogSize(xPos + 20, yPos + 20)

def SetWhisperDialogSize(self, width, height):
try:

max = int((width-90)/6) * 3 - 6

self.board.SetSize(width, height)
self.scrollBar.SetPosition(width-25, 35)
self.scrollBar.SetScrollBarSize(height-100)
self.scrollBar.SetPos(1.0)
self.sendButton.SetPosition(width-80, 10)
self.editBar.SetPosition(10, height-60)
self.editBar.SetSize(width-18, 50)
self.chatLine.SetSize(width-90, 40)
self.chatLine.SetLimitWidth(width-90)
self.SetChatLineMax(max)
self.SetSize(width, height)

self.minimizeButton.SetPosition(width-42, 12)
self.closeButton.SetPosition(width-24, 12)

if 0 != self.targetName:
chat.SetWhisperBoxSize(self.targetName, width - 50, height - 90)

except:
import exception
exception.Abort("WhisperDialog.SetWhisperDialogSiz e.BindObject")

def SetChatLineMax(self, max):
self.chatLine.SetMax(max)

from grpText import GetSplitingTextLine

text = self.chatLine.GetText()
if text:
self.chatLine.SetText(GetSplitingTextLine(text, max, 0))

def OpenWithTarget(self, targetName):

chat.CreateWhisper(targetName)
chat.SetWhisperBoxSize(targetName, self.GetWidth() - 60, self.GetHeight() - 90)

self.chatLine.SetFocus()
self.titleName.SetText(targetName)
self.targetName = targetName
self.textRenderer.SetTargetName(targetName)

self.titleNameEdit.Hide()
self.ignoreButton.Hide()
self.acceptButton.Hide()
self.minimizeButton.Show()

def OpenWithoutTarget(self, event):

self.eventAcceptTarget = event

self.titleName.SetText("")
self.titleNameEdit.SetText("")
self.titleNameEdit.SetFocus()
self.targetName = 0
self.titleNameEdit.Show()
self.ignoreButton.Hide()
self.acceptButton.Show()
self.minimizeButton.Hide()

def Minimize(self):
self.titleNameEdit.KillFocus()
self.chatLine.KillFocus()
self.Hide()

if None != self.eventMinimize:
self.eventMinimize(self.targetName)

def Close(self):
chat.ClearWhisper(self.targetName)
self.titleNameEdit.KillFocus()
self.chatLine.KillFocus()
self.Hide()

if None != self.eventClose:
self.eventClose(self.targetName)

def IgnoreTarget(self):
net.SendChatPacket("/ignore " + self.targetName)

def AcceptTarget(self):
name = self.titleNameEdit.GetText()
if len(name) <= 0:
self.Close()
return

if None != self.eventAcceptTarget:
self.titleNameEdit.KillFocus()
self.eventAcceptTarget(name)

def onscroll(self):
chat.SetWhisperPosition(self.targetName, self.scrollBar.GetPos())

def SendWhisper(self):

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, "(Lv. " + str(player.GetStatus(player.LEVEL) )+ ") sagte :" + text)
self.chatLine.SetText("")

chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " (Lv. " + str(player.GetStatus(player.LEVEL)) + ") sagte : " + text)

def OnTop(self):
self.chatLine.SetFocus()

if "__main__" == __name__ :
import uiTest

class TestApp(uiTest.App):
def OnInit(self):
wnd = WhisperDialog(self.OnMax, self.OnMin)
wnd.LoadDialog()
wnd.OpenWithoutTarget(self.OnNew)
wnd.SetPosition(0, 0)
wnd.Show()

self.wnd = wnd

def OnMax(self):
pass

def OnMin(self):
pass

def OnNew(self):
pass

TestApp().MainLoop()

 

​ Źródło:

http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/449212-level-bei-einer-pn-anzeigen-aeromt2-rulez-d.html

363451410787081286162.png


Opublikowano

W "Tak to powinno wyglądąć:", sagte z niemieckiego znaczy powiedział/mówił :D

Poza tym to co dałeś na ss daje inny efekt. Daje sam lvl i dopisuje powiedział.

Pozdrawiam

zf0m.png


LINK DO PREZENTACJI (KLIK)


Nic dodać, nic ująć.


  • 5 miesięcy temu...
Opublikowano

Mini zabezpieczenie przed km. Można to ładnie rozwinąć aby nie było tak łatwo dodać to do KM. Np dodać hyperlink obok nicku w jakimś znaku.

Wtedy ten kto napisze bez znaku, będzie osądzany za używanie nielegalnego oprogramowania :)

Opublikowano

Mini zabezpieczenie przed km. Można to ładnie rozwinąć aby nie było tak łatwo dodać to do KM. Np dodać hyperlink obok nicku w jakimś znaku.

Wtedy ten kto napisze bez znaku, będzie osądzany za używanie nielegalnego oprogramowania :)

 

Albo zablokować kamermoda?

 

 

Ty mnie nie denerwuj ;x

 

 

 

@topic

Równie dobrze możemy tam dodać cokolwiek. Jakieś znaczki, grafiki itd.

Postępując zgodnie z "tutorialem" otrzymamy ZDECYDOWANIE inny efekt niż autor przedstawił.

Efekt będzie mniej więcej taki:

Wyświetlony będzie poziom i słowo sagte: ( Lv. lvl ) sagte: (z niemieckiego powiedział)

Ale ten tutorial jest jeszcze za czasów "Vito"....

  • 3 miesiące temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...