
Codykins
Joined: Nov 6, 2013
~*Live Life to the Fullest; Cherish your Friends*~
|
Posted: Nov 6, 2013 05:43 AM
Msg. 1 of 11
Good evening / morning!
I have a rather simple question. I'm been working with a single player map, revamping n' such during my spare time away from work, and I was wondering if it's possible to make the Teammate Indicator (Green Triangle) from Multiplayer, that appears above your team's heads, appear above an AI/NPC, in Single Player?
If you have any ideas on how to go about that, let me know; I have 5 Special AI that are in a testing phase, and it'd be nice to keep track of their whereabouts on the map during so!
Thanks in advance for your time! ________________
~*Codykins*~ Edited by Codykins on Nov 6, 2013 at 05:43 AM
|
|
|

A Juicy Frank
Joined: Oct 28, 2013
|
Posted: Nov 6, 2013 12:48 PM
Msg. 2 of 11
Morning Cody!
There are two methods that immediately jump to mind. Unfortunately, neither will perfectly replicate the indicators from multiplayer, but hopefully it won't be too big an issue:
~Waypoints Probably most similar functionally, but the distance-to-object counter may be a bit off-putting. I will be working with the default multiplayer bitmap. It won't look perfect, but at least there is no extra .bitmap work to be done. Also will need to be scripted.
~Particles A bit more on the 'gave an inch, ran a mile' side, but should work exactly as they do in multiplayer, albeit not behind walls or other objects. I guess this would defeat the purpose. Nevermind, don't do this, the only real benefit is that it requires no scripting as it is entirely tag work.
To do the Waypoint method: 1. Take the green multiplayer triangle .bitmap (ui\hud\bitmaps\hud_multiplayer.bitmap), and make a copy of it somewhere. Open the copy in Guerilla and:
~Change type to 'sprites' ~Change mipmap count to '1' level ~Change sprite spacing to '1' ~In the "SEQUENCES" section, click 'Add', and add 1 new 'Sprite' under each sequence ~Add the following values to the sprite under both sequences: Right = 1, Top = 0.5, Bottom = 1, Reg. point x = 0.5, y = 0.25
2. Save the .bitmap
3. I'm assuming the usage of default globals.globals, if not just open the one you use. Head down to the "INTERFACE BITMAPS" section and open the 'hud globals'. Again you're going to make a copy, so do a File -> Save As somewhere
4. Scroll down to the "Waypoint parameters" area inside the copied .hud_globals tag, and chage the 'arrow bitmap' reference to the .bitmap copy you modified earlier
5. Delete all of the "WAYPOINT ARROWS", and 'Add' a new one. Change the values to:
~Name = whatever you would want; default works just fine ~Color = doesn't matter since the bitmap already has color ~Opacity = 0.5 ~Translucency = 0 ~On screen seq. indx. = 1 ~Off screen... = If you want the arrow not to draw when the object is out of sight (typical multiplayer), put '3' or more. Otherwise put '1' ~Occluded seq. = 1
6. Save and have your globals.globals reference the new .hud_globals tag. Finally, compile your map.
Now open your map in-game and use the (activate_team_nav_point_object <name of waypoint> player <name of object> 0.04) command. Your object should have the indicator over him. To have this done automatically, throw the command into a startup script and compile the script in Sapien.
Sorry about the long reply time, I hadn't actually done this before, so I wanted to see if it would actually work. Just in time for my first class today too. Hopefully I didn't miss anything, I'll be back in about 2 hours.
|
|
|

Codykins
Joined: Nov 6, 2013
~*Live Life to the Fullest; Cherish your Friends*~
|
Posted: Nov 6, 2013 05:16 PM
Msg. 3 of 11
Hey Juicy Frank!
Thanks so much for the reply. Sorry for the delay, I've been up constantly all night with a sudden major tooth pain that hit me out of nowhere, so I'm extremely exhausted as I type this, so if I'm missing something here, bare with me.
Tried following your steps, but:
'Sprite Spacing' is nulled out and can't be changed. The 'Add' button is nulled out on both 'Sequences' and the 'Sprites' area underneath.
So, not to sure where to continue. I can do just about anything on Halo PC, but I'm still growing accustomed to Halo CE Tools (That and I'm dead tired), so if I'm doing anything stupid, just point me in the right direction until I'm stable enough to actually think, Lol.
Also, if you get this sorted out, do you mind posting a quick startup script to activate the navpoint? I'm at work right, and chances are I'm going to pass out from exhaustion when I get home.
Thanks in advance, if so! _______
~*Codyins*~ Edited by Codykins on Nov 6, 2013 at 05:17 PM Edited by Codykins on Nov 6, 2013 at 05:21 PM
|
|
|

