🤔 Para Refletir :
"A pressa é a inimiga do grinding."
- Moge

Problema com ABS por evento Comum

JulioRPGCriator

Cidadão
Membro
Membro
Juntou-se
17 de Fevereiro de 2017
Postagens
103
Bravecoins
0
:Bravo: boa tarde  pessoal,
Olha eu aqui de novo após um mês doente!  :^^':

Bom vamos la, meu problema hoje é nada mais que um grande problema que venho enfrentando desde o inicio!
meu personagem e meu monstro nao da dano apos eu colocar a linha de script abaixo:

Math.abs($gameVariables.value(6) - $gameVariables.value(8)) + Math.abs($gameVariables.value(7) - $gameVariables.value(9)) == 1

se eu tiro ela, meu personagem e meu monstro pode ta um em um canto e o outro la no outro extremo que da dano com eles de costas um para o outro na mesma linha x ou y!

essa linha acima é pra forçar a localização do monstro e meu personagem, para so baterem um no outro se estiverem 1 quadro ao lado um do outro! Ainda vou mexer muito nesses eventos, mais preciso de ajuda pra resolver a questao do dano e proximidade, precisa pelo menos ter logica de esta proximo para ser acertado, podem me ajudar? 

http://imgur.com/efHud3C
http://imgur.com/lZOb8hv
http://imgur.com/hMtKkS6
http://imgur.com/qi1S6yy
 
Explicando o que essa linha faz:

Você está guardando as posições nas variaveis 1, 2, 3 e 4, mas comparando as variaveis 6, 7, 8 e 9.
Acho que o correto ficaria assim:

Código:
Math.abs($gameVariables.value(1) - $gameVariables.value(3)) + Math.abs($gameVariables.value(2) - $gameVariables.value(4)) == 1
 
Hudell graças a voce funcionou  :Kawai_Desu: eu estava usando as referencias de localidade descritas em um site que achei o script...
o original estava em RMVX ACE! :^^': Obrigado ai por me ajudar!
 
:'o.o: como isso é complicado pessoal, achei que tinha me resolvido a linha ali acima que Hudell me ajudou, :Chorar:
Porem depois de mais testes, ocorreu que apresentou bug... qual como por que... :^^':
isso mesmo que queria ajuda pra saber ,  inicialmente:
o personagem de cima pra baixo não ataca;
o personagem de baixo pra cima também não ataca;
O personagem crio vida e quando esta nessas posições só ataca se estiver de lado para o alvo...  :>.<#:

o personagem atacando da direita para esquerda não ataca;
o personagem da esquerda pra direita não ataca;
O personagem crio vida e quando esta nessas posições só ataca se estiver de costas para o alvo...  :>.<#:

Posem me ajudar, estão em anexo as imagens de como esta o evento e aqui acima o codigo que encontrei que serve para checar se o personagem esta ao lado do evento, ele aparentemente esta funcionando, mais o personagem não que bater no alvo da forma correta!

podem me ajudar? :^^':
 
:Decepcionado: Boa noite a todos, acho que encontrei algo que pode resolver meu problema, mais estou tendo dificuldade de executar
a solução, o cara usa o RMVXAce e eu o RMMV  :XD: e ele usa alguns Call Script na formula e ele fez um evento enorme pra execultar a ação que estou tentando com evento normal que seria o monstro dele :XD:

Como eu havia dito, estou fazendo por evento comum que assim não seria necessário fazer essa mesma ação em milhares de inimigos :^^': se é que me entendem... com esse processo ele usa o numero 2 simulando baixo, 4 esquerda, 6 direita e 8 pra cima :^^': com o uso de um Call Script que não sei bem como ficaria no MV :S: Segue o Vídeo abaixo:

Aula 1
https://www.youtube.com/watch?v=WFsGlDSrut8&t=128s

Aula 2 = nessa =/- no minuto 16 do vídeo mostra o que questionei acima no texto.
https://www.youtube.com/watch?v=wK1VqZT8eUM&t=1020s

Alguém pode me ajudar com esse processo :Ahn:
 
:nossa: Ola pessoal, vim aqui de novo para mostra que consegui resolver uma parte do problema, porem um novo problemão apareceu :>.<#:

Eu acho que não estou convertendo os códigos da forma correta do RMVXAce para o RMMV, segue as informações do erro abaixo:

