RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
[MISSING] Blizz-ABS Version 0.9.7.2

0 Members and 5 Guests are viewing this topic.

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
I just love the oldskool games Zelda 3, 4, Secret of Mana, Secret of Evermore etc., so I know how it works and how it works good. :)
Believe me, Blizz-ABS will be the most used ABS in near future. =D I only need to implement the many other features I've planned. =D
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

*
Rep:
Level 102
2014 Biggest Narcissist Award2014 Biggest Forum Potato2014 Best Non-RM Creator2013 Best Game Creator (Non-RM)2013 Best IRC ChatterboxParticipant - GIAW 112012 Most Successful Troll2012 Funniest Member2012 Best Use Of Avatar and Signature space2012 Best IRC ChatterboxSecret Santa 2012 ParticipantProject of the Month winner for November 2009For being a noted contributor to the RMRK Wiki2010 Most Successful Troll2010 Biggest Forum Couch Potato2010 Best IRC Chatterbox
I just love the oldskool games Zelda 3, 4, Secret of Mana, Secret of Evermore etc., so I know how it works and how it works good. :)
Believe me, Blizz-ABS will be the most used ABS in near future. =D I only need to implement the many other features I've planned. =D

Yeah,  by the time I'm done with The Dark Seraph it should be complete and I can use it in my next game.   ;D


EDIT:
If you need a screenshot here's one.

Thats the best I could get it.
« Last Edit: January 09, 2007, 09:00:26 AM by Irockman1 »

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
When I release the new code with changed HUD and functions (maybe leave the mouse control?) it will look and work even better.

The only sad thing is that I won't be able to implement a "Shortest path finder", so enemies go around obstacles. Thing is tht RMXP is too limited and the execution of the  code freezes the game for short if the distance from the enemy to the player is more than 5. The algorythm is of exponential complexity. :(
« Last Edit: January 09, 2007, 09:40:22 AM by Blizzard »
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

*
Rep:
Level 102
2014 Biggest Narcissist Award2014 Biggest Forum Potato2014 Best Non-RM Creator2013 Best Game Creator (Non-RM)2013 Best IRC ChatterboxParticipant - GIAW 112012 Most Successful Troll2012 Funniest Member2012 Best Use Of Avatar and Signature space2012 Best IRC ChatterboxSecret Santa 2012 ParticipantProject of the Month winner for November 2009For being a noted contributor to the RMRK Wiki2010 Most Successful Troll2010 Biggest Forum Couch Potato2010 Best IRC Chatterbox
When I release the new code with changed HUD and functions (maybe leave the mouse control?) it will look and work even better.

The only sad thing is that I won't be able to implement a "Shortest path finder", so enemies go around obstacles. Thing is tht RMXP is too limited and the execution of the  code freezes the game for short if the distance from the enemy to the player is more than 5. The algorythm is of exponential complexity. :(

Eh, it works anyways. I didn't notice them not go around obstacles. It'll be great anyways.

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
I've had an idea for an alternative algorythm, but the problem would be a big RAM usage when maps go over 200x200. A 500x500 map would need about 250MB. :=
But at least the algorythm itself is efficient as hell.
« Last Edit: January 10, 2007, 11:28:34 AM by Blizzard »
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

*
A man chooses,
Rep:
Level 92
a slave obeys
Project of the Month winner for April 2008
Blizzard is a God  :tpg: It's so beautiful...But I dunno if it's compatible with Soul-Rage+Soul-Limit Script :tpg:.

*
? ? ? ? ? ? ? ? ? The nice kind of alien~
Rep:
Level 92
Martian - Occasionally kind
Are you using the A* algorythm or something similar?
There is an implementation in Ruby of it here: http://www.dubealex.com/asylum/index.php?showtopic=11874
It IS crappy, but you might use some of the principles for inspiration.
Also can't you utilize the graph being sparse?

*
A man chooses,
Rep:
Level 92
a slave obeys
Project of the Month winner for April 2008
Eh...kind of a noob question....I made and event in which the Character can't get out of the Stage until all the Enemies/Boss are defeated...but the even keeps saying what I wrote about defeat the Boss/Enemies.