A Juicy Frank
Joined: Oct 28, 2013
|
Posted: Nov 6, 2013 07:36 PM
Msg. 4 of 11
Np, Cody. Sorry to hear that. Don't feel like you're obligated to respond swiftly, as this section of the forum as far as I know is usually pretty vacant. I had forgotten to mention that the default HEK tools Guerrilla and Sapien are actually fairly limited in some important areas, so you will need to get 'unlocked' versions from either the OS (Open Sauce) engine extension installation, or here: Kornman's Guerrilla & Sapien - http://hce.halomaps.org/index.cfm?fid=1081 Either guerrilla version should work for what you're going for here, and will allow you to make edits to properties that were unchangeable before. Also, I don't believe stock Sapien allows for objects to be 'named', or given a title to be referenced by Halo's script commands. When you place your unit in the unlocked Sapien (a hobov102), you should be able to give a name to your selected object inside the "Properties palette". For the startup script, I'm going to assume that the object to place the waypoint on is named 'apofsaoi'. (script startup give_object_thing (activate_team_nav_point_object default player apofsaoi 0.04) )
I'm not sure of any specific tutorial on scripting that would be best to use just in case you have any questions about setting one up or compiling a map with one, but take a look at a few here if you need: http://hce.halomaps.org/index.cfm?search=scripting&B1=Search Took a quick screen of how terrible the usage of the stock bitmap as a waypoint looks, with the indicator placed on a stock spartan and elite biped.  Don't know how to make it smaller. Edited by A Juicy Frank on Nov 6, 2013 at 07:47 PM
|
|
|

Codykins
Joined: Nov 6, 2013
~*Live Life to the Fullest; Cherish your Friends*~
|
Posted: Nov 6, 2013 09:28 PM
Msg. 5 of 11
Hello Again!
Stock Sapien works perfectly fine with naming objects and such, as I've used scripts in MP Maps on objects I've named in Sapien, so I know it works fine.
EDIT: Sorted the below out, managed to fix it all. Things are working properly! Thanks so much for your time Frank, I'll leave the text as a placeholder! **** ********** Also, I'm not too worried with how the indicator looks, as long as it DOES work. [s]As for the script and such, this is AI in an Encounter/Squad I'm trying to make the indicators go over, which aren't under the Objects drop-down. Also, this is a Single Player Map we're talking about, which I've never worked scripts into before, only multiplayer, so wouldn't compiling a new script into the map break all the default, old scripts that were in the map, in turn, pretty much breaking the map itself? Just wondering![/s] ********** ****
________
~*Codykins*~ Edited by Codykins on Nov 6, 2013 at 09:28 PM Edited by Codykins on Nov 6, 2013 at 09:43 PM Edited by Codykins on Nov 6, 2013 at 11:19 PM Edited by Codykins on Nov 6, 2013 at 11:19 PM
|
|
|

