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

Quest na statystyki z fallence


Rekomendowane odpowiedzi

Opublikowano

Dodaje wam quest na statystyki z fallence, jak ktoś chce z pythona to sobie wyciagnie albo jak bedzie spam to wrzucę na forum...

 

quest statgui begin
    state start begin
        when kill begin
            if npc.is_pc() then
                if npc.get_empire() == pc.get_empire() then
                    local punkty = pc.getqf("StatKillPrzyj")+1
                    pc.setqf("StatKillPrzyj", punkty)
                    cmdchat("StatKillPrzyj "..pc.getqf("StatKillPrzyj"))
                    local p2 = pc.getqf("StatKillAll")+1
                    pc.setqf("StatKillAll", p2)
                    cmdchat("StatKillAll "..pc.getqf("StatKillAll"))
                else
                    local punkty = pc.getqf("StatKillWrog")+1
                    pc.setqf("StatKillWrog", punkty)
                    cmdchat("StatKillWrog "..pc.getqf("StatKillWrog"))
                    local p2 = pc.getqf("StatKillAll")+1
                    pc.setqf("StatKillAll", p2)
                    cmdchat("StatKillAll "..pc.getqf("StatKillAll"))
                end
            else
                if npc_is_metin() == 1 then
                    local punkty = pc.getqf("StatKillMetin")+1
                    pc.setqf("StatKillMetin", punkty)
                    cmdchat("StatKillMetin "..pc.getqf("StatKillMetin"))
                    local p2 = pc.getqf("StatKillAll")+1
                    pc.setqf("StatKillAll", p2)
                    cmdchat("StatKillAll "..pc.getqf("StatKillAll"))
                else
                    local punkty = pc.getqf("StatKillMob")+1
                    pc.setqf("StatKillMob", punkty)
                    cmdchat("StatKillMob "..pc.getqf("StatKillMob"))
                    local p2 = pc.getqf("StatKillAll")+1
                    pc.setqf("StatKillAll", p2)
                    cmdchat("StatKillAll "..pc.getqf("StatKillAll"))
                end
            end
        end

        when login begin
            cmdchat("StatKillAll "..pc.getqf("StatKillAll"))
            cmdchat("StatKillWrog "..pc.getqf("StatKillWrog"))
            cmdchat("StatKillPrzyj "..pc.getqf("StatKillPrzyj"))
            cmdchat("StatKillMob "..pc.getqf("StatKillMob"))
            cmdchat("StatKillBoss "..pc.getqf("StatKillBoss"))
            cmdchat("StatKillMetin "..pc.getqf("StatKillMetin"))
            cmdchat("StatPktOsiag "..pc.getf("achievement","punkty_achievement"))
            cmdchat("StatPktPodzi "..pc.getf("dung_punkty","punkty_dungeon"))
        end
    end
end

Wklejka:

 

http://wklej.org/id/1437233/
Opublikowano

Bez sensu zrobione. Można wysłać te pakiety za pomocą 1 cmdchat, a nie 8... Po 2 nie jestem zwolennikiem używania samego kill w taki sposób:

        when kill begin
Opublikowano

A w jaki inny sposób chcesz to zrobić?

def __showstatgui(self):
if constInfo.statgui == 0:
constInfo.statgui = 1
self.StatGuiBg.Show()
self.StatKillAll.Show()
self.StatKillWrog.Show()
self.StatKillPrzyj.Show()
self.StatKillMob.Show()
self.StatKillBoss.Show()
self.StatKillMetin.Show()
self.StatPktOsiag.Show()
self.StatPktPodzi.Show()
elif constInfo.statgui == 1:
constInfo.statgui = 0
self.StatGuiBg.Hide()
self.StatKillAll.Hide()
self.StatKillWrog.Hide()
self.StatKillPrzyj.Hide()
self.StatKillMob.Hide()
self.StatKillBoss.Hide()
self.StatKillMetin.Hide()
self.StatPktOsiag.Hide()
self.StatPktPodzi.Hide()
 
 
def __StatKillAll(self, StatKillAll):
self.StatKillAll.SetText("Zabójstw ogółem:          " + StatKillAll)
 
