[XP] Blizz-ABS

Started by Blizzard, January 09, 2008, 08:21:56 am

Previous topic - Next topic

Aqua

April 26, 2008, 10:59:02 pm #380 Last Edit: April 26, 2008, 10:59:53 pm by Aqua
Quote from: diablosbud on April 26, 2008, 10:28:59 pm
Yea, thanks Aqua, now I only need one more thing done please and sorry. I need it so I can use a call script to disable the full HUD and then it checks if it was on before the cutscene and if it was enables the pieces that were running before. That is not needed but the full HUD disabling is needed, could someone please help me do this?


$game_system.hud = false

Turns the HUD off

$game_system.hud = true

Turns it back on and it should turn on the parts too... I think

memyselforwho

Im back! Whats good people? haha.

I have a quick question, is it possible to have the player hold a weapon with this combat system, like, where you would see the sword?

Or can it only be done by switching sprites?

Aqua

Do you mean hold it while he's attacking or at anywhere at anytime?

To hold while he's attacking, look at the manual (sorry I don't feel like pulling it up right now XD)

For anywhere at anytime, you need to use different sprites.

memyselforwho

Quote from: Aqua on April 27, 2008, 11:12:33 am
Do you mean hold it while he's attacking or at anywhere at anytime?

To hold while he's attacking, look at the manual (sorry I don't feel like pulling it up right now XD)

For anywhere at anytime, you need to use different sprites.


Oh, so it is possible?

And thats ok, I don't mind going through it haha.

Juan

April 27, 2008, 04:37:24 pm #384 Last Edit: April 27, 2008, 05:01:26 pm by Juan
try using
 $game_system.hud = 
false
since their is a rgss bug in the interperator class. I'll post my fix it to later.
Edit
Here is my script call fix http://chaos-project.com/cpforum/index.php?topic=938.0
Dropbox Who need luck when you can make your own.
3ds Friend code: ShowHide
 4468 1422  6617

diablosbud

Thanks that works same with the pieces that were on part ;D. Thank you very much for your support.

Elighja

This is just utterly amazing. This is leaving me breathless...

Joe Rockhead

Whew! I took me a few hours but I read every post in this thread to make sure my question wasn't already answered here in Blizzard's frequent updates. I don't think it has. Though I am now wondering if my problem isn't more of an RMXP related one than a Blizz related one.

Question: Does Blizz control the automatic fade to transparency and removal of dead enemys? What I want to do is have the enemy not disappear but change it's sprite to a death sprite when it's HP flatlines. I'd like to actually animate the death before it becomes just a still picture of a lifeless corpse. And when the animation has finished have the death sprite pic remain on the screen for how ever long I set it [maybe have the game keep track of days, weeks, months in game time so that I could also show a process of decay and finally just bones]. And also have it so that the hero can loot the corpse or later the bones and clothing if it hasnt already been looted by other enemies or NPCs.

I tried using the self-switch method to leave a death sprite behind and that almost does it. I can see the death sprite for about a fraction of a second before it fades into nothingness. So I guess what I need to know is how to stop the default fade to transparency behaviour. Thanks in advance for any input I can get.

BTW Blizz you are doing an amazing job with this project. And lots of people I see have done a great job reporting bugs and helping Blizz keep improving this thing. Reading through this whole thread I was really impressed with the level of support from Blizzard and the level of active participation from fans. The potential here is huge! Thanks Blizzard and thanks to all those who encouraged you.

Aqua

Blizz-ABS is scripted so it automatically fades out and rids the sprite of a monster.
So... for your question, you're gonna have to talk to Blizz about this... lol

winkio

May 10, 2008, 09:59:26 pm #389 Last Edit: May 11, 2008, 10:12:19 am by winkio
@Joe Rockhead:  You can make these animation sprites yourself and set them as destruct animation for the enemies.

I found a bug!
sometimes, when i kill an enemy that it supposed to go away after I kill it (I erase the event and then turn on its local switch that has no spriteset) the enemy comes back with no spriteset and is indestructable and kills me verry quickly!  WHY?!?!?!

EDIT: I figured it out.  I had a message appear after I killed the enemy but before I switched it to no spriteset and cleared it.  The message has to come last.

Joe Rockhead

May 11, 2008, 01:49:34 am #390 Last Edit: May 11, 2008, 01:53:33 am by Joe Rockhead
Thanks Wink I found section 3.4.4. in the manual and now searching the scripts for "def self.destruct" to see what happens when I set it to use my death sprite.

