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

[Pytanie] Zmienienie szeptu na KamerModzie (klient 2011r.)


b0c!k

Rekomendowane odpowiedzi

Opublikowano

Witam.

 

Mam pytanie, podmieniłem już niemalże wszystkie pliki w moim kliencie, który próbuję zrobić pod pewen prywatny serwer, lecz mam jeszcze jeden problem.

 

Mianowicie, nie mogę edytować szeptu, aby przy nicku gracza wyświetlał się jego level i aktualna data, gdy wszystko zmienie w uiwhisper.py, zapakuje do root (jest wpakowane na pewno, ponieważ potem wypakowałem i jest podmienione) to i tak szept wyświetla się normalnie, widać tylko nick gracza. Może w kamerze służy inny plik odpowiedzialny za to?

Chcę uzyskać mniej więcej taki efekt jak jest po wpisaniu /whisperlevel

 

Ma to wyglądać tak:

post-76041-0-28506500-1346145955.png

 

Aktualny uiwhisper.py (spakowany w roocie, moze w modzie odpowiada za to inny plik ?)

 

import ui

import net

import chat

import player

import app

import locale

import ime

import chr

 

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 SetToolTipTextWithColor(self, text, color, x=0, y = 32):

ui.Button.SetToolTipText(self, text, x, y)

self.ToolTipText.SetPackedFontColor(color)

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.LoadScript")

 

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")

self.gamemasterMark = GetObject("gamemastermark")

except:

import exception

exception.Abort("Dialogwindow.LoadDialog.BindObject")

 

self.gamemasterMark.Hide()

self.titleName.SetText("")

self.titleNameEdit.SetText("")

self.minimizeButton.SetEvent(ui.__mem_func__(self.Minimize))

self.closeButton.SetEvent(ui.__mem_func__(self.Close))

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.SendWhisper))

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.AcceptTarget))

 

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(280, 180)

self.resizeButton.SetMoveEvent(ui.__mem_func__(self.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 < 280:

self.resizeButton.SetPosition(280, 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.editBar.SetSize(width-18, 50)

self.chatLine.SetSize(width-90, 40)

self.chatLine.SetLimitWidth(width-90)

self.SetSize(width, height)

 

if 0 != self.targetName:

chat.SetWhisperBoxSize(self.targetName, width - 50, height - 90)

 

if locale.IsARABIC():

self.textRenderer.SetPosition(width-20, 28)

self.scrollBar.SetPosition(width-25+self.scrollBar.GetWidth(), 35)

self.editBar.SetPosition(10 + self.editBar.GetWidth(), height-60)

self.sendButton.SetPosition(width - 80 + self.sendButton.GetWidth(), 10)

self.minimizeButton.SetPosition(width-42 + self.minimizeButton.GetWidth(), 12)

self.closeButton.SetPosition(width-24+self.closeButton.GetWidth(), 12)

self.chatLine.SetPosition(5 + self.chatLine.GetWidth(), 5)

self.board.SetPosition(self.board.GetWidth(), 0)

else:

self.textRenderer.SetPosition(20, 28)

self.scrollBar.SetPosition(width-25, 35)

self.editBar.SetPosition(10, height-60)

self.sendButton.SetPosition(width-80, 10)

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

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

 

self.SetChatLineMax(max)

 

except:

import exception

exception.Abort("WhisperDialog.SetWhisperDialogSize.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.gamemasterMark.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()

self.gamemasterMark.Hide()

 

def SetGameMasterLook(self):

self.gamemasterMark.Show()

 

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):

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

self.chatLine.SetText("")

 

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

 

def OnTop(self):

self.chatLine.SetFocus()

 

def BindInterface(self, interface):

self.interface = interface

 

def OnMouseLeftButtonDown(self):

hyperlink = ui.GetHyperlink()

if hyperlink:

if app.IsPressed(app.DIK_LALT):

link = chat.GetLinkFromHyperlink(hyperlink)

ime.PasteString(link)

else:

self.interface.MakeHyperlinkTooltip(hyperlink)

 

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()

 

 

 

Bardzo proszę o pomoc :)

Opublikowano

Nie robiłem tego z poradnika, wszystko robiłem sam. Po prostu mam klienta z 2010r. i KamerModa zainstalowanego na nim, rozpakowałem root i edytowałem plik uiwhisper.py, lecz go chyba w ogóle nie czyta, ponieważ nic się nie zmienia..

Opublikowano

Nowsze wersje KMR Moda nie korzystają z plików root. Zmień nazwę plików root na jakąkolwiek inną. Potem spróbuj uruchomić metina. Jeśli się uruchomi to znaczy, że nie korzysta z tych plików.

Wiadro Bluba Rura Blant

 

(̅__(̲̲̲̲̲̅̅̅̅̅̅(̅_̅_̲̅м̲̅a̲̅я̲̅i̲̅h̲̅u̲̅a̲̅n̲̅ a̲̅ ̅_̅_̅((()ڪ

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...