Oni Central Forum

A forum for the Oni community

You are not logged in.

#1 19/12/14 16:06

Rei
Member
Registered: 19/12/14

Rooftops Absurd Mode

Hi, new here but long time observer/follower of Oni. First post here! Glad to meet many more Oni fans here.

I have some knowledge in modding tho I'm very bad when it comes to scripting via BSL, but hardly found the time to do so. This festive period, I would have some time off to do some modding. I can do simple things like change enemies and item location, give different weapons and moves etc, but I hope to finish my first Mod. Rooftops Absurd Ninja Mode!

Watch the trailer here: youtube.com/watch?v=tI5jMCL7lDk (How do I link this?)

Intro: This is my favourite level with my favourite characters the Ninja, why not make it really challenging! But trust me, it's playable. Konoko has 100 more health while most early Ninjas are as defenseless as a Thug. If only I can separate hard mode for the large health difference.

Features:
-Complete Ninja territory!
-Over 50 different Ninja variants from Common Yellow/Blue Ninja to Shadow Ninja, Green/Gray Camo Ninja to the female Kunoichis, masked Hayminions, Sniper and Bomber ninja
-Several different 'zones' where different class Ninja Resides.
-Different Item locations from the original rooftops, 5 new weapons including Grenade Launcher and Desert Eagle.
-Several mini bosses such as Ninja Bots, Gold and Silver Ninja.
-Mukade is ridiculously insane to defeat. He goes full invisible! Play with him, he's kinda broken...