Hey, does this Board have a setting I can change so that when I post something it takes me back to the thread I was posting in instead of dropping me off in the parent forum? That is real annoying.

Hmm, how odd. It doesn't do it when I modify an already existing post...

Joe Rockhead

May 11, 2008, 03:08:42 am #391 Last Edit: May 11, 2008, 03:30:41 am by Joe Rockhead
Ok I am thoroughly confused now. I read in manual section 3.4.4.
Spoiler: ShowHide
3.4.4. "self.destruct"
To set up an enemy destruction animation find the line that says "def self.destruct" after the
line "module Enemies" and the one below that says "case id". There are various when-then
branches where you can set up which weapon belongs to which type. Use the following
template to set up the configuration:
when ID then return ANIMA
ID - weapon ID in the database
ANIMA - animation ID in the database
example:
when 7 then return 12
In the example above after the enemy with ID 7 dies the animation with ID 12 would be
played once. Keep in mind that a "cloaked" enemy will "die" using his default animation
regardless of the "cloaking" spriteset. Default value is 0.


So searching the ABS scripts I find the referred to lines in first script
Spoiler: ShowHide
  module Enemies
   
    def self.type(id)
      return 0
    end
   
    def self.range(id)
      return 1.5
    end
   
    def self.enemy_set(id)
      return ''
    end
   
    def self.destruct(id)
      return 0
    end
   
  end
 
end


Though I do not find the referred to "case id" nor the "various when-then branches" there. So I assume that is because I haven't created them yet. What confuses me though is the bit about using the enemy's weapon ID to identify which enemy's death sprite should be used. That doesn't make any sense to me.

I could understand if it needed to know the weapon of the actor causing the enemy's destruction so that it would know what kind of death sprite should be used such as a flaming dance of death for when a flamethrower is used to slay the enemy or exploding into a gory mess when a grenade is thrown at it but I don't understand what the weapon type of the enemy has to do with what it's death animation should look like.

Also I was under the impression that enemies did not have specific weapon identifications associated with them as actors do. Or has that changed from 95 to 98? I was last using 1.95 and only just now updated to 1.98 when I set out to try wink's suggestion. Is there any way I can just use the enemy's database slot number in the when/then statements to tell BABS which death sprite to use? Another thing too is it refers to the animation's ID in the database. I wasn't aware that animations were listed in the database. I have been just naming my animations a certain way so that Blizz recognizes them and uses them automatically without any reference to the database.

And also that would be cool if, as suggested above, I could provide for different death animations depending on what weapon is used to slay the enemy. Also, it says the animation would be played once. Then what? Would it still disappear as before? As I said in my previous post I need it to stay there and not disappear untill the actors have a chance to loot it's corpse. Also it would be cool if it could stay there and slowly change from a full sized body to a shriveling dessicated one and finally to a skeleton and some bits of clothing which is really just two more sprites that dont even need to be animated or I guess they could be added into the death animation if the usual four frames could be extended to six and the last two frames only played much further apart in game time.

EDIT: Ok I tried sticking with the above instructions. I moved my enemy's death sprite from the character folder to the animation folder and imported it and added it in the database as a new entry 101 in animations. Then I added the following line in the abs1 config script under "def self.destruct" : "when 33 then return 101" so it looks like this:

    def self.destruct(id)
      when 33 then return 101
      return 0
    end

33 is the database ID of the enemy I am using. But when I test it I get an error for that line I inserted. Did I get the syntax wrong? Should I put an else before the "return 0" ? I'll try that.


winkio

@Joe

you have to add in a "case id" after the first line and an "end" after all the when return staements, like this:

def self.destruct(id)
   case id
      when 33 then return 101
   end
   return 0
end

Aqua

Hm...  Hey Blizz!
Are you gonna implement a feature that will make it have different 'recharge' times between attacks/skills.
For example, a machine gun will attack a LOT faster than say... a... bazooka or something.  Can this be possible? :)

Memor-X

i found a problem in ABSEAL (the one in Blizz-ABS, not the seperate one), i have a map where you fight a number of bosses at differnt stagtes during the game, these bosses show up when a switch is on, ofcause, to prevent the boss from staying in one spot and continue to hunt you down, i disabled ABSEAL for that room, however, i noticed that all the events for every boss is there, it's just that if the switch is off on the event, the event has no image and doesn't move, but their still there, when i enabled ABSEAL on that map, it worked to how i wanted it to work

Blizzard

May 12, 2008, 03:21:51 am #395 Last Edit: May 12, 2008, 03:23:12 am by Blizzard
Crap, I forgot what I posted as answer to this before the forum went down again. -_- Gimme a moment.

