YesNoOk

Show content

This section allows you to browse the content for this member. Note that you can only see content for which you have sufficient viewing permissions.

****
altoiddealer is Offline
Contact altoiddealer:

altoiddealer

Contributor

Messages by altoiddealer

    

Re: How do < and > work in Mugen exactly?

 June 14, 2022, 03:56:33 PM View in topic context
 Posted by altoiddealer  in How do < and > work in Mugen exactly? (Started by WastedCoder June 13, 2022, 02:02:14 PM
 Board: M.U.G.E.N Development Help

I'm just going to chime in real quick comment.

From my experience, I occasionally ran into bugs when float and int values were not handled properly.

Velocity is a float, so you should always try to make the values express as floats.

ex: Vel y > -5.0
trigger1 = cond(enemynear, vel y < 0.0, (p2bodydist y = [-85,10]), (p2bodydist y = [-33,10]))

You probably don't have any bugs with your examples.
There's just certain combinations of triggers/parameters that will not process correctly unless the values are expressed properly... and it will drive you insane trying to figure out what the heck is causing this bug?!

So, it's just a good habit to get into.
    

Re: Reading p1 commands as p2 outside of a custom state

 May 15, 2022, 07:26:20 PM View in topic context
 Posted by altoiddealer  in Reading p1 commands as p2 outside of a custom state (Started by shadowuy May 11, 2022, 03:06:33 PM
 Board: M.U.G.E.N Development Help

Er... I made some pretty bad code there :P  I apologize.

This should capture the PlayerID of all opponents as vars, so you can redirect to them locally rather than via Root.

type = Null
triggerall = !time
trigger1 = numenemy
trigger1 = var(55) := enemy(0),ID
trigger2 = numenemy > 1
trigger2 = var(56) := enemy(1),ID
trigger3 = numenemy > 2
trigger3 = var(57) := enemy(2),ID
and so on.


Anyway, maybe this thing you were trying would work if written as such:

playerid(root,var(17)),Cond(1,playerid(root,var(17)),command = "start", 0)

Have you use DisplaytoClipboard to ensure the root is capturing the player ID correctly in var(17)?


Have you tried just assuming the PlayerID and using it directly rather than the redirection, for debugging? (May not be "58")

trigger2 = playerid(58),command = "start"  && playerid(58),ailevel = 0


Lastly, does helper state 5445 possibly have something changestating out instantly with p2 activating it? (I'm starting to think this is the culprit).
    

Re: Reading p1 commands as p2 outside of a custom state

 May 11, 2022, 08:03:29 PM View in topic context
 Posted by altoiddealer  in Reading p1 commands as p2 outside of a custom state (Started by shadowuy May 11, 2022, 03:06:33 PM
 Board: M.U.G.E.N Development Help

The redirects to "Root" would be more reliable if you are able to replace those with redirects to PlayerID... assuming you are able to capture and store their ID to a Variable.

I'd recommend using something like this in State 5900 so it triggers only 1 time.

type = Null
triggerall = !time
trigger1 = numenemy = 1 && !PlayerIDExist(var(55))
trigger1 = var(55) := enemy(1),ID
trigger2 = numenemy = 2 && !PlayerIDExist(var(56))
trigger2 = var(55) := enemy(2),ID

and so on.
    

Re: Reading p1 commands as p2 outside of a custom state

 May 11, 2022, 03:58:17 PM View in topic context
 Posted by altoiddealer  in Reading p1 commands as p2 outside of a custom state (Started by shadowuy May 11, 2022, 03:06:33 PM
 Board: M.U.G.E.N Development Help

And this is when P1 and P2 are the same character, right?

I'm kind of puzzled how your menu activation could possibly only trigger for P1 and not P2.
Would you copy/paste all the relevant code?
    

Re: P1 be on top of its helper (own plataform)

 April 25, 2022, 03:42:54 AM View in topic context
 Posted by altoiddealer  in P1 be on top of its helper (own plataform) (Started by DG April 23, 2022, 02:59:50 PM
 Board: M.U.G.E.N Development Help

Since no one else has replied I’ll just share some thoughts I have which may or may not be the solution.

The problem with standing there is indeed that physics changes in the various other states.  So, part of the solution may be to change all your state definitions to Physics = N, then just use a Sctrl to set the physics for that state… except while standing on the box.

Part of standing on the box would be changing Physics to none, stopping your velocity / posset - and so pressing forward and back should not make you drop.

That’s all I’ve got!  Good luck!
    

Re: Play music when player life is at a certain level

 April 24, 2022, 01:59:29 PM View in topic context
 Posted by altoiddealer  in Play music when player life is at a certain level (Started by DuckyBoi April 23, 2022, 11:58:47 PM
 Board: M.U.G.E.N Development Help

No prob - I should have gave a disclaimer that I haven’t worked on a MUGEN project in like 5 years haha

Glad it worked, sorry about the error.
    

Re: Play music when player life is at a certain level

 April 24, 2022, 04:29:54 AM View in topic context
 Posted by altoiddealer  in Play music when player life is at a certain level (Started by DuckyBoi April 23, 2022, 11:58:47 PM
 Board: M.U.G.E.N Development Help

Well youll want this in State -2 so it is always checking, can trigger at any time.

Then you need it to trigger one time only.  Easiest way to do this is to have it simultaneously set a Var.

[State -2, playmusic]
type=Playsnd
trigger1=var(1)=0
trigger1=life < (maxlife/50)
Value = 200,1

[State -2, make trigger once only]
type = Varset
trigger1=life < (maxlife/50)
Var1=1
    

Re: Creamy Goodness - Version 1.1 (WIP)

 April 21, 2022, 06:48:17 PM View in topic context
 Posted by altoiddealer  in Creamy Goodness - Version 1.1 (WIP) (Started by Creamy_Goodness September 01, 2021, 01:58:45 PM
 Board: Projects

These look good.

If you are open to feedback on possible improvement... and do note that my one and only character was also 3D rendered...

Currently, they look kind of weak.
This was a nice little animation playlist series I skimmed through on YouTube during development.

Basically, things would be better if they were more animated / exaggerated movements.
-Lack of anticipation (such as, pulling arm back before throwing the punch.  Putting more effort into the kick. etc.)
Even if he just turns back the other way for 1 frame, it makes a very big impact.

-Make his ponytail swing as much as possible, which will add more.

-Sometimes it is a good idea to cut some of the tween frames, and throw in some pixel smearing - you'll have to do this manually with the good ol' pencil tool.

Here's an example


Pixel smearing is pretty easy once you get the hang of it.  I am by no means an expert, but I do know that even when done mediocre, it will pack more punch than static frames.  Note I made the baton look kind of rubbery in some frames, this adds more punch to the attack even if it takes away from the realism.
    

Re: Vortica: MUGEN engine remake demonstration

 April 21, 2022, 06:20:00 PM View in topic context
 Posted by altoiddealer  in Vortica: MUGEN engine remake demonstration (Started by OpossumDaemon April 21, 2022, 05:36:07 PM
 Board: Projects

Pretty ambitious - looks good!
    

Re: Fan Fighter 2D

 April 15, 2022, 05:26:11 AM View in topic context
 Posted by altoiddealer  in Fan Fighter 2D (Started by Sykosan April 14, 2022, 10:55:26 AM
 Board: Sprite Projects

Nice job!
    

Re: How can I adapt new Sprites to a char

 April 14, 2022, 05:02:16 AM View in topic context
 Posted by altoiddealer  in How can I adapt new Sprites to a char (Started by Charles_2011 April 13, 2022, 05:24:43 AM
 Board: M.U.G.E.N Development Help

If you’re able to export all the sprites to a sheet, and import them back in… you could also fix all the colors that way.  In Photoshop there is Select > Color Range. Click on a pixel and it will select all matching pixels.  Replace the color with Paintbucket.  And so on.

Could be slightly faster than what I suggested earlier.
    

Re: How can I adapt new Sprites to a char

 April 13, 2022, 06:13:12 PM View in topic context
 Posted by altoiddealer  in How can I adapt new Sprites to a char (Started by Charles_2011 April 13, 2022, 05:24:43 AM
 Board: M.U.G.E.N Development Help

So, the source sprites have a lot of extra colors compared to yours... there's like 20 whites, etc.

I would recommend quickly weeding out the colors that are not relevant to this animation.  All those whites/blacks/etc are probably for some other effects in another animation.  One by one change them to some hot pink or something, until you've isolated all the relevant colors.

Then one by one, change the relevant colors in the source palette so that they have the same exact color values in your palette.  First color changes a shade of his belt?  Find that color in your palette and replace with exact color value.  Proceed to next color.

When you're done, the source palette will still have the same structure.  The colors will scattered all over compared to your layout. This is fine.  What's important is just that the colors in the sprites actually match the colors in your sprites.

At this point just need to apply your palette to the sprites from scratch, not a "remap."   I'm long out of practice, I'd probably just export the source sprites with the adjusted palette... convert to standard RGB (remove color index) then re-index them using your palette.  You should get the gist - the sprites should conform to your existing palette.
    

Re: Playing around with MoveHit && NumTarget - HitDef (SCTRLs)

 April 08, 2022, 03:37:52 PM View in topic context
 Posted by altoiddealer  in Playing around with MoveHit && NumTarget - HitDef (SCTRLs) (Started by Someone92 April 02, 2022, 10:33:09 PM
 Board: M.U.G.E.N Development Help

p2stateno and p1stateno can be used independently - You may use one or the other, or both.
If you think about it, there are good scenarios to use any of the possible combinations.


Did you define a state for P2 to go into?
You may want to review your code to ensure that a SelfState controller isn't immediately returning them back to their normal states.

If you enter debug mode (Ctrl+D), the displayed StateNo for the enemy will turn yellow and show up as your custom stateno.
    

Re: Possible to split up -3 and -1 states?

 April 04, 2022, 05:56:37 PM View in topic context
 Posted by altoiddealer  in Possible to split up -3 and -1 states? (Started by Someone92 April 04, 2022, 04:30:29 PM
 Board: M.U.G.E.N Development Help

If you get a little creative, you can make the configuration options very distinguishable from the code that should not be tampered with.

Here's a copy paste from my config file

Spoiler, click to toggle visibilty
    

Re: How to teach the AI use this specific move properly?

 April 04, 2022, 03:17:00 PM View in topic context
 Posted by altoiddealer  in How to teach the AI use this specific move properly? (Started by WastedCoder April 01, 2022, 01:32:29 PM
 Board: M.U.G.E.N Development Help

Ok!  However the attack you are describing (an instant straight line) sounds like it would best be handled using the “compare x/y ratio” method I said most recently.  For all intents and purposes this would be checking a straight line, with whatever degree of tolerance you choose.
The first method I described is checking a series of box shaped regions of the screen, which will require more and more code to define smaller more precise areas, depending on how accurate you want this to be
    

Re: How to teach the AI use this specific move properly?

 April 02, 2022, 06:22:35 PM View in topic context
 Posted by altoiddealer  in How to teach the AI use this specific move properly? (Started by WastedCoder April 01, 2022, 01:32:29 PM
 Board: M.U.G.E.N Development Help

What are the vels of your projectiles?

You should be able to just factor them together for a ratio…  for instance if the vel is x=10 y=10 then you’ll want this to tigger when the enemy’s pos x/y = 1…. because regardless of their distance this ratio will be in target.

You could have a tolerance like enemy,pos x/enemy,pos y = [0.9,1.1] or something.  I’m wayyy out of practice

Edit, another example… assuming a variation of your projectile has a velocity of x=10 y=3 (10/3=3.33)
triggerall=enemy,pos x/enemy,pos y = [3.0 , 3.6]

Maybe add something else along the lines of
trigger1= enemy,pos x/enemy,pos y >= 3.3
trigger1= enemy,vel x >= 0
trigger2= enemy,pos x/enemy,pos y < 3.3
trigger2= enemy,vel x < 0
    

Re: How to teach the AI use this specific move properly?

 April 01, 2022, 04:11:04 PM View in topic context
 Posted by altoiddealer  in How to teach the AI use this specific move properly? (Started by WastedCoder April 01, 2022, 01:32:29 PM
 Board: M.U.G.E.N Development Help

Someone will probably pop in with a better answer... but here is my input.

If you want your character to jump a certain direction/height before performing the attack, then I suggest you continuously monitor P2 / adjust a Var, so that your jump trigger and the attack trigger can rely on what the Var is.

If you just want the AI to decide which variation of the attack to perform while in the air, then you should be able to just take a quick location check and set a Variable.... or possibly make a big conditional parameter on your changestate.


As for positioning, I recommend reviewing the code I use for my character Jailbot, which constantly monitors P2's location in order to choose which face image to use (He looks at the enemy throughout the fight).

Relavent code:

Example usage... chooses correct "face" when idle.
Code:
[State 0, Stand face]
type = Explod
trigger1 = anim = 0
ID = 1000
anim = 10000 + var(7)

And this is the monitoring system I use in State -3... There are 18 different faces he chooses from for 18 different regions P2 is on the screen.
So, you could probably consolidate your definitions to larger, fewer regions.  You could also factor in stuff like enemy's current x and y vel to maybe select a different var than just "current location".
Note that I use Null controllers to better organize varsets, especially when there are numerous ones.
Also note my comments such as "R" and "RR" are just a quick reference as to how far away the enemy is.  So, "UURRR" refers to when the enemy is far above and at the far opposite side of the screen.

Code:
[State -3, Normal Face Changer - Look Neutral]
type = Null
triggerall = numenemy
triggerall = EnemyNear,statetype != C && (EnemyNear,StateNo != [10,12]) ;Enemy not crouching
trigger1 = p2dist x < 120 && p2dist y > -20 ;NEAR
trigger1 = var(7) := 0
trigger2 = (p2dist x >= 120 && p2dist x < 200) && p2dist y > -30 ;R
trigger2 = var(7) := 4
trigger3 = p2dist x >= 200 && p2dist y > -40 ;RR
trigger3 = var(7) := 8

[State -3, Normal Face Changer - Looking Up]
type = Null
triggerall = numenemy
triggerall = p2dist x < 120
trigger1 = p2dist y < -20 && p2dist y >= -40 ;U
trigger1 = var(7) := 1
trigger2 = p2dist y < -40 && p2dist y >= -60 ;UU
trigger2 = var(7) := 2
trigger3 = p2dist y < -60 ;UUU
trigger3 = var(7) := 3

[State -3, Normal Face Changer - Looking Up / Right]
type = Null
triggerall = numenemy
triggerall = p2dist x >= 120 && p2dist x < 200
trigger1 = p2dist y < -30 && p2dist y >= -50 ;UR
trigger1 = var(7) := 5
trigger2 = p2dist y < -50 && p2dist y >= -70 ;UUR
trigger2 = var(7) := 6
trigger3 = p2dist y < -70 ;UUUR
trigger3 = var(7) := 7

[State -3, Normal Face Changer - Looking Up / Right Right]
type = Null
triggerall = numenemy
triggerall = p2dist x >= 200
trigger1 = p2dist y < -40 && p2dist y >= -60 ;URR
trigger1 = var(7) := 9
trigger2 = p2dist y < -60 && p2dist y >= -80 ;UURR
trigger2 = var(7) := 10
trigger3 = p2dist y < -80 ;UURRR
trigger3 = var(7) := 11

[State -3, Normal Face Changer - Start Looking Down]
type = Null
triggerall = numenemy
triggerall = (EnemyNear,anim = 10 || EnemyNear,anim = 12) || p2dist y = [21,40] ;Starting to crouch, or low
trigger1 = p2dist x < 120 ;NEAR
trigger1 = var(7) := 12
trigger2 = p2dist x >= 120 && p2dist x < 200 ;R
trigger2 = var(7) := 14
trigger3 = p2dist x >= 200 ;RR
trigger3 = var(7) := 16

[State -3, Normal Face Changer - Looking Down]
type = Null
triggerall = numenemy
triggerall = EnemyNear,anim = 11 || p2dist y > 40;Enemy is crouching, or very low
trigger1 = p2dist x < 120 ;DD
trigger1 = var(7) := 13
trigger2 = (p2dist x >= 120 && p2dist x < 200) ;DDR
trigger2 = var(7) := 15
trigger3 = p2dist x >= 200 ;DDRR
trigger3 = var(7) := 17

[State -3, Normal Face Changer - No Enemy]
type = varset
trigger1 = !numenemy
var(7) = 0

Spoiler: Video showing my technique in action (click to see content)
    

Re: Problem with hit air. Help

 March 30, 2022, 04:42:14 PM View in topic context
 Posted by altoiddealer  in Problem with hit air. Help (Started by TheDragon March 28, 2022, 03:07:24 AM
 Board: M.U.G.E.N Development Help

Is the jump state 5020?  Or a different state?

Review the last state your character is in before the error occurs... search for every "Changestate"


If you Ctrl+F and search for 6082 and find nothing,
I have a feeling that the ChangeState might be doing something like:
value = 6000 + (something)

Review all the changestates in the last working state and try to find something that might calculate to "6082"
    

Re: Problem with hit air. Help

 March 29, 2022, 10:35:08 PM View in topic context
 Posted by altoiddealer  in Problem with hit air. Help (Started by TheDragon March 28, 2022, 03:07:24 AM
 Board: M.U.G.E.N Development Help

Well, I'd really like to try to do that, it's just that I don't know it very well but I'll try.

But when I look for a 5020 or 6082 state there is nothing that is why I do not understand it, I do not know what causes that movement there is no ChangeState

You've checked all the .cns files contained within the character's folder?

If so and you didn't find those states...


If you downloaded a "full-game" this character was included with, then its possible the bug is in common1.cns (in main MUGEN directory).

common1.cns contains all of the default states.
Authors of "full games" often modify common1.cns to make some basic changes to every character included in the full game pack.
    

Re: Problem with hit air. Help

 March 29, 2022, 05:56:16 PM View in topic context
 Posted by altoiddealer  in Problem with hit air. Help (Started by TheDragon March 28, 2022, 03:07:24 AM
 Board: M.U.G.E.N Development Help

I'm basically retired but just pop on once in awhile to give some advice.

MUGEN is generally a hobby that you, yourself, need to be passionate about.
If you are passionate about MGUEN, then you will have time to read the documentation, and enjoy debugging your own errors... with posting here for help as a last resort.
There's a wise expression something like: "You can give someone a fish, or you can teach them how to catch fish."


This is an error you will run into over and over and over again if you do not understand this one.
Understanding how MUGEN handles Integers and Floats is fundamental.

The fastest way to find errors in MUGEN is to narrow things down... select almost everything in your state and apply a "Comment" (disables the code).
Test for errors.
Turn on a few things, test for errors.
You'll soon find the problem.

Once you have the problem code... the MUGEN documentation tells you every parameter that wants integers and a floats.
Carefully check each parameter to see if it is producing an integer or a float.
-Use Floor() or Ceil() to change any Floats to Integers.
-Multiply floats by 1.00 or similar, if you want them to have shorter results.

Once you do this a few times, it will become second nature and you will feel satisfaction.

If you don't have the patience to follow the advice given to you, you may want to consider a different hobby :P