alucart13
Jul 19 2008, 04:54 PM
@sniper308 - maplinks makes dynamic teleports along the edges of the map to easily link with any other map. It's so you don't have to make 100 teleports for each edge. lol
@Blizzard -
Maplinks is what I explained to sniper308.
I'm pretty sure the reason it won't work right is because both Blizz-ABS and Maplinks alter the Game_character and Game_player script.
If I put maplinks before Blizzabs, maplinks wont work at all.
If I put it after, It will work, but then there's errors with BlizzAbs.
Here is Maplinks
CODE
=begin
============
Maplinks - version 0.95 (2005-11-10)
============
by Wachunga
This script simplifies linking maps together: a single event sets up an
entire edge of the map as a teleport to another map. Players trying to
leave that edge of the current map are automatically teleported.
(This can also be achieved with many copies of teleport events along the edges
of a map or with a parallel-process event that sets variables and uses them to
teleport, but these methods are not optimal -- causing lag and/or inconvenience
for the mapper.)
To link a map with another on a specific edge (north, east, south or west),
create an event with <maplink> included in its name on the appropriate edge of
the map. (To avoid confusion, maplink events on corners of the map are
not valid.) Then, add a teleport ("Transfer Player") command to the event
to specify the destination map and other details (e.g. player direction,
fading on/off). If the destination is an east or west edge, then the Y
coordinate is calculated based on the player's Y coordinate when
teleporting; likewise, the X coordinate is calculated automatically when
the destination is a north or south edge.
Note: unlike normal teleport events, maplinks are activated when the player
tries to leave the screen instead of when stepping on the last tile. This
behaviour could be changed, but I feel that it's more natural this way:
it leaves the whole map open for actual exploration, instead of "wasting"
the outer tiles of a map.
=end
#-------------------------------------------------------------------------------
class Game_Event < Game_Character
alias ml_ge_init initialize
def initialize(map_id, event)
ml_ge_init(map_id, event)
if @event.name.upcase.include?('<MAPLINK>')
dir = nil
if @event.y == $game_map.height-1
dir = 2 unless @event.x == 0 or @event.x == $game_map.width-1
elsif @event.x == 0
dir = 4 unless @event.y == 0 or @event.y == $game_map.height-1
elsif @event.x == $game_map.width-1
dir = 6 unless @event.y == 0 or @event.y == $game_map.height-1
elsif @event.y == 0
dir = 8 unless @event.x == 0 or @event.x == $game_map.width-1
end
if dir != nil
@list.each { |command|
if command.code == 201
# make sure new location isn't be specified by variables
if command.parameters[0] == 0
$game_map.maplinks[dir] = Maplink.new(command.parameters)
break
end
end
}
end
end
end
end
#-------------------------------------------------------------------------------
class Game_Map
attr_accessor :maplinks
alias ml_gm_setup setup
def setup(map_id)
@maplinks = {}
ml_gm_setup(map_id)
end
def width(map_id = @map_id)
if map_id == @map_id
return @map.width
else
return load_data(sprintf("Data/Map%03d.rxdata", map_id)).width
end
end
def height(map_id = @map_id)
if map_id == @map_id
return @map.height
else
return load_data(sprintf("Data/Map%03d.rxdata", map_id)).height
end
end
end
#-------------------------------------------------------------------------------
class Maplink
def initialize(parameters)
@param = parameters
end
def activate
width = $game_map.width(@param[1])
height = $game_map.height(@param[1])
# modify x (p[2]) or y (p[3]) coordinates appropriately
if @param[2] == 0 or @param[2] == width-1
@param[3] = $game_player.y
elsif @param[3] == 0 or @param[3] == height-1
@param[2] = $game_player.x
end
# set up a dummy interpreter just for teleport
interpreter = Interpreter.new
interpreter.parameters = @param
interpreter.index = 0
interpreter.command_201
end
end
#-------------------------------------------------------------------------------
class Game_Player
alias ml_cett check_event_trigger_touch
def check_event_trigger_touch(x, y)
check_maplinks(x,y)
ml_cett(x,y)
end
def check_maplinks(x,y)
if $game_map.valid?(x, y) then return end
dir = nil
if y == $game_map.height then dir = 2
elsif x == -1 then dir = 4
elsif x == $game_map.width then dir = 6
elsif y == -1 then dir = 8
end
if dir != nil
if $game_map.maplinks[dir] != nil
$game_map.maplinks[dir].activate
end
end
end
end
#-------------------------------------------------------------------------------
class Interpreter
attr_accessor :parameters
attr_accessor :index
end
I made you the topic starter Blizzard, now you should be able to modify the first post with new releases/information. Much more convenient I think.
Blizzard
Jul 21 2008, 09:02 AM
Thanks, Ty.

