Sistema ABS

11 Respostas   278 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Fujimiya

  • *
  • Posts: 68
  • Ouros: 30
  • ★ єυ ทãσ τєทнσ ทα∂α α τємєr ★
Tópico criado em: 25/10/2016 às 17:01

Olá Pessoal esse e meu primeiro tópico não sei se esta no local certo qualquer coisa podem apagar !!!
Bem Tenho uma duvida aqui estava testando a demo do sistema ABS e IAS então percebi que no IAS quando eu aperto ''S'' o personagem exibe um escudo para defender de ataques !!! queria saber se e possível fazer o mesmo no ABS OBS:Não necessariamente precisa ser a tecla ''S'' Bem e possivel fazer isso no ABS ? Também percebi que na demo do ''IAS'' tem como adicionar pessoas a equipe personagens que te seguem e no ABS não tem tal função e possível adicionar tal função no ABS Também  ?? Ou vocês acham que o IAS e melhor que o ABS ??

Ven

Resposta 1: 25/10/2016 às 17:37

Qual ABS você está usando?

Fujimiya

  • *
  • Posts: 68
  • Ouros: 30
  • ★ єυ ทãσ τєทнσ ทα∂α α τємєr ★
Resposta 2: 25/10/2016 às 17:56

Qual ABS você está usando?
Sapphire Action System IV v4.4en

Ven

Resposta 3: 25/10/2016 às 18:28

O Khas Arcthunder, criador do SAS, fez um script de add on para o personagem usar um escudo.

Código: [Selecionar]
#-------------------------------------------------------------------------------
# * [ACE] SAS IV Block
#-------------------------------------------------------------------------------
# * By Khas
# * Version: 4.2 EN
# * Released on: 24/12/2013
#
#-------------------------------------------------------------------------------
# * Terms of Use
#-------------------------------------------------------------------------------
# Check the terms of use at my blog! Visit the FAQ page.
#
# Blog: arcthunder.blogspot.com
# Twitter: twitter.com/arcthunder
# Youtube: youtube.com/darkkhas
#
#-------------------------------------------------------------------------------
# * Configuration
#-------------------------------------------------------------------------------
module Block_Core
 
  # Key used to block (default is R, which means W on your keyboard) 
  Block_Key = Input::R
 
  # Sprite name
  # If the current character sprite is "Adam", when the hero is blocking
  # it's sprite will be "Adam_block"
  Block_Character_Name = "_block"
 
  # Sprite index
  Block_Character_Index = 0
 
  # Block duration (in frames)
  Block_Duration = 20
 
  # Block cooldown (in frames)
  Block_Cooldown = 120
 
end

#-------------------------------------------------------------------------------
# * Register
#-------------------------------------------------------------------------------
if $khas_awesome.nil?
  $khas_awesome = []
end
scripts = []
$khas_awesome.each { |script| scripts << script[0] }
unless scripts.include?("Sapphire Action System")
  error = Sprite.new
  error.bitmap = Bitmap.new(544,416)
  error.bitmap.draw_text(0,208,544,32,"Please install the Sapphire Action System IV",1)
  continue = Sprite.new
  continue.bitmap = Bitmap.new(544,416)
  continue.bitmap.font.color = Color.new(0,255,0)
  continue.bitmap.font.size = error.bitmap.font.size - 3
  continue.bitmap.draw_text(0,384,544,32,"Press ENTER to exit.",1)
  add = Math::PI/80; max = 2*Math::PI; angle = 0
  loop do
    Graphics.update; Input.update
    angle += add; angle %= max
    continue.opacity = 185 + 70* Math.cos(angle)
    break if Input.trigger?(Input::C)
  end
  error.bitmap.dispose; continue.bitmap.dispose
  error.bitmap = nil; continue.bitmap = nil
  error.dispose; continue.dispose
  error = nil; continue = nil
  exit
end

$khas_awesome << ["SAS BLOCK",4.2]

#-------------------------------------------------------------------------------
# * Script
#-------------------------------------------------------------------------------

class Game_Map
 
  def update_action_system
    if Input.trigger?(Input::X)
      $game_player.attack
    elsif Input.trigger?(Block_Core::Block_Key)
      $game_player.block
    elsif Input.trigger?(Input::Y)
      $game_player.cast_skill
    elsif Input.trigger?(Input::Z)
      $game_player.next_skill
    end
  end
 
end