Thing to do before release (if anyone could guide/help, it would be appreciated):
-Get the script to work without manually typing ai2_spawnall !
-Teleport the Minibosses if they are being thrown off cliff.
-Allow Mukade to go Daodan.
-Script the difference between hard mode and easy/normal mode.
-Get rid of one container and replace with a box in the architecture.
-Get permission for all those models whom I used. (Eg Edt for Old China Ninjas, some variant poorly retextured by me, Samer's Hayate/Minions etc).

Things I hope to do once the basics are done.
-Reverse mapping where the TCTF now take over the place.
-Hide and seek for items (smt like Zip Liner, There are some places good for storing secret items).
-Do other levels

Enjoy and let me know what you think or if you know how to script.
Cheers, Rei

Last edited by Rei (21/12/14 8:43)

Offline

#2 20/12/14 12:01

Loser
Member
From: somewhere in da Czech Republic
Registered: 14/1/07

Re: Rooftops Absurd Mode

Hi Rei and welcome to the OCF forum.
I am "retired modder", however your trailer is quite interesting.

Since you are using Samer's work (custom characters), I personally guess he (Samer) would be the best one to help you. However because this forum is kinda quiet lately, I am offering my humble services to help you finish your mod, if you are interested.

Can you pretty please summarize in detail what would you like to accomplish via scripting? We can then together talk about optimal ways to implement your desired features / scenarios.

Last edited by Loser (20/12/14 12:01)


"I am just a mere reflection of what I would be."

Offline

#3 21/12/14 0:47

EdT
Moderator
From: Los Angeles, CA
Registered: 13/1/07
Website

Re: Rooftops Absurd Mode

I really enjoyed your video, I look forward to playing your script.  I have been taking a break from Oni for several months, but, I'm willing to assist you.

You have my permission to use any of my models.

Offline

#4 21/12/14 8:42

Rei
Member
Registered: 19/12/14

Re: Rooftops Absurd Mode

Hi Loser and Edt, thanks for your comments. Glad you all enjoy it. Of course any assistance helps.  Take note that most of my modding are through BINA files in xml rather than through bsl as I'm rather noob at bsl scripting. Should I upload the bsl files? Here are the summary of the main problems I'm facing.

-I cannot set all the enemies to spawn automatically and need to enter Dev Mode and manually type 'ai2_spawnall' to activate them even though I had set ai2_spawn (Character) in the bsl. Likewise for chr_delete, they won't 'delete'.

-I've tried to use the same teleport method in the bsl as used by Samer for his Conversion Rooftop level but they would not teleport when fall.

-In BINACJBO PowerUp file, The LSI would not change the location even though I've changed it. I tried to change it in the bsl but it still doesn't change.

-Is there anyway to force the door remain close (For SP1&3) or to not slide the zip line (SP2) only till all the enemies in that zone are defeated.


Lower Priority:

-How do I script the difficulty level such that the sniper ninja appears only in hard and the health and weapon difference. Such as Wilderness Level, City and Old China diff in Hard and Normal Mode. Is easy mode difference possible?

-How to I make a railgun (The gun producing the ring effect) particle being shoot out from the Ninja's hand in a normal punch move and upon collision produce the shuriken item. Sorta like a shuriken throwing effect.

-How do I remove a container (in SP 2 where you used to to get to the top area with the sniper holding plasma rifle) so that one cannot just go by that way but go the harder way of going slightly furthur (The place with 2 small towers and one vent with a Force Shield). And to create a simple warehouse box next to a small tower for konoko to skillfully jump up to reach the top platform to get the LSI at it's new location.


These are the basics for Version 1. If it's successful, I could move on to my ideal version where (SPOILERS) :

Add more save points to have another storyline after Mukade's 'defeat'. Where the first Mukade (Normal visible one not modded) is just a clone and the real Mukade have been observing you the whole time. He breaks the CD into 3 and throw them into 3 very difficult to find and access place in each of the 3 zone. Find the 3 and return back to mukade. Then konoko is teleported back to the original sp1 position and have 90 seconds to speed run all the way to the top. Mukade will tell Konoko that the he acknowledges her skills and gives her the real CD (The broke into 3 piece one is fake). Then the TCTF takes over and ambushes the whole rooftops, and Mukade teleports away. Konoko has to travel backwards to the sp1 position undected else she'd be grenaded. Something similiar to (youtube) but with TCTF Guards walking and may detect you like Old China. Konoko has to escape to the first place undetected and will meet Casey there asking her to surrender, then a short fight before more Gold reinforcements comes and being earthquaked by Mukade who teleports Konoko away, leaving Casey saying he misses her.At the new location (above some building with nothing nearby), clouds appear. Mukade says Konoko is exceptional and want to train her to be a Ninja of the highest class. He revealed his invisible form and invites Konoko to join the syndicate. Konoko refuses and the Legendary Fight between Konoko and Mukade True Invisible form begins.

To summarise what I need to know if I can get that far:

-How to add more save points.
-How to set the elevator back to square 1
-How to script such that the lsi needs to be collected 3 time
-How to set the lookout system like in Old China.
-Making Cutscenes

And for Edt and Loser (You are Andrashi on YT right? if I'm not mistaken), Awesome vids all you have. If only some can become reality, looking at city car tongue ) Perhaps can use this vid (youtube.com/watch?v=y6KMeTrWZHE ) during the zipline boss fight so one does not hide above and ballgun to victory. Another one is to use this epic music and melee during Mukade battle from here ( youtube.com/watch?v=flw6JG5kF1o ).

Lastly, I really want to create my own custom character but the only problem is that I cannot make it shoot out fire like from a plasma rifle. Similar to Rayman but shooting Plasma fires instead unfortunately nothing comes out when I change the Particle in the ONCC file. In addition, when I set the Muro Lightning Particle onto a kick or punch, the lightning flies anywhere except forward. Anyway to get around that? smile

Last edited by Rei (21/12/14 9:10)

Offline

#5 21/12/14 21:10

EdT
Moderator
From: Los Angeles, CA
Registered: 13/1/07
Website

Re: Rooftops Absurd Mode

To best answer your questions, I would need to have the files you are working on both xml and bsl.  You can either upload them to a file sharing site and post the link here, or email them to me through the forum, if you don't want the general public to see what you are planning smile

Let's see if I can answer a few questions:

1) After you use the ai2_spawn (Character), do you use the command chr_teleport (Character) (flagid)?

2) Not sure why LSI will not change locations, it is possible that the powerup file needs to be update through the level builder process, not simply changing the data in the file, I don't remember at the moment.