********
Rep:
Level 96
2011 Most Missed Member2010 Zero To Hero
Like I said, this is great, but there are two problems now.

A: When you try to use move event, noticably on touch event events, it FLIPS THE FUCK OUT. If you tap the arrow so you barely touch it, you scoot forward or whatever one pixel. Tap again, AND YOU CAN FLLLLLLLLLYYYYYYYYYYYYYYYYYYYYYYY! Often times 90 degrees to the right of the intended direction.

B: Hitting F12 causes a nasty cras due to having moar stackz than teh xp cU[size=0pt] [/size]HN handle.
« Last Edit: January 12, 2007, 04:34:48 AM by arrowone »

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
I'll look into it. But I don't know how the F12 thing works, so I don't know if I will be able to fix it.

Eh...kind of a noob question....I made and event in which the Character can't get out of the Stage until all the Enemies/Boss are defeated...but the even keeps saying what I wrote about defeat the Boss/Enemies.

Just use the "Call script" command and type

Code: [Select]
$game_variables[X] = $game_system.how_many_enemies_left

Replace X with the ID of a variable. After this, that variable will be set to the number of enemies that are left on the map. Use this together with cond. branch and parallel process to achieve the effect you want when the enemies left on the map are equal/greater than/whatever to a value.

Are you using the A* algorythm or something similar?
There is an implementation in Ruby of it here: http://www.dubealex.com/asylum/index.php?showtopic=11874
It IS crappy, but you might use some of the principles for inspiration.
Also can't you utilize the graph being sparse?

I am already much further than this. I didn't even think about using the Move_Command class.
I have tried different algorythms so far. Dijkstri's algorythm brings RMXP to its knees, lol! I have tried an algorythm based on a "neighbour-vertex matrix" but it takes too much of RAM. Now I am working on a hybrid between these two and it doesn't lag too much right now. I actually need to get rid of some extra processing and bring the algorythm down to a linear complexity. Any exponential complexity causes enormous lag. =/

I would use Near Fantastica's and just fix the glitch if there is actually no path to the goal, but his algorythm also increases the lag too much in bigger maps, so there is no point.

My algorythm so far basically uses a virtual map with a passability table similar to the map's own @passages variable and I try to check the current passability (because of events, player etc.) only around the character. The rest is being processed by the virtual map, but I the process time increases exponential according to the length of the path. =/ Shit~
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

*
? ? ? ? ? ? ? ? ? The nice kind of alien~
Rep:
Level 92
Martian - Occasionally kind
Can I see what you have done?

Also if you haven't already you should try to limit the number of choices. I mean, who cares if you take a path that's 1 step longer than the shortest path, especially if it is like 10 steps long.
This makes me think.... Have there been made any good randomized algorithm for this? (Or a part of it being such)
« Last Edit: January 11, 2007, 10:34:23 PM by Zeriab »

*
A man chooses,
Rep:
Level 92
a slave obeys
Project of the Month winner for April 2008
I'll look into it. But I don't know how the F12 thing works, so I don't know if I will be able to fix it.

Eh...kind of a noob question....I made and event in which the Character can't get out of the Stage until all the Enemies/Boss are defeated...but the even keeps saying what I wrote about defeat the Boss/Enemies.

Just use the "Call script" command and type

Code: [Select]
$game_variables[X] = $game_system.how_many_enemies_left

Replace X with the ID of a variable. After this, that variable will be set to the number of enemies that are left on the map. Use this together with cond. branch and parallel process to achieve the effect you want when the enemies left on the map are equal/greater than/whatever to a value.
I followed instructions...but I get the feeling I did something wrong...the teleporter thingy I made to appear after the boss is defeated...doesn't appear yet.

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
Post the event code. Did you make it parallel process?

@Zeriab:

Still haven't changed it, since the other day. The virtual map is loaded into $game_map and is being access by any Game_Character sub-class. I think there is a bug. Just like I said, I didn't fix it yet. Ignore $lag, I use it to write out "Hi" when the algorythm is executed to see the difference between that case and the case where it isn't. It works 8-way, BTW.