class Game_Player < Game_Character
 
  alias sasblk_moveto moveto
  alias sasblk_update update
  alias sasblk_initialize initialize
  alias sasblk_damage_hero damage_hero
  alias sasblk_skill_damage_hero skill_damage_hero
 
  def initialize
    sasblk_initialize
    @blocking = false
    @block_counter = 0
    @block_cooldown = 0
  end
 
  def update
    sasblk_update
    update_block
  end
 
  def block
    return if @block_cooldown > 0
    @block_counter = Block_Core::Block_Duration
    @block_cooldown = Block_Core::Block_Cooldown
    @blocking = true
    @sprite_before_block = @character_name
    @index_before_block = @character_index
    @character_name = @character_name + Block_Core::Block_Character_Name
    @character_index = Block_Core::Block_Character_Index
  end
 
  def update_block
    if @blocking
      if @block_counter > 0
        @block_counter -= 1
      else
        @blocking = false
        @character_name = @sprite_before_block
        @character_index = @index_before_block
      end
    end
    @block_cooldown -= 1 if @block_cooldown > 0
  end
 
  def reset_block
    if @blocking
      @character_name = @sprite_before_block
      @character_index = @index_before_block
    end
    @block_counter = 0
    @block_cooldown = 0
    @blocking = false
  end
 
  def moveto(x,y)
    reset_block
    sasblk_moveto(x,y)
  end
 
  def damage_hero(d)
    @blocking ? $game_map.show_text(self,"Block!") : sasblk_damage_hero(d)
  end
 
  def skill_damage_hero(d)
    @blocking ? $game_map.show_text(self,"Block!") : sasblk_skill_damage_hero(d)
  end
 
end

Ai está ele, tudo que você precisa fazer é criar um gráfico do seu personagem com o escudo e definir a tecla de ação para ele empunhar o escudo.

Fujimiya

  • *
  • Posts: 68
  • Ouros: 30
  • ★ єυ ทãσ τєทнσ ทα∂α α τємєr ★
Resposta 4: 25/10/2016 às 18:35

O Khas Arcthunder, criador do SAS, fez um script de add on para o personagem usar um escudo.

Código: [Selecionar]
#-------------------------------------------------------------------------------
# * [ACE] SAS IV Block
#-------------------------------------------------------------------------------
# * By Khas
# * Version: 4.2 EN
# * Released on: 24/12/2013
#
#-------------------------------------------------------------------------------
# * Terms of Use
#-------------------------------------------------------------------------------
# Check the terms of use at my blog! Visit the FAQ page.
#
# Blog: arcthunder.blogspot.com
# Twitter: twitter.com/arcthunder
# Youtube: youtube.com/darkkhas
#
#-------------------------------------------------------------------------------
# * Configuration
#-------------------------------------------------------------------------------
module Block_Core
 
  # Key used to block (default is R, which means W on your keyboard) 
  Block_Key = Input::R
 
  # Sprite name
  # If the current character sprite is "Adam", when the hero is blocking
  # it's sprite will be "Adam_block"
  Block_Character_Name = "_block"
 
  # Sprite index
  Block_Character_Index = 0
 
  # Block duration (in frames)
  Block_Duration = 20
 
  # Block cooldown (in frames)
  Block_Cooldown = 120
 
end

#-------------------------------------------------------------------------------
# * Register
#-------------------------------------------------------------------------------
if $khas_awesome.nil?
  $khas_awesome = []
end
scripts = []
$khas_awesome.each { |script| scripts << script[0] }
unless scripts.include?("Sapphire Action System")
  error = Sprite.new
  error.bitmap = Bitmap.new(544,416)
  error.bitmap.draw_text(0,208,544,32,"Please install the Sapphire Action System IV",1)
  continue = Sprite.new
  continue.bitmap = Bitmap.new(544,416)
  continue.bitmap.font.color = Color.new(0,255,0)
  continue.bitmap.font.size = error.bitmap.font.size - 3
  continue.bitmap.draw_text(0,384,544,32,"Press ENTER to exit.",1)
  add = Math::PI/80; max = 2*Math::PI; angle = 0
  loop do
    Graphics.update; Input.update
    angle += add; angle %= max
    continue.opacity = 185 + 70* Math.cos(angle)
    break if Input.trigger?(Input::C)
  end
  error.bitmap.dispose; continue.bitmap.dispose
  error.bitmap = nil; continue.bitmap = nil
  error.dispose; continue.dispose
  error = nil; continue = nil
  exit
end

$khas_awesome << ["SAS BLOCK",4.2]

#-------------------------------------------------------------------------------
# * Script
#-------------------------------------------------------------------------------

class Game_Map
 
  def update_action_system
    if Input.trigger?(Input::X)
      $game_player.attack
    elsif Input.trigger?(Block_Core::Block_Key)
      $game_player.block
    elsif Input.trigger?(Input::Y)
      $game_player.cast_skill
    elsif Input.trigger?(Input::Z)
      $game_player.next_skill
    end
  end
 
end



