A Community discussion forum for Halo Custom Edition, Halo 2 Vista, Portal and Halo Machinima

Home  Search Register  Login Member ListRecent Posts
  
 
Viewing User Profile for: DeadHamster
About Contact
Joined: Jun 8, 2014 05:02 PM
Last Post: Yesterday @ 07:05 AM
Last Visit: Today @ 05:36 AM
Website:  
Location:
Occupation:
Interests:
Your Age:
What Games do you play:
Avatar:


Send Private Message
Post Statistics
DeadHamster has contributed to 627 posts out of 466543 total posts (.13%) in 1,419 days (.44 posts per day).

20 Most recent posts:

If you honestly truly wish to create a project you can be proud of, you should be ready to invest a year to see it to completion. The modding comes quick, the learning goes long.

To start off, download the HEK and make a custom level. Custom Maps are actually the easiest thing to make, compared to custom weapons or vehicles.


Once you have a custom map, many many people have already released weapons and vehicles that you can download and add to your mods.

The most important thing about this is that you learn what you're doing. Shortcuts to get to a finished product never help you, ever, in any part of life. The end result is nowhere near important as being able to replicate it.

So when you need help post here and ask. To get started;


  • Download This
  • Acquire 3DS Max. (Don't ask how to get it, we don't discuss piracy on forum.)
  • Watch These Videos. I learned CE from the very same ones.

    Halo CE General Discussion » [RELEASE]: New Mombasa Beta Apr 24, 2018 01:34 AM (Total replies: 182)



    Halo CE General Discussion » Help, couldn't allocate subcluster Apr 21, 2018 11:10 PM (Total replies: 3)

    Make terrain portals to divide the level. If you already did, make nore of them.

    Halo CE General Discussion » [RELEASE]: New Mombasa Beta Apr 21, 2018 12:29 PM (Total replies: 182)



    (global short spawning 0)
    (global short tempint 0)
    (global short tempint2 0)
    (global short hspawning 0)

    ;;The scripts below are used by the local scripts to destroy and create the dropship that places the AI in the map. Only one AI drop can be done at a time,
    ;; the local scripts wait for their chance to spawn AI, run the create dropship command, AI gets loaded up, dropped off and then it run the destroy dropship command afterwards to clean the slate.

    (script static void spawn_dropship
    (object_create gl)
    (object_create dropship)
    (object_create gd_r)
    (object_create gd_l)
    (object_create td_r)
    (object_create td_l)


    (unit_close gl)
    (unit_close td_r)
    (unit_close td_l)

    (objects_attach dropship "gravlift" gl "")
    (objects_attach dropship "troop_door_right" td_r "")
    (objects_attach dropship "troop_door_left" td_l "")
    (objects_attach dropship "turret_door_left" gd_l "")
    (objects_attach dropship "turret_door_right" gd_r "")
    )

    (script static void destroy_dropship
    (objects_detach dropship gl)
    (objects_detach dropship td_l)
    (objects_detach dropship td_r)
    (objects_detach dropship gd_l)
    (objects_detach dropship gd_r)

    (object_destroy dropship)
    (object_destroy gl)
    (object_destroy gd_r)
    (object_destroy gd_l)
    (object_destroy td_r)
    (object_destroy td_l)
    )



    ;; Our spawn system creates a single script that spawns AI in a shared location. The AI are then migrated to local AI which populate each indivdual BSP
    ;; the spawn script is below. We call for the AI in scripts beneath it. The spawn script is global, the scripts that call it are all local.
    ;; The scripts beneath wait for the BSP to be valid, for the AI to be out of reinforcements, and for the player to be near that AI's section.
    ;; Then we run the cspawner script and wait for it to create our encounter. After 55 ticks, the local script migrates the AI and begins the dropship.
    ;;For marines, we wait until the player has left that zone and then spawn the AI, migrate the AI, and then run (ai_teleport_to_starting_location) to move them to the BSP.
    ;; the spawn points are placed so that the player cannot see them unless they are inside that zone. This makes sure that AI won't ever pop-up in front of the player's view.
    ;;For Covenant, We create 10 squads that can be dropped, to be sure there are a proper mix and setup of the characters.
    ;;Since the marines are for support, we simply pick one at random repeatedly until we have 6, and then migrate them to the local BSP.




    (script continuous hspawner ;; as hspawner is a continuous, in our startup script "Preheat" we put it to sleep remotely.
    (if (> (ai_living_count hspawn) 5)
    (sleep -1) ;; if there are more than 5 marines, the script sleeps indefinitely.
    (begin ;; if there are not more than 5 marines, it spawns one at random.


    (set tempint (random_range 1 10))

    (if (= tempint 1)
    (ai_place hspawn/MAR))
    (if (= tempint 2)
    (ai_place hspawn/MBR))
    (if (= tempint 3)
    (ai_place hspawn/OAR))
    (if (= tempint 4)
    (ai_place hspawn/OBR))
    (if (= tempint 5)
    (ai_place hspawn/M++))
    (if (= tempint 6)
    (ai_place hspawn/PSM))
    (if (= tempint 7)
    (ai_place hspawn/PSG))
    (if (= tempint 8)
    (ai_place hspawn/PHP))
    (if (= tempint 9)
    (ai_place hspawn/FMAR))
    )
    )

    ;; because the script uses the (sleep -1) command in the true return of an IF statement, when the script is woken it will return back to the IF and run again.
    ;; The ELSE half is the (begin script, which randomly spawns one AI.



    )



    (script static void cspawner
    (set tempint (random_range 1 11))

    (player_action_test_reset)

    (sleep 5)

    (if ( = 1 (player_action_test_look_relative_left))
    (begin
    (set tempint2 (random_range 1 11))
    (set tempint (/ (+ tempint tempint2) 2))
    )
    )

    (set tempint2 (random_range 1 1000))

    (if (> 500 tempint2)
    (begin
    (set tempint2 (random_range 1 11))
    (set tempint (/ (+ tempint tempint2) 2))
    )
    )

    ;; We do a plethora of random_range grabs of all different ranges because Bungie did not create a true RNG, and it always goes through the same cycle of numbers
    ;; By calling for a 5 tick player test, we also add another truly random element into the mix.
    ;; The more times we run the command, the more ticks it takes to spawn the AI, and the longer the scripts below have to wait after calling for them.

    (ai_place cspawn/g+pp)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/j+sh)
    (ai_place cspawn/s-pp)
    (ai_place cspawn/s-pp)

    (if (= (game_difficulty_get) hard)
    (begin
    (ai_place cspawn/e-pr)
    (ai_place cspawn/gund)
    )
    )
    (if (= (game_difficulty_get) impossible)
    (begin
    (ai_place cspawn/e+cb)
    (ai_place cspawn/s+nd)
    (ai_place cspawn/s+nd)
    )
    )

    (if (= tempint 1)
    (begin
    (ai_place cspawn/e-pr)
    (ai_place cspawn/e+pr)
    (ai_place cspawn/g+pp)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/j-pp)
    (ai_place cspawn/j+sh)
    )
    )

    (if (= tempint 2)
    (begin
    (ai_place cspawn/BF-BP)
    (ai_place cspawn/BF-BP)
    (ai_place cspawn/BL-CB)
    (ai_place cspawn/g+pp)
    (ai_place cspawn/s+nd)
    (ai_place cspawn/s-pp)
    (ai_place cspawn/jSCB)
    (ai_place cspawn/j-pp)
    )
    )

    (if (= tempint 3)
    (begin
    (ai_place cspawn/BL-CB)
    (ai_place cspawn/BF+BR)
    (ai_place cspawn/Bf-BP)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/GUND)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/j-pp)
    (ai_place cspawn/jSCB)
    )
    )

    (if (= tempint 4)
    (begin
    (ai_place cspawn/e+CB)
    (ai_place cspawn/e-pr)
    (ai_place cspawn/g+pp)
    (ai_place cspawn/g+pp)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/S-PP)
    (ai_place cspawn/S+ND)
    )
    )


    (if (= tempint 5)
    (begin
    (ai_place cspawn/BL+BS)
    (ai_place cspawn/BF+BR)
    (ai_place cspawn/GUND)
    (ai_place cspawn/GUND)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/s+nd)
    (ai_place cspawn/s-pp)
    )
    )

    (if (= tempint 6)
    (begin
    (ai_place cspawn/BL-CB)
    (ai_place cspawn/BF-BP)
    (ai_place cspawn/BF-BP)
    (ai_place cspawn/s+nd)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/j-pp)

    )
    )

    (if (= tempint 7)
    (begin
    (ai_place cspawn/e+CB)
    (ai_place cspawn/e+pr)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/j+pp)
    (ai_place cspawn/j+sh)
    )
    )

    (if (= tempint 8)
    (begin
    (ai_place cspawn/e+pr)
    (ai_place cspawn/e-pr)
    (ai_place cspawn/g+pp)
    (ai_place cspawn/g+pp)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/jSCB)
    (ai_place cspawn/jSCB)
    )
    )

    (if (= tempint 9)
    (begin
    (ai_place cspawn/e+CB)
    (ai_place cspawn/e-pr)
    (ai_place cspawn/e-pr)
    (ai_place cspawn/g+pp)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/j+pp)
    )
    )

    (if (= tempint 10)
    (begin
    (ai_place cspawn/EUES)
    (ai_place cspawn/e+CB)
    (ai_place cspawn/g+pp)
    (ai_place cspawn/g+pp)
    (ai_place cspawn/g-pp)
    (ai_place cspawn/j+sh)
    (ai_place cspawn/j+sh)
    )
    )


    )



    (script startup Preheat
    (sleep -1 hspawner) ;; immediately put the hspawner to sleep, so that it starts in the OFF position.
    (objects_detach dropship gl)
    (objects_detach dropship td_l)
    (objects_detach dropship td_r)
    (objects_detach dropship gd_l)
    (objects_detach dropship gd_r)

    (object_destroy dropship)
    (object_destroy gl)
    (object_destroy gd_r)
    (object_destroy gd_l)
    (object_destroy td_r)
    (object_destroy td_l)
    )





    (script continuous turf
    (sleep_until (and (= 0 (structure_bsp_index)) (< (ai_living_count 0_turf) 7) (or (volume_test_objects 0turf (players))(volume_test_objects 0alley (players))(volume_test_objects 0base (players))(volume_test_objects 0town (players))) ) 5)


    (if (= 0 spawning)
    (begin
    (set spawning 1)
    (cspawner)
    (sleep 55)
    (spawn_dropship)
    (sleep 5)
    (vehicle_load_magic gl "" (ai_actors cspawn))
    (ai_migrate cspawn 0_turf)
    (set tempint (random_range 1 3))

    (if (= 1 tempint)
    (begin
    (object_teleport dropship turf_a)
    (recording_play dropship turf_a)
    (sleep_until (> 525 (recording_time dropship)) 5)
    (unit_open gl)
    (sleep 30)
    (vehicle_unload gl "")
    (sleep_until (= 0 (recording_time dropship)) 5)
    (destroy_dropship)
    (sleep 15)
    )
    )

    (if (= 2 tempint)
    (begin
    (object_teleport dropship turf_b)
    (recording_play dropship turf_b)
    (sleep_until (> 865 (recording_time dropship)) 5)
    (unit_open gl)
    (sleep 10)
    (vehicle_unload gl "")
    (sleep_until (= 0 (recording_time dropship)) 5)
    (destroy_dropship)
    (sleep 15)
    )
    )


    (set spawning 0)


    )
    )

    )

    (script continuous courtyard
    (sleep_until (and (= 0 (structure_bsp_index)) (< (ai_living_count 0_courtyard) 7) (or (volume_test_objects 0court (players))(volume_test_objects 0alley (players))(volume_test_objects 0base (players))(volume_test_objects 0exit (players))) ) 5)



    (if (= 0 spawning)
    (begin
    (set spawning 1)
    (cspawner)
    (sleep 55)
    (spawn_dropship)
    (sleep 5)
    (vehicle_load_magic gl "" (ai_actors cspawn))
    (ai_migrate cspawn 0_courtyard)
    (set tempint (random_range 1 3))

    (if (= 1 tempint)
    (begin
    (object_teleport dropship courtyard_a)
    (recording_play dropship courtyard_a)
    (sleep_until (> 370 (recording_time dropship)) 5)
    (unit_open gl)
    (sleep 10)
    (vehicle_unload gl "")
    (sleep_until (= 0 (recording_time dropship)) 5)
    (destroy_dropship)
    (sleep 15)
    )
    )

    (if (= 2 tempint)
    (begin
    (object_teleport dropship courtyard_b)
    (recording_play dropship courtyard_b)
    (sleep_until (> 760 (recording_time dropship)) 5)
    (unit_open gl)
    (sleep 10)
    (vehicle_unload gl "")
    (sleep_until (= 0 (recording_time dropship)) 5)
    (destroy_dropship)
    (sleep 15)
    )
    )


    (set spawning 0)


    )
    )

    )


    (script continuous jalley
    (sleep_until (and (= 0 (structure_bsp_index)) (< (ai_living_count 0_jalley) 7) (or (volume_test_objects 0court (players))(volume_test_objects 0alley (players))(volume_test_objects 0base (players))(volume_test_objects 0town (players))) ) 5)

    (if (= 0 spawning)
    (begin
    (set spawning 1)
    (cspawner)
    (sleep 55)
    (spawn_dropship)
    (sleep 5)
    (vehicle_load_magic gl "" (ai_actors cspawn))
    (ai_migrate cspawn 0_jalley)
    (set tempint (random_range 1 3))

    (if (= 1 tempint)
    (begin
    (object_teleport dropship jalley_a)
    (recording_play dropship jalley_a)
    (sleep_until (> 685 (recording_time dropship)) 5)
    (unit_open gl)
    (sleep 10)
    (vehicle_unload gl "")
    (sleep_until (= 0 (recording_time dropship)) 5)
    (destroy_dropship)
    (sleep 15)
    )
    )

    (if (= 2 tempint)
    (begin
    (object_teleport dropship jalley_b)
    (recording_play dropship jalley_b)
    (sleep_until (> 765 (recording_time dropship)) 5)
    (unit_open gl)
    (sleep 10)
    (vehicle_unload gl "")
    (sleep_until (= 0 (recording_time dropship)) 5)
    (destroy_dropship)
    (sleep 15)
    )
    )


    (set spawning 0)


    )
    )

    )




    ;; These next scripts monitor the living count of the AI marines. One important part is the >10 living count check of all AI marines
    ;; Because the marines migrate, they will all end up in one encounter. If we don't cap the global AI marine count, they'll constantly spawn in the encounters
    ;; that the player isn't located next to until the game crashes. Also, we only spawn if the player is NOT in that zone, so that they won't see AI spawns.

    (script continuous 0_cybase

    (sleep_until (and (= 0 hspawning) (= 0 (structure_bsp_index)) (< (ai_living_count 0_cybase) 5) (not (volume_test_objects 0court (players))) (> 10 (+ (ai_living_count 0_cybase) (ai_living_count 0_underpass) (ai_living_count 0_oldtown)) ) ) 5)

    (set hspawning 1)
    (wake hspawner)
    (sleep_until (= 6 (ai_living_count hspawn)) 5)
    (ai_migrate hspawn 0_cybase)
    (ai_teleport_to_starting_location 0_cybase)
    (set hspawning 0)


    )

    (script continuous 0_underpass

    (sleep_until (and (= 0 hspawning) (= 0 (structure_bsp_index)) (< (ai_living_count 0_underpass) 5) (not (volume_test_objects 0base (players))) (> 10 (+ (ai_living_count 0_cybase) (ai_living_count 0_underpass) (ai_living_count 0_oldtown)) ) ) 5)

    (set hspawning 1)
    (wake hspawner)
    (sleep_until (= 6 (ai_living_count hspawn)) 5)
    (ai_migrate hspawn 0_underpass)
    (ai_teleport_to_starting_location 0_underpass)
    (set hspawning 0)

    )




    ;; The following script allows for the marines to "follow" the player around the map. Based on the location that the player is in, the marines will migrate to that encounter and use those firing points.

    (script continuous 0_migration

    (cond
    ((volume_test_objects 0base (players))
    (begin
    (ai_migrate 0_cybase 0_underpass)
    (ai_migrate 0_oldtown 0_underpass)
    ))
    ((volume_test_objects 0court (players))
    (begin
    (ai_migrate 0_underpass 0_cybase)
    (ai_migrate 0_oldtown 0_cybase)
    ))
    ((volume_test_objects 0alley (players))
    (begin
    (ai_migrate 0_cybase 0_oldtown)
    (ai_migrate 0_cybase 0_oldtown)
    ))
    ((volume_test_objects 0town (players))
    (begin
    (ai_migrate 0_cybase 0_underpass)
    (ai_migrate 0_oldtown 0_underpass)
    ))
    ((volume_test_objects 0turf (players))
    (begin
    (ai_migrate 0_cybase 0_underpass)
    (ai_migrate 0_oldtown 0_underpass)
    ))
    ((volume_test_objects 0exit (players))
    (begin
    (ai_migrate 0_underpass 0_cybase)
    (ai_migrate 0_oldtown 0_cybase)
    ))
    )
    )





    Hm, that's an interesting bit of blamscript. Based on what I'm reading there, it almost looks like the Outskirts BSP is fully playable, and uses recorded animations on dropships for placing the AI.

    I don't see anything in there about the jackal snipers yet, but I'm sure that's coming soon. I'd imagine the rest of the BSPs wouldn't take much more than some copy/pasting and Sapien work.





    Edit: As always, please say "wow interesting" so I can later update the thread.
    Edited by DeadHamster on Apr 21, 2018 at 12:58 PM

    Halo CE General Discussion » Friend can't join server Apr 21, 2018 12:25 PM (Total replies: 6)

    Use different serial numbers.

    Halo CE Technical / Map Design » Help Error Tool++ Help Apr 21, 2018 10:30 AM (Total replies: 6)

    Hm, that's a new error code for me.

    Don't use /

    use \


    tool lightmaps levels\tutorial\tutorial tutorial 0 0.9



    \ tells Tool there's a new folder. Apparently it treats / as part of the filename. Never knew this until your post.


    Quote: --- Original message by: Mann
    Took a look at your post history. AMAZING. Oh wow. I searched, but apparently not too tough! Pack it up boys, nothing to see. How embarrassing.



    You created an indepth topic that covered a lesser known aspect of modding in a technical manner.

    Plenty to see, thank you so much for your contribution. I even learned a thing or two gleaning through it.

    Halo CE General Discussion » MCC Bringing Halo CE maps to Xbox Apr 18, 2018 11:33 AM (Total replies: 8)

    It's most likely just be classic maps like Yoyorast. Actually, it's most likely to be nothing but a pet project.

    Halo CE General Discussion » [RELEASE]: New Mombasa Beta Apr 15, 2018 01:05 PM (Total replies: 182)







    This mod supports Gender Equality and the equal representation of women in the armed forces.

    but no fat chicks

    Halo CE General Discussion » Ideas Apr 11, 2018 03:37 PM (Total replies: 1)

    Quote: --- Original message by: Luke007
    Another thing, How in halo 2, you could shoot the grenade in the air and it would explode, that would be another cool add on for the games.
    Edited by Luke007 on Apr 11, 2018 at 03:24 PM



    This is why I started modding. I saw a video of somebody sniping grenades, and so downloaded a copy of Halo Trial to try myself. After a couple hours I realized you couldn't do it. Somehow, after that I came across modding. Life has never been the same.


    Thank you for bringing back that memory.

    Halo CE General Discussion » Can't Find Spawn Point / Oversized BSP's Apr 11, 2018 02:30 PM (Total replies: 4)

    Quote: --- Original message by: SBB_Michelle
    For MP scripting it's a cluster issue, which can be fixed by connecting the box trough a small tube. That's all I know.


    Thankfully I should be all clear regardless; it's for the Mombasa map and I was able to get it to spawn the character by replacing the spawn point and moving it. Might have been a bad location perhaps, not sure, but it doesn't look like my original post was accurate.

    Also, the AI placed in the box are still active even when I'm on the main structure, so I shouldn't have issues with despawning. Thanks for all the assistance however.

    Halo CE General Discussion » [RELEASE]: New Mombasa Beta Apr 10, 2018 06:03 PM (Total replies: 182)



    Shiny Shaders are too Shiny


    Change the label as mentioned. ensure the flags are off

    go to the actor variant. Change the current plugin's to Sparky's Plugins

    Find the floats called

    Items.Drop Weapon Loaded:from
    Items.Drop Weapon Loaded:to


    change both to 1.

    Report back with results.

    Halo CE General Discussion » Discord Server Needed Apr 10, 2018 01:07 PM (Total replies: 47)

    What I believe is that religion should be celebrated in places of religious importance and the privacy of one's own home, and I believe that those who advertise or speak about their religion to others who are uninterested in it are twats.

    Halo CE General Discussion » Can't Find Spawn Point / Oversized BSP's Apr 10, 2018 11:25 AM (Total replies: 4)

    This box is for AI spawning and scripting purposes.

    A single encounter is generated and spawned by scripts using a modular encounter setup, for example

    (ai_place cspawn/G+PP)
    (ai_place cspawn/G-PP)
    (ai_place cspawn/E+PR)

    would place 1 grunt major with a plasma pistol, 1 minor and an elite with a plasma rifle.

    I then move them to a dropship, and run (ai_migrate cspawn s1_e2) and the dropship drops them next to the firing points of the squad s1_e2 in the first BSP.


    Since the spawn area is present on all BSPs, now I only need one script/encounter to place my AI, instead of 1 per BSP.



    How would I go about doing what you suggested, while also maintaining the system described above? Is it a clustering issue where they get unloaded, or is it an issue of distance itself?

    Halo CE General Discussion » Can't Find Spawn Point / Oversized BSP's Apr 10, 2018 10:30 AM (Total replies: 4)

    Is anybody aware if Halo has an issue determining a spawn point when it has to take into account absurd distances in a single BSP? I have a box placed miles away from the main structure, with a spawn point for all games in the main structure. And when the game loads it won't spawn the player. I half-assed the scenario setup but have the spawnpoint/solo gametype/sky/starting profile setup properly. Is the issue the large area the game is trying to calculate?

    Halo CE General Discussion » Bypassing Max Draw Distance with OpenSauce Apr 8, 2018 05:29 PM (Total replies: 8)

    Quote: --- Original message by: SBB_Michelle
    This chimera script I made a while ago quadruples the render distance. I don't suggest increasing it more than that as weird artifacts might show up.

    It's a global script: https://cdn.discordapp.com/attachments/399989043498319872/423149982112022530/render_distance.lua


    Much appreciated. Do you have any other bits like this?


    Above the label is the string FB. That's the default label for the energy sword. Change it to PR, and change the other to PP. The plugins are rendering improperly, I recommend going to settings and changing it to the other viewtype, which separates data based on it's type (int32, floats, bitmasks). It's more complicated but teaches you what the different data bits are and how they work, and is also FAR more stable. Creating a live-scrolling container that is updated dynamically with an unknown amount of data is very difficult in Eschaton's RealBasic coding language, and it shows.

    The checkboxes should've been defaulted to on. change the viewtype in settings like I said above to verify that it's not just rendering improperly, and if it's still not on then check it to ON and then uncheck it again to OFF so that it remains off when you're finished. Just to be sure.

    If you make those changes it shouldn't blow up and you should be able to pick it up. Won't be able to see any weapon in first person though.


    A decade old tool made for editing already compiled mapfiles.

    I know it can open CE format files, pretty sure it could edit them, just not extract content.


    Download Eschaton. Open the map you want to edit

    Scroll to WEAPONS

    find the fuel rod gun

    Find bitmasks (checkboxes) that says "Detonates when drops" and uncheck it.

    Find strings (textbox) that says label, and change it to PP



    find the energy sword

    Find bitmasks (checkboxes) that says "Detonates when drops" and uncheck it.

    Find strings (textbox) that says label, and change it to PR




    Close the map and go play Halo.


Time: Thu April 26, 2018 9:26 AM 156 ms.
A Halo Maps Website