Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

XAS Action Rpg System (Secret Of Mana Styled)

Hackel you are amazing. Everything you have added to XAS is what I've wanted in XAS since I first learned about XAS.
:thumb:
 
@Hackel: I've got 2 questions: is it also possible
- to animate the HIT graphics with various frames as you did with your various frames script for attack2(x)? For example when you have eagle[12] as standard graphic you use [18]_eagle[12]_ACT as attack graphic (which is already possible - thank's again) and [8]_eagle_[12]_HIT as hit graphic?
- also to animate a monster's death with various frames? For example [15]_eagle[12]_DIE or something like this??

Thank's again for all your nice scripts!!!
 
the hit grafik isn´t animatet
even if you have more frames it will only show the first

use for the death the normal DEF_ANI funktion
 
Hackel":2vjtbw7e said:
the hit grafik isn´t animatet
even if you have more frames it will only show the first

but is it possible to animate the hit graphic?

Hackel":2vjtbw7e said:
use for the death the normal DEF_ANI funktion

even if I manage to do that (cause honestly I have no idea :biggrin: ) how does it work to switch to the DIE animation just when a monster has lost all of his life? Is therefore a 4. eventpage necessary?
 

Star

Sponsor

Rainbird":1u81cn1e said:
Hackel":1u81cn1e said:
the hit grafik isn´t animatet
even if you have more frames it will only show the first

but is it possible to animate the hit graphic?

Yes.

It requires that you register a page for each attack by using the HIT ID Variable and doing a parallel process that changes the graphic of the victim to how ever you want to animate it. Then change the hit variable back to 0 to turn the Parallel process off. A skilled Eventor should be able to accomplish this. I can but I don't feel like drawing Animated hits for my characters.

Anyway. Hackel. I'm not sure if you noticed this. But the pixelmovement prevents knockbacks. Is there some way to fix this? :crazy:

And if they are supposed to knock back but if they don't the allys start attacking the air and they are actually doing damage to the enemy. When the enemy's grafik is way back over here <<<<

Thanks

Edit: I also have a small problem, maybe Hackel or someone else could explain to me what I'm doing wrong. I just recently tried out the new 1.00 thing with the Ally's being able to Teleport. But everytime I try to get my allys to teleport. I get this error Teleport line 29: No Method Error Undefined Method 'id=' for nil:NilClass

Pointing to this thing here

class Game_Map

def spawn(map_id,id,x,y)
x = 1
(1..@events.size + 1).each{|x|break unless @events.keys.include?(x)}
map = load_data(sprintf("Data/Map%03d.rxdata", map_id))
ev = map.events[id]
ev.id = x
@events 
 
have you try to teleport you ally with a call script?
then you have to write $game_map.spawn(map,id,x,y)
map = your ally map
id = the ID of the event from your ally
x = x
y = y
 

Star

Sponsor

Hackel":15tkhefo said:
have you try to teleport you ally with a call script?
then you have to write $game_map.spawn(map,id,x,y)
map = your ally map
id = the ID of the event from your ally
x = x
y = y
Yeah = ( And that same problem keeps happening. Do you want me to upload my game so you can figure it out? I'm not sure if that's the best plan of action but I'm willing to do anything to make this work
 
ohh i found a problem

please replace the teleport script with this

Code:
 

# $game_map.spawn(map_id,id,x,y)

 

 

class Spriteset_Map

  def refresh

    $game_map.need_refresh = true

    unless @character_sprites == nil 

      for sprite in @character_sprites 

        sprite.dispose 

      end 

    end

    @character_sprites = [] 

    for i in $game_map.events.keys.sort 

      sprite = Sprite_Character.new(@viewport1, $game_map.events[i]) 

      @character_sprites.push(sprite) 

    end 

    @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))

  end

end

 

class Game_Map

  

  def spawn(map_id,id,x,y)

    x = 1

    ([email=1..@events.size]1..@events.size[/email] + 1).each{|x|break unless @events.keys.include?(x)}

    map = load_data(sprintf("Data/Map%03d.rxdata", map_id)) 

    ev = map.events[id] 

    ev.id = x 

    @events[x] = Game_Event.new(@map_id, ev)

    @events[x].moveto(x, y)

    return @events[x].id

  end 

end

 

class Scene_Map 

  attr_accessor :spriteset 

alias playerspawn transfer_player

def transfer_player

  playerspawn

 if XAS_ALLY::AUTO_TELE == true

  x = $game_player.x 

 y = $game_player.y 

 map = XAS_ALLY::ALLY_MAPID

 @telemap = load_data(sprintf("Data/Map%03d.rxdata", map)) 

 for i in @telemap.events.keys

    id = i

    $game_map.spawn(map,id,x,y)

    $scene.spriteset.refresh

    $game_system.caterpillar.refresh

    $game_player.refresh

    end

    end

  end

end

 

PS: the MAX_ACTOR thing is now with no funktion
 

Star

Sponsor

Hackel":2t3rqf99 said:
ohh i found a problem

please replace the teleport script with this

PS: the MAX_ACTOR thing is now with no funktion
OMG YES IT WORKED :cute: Thank you so much. * hugs *

Edit: I found a little problem in XAS System

I kept getting a graphic error on line 4133

So I replaced this