3) To lock and unlock doors, in the bsl file:

door_lock door_id:int - locks a door - door_lock 6
door_unlock door_id:int - unlocks a door - door_unlock 5

4) To script level difficulty, in the bsl you will need something like this:

if (difficulty() eq 0){
		 dprint("Easy Mode");
		 }
	
	if (difficulty() eq 1){
		 dprint("Normal Mode");
		 }
	
	if (difficulty() eq 2){
		dprint("Hard Mode");
		}

5) To remove or add a container or crate requires a lot of work, you have to extract the AKEV from the level and then you can edit the BINACJBOFurniture.bsl, to place the furnitures in their new locations or add new ones.

6) Adding savepoints as easy as this ( you can only have 0 to 9 savepoints)

if (save_point eq 9){
		(Stuff)
}

These are a few things I can answer at the moment smile

Offline

#6 24/12/14 10:15

Rei
Member
Registered: 19/12/14

Re: Rooftops Absurd Mode

Hi Edt, tks for ur help smile

For (1) I'm not sure as that's needed as I set their location in the BINACHAR XML file alr so would'nt they spawn automatically. Since I've just change the names of the old character to the new ones. This is the main problem I have for scripting I suppose

(2) My mistake on this, I've removed the wrong one...

(3) I meant to only open the door when ALL the enemies are defeated similar to atmo ext sp5 door. Same goes for ziplining across from Rooftops SP2 to SP3.

(4) and (6) will wait till I can get the front going first.

(5)Too troublesome, maybe in the future

Thanks tho, I uploaded the basic (char,p.path,flag,powerup,weapon and melee) xml files and the 4 bsl files here here : dropbox (dot) com /sh/6cc47stgqbgudtz/AAAyh5tEGLR7yjbg4H6iUpf8a?dl=0 however I did not include anything else as the size is quite big.
Appreciate any help given and Merry Christmas in adv smile

Offline

#7 27/12/14 11:08

EdT
Moderator
From: Los Angeles, CA
Registered: 13/1/07
Website

Re: Rooftops Absurd Mode

I'll have time next week to look at the files.

Offline

#8 30/12/14 5:17

Rei
Member
Registered: 19/12/14

Re: Rooftops Absurd Mode

Can anyone help me with a problem. I'm not sure what I've done wrong. For any level, say Warehouse, I modify the BINACHAR XML file to add characters, gave them their location and also gave some new Patrol Path etc. All is good in xml. Everything is working when I manually enter ai2_spawnall in Dev mode, all the new characters appears where they r supposed to be. The main problem is in the bsl. I followed the format in the bsl, when I saw an ai2_spawn Bay2_Thug2 for example, I added a line below for my new enemy say ai2_spawn Bay2_Thug3 for all the required enemies. Just strictly following it in the 'warehouse_level_scripts' and 'warehouse_train2 ' for the Warehouse, without changing anything else. But then the whole script became unusuable. Eg when I start level 1 I'm in the training room with no script at all, not even the intro wallpaper. I only have problem with the bsl. XML files work perfectly, I can even change the enemy weapons, drops, powerups and weapon location except to get them to appear without crashing the script. Btw forgive me being a noob at bsl scripting, I have never successfully gotten one to work before. If it matters, I'm using Oni Script Editor by Tyr. Btw, I presume this is why my rooftops mod isn't working well at all.

  Here is the original bsl file (narrowed to the main section) of the warehouse_level_scripts :

 
func void unlock1(string ai_name)
{
	dprint unlock1
	target_set(33, 15.0)

	door_unlock 15
	door_unlock 16

	input 0
	cm_interpolate lock1 0
	sleep 60
	particle lock1_locklight01 do start
	sleep 150
	cm_reset
	input 1
	sleep 120
	ai2_spawn Bay1_Thug_1
	trigvolume_enable intro_enemies_tv 1
	trigvolume_enable trigger_volume_77 0
} 