@alucart13: I see... Hm... Ok, I think I know how this problem can be solved very quickly. The problem is mainly Blizz-ABS's redefinition of Game_Player. Instead of using this piece of code:
CODE
class Game_Player
alias ml_cett check_event_trigger_touch
def check_event_trigger_touch(x, y)
check_maplinks(x,y)
ml_cett(x,y)
end
def check_maplinks(x,y)
if $game_map.valid?(x, y) then return end
dir = nil
if y == $game_map.height then dir = 2
elsif x == -1 then dir = 4
elsif x == $game_map.width then dir = 6
elsif y == -1 then dir = 8
end
if dir != nil
if $game_map.maplinks[dir] != nil
$game_map.maplinks[dir].activate
end
end
end
end
Try this one:
CODE
class BlizzABS::Player_Controller
alias ml_cett check_event_trigger_touch
def check_event_trigger_touch(x, y)
check_maplinks(x,y)
ml_cett(x,y)
end
def check_maplinks(x,y)
return if $game_map.valid?(x, y)
if y == $game_map.height
dir = 2
elsif x == -1
dir = 4
elsif x == $game_map.width
dir = 6
elsif y == -1
dir = 8
else
dir = nil
end
if dir != nil && $game_map.maplinks[dir] != nil
$game_map.maplinks[dir].activate
end
end
end
Also find this line:
CODE
class Game_Event < Game_Character
and change it to this one:
CODE
class Game_Event
This isn't necessary, but it's more convenient. And put this entire script below Blizz-ABS.
meganew2
Jul 21 2008, 09:16 AM
Where do i put the Script??
Blizzard
Jul 21 2008, 10:47 AM
QUOTE (from my forum)
I have noticed that many people have problems putting my scripts in the right order into the editor. It's not that bad if it were only 3 scripts, but what if it are 6, 7 or even more...? Anyway, here is the script order that should work for my scripts. If a script has ~ before the name, that means "mulitple scripts". Bolded scripts are by me.
- Resource Tester
- ~ RTP scripts
- ~ SDK
- ~ Other people's scripts
- Tons of Add-ons Part 1
- Tons of Add-ons Part 2
- Tons of Add-ons Part 3
- StormTronics CMS (any Edition)
- Blizz-ABS Part 1
- Blizz-ABS Part 2
- Blizz-ABS Part 3
- Creation System
- Chaos Rage Limit System
- CRLS + Blizz-ABS plugin
- Scene_SoulRage
- Soul Force Combo System
- Advanced Analyze System
- Bestiary
- Chaos Project Debug System
- Dynamic Day and Night System
- DREAM for Music Files
- DREAM for Save Files
- Easy Party Switcher
- Easy LvlUp Notifier
- Custom Stat Growing System
- Stat Distribution System
- RO Job/Skill System
- Full Reflection System
- Blizz-ABSEAL (DO NOT USE IF YOU HAVE BLIZZ-ABS!!!)
- Main
You do not have to maintain the exact order of my scripts, but I can't guarantee that there will be no problems if you don't. Individual scripts that I have created are not listed here. I will keep this topic updated.
Updated on 14.7.2008.
Sniper308
Jul 21 2008, 06:27 PM
@alucart13: Oh, that sounds very useful!
Zeldaknight
Jul 22 2008, 12:17 AM
Hey, first I would like to say your script is the best one I have found for RMXP, it has REVOLUTIONIZED my game!
Just wondering, is there any way to make enemies unpassable ie. you can't walk through them?
Also this may be hard to understand but I am trying to make it so that when you get your first item there is an event telling you how to use it. I am wondering whether you can change a variable (to run an event) when you pick up an item dropped by an enemy. eg. when you pick up a fish dropped by an enemy it will set 'variable: items' to 1(so an autorun event runs telling you how to use it)
Oh, and by the way when are versions 1.99 and 2.0 coming out? I can't wait!
Blizzard
Jul 24 2008, 05:52 PM
I've answered your question a few pages earlier for somebody else already. I think it was page 7 or something like that. In 1.99 enemy passability will be set up just like events.
What you want to make can be done with a rather simple parallel process common event. Just use two conditional branches. One checks if the party has an item, the other checks if the corresponding switch is turned off. If both conditions apply, the corresponding switch is being turned on (so that part of the event is never run again) and a message is displayed. Repeat that part of the common event for as many items as you need. Don't forget that you need a separate swtich for each item.
v1.99 should be done soon. It just depends on how much time I have to work on it and how long the manual revamp will take.
Zeldaknight
Jul 24 2008, 09:36 PM
Thanks for that and sorry about my first question - you get a bit daunted if there are 11 pages to look through.
Blizzard
Jul 25 2008, 02:46 AM
Sure, no problem.
Zinx10
Jul 27 2008, 04:07 PM
Blizzard can I use your music that is in Sir Lag-A-Lot?
Blizzard
Jul 27 2008, 06:20 PM
Sure. Don't forget the credits. BTW, that music file called "darkness" is a song from Nobuo Uematsu called The Plan. I forgot to rename the file.
I put up the 6th edition. Blizz-ABS Config didn't display the error message that it has to be in the game project's folder but crashed instead. I fixed that.
Zinx10
Jul 27 2008, 09:41 PM
thanks!
I won't forget the credits!
Zinx10
Jul 27 2008, 09:56 PM
Its says that I am a developer that is advanced!
My goal is to make a very good game, and get Perfect ratings!
when that happens I will become masterful...mwuhahahahaha!!!!
omegazion
Jul 28 2008, 04:26 AM
hey, is it possible to change the range of sight, hearing and such of enemy AI with a slight change in script?
Blizzard
Jul 28 2008, 10:07 AM
The Perception Range (option PERCEPTION_RANGE) is a part of the Enemy Behavior Configuration.