Code:
  def attack_on

    if self.battler.is_a?(Game_Enemy) and

       (self.battler.states.include?(XAS::MUTE_ID) or

        self.battler.states.include?(XAS::SEALATTACK_ID))

        @collision_attack = false

        self.battler.damage = XAS::SEALED_TEXT

        self.battler.damage_pop = true

        return false     

      end    

       shoot(XAS_ALLY::NORMAL_ATTACK_SKILL)

    @collision_attack = true

    if img_act_exist?    

    @character_name = @page.graphic.character_name + "_Act" 

    end

  end

  def attack_off

    @collision_attack = false 

    @character_name = @page.graphic.character_name

  end

end

With this

Code:
  def attack_on

    if self.battler.is_a?(Game_Enemy) and

       (self.battler.states.include?(XAS::MUTE_ID) or

        self.battler.states.include?(XAS::SEALATTACK_ID))

        @collision_attack = false

        self.battler.damage = XAS::SEALED_TEXT

        self.battler.damage_pop = true

        return false     

      end    

       shoot(XAS_ALLY::NORMAL_ATTACK_SKILL)

    @collision_attack = true

    if img_act_exist?    

    @character_name = @page.graphic.character_name + "_Act" 

    end

  end

  def attack_off

    @collision_attack = false 

    if img_act_exist?

    @character_name = @page.graphic.character_name

  end

end

end

I just added in the if img_act_exist? on the thing. Cause some of my enemies don't have ACT's
 
Has anyone tried inplementing an equipment slot system with XAS v3.4? I've look at a materia system and thought the way its work and the features it has to offer would be great for creating a slot system for XAS but I've been with school and work I haven't had time to work on making them compatible. So with that being said could some take a look at the materia system and see what you can do.

Materia System for XP
viewtopic.php?f=11&t=59972


Thanks,
Souloux
 

Star

Sponsor

Hackel":3n4g5sgk said:
StarGGundam2":3n4g5sgk said:
I just added in the if img_act_exist? on the thing. Cause some of my enemies don't have ACT's

yes but on the attack_off method you dont need the Act graphic
I don't know. It stopped giving me the error after I added that little bit. It might be something else then
 
@Souloux - Awesome idea, it would be great to be able to upgrade your skills from Fire 1 to Fire 2 to Fire 3 etc.

Another idea would be to implement a Fable 2 like system, where you have different rankings of spell - the longer you hold the cast button the further up the selection you go until you let go, at which point whatever spell is selected is cast.

fable2_b09_409.jpg
 
Rainbird":382ybtli said:
but is it possible to animate the hit graphic?

StarGGundam2":382ybtli said:
A skilled Eventor should be able to accomplish this. I can but I don't feel like drawing Animated hits for my characters.

Would you mind to make a short demo where animated HIT graphics are possible? :angel: Unfortunately I'm not a skilled Eventor at all...
 
well, i can make a script with animated HIT graphics
the problem is: it won´t work with my ally system but i will add this in the next version


hmm there is an other problem you can´t overwrite alias methodes so i have to change the
XAS_SYSTEM




replace xas_system with this xas_system(3.4)
http://www.4shared.com/file/92560571/38 ... xas34.html

and paste this above xas_system
Code:
module XAS

ANI_HIT = true

end

 

if ANI_HIT = true => the hit grafik is animated
if ANI_HIT = false =>the hit grafik isn´t animated
 
@Hackel: wow, this is great - but it doesn't seem to support various frames, right? Can you also make it work with various frames, for example when you have Leopard[12] as standard graphic you use [6]_Leopard[12]_HIT as HIT graphic cause it has 6 frames?

Hackel":34tn9zcx said:
it won´t work with my ally system but i will add this in the next version

This would be absolutely perfect, Thank's again, Hackel - you're absolutely amazing!!!
 
the problem is: you don´t call the hit so you can not say to the system how many frames the HIT grafik has.

but i found a solution.

replace the system again

http://www.4shared.com/file/92577278/e4 ... xas34.html

and paste this above main

Code:
module XAS

ANI_HIT = true

end

#

#

#A=>B 

#A = enemy id

#B = number of frames (for the HIT graphic)

module XAS_BATTLER

HIT_FAMES = {

 

}

end


#A=>B
#A = enemy id
#B = number of frames (for the HIT graphic)

You have to call the grafik "[number of frames]_enemyname_hit"
 
Very nice, thank's a lot!!!

There is one thing I noticed: when I've got HIT animations with a large number of frames it seems like the duration the hit animation is played is not longer as when the animation has a smaller number of frames. For example: When I use [12]_Leopard[12]_HIT with 9=>12 (9=Leopard's ID) the HIT animation is not played longer as when I use (just for example) [6]_Leopard[12]_HIT with 9=>6. That probably is because the HIT animation seems to be stopped automatically after a certain number of frames has been played. So when I use [12]_Leopard[12]_HIT the animation is not played in its full lenght (12 frames) but stopped earlier.

So is it possible to make every HIT animation being played in its full length which means that the duration (or the number of frames) the Hit animation is played is equal to its number of frames?

Still this is a great work, thank's again!! :thumb:
 
i think it is addicted to the INVICIBLE_DURATION have you try to change it?

DEFAULT_INVICIBLE_DURATION_ENEMY or INVICIBLE_DURATION_ENEMY
 
it seems to be DEFAULT_INVICIBLE_DURATION_ENEMY (default: 45). I guess replacing 45 by x from "["+ x + "]_" + @page.graphic.character_name + "_Hit" would be perfect but is this possible at all? I mean, this would mean that the value replacing x must be related to the enemy's ID and its number of HIT frames at the same time, right?
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top