Mário. Posted August 24, 2017 at 09:46 PM Share Posted August 24, 2017 at 09:46 PM Estava a ver um vídeo do MKMT2 e reparei que quando a personagem carrega no ALT, o MN passa a ser visível da mesma forma como o HP é. Em pouco menos de 30 minutos, fiz a mesma coisa, provavelmente (ou não) do mesmo jeito que o Micael fez: Explicação A primeira coisa que fiz foi ir no game.py e ver qual era o valor que o LALT era atribuído. Ao ver que o mesmo estava para o self.ShowName(), fui no def dele e reparei que ele chamava valores que estão presentes em outros ficheiros: self.playerGauge.EnableShowAlways() Isto é bastante simples de ler, ele chama o def EnableShowAlways que se encontra no ficheiro uiPlayerGauge.py A partir daqui, foi muito mais fácil de entender as coisas, que irei demonstrar agora no Tutorial. Tutorial Criem um ficheiro no root chamado uiPlayerGauge1.py com o seguinte: # Importante: Não apagar este ficheiro, uma vez que é por causa dele que o MN será mostrado sempre que o jogador carregar na tecla ALT // Mário. import ui import player import chr import textTail class PlayerGauge(ui.Gauge): def __init__(self, parent): ui.Gauge.__init__(self) self.SetParent(parent) self.AddFlag("not_pick") self.MakeGauge(100, "blue") self.curSP = 0 self.maxSP = 0 self.showAlways = FALSE def __del__(self): ui.Gauge.__del__(self) def Hide(self): self.SetPosition(-100, -100) ui.Gauge.Hide(self) def OnUpdate(self): playerIndex = player.GetMainCharacterIndex() (x, y, z)=textTail.GetPosition(playerIndex) isChat = textTail.IsChat(playerIndex) ui.Gauge.SetPosition(self, int(x - self.GetWidth()/2), int(y + 15) + isChat*17) def RefreshGauge(self): self.curSP = player.GetStatus(player.SP) self.maxSP = player.GetStatus(player.MAX_SP) self.SetPercentage(self.curSP, self.maxSP) if self.showAlways: self.Show() else: if self.IsShow(): if self.curSP > self.maxSP / 2: self.Hide() else: if self.curSP < self.maxSP / 2: self.OnUpdate() self.Show() def EnableShowAlways(self): self.showAlways = TRUE self.RefreshGauge() def DisableShowAlways(self): self.showAlways = FALSE self.RefreshGauge() Abram o game.py e procurem por: import uiPlayerGauge Por baixo, adicionem: import uiPlayerGauge1 Procurem, duas vezes, por: self.playerGauge = None Por baixo, adicionem: self.playerGauge1 = None Procurem por: self.playerGauge = uiPlayerGauge.PlayerGauge(self) self.playerGauge.Hide() Por baixo, adicionem: self.playerGauge1 = uiPlayerGauge1.PlayerGauge(self) self.playerGauge1.Hide() Agora necessitamos que o valor do nosso ficheiro atualize sempre que o MN é perdido ou aumentado (seja com uma skill, ao chamar o cavalo, entre outros), por isso vamos no def RefreshStatus e procurem por: if self.playerGauge: self.playerGauge.RefreshGauge() Por baixo, adicionem: if self.playerGauge1: self.playerGauge1.RefreshGauge() Agora temos que ir no def ShowName e adicionar o nosso EnableShowAlways, por isso procurem por: self.playerGauge.EnableShowAlways() Por baixo, adicionem: self.playerGauge1.EnableShowAlways() Também vamos adicionar no def HideName, para tal procurem por: self.playerGauge.DisableShowAlways() Por baixo, adicionem: self.playerGauge1.DisableShowAlways() Como podem ver, o trabalho não foi assim tanto, tal como tinha dito, não demorou nada mais que 30 minutos, apenas criei outro uiPlayerGauge e editei-o de forma a ir buscar o valor do MN. Existem melhores formas de fazerem isso sem a necessidade de criar outro ficheiro, esta foi a forma mais preguiçosa que achei (fiz isto hoje por volta das 03:30 da manhã, dêem-me um desconto), mas não deixa de mostrar o resultado. A comunidade portuguesa/brasileira tem a mania de copiar os tópicos e meter noutros fóruns sem meter os seus devidos créditos (falo disto por experiência própria em ver o meu trabalho a ser repassado sem o meu nome). Peço que se quiserem partilhar, não retirem o meu nome. Agradeço ao MKMT2 pela ideia, realmente é sempre uma mais valia saber o MN, mesmo que para alguns isso seja inútil. Dou suporte no tópico, em caso de não conseguirem. 2 Link to comment Share on other sites More sharing options...
F-Caneiras Posted August 24, 2017 at 11:23 PM Share Posted August 24, 2017 at 11:23 PM Bom tutorial Obrigado =) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now