🤔 Para Refletir :
"De pixel a pixel, os tiles compõem o Mapa."
- Core32

Duvida sobre sintax e procedimento a se realizar

JulioRPGCriator

Cidadão
Membro
Membro
Juntou-se
17 de Fevereiro de 2017
Postagens
103
Bravecoins
0
Boa noite pessoal, eu me deparei com um problema aqui que bugou todo meu sistema ao ser incluído!
segue a baixo meu código completo:
NOTA: Eu fiz o teste dele em um projeto novo sozinho, por isso garanto que não foi choque de informações!

https://hastebin.com/ifuvurozuv.rb

Dentro do código coloquei algumas linhas explicando o que eu preciso e o problema que acontece, porem vou detalhar mais aqui:
1ª a sintax não esta permitindo eu puxar os dados globais me forçando a usar as variáveis correspondentes a ele, caso contrario apresenta erros como por exemplo esse! segue imagem:

https://imgur.com/rINyMPO

exemplo: $game_player.x tem que ser substituído pela variável que define ele no banco que é @x.
e no meu code @player_x é = a @x , pra testar o code separadamente so modifique o @player_x por @x que funciona (o mesmo pra @player_y que é = a @y)

2ª eu não faço ideia de como vou criar uma variável que corresponda a minhas 2 subclass (enemy? e enemy) que dão vida ao meu inimigo no game!
NOTA: esse é meu problema principal, porque as outras coisas vão fluir naturalmente após eu saber como iniciar meu inimigo. dai so eu criar os arrt_reader :event_enemy_x e _y e jogar sobre ele.

3ª A sintax realmente deveria esta fazendo isso com as variáveis? Nunca tive esse problema antes! creio que seja culpa da sintax os method error que estou enfrentando!

 
HermesPasser comentou:
Para qual maker fizestes isso? E a linha dez está certa mesmo?  Ela não recebe nada.

RMVXAce!
Sim esta certo, na frente dela esta escrito o que quero por lá, minha duvida é exatamente essa o que devo por ali pra funcionar?
Alias, eu dei uma boa mexida no script e cheguei a isso:


Código:
class Game_Event
  alias enemy_init initialize
  def initialize(map_id, event)
  enemy_init(map_id, event)
    enemy?
    enemy
  end
  def enemy?
    @event.name.start_with?('enemy_')
  end
  def enemy
    @enemy = $data_enemies[@event.name.split('_').pop.to_i] if @enemy.nil?
    @enemy
  end
  def update
    update_enemy_abs if enemy?
  end
  def enemy_direction
    case @direction
    when 8
      @y <= $game_player.y
    when 2
      @y >= $game_player.y 
    when 4
      @x <= $game_player.x
    when 6
      @x >= $game_player.x
    end
  end
  def player_distance
    distance = Math.hypot(@x - $game_player.x, @y - $game_player.y)
  end
  def update_enemy_abs
    if enemy_direction && player_distance < 2
      puts 'Próximo e virado para o jogador.'
    end   
  end
end

Mas!!! Ainda apresenta erro! o que esta acontecendo é que todos os eventos do mapa trava, exemplo os eventos que movimentação esta aleatória  "tipo uma borboleta voando no mapa" fica tudo parado inclusive o inimigo!

Ainda quero saber como devo dar o nome ao meu inimigo na variável que criei:

Código:
@event_enemy = # como chama o evento levando em conta enemy? e enemy!
 
Voltar
Topo Inferior