Few questions on Blizz ABS

Started by Metaron, September 15, 2012, 07:25:55 pm

Previous topic - Next topic

Metaron

September 15, 2012, 07:25:55 pm Last Edit: September 17, 2012, 11:55:12 am by Metaron
Hi there, I've had Blizz Abs for a while now and I've just started to playing around with summons, however I've come across a small issue.

I've made a summon for a dog companion that summons the actor, however in combat as soon as the dog is hit he'll no longer move and appear on each new map frozen. His HP is extremely high so I don't think it's the fact that he's dying, but it's quite creepy for dead dog to follow you through the game.

My second question is I've made world map skills, the type of skills that don't do any damage or a very little amount and are used to remove obstacles in the game, such as boulders and bushes. The other actors keep using these skills in combat, so is there any way to block npc actors from using certain moves?

Hopefully someone can answer these for me  :haha:

I'm also running the latest version of BABS.

Metaron

Bump, if someone could lend me a hand I would be very grateful.

Thanks in advance.

KK20

I recall someone here having the same problem. It was mentioned that it only happened when "Actor Skill Sprites" is checked ON. However, I could not find any way to reproduce the error. There has also been no mention of a fix yet (to my knowledge).

As for the second one, why not just make these "skills" into an event-handled thing? You say that they have no use for battles, so just make common events to handle the process. I don't think there is a built-in way to stop an actor from using specific skills. I did create a script where certain skills can or cannot be used if a switch is ON or if applied with a specific status effect.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Memor-X

Quote from: Metaron on September 15, 2012, 07:25:55 pm
My second question is I've made world map skills, the type of skills that don't do any damage or a very little amount and are used to remove obstacles in the game, such as boulders and bushes. The other actors keep using these skills in combat, so is there any way to block npc actors from using certain moves?


this is just a theory (which i need to try and prove myself after i get the X-Grid, Camping and Mission systems done) but if you created a multidimensional array of flags for every skill and used that as a "master" reference to the skills character do know, then remove the skills you want only player controlled character to use and not the allies and restore these when you change character

something like this



# first run (creates your master looup array)
masterSkillLookup = Table.new({total no. of actors},{total no. of skills})

while(i < {total no. of actors})

while (j < {total no. of skills})

if($game_actors[i].skill_learned?(j))
masterSkillLookup[i, j] = 1
else
masterSkillLookup[i, j] = 0 # i'm not sure if a new instance of Table sets every value to 0, this is toi make sure it did
end

j += 1

end

i += 1
end

#---------------------------------------------------------------------

# when a new skill is learned
masterSkillLookup[{actor id}, {skill id}] = 1

#---------------------------------------------------------------------

# when you change the party learder (controled player)
forgetSkills = Table.new({total no. of skills you dont want allies to use})
forgetSkills[0...{total no. of skills you dont want allies to use}] = [{list of skill ids, eg. 1, 5, 124, 16}]

while(i < {total no. of actors}) # for every actor

if($game_actors[i].party_index == 0) # if the currect actor in the loop is in the front of the party (party learder)

while (j < {total no. of skills you dont want allies to use}) # for every skill you want only the player to use

if(masterSkillLookup[i, forgetSkills[j]] == true) # if the actor does know the skill

$game_actor.learn_skill(forgetSkills[j]) # makes the actor learn the skill

end

j += 1

end

else #same as above however we get them to forget the skill

while (j < {total no. of skills you dont want allies to use})

if(masterSkillLookup[i, forgetSkills[j]] == true)

$game_actor.forget_skill(forgetSkills[j])

end

j += 1

end
end

i += 1
end



don't take the code at face value, some of the syntax's may be incorrect and the first script needs to be run at the start of the game, the second needs to be run after the actor learns a new skill outside the third script and the third script needs to be put into Scene_Map, also, should really have used for loops but i couldn't remember how
foreach 
works, anyway, the code above is amateur, someone with more experience can turn it into a proper working script

otherwise you can do all of this in a common event and have it run on parallel process with a switch but it'll be a huge thing and it's quicker to code as a script

Quote from: KK20 on September 19, 2012, 02:07:50 pm
I did create a script where certain skills can or cannot be used if a switch is ON or if applied with a specific status effect.


doesn't help when you have 15 pages of previous posts in your profile, could you post up a link, the second part to your script may be what i need for my Tetrix abilities since the Field of Ather that Aqua made doesn't work in 2.x of Blizz-ABS and i was going to use something like what i just posted up to do just that eg. if the "Fire Tetra" status is on a character, then all "Neutral" Tetrix skills are replaced with "Fire" Tetrix skills, with your script i don't have to worry about removing the skills all the time

KK20


Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Memor-X

Quote from: KK20 on September 19, 2012, 09:54:31 pm
You could have easily searched for it or looked in the database. :P


the search doesn't like me and rarely works and i must have kept missing it in the database, never relaized it was on the first page :facepalm:

Metaron

Hmm, sounds complicated to pull off. I'm gonna try and see what I can do with common events then to remove the skills from an actor if you're not controlling him. If you do manage to code it as a script let me know, as it would make the job much much easier  :^_^':.

Metaron

After playing around with common events and browsing the forum I've figured out how to stop actors your not playing as from using certain skills. Simply putting this "$game_party.actors[0].id == ID_OF_ACTOR" in a conditional branch and it detects which actor is the leader as true/false and if a character is not the main leader it removes the map skills and restores it if that character is moved to the leader. Thanks to ForeverZer0.

The only issue left is the one I have with the dog summon.

KK20

As I have said before, I do not even know how to reproduce the problem. No matter what I do, my summons work fine for me. If you provide a demo of your project, I can take a look at it. But until you specifically show us what you did to your project, we can't do anything for you.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!