[RELEASE][PYTHON] Stats graph

09/21/2014 00:35 3t3r4n#1
I created a python module to simplify making something like this
[Only registered and activated users can see links. Click Here To Register...]
this is like stats in [Only registered and activated users can see links. Click Here To Register...]

PHP Code:
import ui
import sapi

#SetButtonPercent(bnumber,percent) -> percent for 70% = 0.7 (70/100)
#SetButtonValue(bnumber,value)                                                        default: all 0
#SetButtonVisual(up, over, down) -> "" = unchanged                                    default: rbutton.tga
#SetButtonSize(height,width) -> -1 = unchanged                                        default: 20,20
#SetLineRGBA(red,green,blue,alpha) -> -1 = unchanged                                default: 1,1,0,1
#SetGridRGBA(red,green,blue,alpha) -> -1 = unchanged                                default: 1,0,0,0.4
#SetGridType(type) -> grid=-1 => no grid                                            default: 0
#                               0 => from max value to current value
#                               1 => from max value to center
#SetButtonCaption(bnumber,text) -> bnumber from 0                                    default: button number +1
#SetDiameter(size)                                                                    default: 120
#SetFillRGBA(red,green,blue,alpha) -> -1 = unchanged                                default: 0,1,1,0.06
#SetDensity(value) -> desity >= 0.3                                                    default: 0.6
#                      if desity = 0.3 => maxvalue = 100
#                      if desity = 0.6 => maxvalue = 200
#                      bigger density = faster drawing
#SetMaxValue(value)                                                                    default: 200
#SetOffset(value) -> this is the distance from center to the smallest value          default: 19
#SetNodeCount(count)                                                                default: 0
#SetCenter(x,y)                                                                        default: 150,150
#ClearGraph
#CreateGraph
        

class MainWind(ui.Board):

    
def __init__(self):
        
ui.Board.__init__(self)
        
self.LoadBoard()
        
self.handle=sapi.StatsApi(self)
        
self.handle.SetCenter(150,180)
        
self.handle.SetButtonVisual("rbutton.tga","rbutton2.tga","rbutton3.tga")
        
self.handle.SetGridRGBA(1,0.2,0.8,-1)
        
self.handle.SetLineRGBA(0.0,0.0,0.0,-1)
        
    
def LoadBoard(self):
        
        
self.SetCenterPosition()
        
self.SetSize(300330)
        
self.Show()
        
self.AddFlag("movable")
        
        
self.tabbut ui.Button()
        
self.tabbut.SetParent(self)
        
self.tabbut.SetUpVisual("d:/ymir work/ui/public/small_button_01.sub")
        
self.tabbut.SetOverVisual("d:/ymir work/ui/public/small_button_02.sub")
        
self.tabbut.SetDownVisual("d:/ymir work/ui/public/small_button_03.sub")
        
self.tabbut.SetText("Show")
        
self.tabbut.SetPosition(13020)
        
self.tabbut.SetEvent(ui.__mem_func__(self.test))
        
self.tabbut.Show()        
        
        
self.imagec=ui.ImageBox()
        
self.imagec.LoadImage("cercle.tga")
        
self.imagec.SetParent(self)
        
self.imagec.SetPosition(20,50)
        
self.imagec.Show()
        
        
    
def __del__(self):
        
ui.Board.__del__(self)
        
    
def test(self):
        
self.handle.SetNodeCount(5)
        
self.handle.SetButtonPercent(0,0.2)
        
self.handle.SetButtonPercent(1,0.6)
        
self.handle.SetButtonPercent(2,0.5)
        
self.handle.SetButtonPercent(3,0.8)
        
self.handle.SetButtonPercent(4,1.0)
        
self.handle.SetButtonPercent(5,0.4)
        
self.handle.SetButtonPercent(6,0.9)
        
self.handle.SetButtonPercent(7,0.1)
        
self.handle.SetButtonPercent(8,0.7)
        
self.handle.SetButtonPercent(9,0.0)
        
self.handle.SetButtonPercent(10,0.6)
        
self.handle.SetButtonPercent(11,0.8)
        
self.handle.ClearGraph()
        
self.handle.CreateGraph()

    
def Show(self):
        
ui.Board.Show(self)

    
def Close(self):
        
self.Hide()
    
StartWind MainWind()
StartWind.Show() 
I hope this is useful for you :D

EDIT: sapi.StatsApi(self) -> self is the target to know where to draw
EDIT2: max node count is 12
09/21/2014 00:42 Jоe#2
Not good for metin2 player scene.
09/21/2014 08:52 Poccix#3
I think it is very interesting for some systems in metin2.
Thank you :)
09/21/2014 09:15 Lord iRemix#4
Quote:
Originally Posted by Jоe View Post
Not good for metin2 player scene.
Why shouldn't it be good?
09/21/2014 22:39 LovecKrys#5
Quote:
Originally Posted by Singleton​ View Post
Why shouldn't it be good?
'cause he's retarded and he doesn't understand the code ahahah