The hearing range is always 40% of that range as I mentioned in the manual already. It's more convenient to enforce that ratio.
Sniper308
Jul 28 2008, 11:20 AM
There's a call script for turning the mini map on and off right?
Blizzard
Jul 28 2008, 11:35 AM
CODE
$game_system.minimap =
0
Sniper308
Jul 28 2008, 12:12 PM
Thank you!

This will be helpful for a tough boss battle!
Is there a way for the enemy to freeze for a certain time? Like if you were to fight a friend, after 50% is left of the friend, he freezes and you to so you can talk for a sec or to then fight again to kill the remaining 50% of hp? I'm sorry, is that a little confusing?
Blizzard
Jul 28 2008, 04:12 PM
Well, you can rename events (read 3.2.11 of the manual), but this will reset his HP. I suggest rather using a parallel process that checks over and over how much HP the enemy has. When the HP go below a certain value, make it trigger a switch that will run an auto-start event. Hm... This reminds me that I have to add some commands in the script that allow checking enemy HP/SP/etc.
alucart13
Jul 30 2008, 09:44 PM
@Blizzard - Thank you! It works great
Blizzard
Jul 31 2008, 05:29 PM
Oddly enough I made it out of my head, I didn't test it. xD
omegazion
Jul 31 2008, 07:52 PM
hey are you open or suggestions for the next version?
Blizzard
Aug 1 2008, 03:07 AM
Not at all. Just look how huge the list already is.
http://forum.chaos-project.com/index.php?topic=1462.0If I add more stuff I will never be done. But tell me what you had in mind. It might be quick to make.
Sniper308
Aug 1 2008, 12:33 PM
QUOTE (Blizzard @ Aug 1 2008, 03:29 AM)