class Game_Player < Game_Character
 
  alias sasblk_moveto moveto
  alias sasblk_update update
  alias sasblk_initialize initialize
  alias sasblk_damage_hero damage_hero
  alias sasblk_skill_damage_hero skill_damage_hero
 
  def initialize
    sasblk_initialize
    @blocking = false
    @block_counter = 0
    @block_cooldown = 0
  end
 
  def update
    sasblk_update
    update_block
  end
 
  def block
    return if @block_cooldown > 0
    @block_counter = Block_Core::Block_Duration
    @block_cooldown = Block_Core::Block_Cooldown
    @blocking = true
    @sprite_before_block = @character_name
    @index_before_block = @character_index
    @character_name = @character_name + Block_Core::Block_Character_Name
    @character_index = Block_Core::Block_Character_Index
  end
 
  def update_block
    if @blocking
      if @block_counter > 0
        @block_counter -= 1
      else
        @blocking = false
        @character_name = @sprite_before_block
        @character_index = @index_before_block
      end
    end
    @block_cooldown -= 1 if @block_cooldown > 0
  end
 
  def reset_block
    if @blocking
      @character_name = @sprite_before_block
      @character_index = @index_before_block
    end
    @block_counter = 0
    @block_cooldown = 0
    @blocking = false
  end
 
  def moveto(x,y)
    reset_block
    sasblk_moveto(x,y)
  end
 
  def damage_hero(d)
    @blocking ? $game_map.show_text(self,"Block!") : sasblk_damage_hero(d)
  end
 
  def skill_damage_hero(d)
    @blocking ? $game_map.show_text(self,"Block!") : sasblk_skill_damage_hero(d)
  end
 
end

Ai está ele, tudo que você precisa fazer é criar um gráfico do seu personagem com o escudo e definir a tecla de ação para ele empunhar o escudo.

Obrigado Ajudou bastante quanto a outra pergunta tem como fazer outros herois se juntarem ao grupo ?

Ven

Resposta 5: 25/10/2016 às 19:27

Rapaz, ter até tem.. mas o SAS foi feito para ser um ABS com apenas um herói, no máximo 2. Caso você tente colocar mais ele acaba dando uns bugs, não é recomendado.  :/

Arthur Fillipi

  • *
  • Posts: 113
  • Ouros: 28
  • Eu não sou o que eu queria, mas o que devo ser
Resposta 6: 28/10/2016 às 19:10

O Khas Arcthunder, criador do SAS, fez um script de add on para o personagem usar um escudo.

Código: [Selecionar]
#-------------------------------------------------------------------------------
# * [ACE] SAS IV Block
#-------------------------------------------------------------------------------
# * By Khas
# * Version: 4.2 EN
# * Released on: 24/12/2013
#
#-------------------------------------------------------------------------------
# * Terms of Use
#-------------------------------------------------------------------------------
# Check the terms of use at my blog! Visit the FAQ page.
#
# Blog: arcthunder.blogspot.com
# Twitter: twitter.com/arcthunder
# Youtube: youtube.com/darkkhas
#
#-------------------------------------------------------------------------------
# * Configuration
#-------------------------------------------------------------------------------
module Block_Core
 
  # Key used to block (default is R, which means W on your keyboard) 
  Block_Key = Input::R
 
  # Sprite name
  # If the current character sprite is "Adam", when the hero is blocking
  # it's sprite will be "Adam_block"
  Block_Character_Name = "_block"
 
  # Sprite index
  Block_Character_Index = 0
 
  # Block duration (in frames)
  Block_Duration = 20
 
  # Block cooldown (in frames)
  Block_Cooldown = 120
 
end

#-------------------------------------------------------------------------------
# * Register
#-------------------------------------------------------------------------------
if $khas_awesome.nil?
  $khas_awesome = []
end
scripts = []
$khas_awesome.each { |script| scripts << script[0] }
unless scripts.include?("Sapphire Action System")
  error = Sprite.new
  error.bitmap = Bitmap.new(544,416)
  error.bitmap.draw_text(0,208,544,32,"Please install the Sapphire Action System IV",1)
  continue = Sprite.new
  continue.bitmap = Bitmap.new(544,416)
  continue.bitmap.font.color = Color.new(0,255,0)
  continue.bitmap.font.size = error.bitmap.font.size - 3
  continue.bitmap.draw_text(0,384,544,32,"Press ENTER to exit.",1)
  add = Math::PI/80; max = 2*Math::PI; angle = 0
  loop do
    Graphics.update; Input.update
    angle += add; angle %= max
    continue.opacity = 185 + 70* Math.cos(angle)
    break if Input.trigger?(Input::C)
  end
  error.bitmap.dispose; continue.bitmap.dispose
  error.bitmap = nil; continue.bitmap = nil
  error.dispose; continue.dispose
  error = nil; continue = nil
  exit
end

$khas_awesome << ["SAS BLOCK",4.2]

#-------------------------------------------------------------------------------
# * Script
#-------------------------------------------------------------------------------