Code: [Select]
#==============================================================================
# Virtual_Map
#==============================================================================

class Virtual_Map
 
  def initialize
    @matrix = Table.new($game_map.width, $game_map.height)
    object = Game_Character.new
    for i in 0...$game_map.width
      for j in 0...$game_map.height
        res = 0
        res += 0x01 if object.v_passable?(i, j, 2)
        res += 0x02 if object.v_passable?(i, j, 4)
        res += 0x04 if object.v_passable?(i, j, 6)
        res += 0x08 if object.v_passable?(i, j, 8)
        @matrix[i, j] = res
      end
    end
  end
 
  def find_path(object, dest_x, dest_y)
    return if object.x == dest_x and object.y == dest_y
    x = object.x
    y = object.y
    st_dir = []
    if object.passable?(x, y, 2)
      st_dir.push(2)
      st_dir.push(1) if object.passable?(x, y+1, 4)
      st_dir.push(3) if object.passable?(x, y+1, 6)
    end
    if object.passable?(x, y, 4)
      st_dir.push(4)
      st_dir.push(1) if object.passable?(x-1, y, 2)
      st_dir.push(7) if object.passable?(x-1, y, 8)
    end
    if object.passable?(x, y, 6)
      st_dir.push(6)
      st_dir.push(3) if object.passable?(x+1, y, 2)
      st_dir.push(9) if object.passable?(x+1, y, 8)
    end
    if object.passable?(x, y, 8)
      st_dir.push(8)
      st_dir.push(7) if object.passable?(x, y-1, 4)
      st_dir.push(9) if object.passable?(x, y-1, 6)
    end
    st_dir |= st_dir
    return [] if st_dir == []
    coos = [[x, y, 0]]
    for i in st_dir
      case i
      when 1 then coos.push([x-1, y+1, 10-i])
      when 2 then coos.push([x, y+1, 10-i])
      when 3 then coos.push([x+1, y+1, 10-i])
      when 4 then coos.push([x-1, y, 10-i])
      when 6 then coos.push([x+1, y, 10-i])
      when 7 then coos.push([x-1, y-1, 10-i])
      when 8 then coos.push([x, y-1, 10-i])
      when 9 then coos.push([x+1, y-1, 10-i])
      end
    end
    path = []
    next_x, next_y = dest_x, dest_y
    coos.reverse!
    coos.size.times do
      for i in 0...coos.size
        if coos[i][0] == next_x and coos[i][1] == next_y
          case coos[i][2]
          when 1
            next_x -= 1
            next_y += 1
          when 2
            next_y += 1
          when 3
            next_x += 1
            next_y += 1
          when 4
            next_x -= 1
          when 6
            next_x += 1
          when 7
            next_x -= 1
            next_y -= 1
          when 8
            next_y -= 1
          when 9
            next_x += 1
            next_y -= 1
          end
          path.push(coos[i][2])
          coos[i] = nil
          break
        end
      end
      coos.compact!
      break if next_x == x and next_y == y
    end
    for i in 0...path.size
      path[i] = 10 - path[i]
    end
    $lag = "Hi"
    return path
  end
 
end

#==============================================================================
# Game_Character
#==============================================================================

class Game_Character

  def v_passable?(x, y, d)
    new_x = x + (d == 6 ? 1 : d == 4 ? -1 : 0)
    new_y = y + (d == 2 ? 1 : d == 8 ? -1 : 0)
    return false unless $game_map.valid?(new_x, new_y)
    return false unless $game_map.v_passable?(x, y, d, self)
    return true
  end
 
end

#==============================================================================
# Game_Map
#==============================================================================

class Game_Map
 
  attr_reader :vmap
 
  alias setup_vmap_later setup
  def setup(id)
    setup_vmap_later(id)
    @vmap = Virtual_Map.new
  end
 
  def v_passable?(x, y, d, self_event = nil)
    return false unless valid?(x, y)
    bit = (1 << (d / 2 - 1)) & 0x0f
    for i in [2, 1, 0]
      tile_id = data[x, y, i]
      if tile_id == nil
        return false
      elsif @passages[tile_id] & bit != 0
        return false
      elsif @passages[tile_id] & 0x0f == 0x0f
        return false
      elsif @priorities[tile_id] == 0
        return true
      end
    end
    return true
  end
 
