Mário. 154 Posted July 23, 2017 (edited) Ontem 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() Importante: Eu uso python22, se usam o 27, mudem o TRUE para True e FALSE para False 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() E já está, compilem e podem testar. 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. Edited July 23, 2017 by Mário. (see edit history) 1 3 NewWars, nagatto, .тιαgσ and 1 other reacted to this Share this post Link to post Share on other sites
NewWars 875 Posted July 23, 2017 Obrigado pelo conteúdo Cumprimentos. Share this post Link to post Share on other sites