def __StatKillWrog(self, StatKillWrog):
self.StatKillWrog.SetText("Zabitych wrogów:         " + StatKillWrog)
 
def __StatKillPrzyj(self, StatKillPrzyj):
self.StatKillPrzyj.SetText("Zabitych sojuszników:   " + StatKillPrzyj)
 
def __StatKillMob(self, StatKillMob):
self.StatKillMob.SetText("Zabitych potworów:      " + StatKillMob)
 
def __StatKillBoss(self, StatKillBoss):
self.StatKillBoss.SetText("Zabitych bossów:          " + StatKillBoss)
 
def __StatKillMetin(self, StatKillMetin):
self.StatKillMetin.SetText("Zabitych metinów:         " + StatKillMetin)
 
def __StatPktOsiag(self, StatPktOsiag):
self.StatPktOsiag.SetText("Punkty Osiągnięć:         " + StatPktOsiag)
 
def __StatPktPodzi(self, StatPktPodzi):
self.StatPktPodzi.SetText("Punkty Podziemi:          " + StatPktPodzi)
StatGuiBg = ui.AniImageBox()
StatGuiBg.AppendImage("d:/ymir work/ui/statystyki_interface.dds")
self.StatGuiBg = StatGuiBg
 
self.StatGuiBg.SetPosition(5,(wndMgr.GetScreenHeight()-375))
 
self.StatKillAll = ui.TextLine()
self.StatKillAll.SetDefaultFontName()
self.StatKillAll.SetPosition(40, (wndMgr.GetScreenHeight()-315))
self.StatKillAll.SetText("Zabójstw ogółem:      NaN")
self.StatKillAll.SetOutline()
 
self.StatKillWrog = ui.TextLine()
self.StatKillWrog.SetDefaultFontName()
self.StatKillWrog.SetPosition(40, (wndMgr.GetScreenHeight()-295))
self.StatKillWrog.SetText("Zabitych wrogów:      NaN")
self.StatKillWrog.SetOutline()
 
self.StatKillPrzyj = ui.TextLine()
self.StatKillPrzyj.SetDefaultFontName()
self.StatKillPrzyj.SetPosition(40, (wndMgr.GetScreenHeight()-280))
self.StatKillPrzyj.SetText("Zabitych sojuszników: NaN")
self.StatKillPrzyj.SetOutline()
 
self.StatKillMob = ui.TextLine()
self.StatKillMob.SetDefaultFontName()
self.StatKillMob.SetPosition(40, (wndMgr.GetScreenHeight()-265))
self.StatKillMob.SetText("Zabitych potworów:    NaN")
self.StatKillMob.SetOutline()
 
self.StatKillBoss = ui.TextLine()
self.StatKillBoss.SetDefaultFontName()
self.StatKillBoss.SetPosition(40, (wndMgr.GetScreenHeight()-250))
self.StatKillBoss.SetText("Zabitych bossów:      NaN")
self.StatKillBoss.SetOutline()
 
self.StatKillMetin = ui.TextLine()
self.StatKillMetin.SetDefaultFontName()
self.StatKillMetin.SetPosition(40, (wndMgr.GetScreenHeight()-235))
self.StatKillMetin.SetText("Zabitych metinów:     NaN")
self.StatKillMetin.SetOutline()
 
self.StatPktOsiag = ui.TextLine()
self.StatPktOsiag.SetDefaultFontName()
self.StatPktOsiag.SetPosition(40, (wndMgr.GetScreenHeight()-215))
self.StatPktOsiag.SetText("Punkty Osiągnięć:     NaN")
self.StatPktOsiag.SetOutline()
 
