You are not logged in.
Pages: 1
Well...I can't sleep...so here is my idea...
In the end, I will be sticking all of OTA in the global folder? Why? Because I can, and it will make future OTA versions easier to install...
In the beginning of each main file I will put...
var in interrupt;
void func main(void)
{
fork pre
If (interrupt eq 2) pause 4500
If (interrupt eq 0)
{
Normal Oni stuff here
}
}
----
And the pre function...
func pre
{
fork ota_menu
}
---
func ota_menu
{
dmsg "Press Ctrl to start OTA, else press crouch or wait"
fork crouch_det
func ctrl_det
If (ctrl_t eq 1) interrupt = 1
If (cr_t eq 1) interrupt = 0
#Yes, a crouch overrides pressing ctrl
If (interrupt = 1) fork ota_start
}
---
func ctrl_det
{
chr_wait_animtype 0 taunt
ctrl_t = 1
}
---
func cr_det
{
chr_wait_animtype 0 crouch
cr_t = 1
}
---
func ota_start
{
ota_strd = 1
dmsg "OTA v x.1 started!"
*OTA CORE GOES HERE*
}
---
Notes:
I am probably missing something...
I neglected to declare variables...all of them are normally 0, except interrrupt, which is 2
If its neccessary, as an added precaution, put a big "if ota_strd =1 {" at the beginning of all OTA files to make sure they are only executed when ota is started...
Questions:
Do you guys want me to work on this?
Is there any way to tell what the current level is from script, with a simple function? (though I could probably throw together a workaround if there isnt...)?
Is there any way to tell if the version is 7th anniverssery?
Eventually, you will be able to select from "classic" teams, or a custom team you can create and drop in your global folder...
I know I didn't use the most efficient menu system...anyone care to fill me in on a better system...?
I do have a system in mind for mid-combat menu, but it would be inefficient here...
Last edited by Gumby (12/10/07 04:12)
Iritscen:
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours
Offline
Updates...almost done with sorting what is core and what is not...thanks for making it easy to tell ^_^
Installation of the core of OTA will be a bunch of files stuck in the global folder
Each level will have 2 files associated with it...
1. An update to the level_main adding the above mentioned lines to it
2. A file that goes in either global or the level folder (either should work) that contains the ota data
I'm going to need help on the custom teams bit...is it possible to spawn two of the same character in the same level without spawning a different character and changing it?
Iritscen:
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours
Offline
I think geyser was working on that for a while...donno what became of it.
Offline
Done:
Compared two OTA levels, found the core files, and seperated them out
Needs to be done:
Double check the above
Implement the startup system
Combine the differing files
-----------
http://geyser.oni2.net/OniTeamArena/WIP/IGMD_OTA2.ZIP
Seems to be seperated out....but I don't know...why can't geyser answer that?
Either way, it doesn't include my startup script ^_^...though it might be easier just to go with his, and have me do the work of seperating the other files to match (and possibly add the startup)
Last edited by Gumby (12/10/07 20:12)
Iritscen:
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours
Offline
Patience is a virtue. Please Wait (TM)
Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.
Offline
what's ota?
Offline
Onilover: This is OTA:
http://wiki.oni2.net/ONK:OTA
Lots of fun to play!
Offline
So...should I not work on this then?
Iritscen:
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours
Offline
Sorry about the late reply.
I have indeed experimented with the idea of globalizing BSL some time ago.
One thing about it is that only the PC retail Oni can handle the global folder...
So most probably you'll have to provide a non-global version of OTA anyway.
And at the end of the day, OTA will be nothing without new cross-level ports.
Random notes:
It's a bit odd to wait for a taunt animation, which is context-based (opponents).
Also note that pre and ota_menu, if forked, will fail to alter interrupt in time for main.
Also note that there's a gross typo ("func" instead of "fork") at line 3 of func ota_menu.
And another one here: "If (interrupt = 1) fork ota_start" ("=" instead of "eq").
Not to mention that "if" is supposed to be lowercase.
And that you wrote "pause" instead of "sleep".
And "var in" instead of "var int". Maybe more.
Less random notes:
No, there is no direct way to determine the current level. There's no need though.
OTA has lots of level-specific functions, and it makes no sense to globalize them.
Also note that the amount of logic Oni can load in memory at level load is limited.
That means it's a bad idea to have it load all of Oni's OTA as a bunch of global ifs.
The Anniversary Daodan might provide a direct way to detect the Edition's version.
But there are rather obvious Daodan-independent workarounds, e.g., binary hacks.
About the menu in general:
Gumby, in case you haven't seen "my" ingame menu in action, please check it out.
Also note that the DevMode console lessens the need for a hackish menu dramatically.
is it possible to spawn two of the same character in the same level without spawning a different character and changing it?
Er, not sure what you mean by 2 of the same, but if there are 10 red strikers in a level, what keeps you from using all 10?
Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.
Offline
Perhaps Gumby means spawning two of, say, Mudake in a level. We know that Oni can have two Mutant Muro's in the compound OTA, but that's because there are two models to work with. For other 'characters' though, it's rare to do so.
So, the question probably is "Is it possible to force the spawning of a character, then have OTA register that forced spawn as a seperate character from the original?"
TCTF SWAT: Striker, you're under arrest.
Striker: H4h, y0u c4n'7 570p m3!!!
TCTF SWAT: Damn it, learn to spell!!!
CURRENT PROJECT - 'Nemesis' V1.0 Released
Offline
It was psuedo-hypotheticl code...I didn't debug it, it was late at night ^_^
You would only have one if, the one that decides if OTA is started or not...othewise the OTA functions never start
All the level specific stuff would go in the level folder...but that wouldn't work as well ^_^
Your menu requires F9, no? A good idea, but I was just making an alternative
Okay, I'll find something else to spend time on...
Iritscen:
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours
Offline
"If you're having trouble thinking of ways to make yourself useful, I'll give you some suggestions."
Why not go ahead and port that thing to as many levels and areas as possible? Too boring, or what?
No, ATM there is no way to rename force-spawned chars so they can be called individually by name.
Last edited by geyser (12/13/07 22:12)
Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.
Offline
Yeah, I can do that...not for a few days though...and then I need to go through the trouble of turning on flag numbers...though I have an idea for a street battle in level 1...or maybe lab...hmmm (chr_teleport is required so that level would be Mac only)...is there any way to detect a Mac version? I bet I could...can you detect if a variable is undefined? Will an undefeined answer in an if statement crash or return negative?
Iritscen:
Iritscen: it's amazing this program even works
Gumby: i know
Iritscen: and that statement applies to my code, not just yours
Offline
Pages: 1