Not at all. Just look how huge the list already is.
http://forum.chaos-project.com/index.php?topic=1462.0If I add more stuff I will never be done. But tell me what you had in mind. It might be quick to make.
Whoa!

That's a lot! That looks like it's going to take awhile!

I can't wait that long!
Blizzard
Aug 1 2008, 02:12 PM
Not really. I might be able to finish it in the next two days. It just depends on how much time I will have since I have some stuff to do and prepare stuff for the party on monday. :3
Zeldaknight
Aug 1 2008, 08:52 PM
Hey, I don't want to postpone the release of the next version but something seems to be stopping me from using skills. I can get onto the 'Controls' sub-menu fine but it is not letting me set the skill to a hotkey.
As well as this ABS I am using your (Blizzard) Tons of Add-ons, ccoa's Universal Message system and a shapeshifting script I have just found here:
www.gamebaker.com/rmxp/scripts/character-scripts.phpAlso I have been creating new skills so is there any box I need to fill in for the skill to work?
Blizzard
Aug 2 2008, 04:55 AM
The shapeshifter doesn't work with Blizz-ABS. Instead you can use CRLS which features Chaos Drive which is basically the same. v1.99 will support CRLS v6.02b.
Also, are your scripts in the correct order?
Sniper308
Aug 2 2008, 09:02 AM
There is a call script for changing the run speed, the normal speed, and the sneak speed right?
Blizzard
Aug 2 2008, 04:32 PM
Not in game, no.
Sniper308
Aug 2 2008, 05:15 PM
Dang!
Zeldaknight
Aug 2 2008, 07:40 PM
So . . . the plugin for CRLS-ABS has been released but not version 1.99 of the ABS so at the moment I can't use Chaos Drive?
And by the way, could you post the order of your scripts at the beginning of the topic - I don't know which scripts to put where!
Oh, and one more thing. Is there a way to have a series of actors as default leaders so if they are alive they will automatically be the leader?
Blizzard
Aug 3 2008, 04:14 AM
Yes, but v1.99 should be out today.

About the leaders: Hm... I have changed some stuff in Blizz-ABS internal structure so this will not work with v1.98, but it should with v1.99. Use a parallel process common event with this script call when you have v1.99.
CODE
leaders = [X, Y, Z]
ids = []
$game_party.actors.each {|a|
ids.push(a.id) if !a.dead?}
if (leader & ids).size > 0
while !leaders.include?($game_actors[0].id)
BlizzABS.player.switch_leader
end
end
Add all actor IDs that you need in the leaders array.
Sniper308
Aug 3 2008, 08:39 AM
QUOTE (Blizzard @ Aug 3 2008, 04:36 AM)

Yes, but v1.99 should be out today.

Sweet! I can't wait!
Ganon
Aug 3 2008, 01:07 PM
This script is really good!
I can definitely see myself using this in a future project. Is it possible to make events happen on impact with a skill or weapon? What I mean is if a weapon or skill hits it, it sets an impact variable to the id of the weapon/skill so a event can be processed. If you look at XAS abs hero version you will see what I mean. Also, on the same line of thought, how can I make a timed attack item like a bomb? Like I leave it on the ground and after a few seconds it explodes?
Thanks,
Gannon
Blizzard
Aug 3 2008, 04:22 PM
You can create lifeless objects on the map. When such an object gets destroyed it triggers the event code contained. v1.99 will have trap skills/items which allows the same thing as a bomb. But they don't trigger after the time is over, they trigger if an enemy comes within range.
BTW, Blizz-ABS v1.99 was delayed until tuesday.
Sniper308
Aug 3 2008, 06:36 PM
QUOTE (Blizzard @ Aug 3 2008, 04:44 PM)

BTW, Blizz-ABS v1.99 was delayed until tuesday.
Awww