A Juicy Frank
Joined: Oct 28, 2013
|
Posted: Nov 7, 2013 12:19 AM
Msg. 6 of 11
E: Good lord. Never realized how long it takes me to type, I apologize. Good to know things are working out. If you end up needing any specifics, you know the drill - every 6 hours. Here, have this wall of well thought out and organized, list of responses. Alright, that's good to know. Wasn't sure of the exact limitations since the unlocked versions are pretty standard for mods now; the OS versions are all I've used since coming back recently. In the case of AI being spawned through an Encounter (which I personally find better suited for 'swarms', or relatively larger numbers of enemies), you can actually have a script return a specific unit or list of units inside an entire Encounter or a single Squad. From hs.doc (list of all halo scripts): (ai_actors <ai>) ;returns an object_list for an ai encounter or squad
(list_get <object_list> <short>) ;returns the specific object from an object_list at the numeric index
(list_count <object_list>) ;returns the number of objects in an object_list As an example, if I wanted to script the death of a single, unnamed unit in a squad comprising of 4 spawned units, I would run: (unit_kill (list_get (ai_actors humans\cherliesqwad) 2)) This code would kill the 3rd (because 0 is the first index, 1 is second...) unit in the squad. How do I know that one was the one I wanted to kill? I don't. I'll never know which unit is in index 2 until after I've killed him. Because of this, people who use an encounter to spawn AI typically create a squad under that encounter that consist of only their 1 specific unit. This makes it so there is never any question about which unit is the one I want; "The unit I want from this squad is at index 0, because he's the only unit in the squad." Taking this into consideration, placing a waypoint on the unit would be like: (activate_team_nav_point_object default player (list_get (ai_actors spartans\chief) 0) 0.04) I'd keep my master chief AI unit to his own squad (named 'chief'), that way I don't accidentally place the waypoint on another potential unit in the squad. Take a look at this script reference for AI - http://hce.halomaps.org/index.cfm?fid=5938, it may help with more specific workings with AI encounters. Just know that unless stated otherwise, commands that ask for <ai> mean they need the <encounter> or <encounter\squad>. Well, when compiling scripts in Sapien, it does only take what is in the map's script folder. So yeah, I guess if one were to compile scripts into a map that had previous code in it, without keeping that previous code in the folder to be compiled with the new code, it would seemingly overwrite the old code and could potentially break the map. But that's why we have this - http://hce.halomaps.org/index.cfm?fid=5478 - to make sure we don't go without the code that is already in a compiled map. Basically, every time Sapien compiles scripts, it erases all code the map has compiled already, then just works in what is in the scripts folder. If you make sure the stuff that's already there stays there, you shouldn't have any problems. Edited by A Juicy Frank on Nov 7, 2013 at 12:26 AM
|
|
|

Codykins
Joined: Nov 6, 2013
~*Live Life to the Fullest; Cherish your Friends*~
|
Posted: Nov 7, 2013 12:59 AM
Msg. 7 of 11
Thanks for all your help Frank! I've got it all sorted out since my last edit, actually, so you really didn't need to post all that!
One last parting question, though; I could be wrong, but it seems like when using the activate_team_nav_point_object script, it will only let me use a maximum of 4 Nav-Points; Anything below the 4th one won't show up ingame. Is there a way to raise the limit? I'm sure there is, since you can have 8+ in Multiplayer.
Let me know, if possible!
~*Codykins*~
|
|
|

A Juicy Frank
Joined: Oct 28, 2013
|
Posted: Nov 7, 2013 11:53 AM
Msg. 8 of 11
You're right, just tried to put way points on a few bipeds and it capped at four. That's a shame, I didn't think there was a limit on how many nav points could be placed at a time. I guess it would make sense that they should be kept to a reasonable minimum, though. As far as raising the limit, I'm not sure at all if that's possible.
I may try out the particle method when I get home later today as a last ditch effort, just to see how well it functions as a pseudo team indicator. Tag work is more of my strong suit, so there's some luck right there. Hopefully these issues aren't holding up too much progress in your project.
|
|
|

Codykins
Joined: Nov 6, 2013
~*Live Life to the Fullest; Cherish your Friends*~
|
Posted: Nov 7, 2013 03:17 PM
Msg. 9 of 11
Nah. The only remaining issue is getting a Nav-Point over the 5th AI. The other four are working fine, just need to find a way to either raise the Nav-Point limit, or another way to get one over the 5th character.
In the meantime, I can work on other parts of the project as well. I've been sifting through globals.globals and default.hud_globals in hopes of finding a way to raise the limit, but nothing has caught my eye as of yet. I could be looking in the wrong area, though.
I don't suppose you have Skype or any form of messenger, eeh? Would probably be a lot easier, rather than waiting hours on end for eachothers posts, anyways, Lol.
Let me know what you think! ______
~*Codykins*~ Edited by Codykins on Nov 7, 2013 at 03:20 PM
|
|
|

xnx
Joined: Feb 12, 2013
h2 marine anims or i detonate the vest
|
Posted: Nov 8, 2013 11:48 PM
Msg. 10 of 11
Just stopping in here to say hi and tell you that your profile quote is a real breath of fresh air, codykins.
|
|
|

Codykins
Joined: Nov 6, 2013
~*Live Life to the Fullest; Cherish your Friends*~
|
Posted: Nov 9, 2013 11:07 AM
Msg. 11 of 11
Hi xnx!
Hehe, thank you. It's what I try my hardest to live my life by. ^_^ Edited by Codykins on Nov 9, 2013 at 11:10 AM
|
|
|
| |
|
|
 |
|