end
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

***
Rep:
Level 88
supsup
when i'm playing an error comes up when i hit "f" and then i read in the instructions that i need to name a spiteset a certain name how do i name spritesets?
« Last Edit: January 13, 2007, 03:37:58 PM by sparten84 »
For Free Web Design, E-mail us at freewebdesign@gmail.com

*
A man chooses,
Rep:
Level 92
a slave obeys
Project of the Month winner for April 2008



I get a feeling I made xomething wrong...

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
Yeah, it's wrong. You don't need a common event for this, just use a usual event as parallel process in the map. Use this event code:

Code: [Select]
> Cond: Self-switch A == OFF
  > Wait: 10 frames
  > Message: "Defeat TERROR-KING ARCHFIEND!!!"
  > Self-switch operation: Turn A ON
> End
> Script: $game_variables[1] =
          $game_system.how_many_enemies_left
> Cond: Variable[0001] == 0
  > Cond: Self-switch B == OFF
    > Wait: 10 frames
    > (put here what happens if you defeat your enemy)
    > Self-switch operation: Turn B ON
    > Switch operation: Turn [X] OFF
  > End
> End

You only need to consider three things:

1. Switch X HAS TO be turned ON before entering the battle. Make the enemy event's condition to be this switch. This will ensure that he won't appear again in this room.

2. The message "Defeat..." will occur only the first time when entering the map. The code when he dies will also occur only once.

3. Set the parallel process event's own condition also to be that switch X. Safe is safe. ;)

@Sparten: Didn't I type it in the instructions? Name the additional spriteset the same like the usual, but add something to the name according to which sprite it is:

Attack sprite - _atk
Defend sprite - _def
Skill sprite - _skl
Item sprite - _itm
« Last Edit: January 14, 2007, 01:22:52 PM by Blizzard »
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

********
Rep:
Level 96
2011 Most Missed Member2010 Zero To Hero
Like I said, this is great, but there are two problems now.

A: When you try to use move event, noticably on touch event events, it FLIPS THE FUCK OUT. If you tap the arrow so you barely touch it, you scoot forward or whatever one pixel. Tap again, AND YOU CAN FLLLLLLLLLYYYYYYYYYYYYYYYYYYYYYYY! Often times 90 degrees to the right of the intended direction.

B: Hitting F12 causes a nasty cras due to having moar stackz than teh xp cU[size=0pt] [/size]HN handle.

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
The F12 error happens usually when a method from the compile RGSS10XX.dll is being aliased. Just ignore it.
And for the other, I haven't had time to fix it yet. I just need to add a "already touched" flag.

BTW, I added a 2nd release of the MMO Test Edition (of course compiled ::)).
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

***
Rep:
Level 88
I keep getting errors, how do I set an enemy's AI?
Games in progress:
Tome of Arastovia: 7% complete at 2 hours of gametime

********
Rep:
Level 96
2011 Most Missed Member2010 Zero To Hero
!\e


# being the enemy number.

I think that's correct...

***
Rep:
Level 88
Thats how you set an enemy...

How do I set the enemy's AI?
Games in progress:
Tome of Arastovia: 7% complete at 2 hours of gametime

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
AI works automatically if you type the event names correct. It should be \e[X], where X is the ID of that enemy in the database. Events with such names will be replaced on the map with enhanced enemy events that actually posses that AI.
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

**
Rep:
Level 88
ahhh...
Umm...can you post the script that is used in the blizz-mmo test edition release 2?
ARGH!!!!!

********
EXA
Rep:
Level 92
Pikachu on a toilet
Project of the Month winner for April 2007
Sorry, but I can't. It is exclusively for Aerion Online. Because I get payed, I have to keep the source code secret.
Get King of Booze for Android, for iOS, for OUYA or for Windows!
Visit our website.
You can also love/hate us on Facebook or the game itself.


Get DropBox, the best free file syncing service there is!

**
Rep:
Level 88
ahhh...
when is aerion online being released?
ARGH!!!!!