@Joe: I just answered your questions in the other thread. As already said there, enemies don't have weapons. Dying sprite animation is possibly easy to implement, but a sprite for each type of weapon? Then a weapon type must be defined first, this won't work as a common-use script and would need specific implementation depending on which types you are using. Also showing an enemy corpse decay...? The idea sounds great, but it can be a huge problem to implement. Depending on how long it takes it could cause lag. The only alternative would be using the already existant dropped-item-counter to display the decaying. After an enemy is gone you can't take the loot from his body.

And finally: If you use the configuration app, you can set up the dying animations more easily.

If I forgot to answer anything, just ask again (you can quote it from an earlier post).

@Aqua: Yes, there will delay for all of them: weapons, skills, etc.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Joe Rockhead

May 12, 2008, 05:16:59 am #396 Last Edit: May 12, 2008, 05:20:22 am by Joe Rockhead
@Wink thanks for that it really cleared things up for me.

@Aqua Good idea I like it!

@Blizz Thanks for both responses I'll get back to you after some more extensive experimenting. And don't feel pressured by my persistence. I know you are busy with school and all and I respect that and that makes me respect all you are doing here even more! So take your time, respond when you have the free time and are well rested [which i know is probably never]. Sorry I am so verbose which causes you to take even more time to read your thread. I've struggled with it for years to no avail.

I cam back to edit this post so that if your in a hurry and just want the essential stuff you can skip over most of my post and read it when you have more time. MAn I love this spoiler thingy!
Spoiler: ShowHide
As for the decay and death sprites I think you misunderstood me. When I say gradual I don't mean its actually animating or flipping sprite frames on and off all that game time thats passing.

I mean like the event pauses at the final frame of the death sprite when it is lying motionless on the ground with just maybe a counter set to count off game time in the background [does mere counting cause lag?] and meanwhile the player moves on to other maps and continues further along in game time so that when and if they return to that map maybe an autoevent will check that counter variable and if it shows that enough time has passed it triggers that motionless corpse sprite/event/pic to change to either the decayed and shriveled version [not an animation just one frame] or the skeleton pic if a really long time has passed.

I am thinking of really epic games here of course. This wouldn't be an option for a short game. And also in an epic game of the sort I have in mind time would leap forward skipping over many days, weeks, months or years at once at certain points like during an important cutscene at a crucial turning point in the story.

Say for instance you had an Anne Rice type story in which you play the part of a vampire like Lestat and at a kind of miniclimax in the story [like the course of history changes making life rough for vampires because of a general awareness of them leading to mass witch-hunts] so you go into one of those long deep sleeps vampires sometimes go into like hibernation.

That would fast forward game time a whole bunch. Ok that might not have been the best example since usually those long sleeps are for like a century or more and by then wild dogs would have ran off with the bones and buried them somewhere most likely. But you get the point right?

The only question I think unanswered from my previous posts was the one about the fading to transparency. Aqua informed me that:


Blizz-ABS is scripted so it automatically fades out and rids the sprite of a monster.
So... for your question, you're gonna have to talk to Blizz about this... lol



Aside from all that animation business I just wanted to be able to turn off the fade to transparency effect that automatically removes the pic of the enemy from the screen when it dies. I already successfully added a death animation and I see the body lying on the ground when it dies but it is only on there for like a second and disappears. Anyone not looking for it would probably miss it entirely. But it is definately there. I just need it to stay visable long enough for some looting options to be available on it. Wouldnt have to be for very long since any player worth his or her salt is going to want to hurry up and get what ever loot there is to get and move on to something else.

Blizzard

May 12, 2008, 05:39:09 am #397 Last Edit: May 12, 2008, 05:40:00 am by Blizzard
Ah, I see. As I already said, I could make the current drop system allow an alternative usage where the items with their icons don't drop only when the enemy actually drops them, but instead it would show a custom sprite (defined by each enemy) and stay there as long as the dropped item counter works. Of course, some corpses don't have loot which would need to be set up additionally. All in all, this shouldn't be a problem to add. Thanks for this great idea. ^_^

And yeah, disabling that piece of code will onyl disable the animation, enemies still disappear, but dropped items don't.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Aqua

Hm... not sure if this has been asked before but...
is it possible to display the mini-map in the corner but disable the player from making it big but still be able to hide it?

Blizzard

Find this line:
$game_system.minimap = ($game_system.minimap + 1) % 3

and change the 3 to 2. Now the player shouldn't be able to full-screen the map.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.