This is the modified one which caused the whole script to fail (Note that I've already added the 3 new character in xml and it appears perfectly when I use ai2_spawnall in the console), nothing else has been changed other than adding ai2_spawn whatever whenever needed:


func void unlock1(string ai_name)
{
	dprint unlock1
	target_set(33, 15.0)

	door_unlock 15
	door_unlock 16

	input 0
	cm_interpolate lock1 0
	sleep 60
	particle lock1_locklight01 do start
	sleep 150
	cm_reset
	input 1
	sleep 120
	ai2_spawn Bay1_Thug_1
	ai2_spawn Bay1_Thug_2
	ai2_spawn Bay1_Thug_3
	ai2_spawn Bay1_Thug_4
	trigvolume_enable intro_enemies_tv 1
	trigvolume_enable trigger_volume_77 0
} 

Any help would be greatly appreciated.

Offline

#9 30/12/14 9:42

paradox-01
Member
From: Germany
Registered: 14/1/07

Re: Rooftops Absurd Mode

Use the Windows Notepad.
To fix problematic files, open them, and "save as" ... using ANSI encoding.

Last edited by paradox-01 (30/12/14 9:43)

Offline

#10 30/12/14 12:09

EdT
Moderator
From: Los Angeles, CA
Registered: 13/1/07
Website

Re: Rooftops Absurd Mode

Sigh, this will take longer than expected, I upgraded my computer to OS X Yosemite, so now a few things are broken...

Update: Looking at your roof.bsl there are a lot of additional text would cause the bsl not to work:

{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fnil\fcharset0 Segoe UI;}}
{\colortbl ;\red0\green0\blue0;}
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\cf1\lang1033\f0\fs18 #\tab rooftop\par
#\tab scripts for level 12 by wu\par
#\tab\par
#\tab LEGEND\par
#\par
#\tab character naming convention: X_Yx\par
#\tab where X = area letter (A=first area, B=second area, etc.)\par
#\tab       Y = character type (N=ninja, T=tanker, S=striker, R=red, etc.)\par
#\tab\tab x = character number, usually same as character's initial patrol id\par
#\par
#\tab trigger volume scripts: t##, where ## refers to trigger volume id\par
#\tab\par
#\tab CONTENTS\par
#\tab\par
#\tab 1.variables defined\par
#\tab 1b.music scripts\par
#\tab 2.start and objectives scripts\par
#\tab 3.save game scripts\par
#\tab 4.cut scene scripts\par
#\tab 5.console scripts\par
#\tab 6.trigger volume scripts\par
\par

So follow paradox's suggestion smile

Offline

#11 31/12/14 6:11

paradox-01
Member
From: Germany
Registered: 14/1/07

Re: Rooftops Absurd Mode

Oh, from what Rei said about the warehouse script I thought it is only an encoding problem.
But if there's real additional text, as Edt pointed out, you have to get rid of it.

You can use the Notepad's replace function to do that. (Control + H)
Replace the following 3 expressions with nothing.

\par
\tab
\

After replacing the expressions, at the end of roof_main.bsl and roof.bsl there a } too much.
Also remove or comment out the 3 starting lines "{\rtf1\ansi\ansicpg"...
Haven't tested the files yet with the game.

Last edited by paradox-01 (31/12/14 6:15)

Offline

#12 31/12/14 10:15

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: Rooftops Absurd Mode

Yeah, you can't write BSL in an RTF document wink  Has to be plain-text.


byproducts are fine, but where's the beef?

Offline

#13 31/12/14 11:16

Loser
Member
From: somewhere in da Czech Republic
Registered: 14/1/07

Re: Rooftops Absurd Mode

Rei, I have tried to run the game with files you provided in your dropbox (with a few hacks to circumvent the lack of some less important files).

Based on your ideas and wishes for this mod (the first post of yours), it would be the best to read this article first:
XML BINA CHAR page on the OniGalore wiki

