Jump to content

Frozen

Inactive Member
  • Posts

    199
  • Joined

  • Last visited

  • Days Won

    7
  • Feedback

    0%

Posts posted by Frozen

  1. You need to use this 3 things:

    self.Board = ui.Board()
    self.Board.SetSize(750, 540)
    self.Board.SetCenterPosition()
    self.Board.Show()
    
    
    self.ButtonOne = ui.Button()
    self.ButtonOne.SetParent(self.Board)
    self.ButtonOne.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
    self.ButtonOne.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
    self.ButtonOne.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
    self.ButtonOne.SetPosition(545, 50)
    self.ButtonOne.SetEvent(self.Event) # Insert Event Here
    self.ButtonOne.SetText("Button Text Here")
    self.ButtonOne.Show()
    
    
    self.Image = ui.ImageBox()
    self.Image.SetParent(self.Board)
    self.Image.SetPosition(-18, 3)
    self.Image.LoadImage("d:/ymir work/ui/game/windows/image.tga")#The image path
    self.Image.Show()

    They arent in the correct position so you need to make them fit.

    Kind Regards

    Frozen

    • Love 1
  2. I maded two tests with a onupdate , one with it in a board parent, and another with self parent. And when the parent is the board, i think the wndMgr.GetMousePosition() gets the position of the board and the poisiton of the mouse, so what happens is when you move the board is like if the mouse is changing his relative position too.. Then i tried with the self parent and worked just fine, because the wndMgr.GetMousePosition() was only getting the value of the mouse position.

     

    Sorry for my bad explanation, but what i think that the code is assuming that the wnd is not the client, but a window..

    I dont know if im right but i think is this the reason...

    Sorry for my bad english,

    I hope you understanded what i meant to say,

    Kind Regards,

    Frozen

  3.  

     

    I think the problem is that you didnt define the :

    self.wndMyDialog
    

    so when you do this:

    self.interface.RefreshMyDialog()
     
    The code dont run the:
     
    __MakeMessengerWindow
    
    So try putting the self.wndMyDialog defined in the init function, like this:
     def __init__(self):
         self.wndMyDialog = uiMyDialog.MyDialog()
    

    Sorry for my bad english,...

     

    #Edit 

    Oh and if isnt that i think it is because the function has __ in the name, and i think that is only for functions that are not going to be called by another class..

     

    So try to rename the funtion to 

    def OnRefresh(self):

    Kind Regards,

    Frozen

     

     

     

    How the actual fuck?

    The thing with "__" worked. HOW THE HELL? I can't believe it.

    Thank you anyway.

     

    Yeah i know ;) i was like that when the error occurred me for the first time...

  4. I think the problem is that you didnt define the :

    self.wndMyDialog
    

    so when you do this:

    self.interface.RefreshMyDialog()
     
    The code dont run the:
     
    __MakeMessengerWindow
    
    So try putting the self.wndMyDialog defined in the init function, like this:
     def __init__(self):
         self.wndMyDialog = uiMyDialog.MyDialog()
    

    Sorry for my bad english,...

     

    #Edit 

    Oh and if isnt that i think it is because the function has __ in the name, and i think that is only for functions that are not going to be called by another class..

     

    So try to rename the funtion to 

    def OnRefresh(self):

    Kind Regards,

    Frozen

     
  5. M2 Download Center

    This is the hidden content, please
    ( Internal )

    Hello guys,

    A few months ago i made a spam system in python, it was a really shitty one , so yesterday i decided to make a better one... I know it is not hard to make one, and if its made in c++ is better, but for the people who cant make source modifications and don?t know python here is the system:
     
    def __SendChatPacket(self, text, type):
    # if text[0] == '/':
    # if ENABLE_CHAT_COMMAND or constInfo.CONSOLE_ENABLE:
    # pass
    # else:
    # return
    prevtext = self.GetLastSentenceText()
    if net.IsChatInsultIn(text):
    chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHAT_INSULT_STRING)
    
    
    #Config
    WAITINGTIMEBETWEENMESSAGE = 1 #in seconds
    #Writing Fast System START
    if app.GetTime() < self.lasttime + WAITINGTIMEBETWEENMESSAGE:
    chat.AppendChat(1, "[WARNING]WOW man calm down your writing too fast!")
    return
    #Writing Fast System END
    
    
    #Spam system START
    #Config
    WAITINGTIME = 60 #in seconds
    MAXSPAMCOUNT = 5
    #
    if self.count == MAXSPAMCOUNT+1:
    if app.GetTime() < self.penaltytime:
    chat.AppendChat(1, "[PENALTY]Muted 1 minute, time remaining: " + str(int(self.penaltytime - app.GetTime())) + " seconds")
    return
    else:
    self.count = 0
    
    
    elif self.count == MAXSPAMCOUNT:
    chat.AppendChat(1, "[PENALTY]Muted 1 minute")
    self.count = MAXSPAMCOUNT+1
    self.penaltytime = app.GetTime()+WAITINGTIME
    return
    
    
    if len(self.lastSentenceStack) > 1:
    if text == prevtext:
    self.count = self.count+1
    chat.AppendChat(1, "[WARNING]You are spamming!If you persist you will have a penalty. (" + str(self.count) + "/5)")
    elif str(self.GetLastSentenceText()) != text:
    self.count = 0
    
    
    #Spam system END
    
    
    net.SendChatPacket(text, type)
    self.lasttime = app.GetTime()
    
    
    def GetLastSentenceText(self):
    lastSentence = self.lastSentenceStack[len(self.lastSentenceStack)-2]
    return lastSentence 
     
    I made it to be simple to be costumised so you guys want to change the penalty time or the spam count only need to change this:
     
    WAITINGTIME -> The spam time penalty
    MAXSPAMCOUNT -> The number of times players can spam
     
    I also made a simple code so the players need to wait between messages.
     
    WAITINGTIMEBETWEENMESSAGE -> The waiting time between messages
     
    #Edit:
    Also add this in __init__ function:
    self.count = 0
    self.penaltytime = 0
    self.lasttime = 0
     
    I hope it was helpfull,
    Kind Regards,
    Frozen
     
    Credits:
    - Daan(i dont know how he is called in the forum) - gave me the idea of the waiting time between messages
    • Love 1
    • Love 2
  6. Hey,

    I am making making a python system in metin2, and i wanted to execute a function when you put your mouse over a button. 

    I tried using this code:

    for i in range(3):  #i am using multiple buttons
         self.Button[i].OnMouseOverIn = lambda: self.__OverInEffect(i)
         self.Button[i].OnMouseOverOut = lambda: self.__OverOutEffect(i)
    

    But i can´t make it work... does anyone have an idea to make a Button MouseOverIn event working?

     

    Thanks a lot for the attention,

    Kind Regards,

    Frozen

    • Love 1
  7. Hey Guys! Im seeing you guys are having the logo problem, i also had that error so i tried to solve that with python because i dont know c++.

    So you guys just need to add this in prototype.py file, in RunApp function, in the beggining:

    os.popen(r"hshieldHSUpdate.exe")
    

    Thank only makes the hackshield update appear, the icon in the corner still doesnt appear.

    I dont know if that was the error you guys were talking about but i hope i helped.

     

    Sorry for my bad English,

    Kind Regards,

    Frozen

    • Love 1
  8. Hey try this:

    def refresh(self,dstSlotPos,srcSlotPos):
    		attrSlot = []	
    		for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
    			itematrr = player.GetItemAttribute(dstSlotPos, i)
    			attrSlot.append(itematrr)
    		for i in xrange(5):		
    			self.bonusslot[i].SetText("")
    			
    		for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM-2):
    			type = attrSlot[i][0]
    			value = attrSlot[i][1]
    			affectString = self.__GetAffectString(type, value)
    			if int(value) < 0:				
    				self.bonusslot[i].SetPackedFontColor(self.NEGATIVE_COLOR)
    			else:
    				self.bonusslot[i].SetPackedFontColor(self.POSITIVE_COLOR)
    			self.bonusslot[i].SetText(affectString)
    		
    		itemIndex = player.GetItemIndex(srcSlotPos)
    		itemCount = player.GetItemCount(srcSlotPos)
    		self.switchslot.ClearSlot(1)
    		self.switchslot.SetItemSlot(1, itemIndex, itemCount)
    			

    Try to replace this function with the one you have.

     

    Kind Regards,

    Frozen

  9.  

    If you set the "ban1dia" to 0, then get_time() > 0 always will be true.

    Try

    when login begin
        local ban1dia = pc.getqf("ban1dia")
        if get_time() < ban1dia then
            return
        elseif ban1dia ~= 0 and (get_time() > ban1dia) then
            say("Personagem Banida durante 1 dia")
            say("[DELAY value; 1000]. . . . .[/DELAY]")
            command("quit")
        end

    if is in that way it will still be wrong becuase ur making if get_time() < ban1dia then the ban is in going on and if get_time() > ban1dia the ban stopps.

     

    so he has to make like this 

     if get_time() > ban1dia then
            return
        elseif ban1dia ~= 0 and (get_time() < ban1dia) then
            say("Personagem Banida durante 1 dia")
            say("[DELAY value; 1000]. . . . .[/DELAY]")
            command("quit")

     

    • Love 1
  10. Here is it test it now:

    quest killgui begin 
        state start begin 
            when kill begin 
                if npc.is_pc() then 
                    local new_point = pc.getqf("empire"..npc.get_empire())+1 
                    pc.setqf("empire"..npc.get_empire(), new_point) 
                    cmdchat("KillRotReich "..pc.getqf("empire1")) 
                    cmdchat("KillGelbReich "..pc.getqf("empire2")) 
                    cmdchat("KillBlauReich "..pc.getqf("empire3")) 
                else 
                    local new_point = pc.getqf("mob")+1 
                    pc.setqf("mob", new_point) 
                    cmdchat("KillMob "..pc.getqf("mob")) 
                end 
            end 
            when login begin 
                cmdchat("ShowKillGui") 
                cmdchat("KillRotReich "..pc.getqf("empire1")) 
                cmdchat("KillGelbReich "..pc.getqf("empire2")) 
                cmdchat("KillBlauReich "..pc.getqf("empire3")) 
                cmdchat("KillMob "..pc.getqf("mob")) 
            end 
        end 
    end
  11. It Will be something like this:

      def __showkillgui(self):
    	if KillGuiBg.IsShow():
    		self.KillGuiBg.Hide()
            self.KillBlauReich.Hide()
            self.KillGelbReich.Hide()
            self.KillRotReich.Hide()
            self.KillMob.Hide()
    	else:
            self.KillGuiBg.Show()
            self.KillBlauReich.Show()
            self.KillGelbReich.Show()
            self.KillRotReich.Show()
            self.KillMob.Show() 
    • Love 1
  12. lol then i must make it myself ??

    i just asked to see if anyone can saves us to work on it

     

     

     

     

     

    sorry for bad english

    Yes, the AoZ developers also needed 2 make the system, unless you steal it  you need 2 make it.

     

    Here is mine:

    SH8LwYH.jpg

    • Love 1
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.