TypeError: undefined is not a function
at Game_Interpreter.eval (eval at <anonymous> (file:///C:/Users/Julio/Desktop/testando/js/rpg_objects.js:9396:34), <anonymous>:1:12)
at Game_Interpreter.command122 (file:///C:/Users/Julio/Desktop/testando/js/rpg_objects.js:9396:17)
at Game_Interpreter.executeCommand (file:///C:/Users/Julio/Desktop/testando/js/rpg_objects.js:8894:34)
at Game_Interpreter.update (file:///C:/Users/Julio/Desktop/testando/js/rpg_objects.js:8802:19)
at Game_Event.updateParallel (file:///C:/Users/Julio/Desktop/testando/js/rpg_objects.js:8713:27)
at Game_Event.update (file:///C:/Users/Julio/Desktop/testando/js/rpg_objects.js:8705:10)
at file:///C:/Users/Julio/Desktop/testando/js/rpg_objects.js:6031:15 at Array.forEach (native)
at Game_Map.updateEvents (file:///C:/Users/Julio/Desktop/testando/js/rpg_objects.js:6030:19)
at Game_Map.update (file:///C:/Users/Julio/Desktop/testando/js/rpg_objects.js:5990:10)

só esses códigos aqui em baixo deu isso ai tudo de erro:
$gameVariables.value(2) == $gameVariables.value(4) + 1    Referente a identificar a posição y do personagem e y direita do inimigo
$gameVariables.value(2) == $gameVariables.value(4) - 1    Referente a identificar a posição y do personagem e y esquerda do inimigo
$gameVariables.value(1) == $gameVariables.value(3) + 1    Referente a identificar a posição X do personagem e X acima do inimigo
$gameVariables.value(1) == $gameVariables.value(3) - 1    Referente a identificar a posição X do personagem e X abaixo do inimigo
$gameTroop.enemy(0, 6).hp
$gameTroop.enemy(0, 6).mhp
$gameTroop.enemy(0, 6).mp
$gameTroop.enemy(0, 6).mmp
$gameTroop.enemy(0, 6).param[2]  referente a ATK do Inimigo do Database
$gameTroop.enemy(0, 6).param[3]  referente a DEF do Inimigo do Database
$gameTroop.enemy(0, 6).param[4]  referente a MAT do Inimigo do Database
$gameTroop.enemy(0, 6).param[5]  referente a MDF do Inimigo do Database
$gameTroop.enemy(0, 6).param[6]  referente a AGI do Inimigo do Database
$gameTroop.enemy(0, 6).param[7]  referente a LUK do Inimigo do Database

:^^': acho eu que fiz tudo certo :S: e aparentemente esta, mais quero que verifiquem e me diga se eu estou fazendo isso corretamente :Bravo: se possivel poste aqui a correção ou me chame estou disposto a aprender também :XD:
 
Tem que mostrar como que você está usando os códigos.
E $gameTroop.enemy não existe. O que você quer provavelmente é $gameTroop.members, mas esse (0, 6) não faz sentido.
 
Boa Noite pessoal, :S:
A pedido de alguns amigos do Condado vou tentar deixar bem detalhado pra que serve e porque preciso disso, :^^': eu não manjo quase nada do MV to pegando o jeito com JavaScript :S:  e nÃo consigo fazer minhas formulas do RMVXAce funcionarem no RMMV.

O que eu quero fazer com código abaixo? achar de alguma forma essas informações do inimigo no RMMV, já tentei varios modos e não tive sucesso!
Game_Enemy.new(0, 1).mhp
Game_Enemy.new(0, 1).hp
Game_Enemy.new(0, 1).mmp
Game_Enemy.new(0, 1).mp
Game_Enemy.new(0, 1).atk
Game_Enemy.new(0, 1).def
Game_Enemy.new(0, 1).mat
Game_Enemy.new(0, 1).mdf
Game_Enemy.new(0, 1).agi
Game_Enemy.new(0, 1).luk

Essa formula abaixo o que eu quero fazer com ela? É a formula de dano usando os valores da variável sendo x um fator de sorte se for sortudo sempre vai da o dano do inimigo + o valor rand de LUK menos a DEF do personagem que será subtraio do HP! saco o valor do ATK+X for menor que a DEF do personagem não será subtraio nada do HP, fui forçado a fazer isso porque estava somando ao HP quando era menor :o:

x = rand(Game_Enemy.new(0, 1).luk)
if $game_variables[atk m] + x <= $game_variables[def p]
$game_actors[1].hp = 0
else
$game_actors[1].hp -= $game_variables[atk m] + x  - $game_variables[def p]
end

Para dano no Inimigo fiz quase a mesma coisa, só adicionei uma função $vida[] que engloba o hp do monstro x se eu repetir 5 vezes no mapa usar a mesma variavel .

x = rand($game_Variables[luk p])
        if $game_variables[atk p] + x <= $game_variables[def m]
$vida[15] = 0
        else
        $vida[15] -=  $game_variable[atk p] + x - $game_variables[def m]
end

$vida = Array.new
$vida[14] = $game_variables[hp m]
$vida[15] = $game_variables[hp m]

A formula abaixo é a velocidade de ataque tanto do monstro quando a minha! quanto maior a AGI do monstro ou personagem, menor o Delay entre ataques, torna mais realista o jogo dessa forma, eu achei!

wait(1000 / $game_Variables[agi p/m]) Eu converti essa pra fica assim: wait(1000 / $gameVariables.Value[agi p/m]) correto?

Esse comando aqui é otimo no RMVXAce ele permite você coloca quando cria a arma a animação nela e ao esta sem arma equipada da uma animação, se eu equipo arma sem mecher em mais nada nos eventos ele puxa a animação da arma que eu equipei, bem simples e automatico, mais nos bancos do RMMV não achei referencias e não consegui fazer vira isso, me ajudem a converter por favor!

$game_map.events[15].animation_id = $game_actors[1].atk_animation_id1


ai a cima vai ver muitos P e M.... são conforme a baixo:

m = Enemy
p = Personagem

 
:Okay_fix: Bom dia pessoal, olhando nos eventos eu resolvi buscar todos por variaveis :S:
Devia ter feito isso do inicio, mais ainda sim :^^': preciso das informações do inimigo como postei acima, ficou assim:

GameEnemies.Enemies.new(0, 1).hp
Game_Enemy.new(0, 1).mmp
Game_Enemy.new(0, 1).mp
Game_Enemy.new(0, 1).atk
Game_Enemy.new(0, 1).def
Game_Enemy.new(0, 1).mat
Game_Enemy.new(0, 1).mdf
Game_Enemy.new(0, 1).agi
Game_Enemy.new(0, 1).luk

$gameMap.events(15).animation_id = $gameVariables.value(40).animation_id1

Como disse ainda preciso das informações acima da forma correta para tudo funcionar  :nossa: não estou conseguindo fazer isso!


Ainda sim insisto em que me digam se minhas formulas ABAIXO vão funcionar no RMMV como funcionavam no RMVXAce  :^^':

x = rand($gameVariables.value(39))
if $gameVariables.value(34) + x <= $gameVariables.value(41)
$gameVariables.value(9) = 0
else
$gameVariables.value(9) -= $gameVariables.value(34) + x  - $gameVariables.value(41)
end

$vida = Array.new
$vida(15) = $gameVariables.value(30)

wait(1000 / $gameVariables.value(38))

x = rand($gameVariables.value(45))
if $gameVariables.value(40) + x <= $gameVariables.value(35)
$vida(15) = 0
else
$vida(15) -= $gameVariables.value(40) + x - $gameVariables.value(35)
end

wait(1000 / $gameVariables.value(44))
 
:Decepcionado: Boa noite prezados companheiros, vim informar a todos que estou com certificado do JavaScript mais cai entre nós :^^':
me pareço mais burro do que quando não tinha! :o:

através deste informo que descobri que a formula de dano linda personalizada que eu fiz foi quebrada e nao funciona no RMMV :'o.o:
Entra aqui minha duvida: eu posso por a seguinte formula
Verificação: $gameVariable.value(atk, $gameVariable.value(atk) + $gameVariable.value(luk) <= $gameVariable.value(def)) = $gameVariable.value[hp] - 0
e

Dano: $gameVariables.setValue(hp, $gameVariables.value(hp) - $gameVariables.value(atk) + $gameVariable.value(luk) - $gameVariables.value(41))
Porem, como eu faço a verificação e o dano acontecer de forma sincronizada? Digo isso porque pelo menos no RMVXAce se eu não colocar a verificação e o dano for menor que a def do receptor o hp ao in vez de reduzir aumenta...

:S: Outra duvida é como eu faço no caso do meu inimigo que eu fiz uma variavel global $vida[], digo, como acrecentar isso aqui na formula?

Referente aos outros códigos que pedi ajuda, segue a baixo a solução encontrada:
$dataEnemies[1].params[0]  mhp
$dataEnemies[1].params[1]  mmp
$dataEnemies[1].params[2]  atk
$dataEnemies[1].params[3]  def
$dataEnemies[1].params[4]  mat
$dataEnemies[1].params[5]  mdf
$dataEnemies[1].params[6]  agi
$dataEnemies[1].params[7]  luk
hp = $gameVariables.value(30) expecificar o valor manualmente
mp = $gameVariables.value(32) expecificar o valor manualmente

Preciso testar pra ver se funciona, no teste de consele pegou os valores :vixi: presiso ver in game se realmente roda:
$gameVariables.value(15) = $dataEnemies[6].exp
$gameVariables.value(46) = $dataEnemies[6].gold
$gameVariables.value(47) = $dataEnemies[6].item

Não encontrado:
$gameMap.events(15).animation_id = $gameVariables.value(40).animation_id1


Aguardo auxilio nesses Ultimos detalhes para Lanchamento do mais novo Utilitario ABS/HUD de nossa população! :Kawai_Desu:
Espero que gostem, foi meu primeiro projeto com Vocês!  :Vergonha:
 
Voltar
Topo Inferior