Your "BINACJBOCharacter.xml" is in my opinion not  very well constructed, which is why there are issues with characters (tied to some of your BSL questions).

Namely:

  • <Class> tag in the BINA CHAR - there is no need to create a complete character class (ONCC) for each and every character you want to have in the level. Of course maybe it is your design decision and each character in the level has for example a bit different moves or a bit different 3D model, but if you simply wish to have 10 yellow ninjas, then all these 10 yellow ninjas can reference one class - yellow ninja class. That reduces amount of files and simplifies the level design without impacting gameplay (in my opinion).

    Also, please consider using original ONCC classes (either from the retail game or characters created by modders) whenever possible. Unless you have a very good reason for it, it is ineffective to have various carbon copies of one character class. If you need to set for example various healths for various characters in the level, this can be done in the BINA CHAR file via the <AdditionalHealth> tag.

  • <Flags> tag in the BINA CHAR - read the section on BINA CHAR flags to learn how to make the character auto-spawned at the level load ("NotInitiallyPresent" flag must be missing). Please note that sometimes for whatever reason OniSplit does not translate flags into strings, so you have a number inside the <Flags> tag. If that is the case, you have to make sure it does not contain the "NotInitiallyPresent" flag, which has numeric value 4. If you don't understand how to translate numeric values and are interested in learning it, please write it. I am sure somebody here on forum will be happy to help you.

  • <Scripts> area of tags in the BINA CHAR - I am mentioning these tags, because these are tied with BSL functions which can be called in the BSL code when certain events happen to the specific character with those tags filled (for example, you can in the BSL code register the fact some character died). Read about these tags on the wiki, then you can decide if some of these could help you with your ideas.

Pretty please fix your BINA CHAR file first, then we can move on and start creating BSL code. Properly written CHAR BINA file will ease the rest of the gamedesign process, mainly BSL coding. Also, it will maybe make the BSL code less confusing for you, as now I guess you are a bit affected by the fact you expected some behavior from BSL commands and got something unexpected due to (in my opinion) improperly written BINA CHAR file.


"I am just a mere reflection of what I would be."

Offline

#14 3/1/15 4:37

Rei
Member
Registered: 19/12/14

Re: Rooftops Absurd Mode

Thanks for your advice guys I've got the bsl working already, now this opens new realms of possibilities, for me at least. Suprisingly there is a problem with the Oni Script Editor I've used. Will use notepad from now on. The Warehouse Mod seems ok, the rooftops one kinda screwed up so I'm postponing it.

@Loser, Yup, It kinda takes too much data and I should probably redo. For me I'm kinda weak at scripting bsl so all my mods are solely xml. I've tried studying several BSL namely City and China and I presume to script the enemy to change class right and spawn at a different flag right? So that it does not overflow the binachar. I'm using the commands from ssg.oni2 commands but I wonder how u all just SpawnCharacter (xxx nnn) and they appear. I guess I need more practice. Will see what I can do though but I'll mainly reduce the amount of Oncc files unless necessary. Thanks again 4 ur advice.

Lastly, look out for a whole revamp mod coming out soon. New enemies, item and weapon locations, with Warehouse in Progress and this Rooftops going to come soon.

Offline

#15 3/1/15 7:43

s10k
Member
From: Portugal
Registered: 14/1/07
Website

Re: Rooftops Absurd Mode

spawnCharacter (spawnCharacter (string char_name, int flag, string forcing)) is just a wrapper function that I wrote for china and that can be used in any other script.

You can find it in china_utilities_scripts.bsl, it combines ai2_spawn, chr_teleport and chr_facetoflag in one function you can use it if you want.

For bsl editing DON'T use "Oni Script Editor" it isn't complete and it's very buggy.

Just use notepad++ (http://notepad-plus-plus.org/) with an oni syntax file:
http://oni.bungie.org/forum/viewtopic.p … 664#p23664 (you can use mine in that post since I know it works).

Offline

Board footer

Powered by FluxBB