Canceled Untitled DBZ mod

Project is halted prior to completion and will not receive further updates.
Oh no I meant like the icon during game play. Here is a picture of my character icons. I want player two to be a mirror of player one (I think it would look cool)

20rsp3k.png
 
You would need script to draw the icon, the rest is done with HUD settings.

http://dcemulation.org/?title=OpenBORManual#HUD_location

IMO it looks fine the way it is thou, they're on the same team. 
Facing each other is more like a VS Fighting game style than beat em up.
 
I am working on some special attacks right now. Can anyone help me out? I am trying to make a solar flare attack that freezes all enemies. I am using summonframe to summon a full screen flash. The first problem is that when I do this I can't put an attack in the idle animation that hits the whole screen.
I was able to get it working by putting a smartbomb in the character attack but there were two problems there. The first is that the attack freezes right at the start and not later like I want. And the second problem is that it changes my alternate palette enemies back to the original palette when they get froze.

I know this is a lot, and may be confusing. Any thoughts?
 
Ahhhh great! Now any idea how to make a smartbomb not start until frame x is rached? I tried putting smartbomb later in the attack but it still started right away
 
You could use script to replace old smartbomb command. However I need to know couple things:

1. At which frame smartbomb would be executed?
2. How long enemy will be stunned in seconds?

Oh yes, this script based smartbomb can be declared in any animation so you can move this solar flare attack to FREESPECIAL :).

Once those questions are answered, post the animation here and I'll add the script there :)

Last but not least, this script doesn't change enemy's remap at all
 
Here is the current code for the attack

anim special
        energycost 20
mponly 1
loop 0
subentity flare
summonframe 2 160 240 0 1
unsummonframe 3
offset 102 215
sound data/chars/krillin/flare.wav
delay 40
frame data/chars/krillin/fl1.gif
delay 20
smartbomb 0 6 0 3
frame data/chars/krillin/fl2.gif
frame data/chars/krillin/fl2.gif
frame data/chars/krillin/fl2.gif

and the txt for the flare

name      flare
health    1
type      none
shadow    0
remove    0
nomove    1
candamage  enemy obstacle

anim idle
  loop 0
          delay      10
          offset    160 244
  frame data/chars/krillin/flare.gif

The flare is just a 320x240 white box. So what I want is for the attack to happen right after frame 2. I had to repeat frame #2 three times because of all the summon frame stuff. I guess I really should learn code.
I think I might try and change it to instead of just freezing all enemies do attack#x and have the enemies with a custom pain animation that would make them dizzy.
 
Here you go:
anim special
@script
    void vSelf    = getlocalvar("self");            //Caller.
    void vEntity;                                    //Target entity placeholder.
    int  iEntity;                                    //Entity enumeration holder.
    int  iType;                                      //Entity type.
    int  iMax      = openborvariant("ent_max");      //Entity count.

    if(frame==2){
      //Enumerate and loop through entity collection.
      for(iEntity=0; iEntity<iMax; iEntity++){
   
        vEntity = getentity(iEntity);                //Get target entity from current loop.
        iType  = getentityproperty(vEntity, "type"); //Get target type.

        //Enemy type?
        if (iType == openborconstant("TYPE_ENEMY")){

          void iTime = openborvariant("elapsed_time") + getentityproperty(vEntity, "freezetime");

          changeentityproperty(vEntity, "frozen", 1);
          changeentityproperty(vEntity, "freezetime", iTime + 3*200);

        }
      }
    }
@end_script
        energycost 20
mponly 1
subentity flare
summonframe 2 160 240 0 1
unsummonframe 3
offset 102 215
sound data/chars/krillin/flare.wav
delay 40
frame data/chars/krillin/fl1.gif
delay 20
frame data/chars/krillin/fl2.gif
frame data/chars/krillin/fl2.gif
frame data/chars/krillin/fl2.gif

HTH
 
Thank you Bloodbane, It works perfectly! I will take this script and try to learn.

I found this Red Ribbon enemy from Dragon Ball Advanced Adventure and thought it might work for a random enemy. Anyone have any thoughts or other ideas for random enemies?

qwzfrk.png


 
Bloodbane said:
      //Enumerate and loop through entity collection.
      for(iEntity=0; iEntity<iMax; iEntity++){

hey bloodbane I tried to follow your code but could you please explain this part in more detail ?

@Shaybe how about the Ginyu Force with remaps ?
 
Ginyu Force can be really cool if you can make some script like in the new TMNT who will come with two characters who can make a Super together :p
Maybe adding the Super Super Sayan with two player combo, etc ...
DBZ can make a fantastic mod, but i think there must have many script to make it better and fun :D
Don't forget Kamehameha attack and counter-attack too :p
On Genesis game, that is cool because we can counter a super attack, Ginyu can change body, etc ...

Maybe White Dragon can help and give some ideas and scripts ?
 
There are some great ideas that could be done, unfortunately this is my very first mod and I don't know much script yet. Maybe I'll release a demo after the first stage and someone else would like to take over and make a better game haha
 
I'm starting to work air combos into the game, but I'm very limited on sprites for goku, and I'm not very good at sprite editing. Here is the sheet I am using
2lvfndy.gif

Can anyone edit some sprites to give him some more air attacks?
 
@malik:

"I tried to follow your code but could you please explain this part in more detail ?"

That part is highly related to this:

Code:
 int  iMax      = openborvariant("ent_max");       //Entity count.

This is to get number of active entities currently.

and this:

Code:
vEntity = getentity(iEntity);                 //Get target entity from current loop.

As info mentions, it gets entity by its number. AFAIK all entities are numbered and you can get them with this function.

The idea is to check all existing entities and do something if type matches, in this case check all entities to find enemy type then stun them.
So to do that, we get the number of all active entities then using iteration like this, we check from number 0 to last number.

@Shaybe: One good trick to make more air attack sprites is to crop upper body part from ground attacks (pick any attack you like), crop lower part of jump (regular jump) then merge them both.

That's what I did to complete Sheena sprites for Contra mod.

About adding regular enemies, one idea I have is mind is a floating orb. Dunno where to get decent one for this mod but if you have one, edit it to give RR sign on it. Since it's floating, you won't need many sprites for it.
 
Bloodbane said:
@malik:

"I tried to follow your code but could you please explain this part in more detail ?"

That part is highly related to this:

Code:
 int  iMax      = openborvariant("ent_max");       //Entity count.

This is to get number of active entities currently.

and this:

Code:
vEntity = getentity(iEntity);                 //Get target entity from current loop.

As info mentions, it gets entity by its number. AFAIK all entities are numbered and you can get them with this function.

The idea is to check all existing entities and do something if type matches, in this case check all entities to find enemy type then stun them.
So to do that, we get the number of all active entities then using iteration like this, we check from number 0 to last number.

ok so that line was not explained I have never come across a "for" statement and the figures after it still don't make sense to me !

cant you get the property of all enemies with:

iType  = getentityproperty(openborvariant("count_enemies"), "type"); //Get target type.?
 
did a bit of reading the "for" statement makes a bit of sense now but just to check your code would also work like this :

for(iEntity=0; iEntity<iMax; iEntity+1)

or do you have to type iEntity++ ?
 
It's been a while since I've used real programming but I'm fairly sure that +1 and ++ are two ways of saying the exact same thing
 
Back
Top Bottom