self.StatPktPodzi = ui.TextLine()
self.StatPktPodzi.SetDefaultFontName()
self.StatPktPodzi.SetPosition(40, (wndMgr.GetScreenHeight()-200))
self.StatPktPodzi.SetText("Punkty Podziemi:      NaN")
self.StatPktPodzi.SetOutline()
"StatKillAll" : self.__StatKillAll,
"StatKillWrog" : self.__StatKillWrog,
"StatKillPrzyj" : self.__StatKillPrzyj,
"StatKillMob" : self.__StatKillMob,
"StatKillBoss" : self.__StatKillBoss,
"StatKillMetin" : self.__StatKillMetin,
"StatPktOsiag" : self.__StatPktOsiag,
"StatPktPodzi" : self.__StatPktPodzi,

http://www.gg.pl/dysk/33KvlD7XS9Jg3nKvlD7U52g/statystyki_interface.dds

ZcWbjGf.png


Serdecznie zapraszam :)

Opublikowano

A w jaki inny sposób chcesz to zrobić?

def __showstatgui(self):
if constInfo.statgui == 0:
constInfo.statgui = 1
self.StatGuiBg.Show()
self.StatKillAll.Show()
self.StatKillWrog.Show()
self.StatKillPrzyj.Show()
self.StatKillMob.Show()
self.StatKillBoss.Show()
self.StatKillMetin.Show()
self.StatPktOsiag.Show()
self.StatPktPodzi.Show()
elif constInfo.statgui == 1:
constInfo.statgui = 0
self.StatGuiBg.Hide()
self.StatKillAll.Hide()
self.StatKillWrog.Hide()
self.StatKillPrzyj.Hide()
self.StatKillMob.Hide()
self.StatKillBoss.Hide()
self.StatKillMetin.Hide()
self.StatPktOsiag.Hide()
self.StatPktPodzi.Hide()
 
 
def __StatKillAll(self, StatKillAll):
self.StatKillAll.SetText("Zabójstw ogółem:          " + StatKillAll)
 
def __StatKillWrog(self, StatKillWrog):
self.StatKillWrog.SetText("Zabitych wrogów:         " + StatKillWrog)
 
def __StatKillPrzyj(self, StatKillPrzyj):
self.StatKillPrzyj.SetText("Zabitych sojuszników:   " + StatKillPrzyj)
 
def __StatKillMob(self, StatKillMob):
self.StatKillMob.SetText("Zabitych potworów:      " + StatKillMob)
 
def __StatKillBoss(self, StatKillBoss):
self.StatKillBoss.SetText("Zabitych bossów:          " + StatKillBoss)
 
def __StatKillMetin(self, StatKillMetin):
self.StatKillMetin.SetText("Zabitych metinów:         " + StatKillMetin)
 
def __StatPktOsiag(self, StatPktOsiag):
self.StatPktOsiag.SetText("Punkty Osiągnięć:         " + StatPktOsiag)
 
def __StatPktPodzi(self, StatPktPodzi):
self.StatPktPodzi.SetText("Punkty Podziemi:          " + StatPktPodzi)
StatGuiBg = ui.AniImageBox()
StatGuiBg.AppendImage("d:/ymir work/ui/statystyki_interface.dds")
self.StatGuiBg = StatGuiBg
 
self.StatGuiBg.SetPosition(5,(wndMgr.GetScreenHeight()-375))
 
self.StatKillAll = ui.TextLine()
self.StatKillAll.SetDefaultFontName()
self.StatKillAll.SetPosition(40, (wndMgr.GetScreenHeight()-315))
self.StatKillAll.SetText("Zabójstw ogółem:      NaN")
self.StatKillAll.SetOutline()
 
self.StatKillWrog = ui.TextLine()
self.StatKillWrog.SetDefaultFontName()
self.StatKillWrog.SetPosition(40, (wndMgr.GetScreenHeight()-295))
self.StatKillWrog.SetText("Zabitych wrogów:      NaN")
self.StatKillWrog.SetOutline()
 
