PROBLEM Z PROSTYM ABS'em
Aktualny czas: 22-01-20, 06:54 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[XP] PROBLEM Z PROSTYM ABS'em
tenac666 Offline
*


Liczba postów: 8
Dołączył: 20-11-17

Pomógł: 0



Post: #1
wykrzyknik PROBLEM Z PROSTYM ABS'em

Cześć wszystkim, mam ogromną prośbę czy ktoś umiałby zaradzić temu problemowi, mianowicie znalazłem na tym forum bardzo prosty skrypt na ABS i mi odpowiada w 100% tylko, że momentami jak zapiszę grę i próbuje ją wczytać pojawia się błąd w 17 linijce NO METHOD ERROR OCURED i ni chu chu nic się nie da z tym zrobić, oczywiście CZASAMI się to tylko pojawia, ale czy wie ktoś może dlaczego tak się dzieje albo co trzeba zrobić, żeby tak nie było? NAJGORSZE JEST TO, ŻE RAZ SIĘ POJAWIA TEN BŁĄD A RAZ NIE, I KOMPLETNIE NIE MAM POJĘCIA JAKA JEST TEGO PRZYCZYNA
poniżej zamieszczam skrypt
POZDRAWIAM :)


class ABS

def setup
    @enemies = []
    for event in $game_map.events.values
      for monster in $data_enemies.compact
        if event.event.name == monster.name
          @enemies.push(ABS_Enemy.new(monster, event))
          break
        end
      end
    end
    @cooldown = 0
  end

  def update
    for enemy in @enemies
      if ($game_player.abs_in_range?(enemy.event, 1) and @cooldown <= 0 and
          $game_player.abs_facing?(enemy.event) and Input.trigger?(Input::C))
        enemy.attack_effect($game_party.actors[0])
        enemy.engage
        $game_player.animation_id = $game_party.actors[0].animation1_id
        enemy.event.animation_id = $game_party.actors[0].animation2_id
        @cooldown = 20
        if enemy.dead?
          @enemies.delete(enemy)
          enemy.event.erase
        end
      end
      enemy.update
    end
    @cooldown -= 1 if @cooldown > 0
  end
end

class ABS_Enemy < Game_Enemy

  attr_reader :event

  def initialize(monster, event)
    abs_initialize
    @enemy_id = monster.id
    @hp = maxhp
    @sp = maxsp
    @monster = monster
    @event = event
    @cooldown = 0
  end

  def update
    if @engaged
      if (@event.abs_in_range?($game_player, 1) and @cooldown <= 0 and
          @event.abs_facing?($game_player) and not @event.moving?)
        $game_party.actors[0].attack_effect(self)
        $game_temp.gameover = $game_party.actors[0].dead?
        $game_map.events[@event.id].animation_id = animation1_id
        $game_player.animation_id = animation2_id
        @cooldown = 75
      end
    elsif (@event.abs_in_range?($game_player) and
           @event.abs_facing?($game_player))
      engage
    end
    @cooldown -= 1 if @cooldown > 0
  end
  
  def engage
    @engaged = true
    @event.move_type = 2
  end
end

$abs = ABS.new

class Scene_Map
  alias abs_update update
  def update
    abs_update
    $abs.update
  end
end

class Game_Map
  alias abs_setup setup
  def setup(map_id)
    abs_setup(map_id)
    $abs.setup
  end
end

class Game_Battler
  alias abs_initialize initialize
  def initialize
    abs_initialize
  end
end

class Game_Character

  attr_accessor :move_type, :move_frequency, :move_speed, :character_name
  attr_reader :event

  def abs_facing?(event)
    case self.direction
    when 2
      return true if event.y > self.y
    when 4
      return true if event.x < self.x
    when 6
      return true if event.x > self.x
    when 8
      return true if event.y < self.y
    end
    return false
  end

  def abs_in_range?(event, range = 5)
    x = (self.x - event.x).abs
    y = (self.y - event.y).abs
    return x + y <= range
  end
end
(Ten post był ostatnio modyfikowany: 25-11-17 17:29 przez tenac666.)
25-11-17 13:22
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
AlmostNoRuby Offline
*


Liczba postów: 171
Dołączył: 22-09-16

Pomógł: 33



Post: #2
RE: PROBLEM Z PROSTYM ABS'em

Wstaw skrypt w tagi<code.> </code> (bez kropki, kropka jest, aby pokazał się tekst). Będzie bardziej czytelny. Albo zaznacz skrypt w edytorze posta i kliknij znaczek kod u góry.

[Obrazek: userbar1.png]
(Ten post był ostatnio modyfikowany: 25-11-17 16:02 przez AlmostNoRuby.)
25-11-17 15:59
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
tenac666 Offline
*


Liczba postów: 8
Dołączył: 20-11-17

Pomógł: 0



Post: #3
RE: PROBLEM Z PROSTYM ABS'em

OKEJ ZROBIONE, A TERAZ PONAWIAM PYTANIE CZY KTOŚ WIE JAK TEMU ZARADZIĆ?
BARDZO LUBIĘ TEN SKRYPT JEST BARDZO PROSTY I MOŻNA W POŁĄCZENIU ZE ZDARZENIÓWKAMI
MOŻNA NAPRAWDĘ POROBIĆ FAJNE RZECZY!
(Ten post był ostatnio modyfikowany: 25-11-17 16:27 przez tenac666.)
25-11-17 16:22
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Mateusz SSJ8 Offline
*


Liczba postów: 510
Dołączył: 10-05-13

Pomógł: 40



Post: #4
RE: PROBLEM Z PROSTYM ABS'em

Może by tak więcej informacji na temat błędu? No wiesz, coś typu
Cytat:Unknown method "event" for "Game_Enemy"
, czy coś w tym stylu. Bo czasem samo to, że wystąpił błąd, to za mało, żeby rozwiązać problem.

Nienawidzony i nienawidzący. Przez nienawiść tego drugiego obaj będą martwi.
29-11-17 22:41
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.