class Game_Map
 
  def update_action_system
    if Input.trigger?(Input::X)
      $game_player.attack
    elsif Input.trigger?(Block_Core::Block_Key)
      $game_player.block
    elsif Input.trigger?(Input::Y)
      $game_player.cast_skill
    elsif Input.trigger?(Input::Z)
      $game_player.next_skill
    end
  end
 
end



class Game_Player < Game_Character
 
  alias sasblk_moveto moveto
  alias sasblk_update update
  alias sasblk_initialize initialize
  alias sasblk_damage_hero damage_hero
  alias sasblk_skill_damage_hero skill_damage_hero
 
  def initialize
    sasblk_initialize
    @blocking = false
    @block_counter = 0
    @block_cooldown = 0
  end
 
  def update
    sasblk_update
    update_block
  end
 
  def block
    return if @block_cooldown > 0
    @block_counter = Block_Core::Block_Duration
    @block_cooldown = Block_Core::Block_Cooldown
    @blocking = true
    @sprite_before_block = @character_name
    @index_before_block = @character_index
    @character_name = @character_name + Block_Core::Block_Character_Name
    @character_index = Block_Core::Block_Character_Index
  end
 
  def update_block
    if @blocking
      if @block_counter > 0
        @block_counter -= 1
      else
        @blocking = false
        @character_name = @sprite_before_block
        @character_index = @index_before_block
      end
    end
    @block_cooldown -= 1 if @block_cooldown > 0
  end
 
  def reset_block
    if @blocking
      @character_name = @sprite_before_block
      @character_index = @index_before_block
    end
    @block_counter = 0
    @block_cooldown = 0
    @blocking = false
  end
 
  def moveto(x,y)
    reset_block
    sasblk_moveto(x,y)
  end
 
  def damage_hero(d)
    @blocking ? $game_map.show_text(self,"Block!") : sasblk_damage_hero(d)
  end
 
  def skill_damage_hero(d)
    @blocking ? $game_map.show_text(self,"Block!") : sasblk_skill_damage_hero(d)
  end
 
end

Ai está ele, tudo que você precisa fazer é criar um gráfico do seu personagem com o escudo e definir a tecla de ação para ele empunhar o escudo.

Aproveitando a deixa, eu estou pensando em começar um projeto com esse sistema também, mas ele não tem uns complementos como o IAS, queria saber se tem algum ADD ON desse script que faça-o ter uma opçao de usar potion também.
Você está pronto pra ser um Guerreiro dos Sonhos?
Clique aqui! [\url]

TonyHart

  • *
  • Posts: 144
  • Ouros: 126
  • Born in 95 to die
Resposta 7: 28/10/2016 às 20:10

Como assim poção? Apertar um botão pra se curar? Se for isso você pode fazer através de um Evento Comum, que usa o item quando você aperta um botão. Até com animação é possível dessa forma.
Born in 95 to die

Arthur Fillipi

  • *
  • Posts: 113
  • Ouros: 28
  • Eu não sou o que eu queria, mas o que devo ser
Resposta 8: 28/10/2016 às 20:42

Como assim poção? Apertar um botão pra se curar? Se for isso você pode fazer através de um Evento Comum, que usa o item quando você aperta um botão. Até com animação é possível dessa forma.

Isso mesmo. Dá? Se tiver algum tutorial aí, pode me passar?
Você está pronto pra ser um Guerreiro dos Sonhos?
Clique aqui! [\url]

Fujimiya

  • *
  • Posts: 68
  • Ouros: 30
  • ★ єυ ทãσ τєทнσ ทα∂α α τємєr ★
Resposta 9: 28/10/2016 às 21:02

Como assim poção? Apertar um botão pra se curar? Se for isso você pode fazer através de um Evento Comum, que usa o item quando você aperta um botão. Até com animação é possível dessa forma.

Isso mesmo. Dá? Se tiver algum tutorial aí, pode me passar?

Adiciona uma hotkey e coloca uma poção nessa hotkey e pronto !!!
acho que esse tutorial do drak também deve resolver
Spoiler
[close]

TonyHart

  • *
  • Posts: 144
  • Ouros: 126
  • Born in 95 to die
Resposta 10: 28/10/2016 às 21:04

Processo em paralelo, não esqueça de ativar o switch condicional (No exemplo 0002: ATIVAR_EVENTO_COMUM). Ele verifica se botão foi apertado, e eu coloquei uma mensagem só pra você visualizar o funcionamento. Mas o que vai acontecer depende da sua criatividade.

Born in 95 to die

Arthur Fillipi

  • *
  • Posts: 113
  • Ouros: 28
  • Eu não sou o que eu queria, mas o que devo ser
Resposta 11: 28/10/2016 às 21:07

Ótimo, Tony. Muito obrigado  :lol:
Você está pronto pra ser um Guerreiro dos Sonhos?
Clique aqui! [\url]