self.StatKillPrzyj = ui.TextLine()
self.StatKillPrzyj.SetDefaultFontName()
self.StatKillPrzyj.SetPosition(40, (wndMgr.GetScreenHeight()-280))
self.StatKillPrzyj.SetText("Zabitych sojuszników: NaN")
self.StatKillPrzyj.SetOutline()
 
self.StatKillMob = ui.TextLine()
self.StatKillMob.SetDefaultFontName()
self.StatKillMob.SetPosition(40, (wndMgr.GetScreenHeight()-265))
self.StatKillMob.SetText("Zabitych potworów:    NaN")
self.StatKillMob.SetOutline()
 
self.StatKillBoss = ui.TextLine()
self.StatKillBoss.SetDefaultFontName()
self.StatKillBoss.SetPosition(40, (wndMgr.GetScreenHeight()-250))
self.StatKillBoss.SetText("Zabitych bossów:      NaN")
self.StatKillBoss.SetOutline()
 
self.StatKillMetin = ui.TextLine()
self.StatKillMetin.SetDefaultFontName()
self.StatKillMetin.SetPosition(40, (wndMgr.GetScreenHeight()-235))
self.StatKillMetin.SetText("Zabitych metinów:     NaN")
self.StatKillMetin.SetOutline()
 
self.StatPktOsiag = ui.TextLine()
self.StatPktOsiag.SetDefaultFontName()
self.StatPktOsiag.SetPosition(40, (wndMgr.GetScreenHeight()-215))
self.StatPktOsiag.SetText("Punkty Osiągnięć:     NaN")
self.StatPktOsiag.SetOutline()
 
self.StatPktPodzi = ui.TextLine()
self.StatPktPodzi.SetDefaultFontName()
self.StatPktPodzi.SetPosition(40, (wndMgr.GetScreenHeight()-200))
self.StatPktPodzi.SetText("Punkty Podziemi:      NaN")
self.StatPktPodzi.SetOutline()
"StatKillAll" : self.__StatKillAll,
"StatKillWrog" : self.__StatKillWrog,
"StatKillPrzyj" : self.__StatKillPrzyj,
"StatKillMob" : self.__StatKillMob,
"StatKillBoss" : self.__StatKillBoss,
"StatKillMetin" : self.__StatKillMetin,
"StatPktOsiag" : self.__StatPktOsiag,
"StatPktPodzi" : self.__StatPktPodzi,

http://www.gg.pl/dysk/33KvlD7XS9Jg3nKvlD7U52g/statystyki_interface.dds

Możesz wysłać jednym cmdhatem np w takiej formie:

cmdchat("wyslij "..pierwsza_wartosc.."|"..druga_wartosc.."|"itd...)

 

Następnie splitujesz w kliencie (rozdzielasz sobie te wartości) 

8910814572903361049127.png

Opublikowano

@baran860

jak już chcesz robić osobne wartości, to możesz wykonać to bez splitowania ;)

cmdchat("nazwaCmdchatu "..pierwszawartosc.." "..drugawartoc)

klient:

def naszmcmdchat(self, pierwszawartosc, drugawartosc):

...itd..

pis

@topic

Może komuś się przydać.

O widzisz - nie wiedziałem że tak można :D Człowiek uczy się całe życie ;>

Dzięki

8910814572903361049127.png

Opublikowano

Wiem, że można w jednym cmdchacie... Tak jest na plikach Fallence. Jeśli ja piszę coś na cmdchatach to zawsze splituje albo robię po prostu kilka warunków. 

ZcWbjGf.png


Serdecznie zapraszam :)

Opublikowano

@baran860

jak już chcesz robić osobne wartości, to możesz wykonać to bez splitowania ;)

cmdchat("nazwaCmdchatu "..pierwszawartosc.." "..drugawartoc)

klient:

def naszmcmdchat(self, pierwszawartosc, drugawartosc):

...itd..

pis

@topic

Może komuś się przydać.

A widzisz też nie wiedziałem :D Ahhh te początki xDD

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...