Edit: Is there a way to have some sort of equipment to hide from enemies sight?
Blizzard
Aug 5 2008, 03:09 PM
Blizz-ASB 1.99 is finally out! The download link is in the first post.
@Sniper: No.
Pinky
Aug 5 2008, 07:30 PM
Hi, I like new version of the script but when I tried use the Choas Rage System I got this error when I went to the controls menu and yes I put the script in the correct order.
Click to view attachmentI would really apperciate it if you can help me fix this error.
omegazion
Aug 5 2008, 10:01 PM
question: if im using a custom keyboard, how do i make a conditional statement in the events, like if press input?
SycoX17
Aug 5 2008, 10:31 PM
very sweet! thanks for all your hard work blizz.
i also have a few questions:
were you able to fix the respawn pts?
is there a way to make it where an item drop is activated when the character runs over it. for example, Arshes kills a ghost, ghost drops a potion, Arshes runs over the potion and is automatically healed 45 hp.
and lastly, when making a weapon consume ammo, is there a way to make it so the ammo can't be picked up if it doesn't hit the target.
thanks again.
JUNO
Zeldaknight
Aug 6 2008, 12:24 AM
VERSION1.99!!! Thanks heaps Blizzard!!!!!
Just one thing, for that call script will I need to put it in every map or just the first one?
Blizzard
Aug 6 2008, 02:39 AM
@omegazion: Read 3.2.4. of the manual.
@Pinky: Did you update the plugin script? I updated it just when I released 1.99 once more.
http://www.chaos-project.com/downloads/scr...BS%20plugin.txt
Pinky
Aug 6 2008, 05:15 AM
I'm sorry but I don't understand whay you mean by did I update the Plug in script. I don't think I know how too and I still get the error for some reason when I go to the controls menu. Do you have demo using this script with the ABS? If so could you post it?
EDIT: Never mind I forgot to call the script that's why I got the error. Awsome script by the way.
Blizzard
Aug 6 2008, 06:25 AM
Lol! With "update" I meant that you just should download the newest version. xD
@Syco: Sorry, didn't see your post earlier. No and I won't add this feature. It would cause too many complications like which items are auto-activated, which enemies drop auto-items, make that all work with multi-drop correctly, etc.
No, items always drop when they don't hit the target. But I'll see if I can include that feature in a later version.
@Zeldaknight:
QUOTE
Use a parallel process common event with this script call when you have v1.99.
Sniper308
Aug 6 2008, 09:57 AM
Newer versions of Blizz ABS means newer questions lol! For me, I don't get scripting so can you tell me what this means?

Script 'Blizz ABS 1.99' line 2465: NoMethodError occurred.
undefined method 'icon_name' for nil:NilClassEdit: I also need to know how to switch classes (without a script) because I switch there graphics and there is no sprite graphic!
SycoX17
Aug 6 2008, 09:46 PM
ok, thx for replying. just two things.
what about the spawning points?
and, what if i just wanted all enemies to drop auto-activated items, if they drop items. in the game i am envisioning, the enemies drop health and magic recovery items that activate when u walk over them. thats it. i don't need to differentiate between the auto and manual activation items. i have only begun to learn about scripting and whatnot, so i have no idea how hard it would be to incorporate this into Blizz ABS, but i'd really like if i could.
once again, thx for all your hard work Blizz.
JUNO
Blizzard
Aug 7 2008, 03:25 AM
You will need most probably to edit the Drop_Event class which sets up the commands (by script) that you get items. It might be a bit complicated since you don't know who activated the item.
@Sniper: There is an event command to change classes. And line 2465 is "return text" in part 2 and "@character_name = @character_name_org" in part 3. -_-
.
Sniper308
Aug 7 2008, 09:05 AM
I know there's a event command for switching classes Blizz, but the sprite graphic won't appear for some reason! But I some how figured it out!

and about the script error, I put part 1,2 and 3 together above main. I copied part 1 and posted part 2 under 1 and so on with 3. Am I supposed to do that?

I just keep getting the same error over and over for some reason!
Script 'Blizz ABS 1.99' line 2465: NoMethodError occurred.
undefined method 'icon_name' for nil:NilClassand then when I pull it up, I get:
Math.hypot(x-i, y-j-1) < r || Math.hypot(x-i-1, y-j-1) < rSorry if I'm really being so troubling to you!
Blizzard
Aug 7 2008, 11:11 AM
Now you know why you SHOULD NOT put all three parts in one script slot.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.