Posted by MkTendou
in [PORTUGUESE ONLY] Português. Ena pá. (Started by LC-DDM August 27, 2007, 01:31:55 pm
Board: International
Board: International
. Espero que goste!
. Aliás, eu também queria ver seus chars, mas no seu perfil daqui não tem o endereço do seu site. Onde posso baixar?
Eu discordo totalmente. Se é algo que pode ser benéfico (mesmo que seja um erro), deve ser compartilhado. Existem pouquíssimas informações que não devem ser compartilhadas, mas não vejo o Mugen como um caso desses.O exemplo do Cond foi que, depois de mais de 10 anos as pessoas continuam usando ainda o IfElse, não que o Ifelse está totalmente errado (mas a lógica de como ele lê parcialmente está errado) mas é como eu falei com o amigo ali usando um exemplo de game em Flash Player: o game ainda vai ser topzão porém doq adianta usar uma lógica tão antiga ao ponto de ja estar morrendo? É tipo essas templates de mecânica que tem por aí que enche pra caramba seu -2 ou -3 sendo que na vdd vc poderia fazer o mesmo código com 20% do tamanho.
Outro ponto que discordo. Vc pode argumentar que seria melhor terem vários níveis de AI, de maneira progressiva, etc. Mas argumentar que ela não deveria pressionar sem dar uma change de recuperar me parece bastante equivocado, pq derroto o propósito de se ter uma AI.
No meu entendimento, ela deve te pressionar o tempo todo - pq eu mesmo jogo assim. Só paro de pressionar se eu achar que o risco não vale a pena. E esse é um ponto que eu deixo em aberto nas minhas AIs, para que seja explorado de propósito.
Posso usar inclusive o Mugen como exemplo: muita gente tem mania de compactar vários triggers na mesma linha, como se isso fosse "otimizar" a programação. Quando, de fato tem o efeito contrário (é um hábito ruim que se pega quando se aprende a programa com mugen). Se um triggerall precisa ser cumprido, ele deve ficar isolado na linha.Isso eu concordo com você por ser Triggerall . E como vc pode ver, eu não compactei triggerall, mas eu esqueci de apontar esse detalhe em não colocar no triggerall.
Vc é macaco velho e já sabe de cor e salteado essa máxima aqui: vc faz as coisas PRA VC e quem tem que gostar é VC. Vc disponibiliza para quem quiser usar, mas o foco foi, originalmente, vc. Feedback é sempre bem-vindo, para que todos possam fazer as coisas da melhor maneira possível. Mas muita gente pegou a mania de achar que todo mundo tem que fazer algo do jeito que acham que é e tudo que não for feito dentro daquele padrão "não presta".
. Execução imediata. Por isso o "ChangeState" é o último item. Não tenho como confirmar que isso tem mais prioridade do que o "time = 0", mas é a impressão que me dá.
Agradeço humildemente por me elucidar e vou incluir essa sugestão daqui pra frente (também vou ignorar seu "75-75/5=0", pois divisão e multiplicação tem prioridade sobre soma e subtração, exceto se condicionar com parenteses).
Enemy,Cond(NumPartner,(Partner,Cond((SysVar(4)=1), Cond(NumExplod(30019)=0, Cond(Var(38):=3,0,0) ,0) ,0)) ,0)
Root,Cond(NumTarget,(Target, Cond(1,time,0)),0)
Tenho certeza de que você(s) tem razão, mas quando comecei meu projeto não havia ainda aquele hack para jogar com times de 3 ou 4 personagens no Mugen 1.1b1 ! Uma das minhas metas era atualizar o Tag-team para esse número de personagens para ficar mais divertido. Mas não queria jogar fora o recurso de zoom de tela que dá mais dinamismo nas lutas à distância. Então tentei fazer os chars compatíveis, quando possível, com ambas as versões. Até que consigo bem nos chars (e para os cenários está sendo um desafio), mas o recurso de rotacionar os sprites só pelo arquivo AIR é uma elegância que sinceramente sinto falta!
[State -1, Jump Light Kick]
type = ChangeState
value = 631
triggerall = command = "a" && statetype = A && var(3) < 3
trigger1 = ctrl
ignorehitpause=1
;---------------------------------------------------------------------------
; auto - light
[Statedef 631]
type = U
[State 631, 1]
type = varSet
trigger1 = 1
v = 5
value = 630
[State 631, 2]
type = ChangeState
trigger1 = 1
value = 700
;---------------------------------------------------------------------------
; núcleo da conta: golpes X A.I.
[Statedef 700]
type = U
; Aqui um exemplo de discordância: se fora do alcance, mudar para outro hiper mais adequado
; A idéiaoriginal é o helper avaliar as coisas e escrever nas variáveis de var(30) à Var(39) do char principal as sugestões melhores, mudando a var(5) de acordo.
[State 700, 1]
type = Varset
triggerall = var(5) = 4000
trigger2 = enemy, pos y < 0 && p2bodydist x > 0
trigger3 = p2stateno >= fvar(6) && p2stateno <= fvar(7)
trigger1 = enemynear, stateno >= fvar(6) && enemynear, stateno <= fvar(7)
v = 5
value = 3000
ignorehitpause=1
[State 700, 2]
type = ChangeState
trigger1 = 1
value = var(5)
[Statedef 631]
type = U
[State 631, 1]
type = VarSet
Trigger1 = !Time && ((Var(5)<4000)||(Var(5)>4000))
trigger2 = ((EnemyNear(0), StateNo >= FVar(6)) && (EnemyNear(0), StateNo <= FVar(7))) && (Time > 1) && (Var(5) = 4000)
trigger3 = Enemy,NumPartner>0
trigger3 = ((EnemyNear(1), StateNo >= FVar(6)) && (EnemyNear(1), StateNo <= FVar(7))) && (Time > 1) && (Var(5) = 4000)
trigger4 = (P2Dist Y < 0 && P2Dist x > 0) && (Time > 1) && (Var(5) = 4000)
trigger5 = (P2StateNo >= FVar(6)) && (P2StateNo <= fvar(7)) && (Time > 1) && (Var(5) = 4000)
v = 5
value = Cond((Time<1),630,3000)
[State 700, 2]
type = ChangeState
trigger1 = Time > 2
value = var(5)
Mas ao invés de usar seus poderes para o mal, isso pode ser uma contribuição
Mugen se tornou sinonimo de coisas má programadas, péssimo gosto e balanceamento, o que é ruim.Justamente isso. Como geralmente mugen é compilaçao de char vc percebe que em um jogo compilado várias coisas não funfam do jeito que deveria pq existem diferentes balanceamentos.
Eu uso ifelse e não tenho problema nenhum com isso. Não acho bizarro, na verdade acho muito útil e intuitivo. Nunca tive um ifelse bugado, então talvez seja a maneira como voce ultiliza.
.[State 4015, SprPriority]
type = SprPriority
trigger1 = ceil(var(7))=0
value = -3 ; <=========== aqui entra no layer -3 ao var(7) chegar à zero (um contador improvisado).
;ignorehitpause =
;persistent = 0
. Sacanagem. Eu posto uma dúvida de Mugen e você joga o assunto para Java? Se isso não for um comando de Mugen, estarei decepcionado contigo.
Vcs viram a gambiarra que dá pra fazer com o Cond? Tipo multiplos redirecionamentos?