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

Home  Search Register  Login Member ListRecent Posts
  
 
»Forums Index »Halo Custom Edition (Bungie/Gearbox) »Halo CE General Discussion »Confused about random weapon script?

Author Topic: Confused about random weapon script? (6 messages, Page 1 of 1)
Moderators: Dennis

S12Spark
Joined: Apr 25, 2015


Posted: Aug 10, 2016 10:30 PM    Msg. 1 of 6       
Alright, I was looking through firefight descents scripts to see how it implemented random weapon spawns, and here is what I have got so far.
(global boolean bubbleblocker false)
(global boolean refirsttime true)
(global boolean continue_diff false)
(global boolean roof_and_phantom_nav false)
(global boolean golden true)
(global boolean give_me_cookies false)
(global boolean give_me_cupcakes true)
(global boolean hunterwalk false)
(global boolean easter_panels false)
(global boolean sentinels_in_play false)
(global boolean tutorial_completed false)
(global boolean phantoms_in_process false)
(global boolean place_phantom1 false)
(global boolean place_phantom2 false)
(global boolean place_phantom3 false)
(global boolean music_timer_over false)
(global boolean resume_music false)
(global boolean natural_male_enhancement false)
(global boolean teammate_spawned false)
(global boolean cycle_diff false)
(global boolean execute_weapondrop false)
(global boolean loop_roundextra false)
(global boolean begin_start_cutscene false)
(global boolean kill_messages false)
(global boolean dead false)
(global boolean in_the_zone false)
(global boolean player_extracting false)
(global boolean restart_tracklist false)
(global boolean continue_music false)
(global boolean deadlycookie false)
(global boolean extraction_in_process false)
(global boolean cheater false)
(global boolean camo_spawned false)
(global boolean max_lives false)
(global boolean enemyseeme true)
(global boolean sentinels_ok true)
(global short gold_panels_activated 0)
(global short wave_count 0)
(global short easter_panels_activated 0)
(global short diff -1)
(global short lives 999)
(global short rounds_completed 0)
(global short halfrounds_completed 0)
(global short loadout 0)
(global short weapondropvalue 0)
(global short spawngun_ar 1)
(global short spawngun_tbr 1)
(global short spawngun_br 1)
(global short spawngun_sg 1)
(global short spawngun_socom 1)
(global short spawngun_sniper 1)
(global short spawngun_tar 1)
(global short spawngun_smg 1)
(global short spawngun_health 1)
(global short spawngun_camo 1)
(global short spawngun_grenade 1)
(global short spawngun_laz0r 1)
(global short spawngun_rl 1)
(global short spawngun_asskicker 1)
(global short spawngun_over 1)
(global short bonus_wave_count 0)



(script static void weapondrop_regularweps
(set camo_spawned false)
(object_destroy_containing spawngun)
(if (or (= weapondropvalue 0)(= weapondropvalue 1))
(begin
(if (= spawngun_ar 1)
(object_create_anew spawngun_ar1)
)
(if (= spawngun_ar 2)
(object_create_anew spawngun_ar2)
)
(if (= spawngun_ar 3)
(object_create_anew spawngun_ar3)
)
(if (= spawngun_ar 4)
(begin
(object_create_anew spawngun_ar4)
(set spawngun_ar 1)
)
)
(set spawngun_ar (+ spawngun_ar 1))
)
)
(if (= weapondropvalue 2)
(begin
(if (= spawngun_tbr 1)
(object_create_anew spawngun_tbr1)
)
(if (= spawngun_tbr 2)
(object_create_anew spawngun_tbr2)
)
(if (= spawngun_tbr 3)
(object_create_anew spawngun_tbr3)
)
(if (= spawngun_tbr 4)
(begin
(object_create_anew spawngun_tbr4)
(set spawngun_tbr 1)
)
)
(set spawngun_tbr (+ spawngun_tbr 1))
)
)
(if (= weapondropvalue 3)
(begin
(if (= spawngun_br 1)
(object_create_anew spawngun_br1)
)
(if (= spawngun_br 2)
(object_create_anew spawngun_br2)
)
(if (= spawngun_br 3)
(object_create_anew spawngun_br3)
)
(if (= spawngun_br 4)
(begin
(object_create_anew spawngun_br4)
(set spawngun_br 1)
)
)
(set spawngun_br (+ spawngun_br 1))
)
)
(if (= weapondropvalue 4)
(begin
(if (= spawngun_sg 1)
(object_create_anew spawngun_sg1)
)
(if (= spawngun_sg 2)
(object_create_anew spawngun_sg2)
)
(if (= spawngun_sg 3)
(object_create_anew spawngun_sg3)
)
(if (= spawngun_sg 4)
(begin
(object_create_anew spawngun_sg4)
(set spawngun_sg 1)
)
)
(set spawngun_sg (+ spawngun_sg 1))
)
)
(if (= weapondropvalue 5)
(begin
(if (= spawngun_socom 1)
(object_create_anew spawngun_socom1)
)
(if (= spawngun_socom 2)
(object_create_anew spawngun_socom2)
)
(if (= spawngun_socom 3)
(object_create_anew spawngun_socom3)
)
(if (= spawngun_socom 4)
(begin
(object_create_anew spawngun_socom4)
(set spawngun_socom 1)
)
)
(set spawngun_socom (+ spawngun_socom 1))
)
)
(if (= weapondropvalue 6)
(begin
(if (= spawngun_sniper 1)
(object_create_anew spawngun_sniper1)
)
(if (= spawngun_sniper 2)
(object_create_anew spawngun_sniper2)
)
(if (= spawngun_sniper 3)
(object_create_anew spawngun_sniper3)
)
(if (= spawngun_sniper 4)
(begin
(object_create_anew spawngun_sniper4)
(set spawngun_sniper 1)
)
)
(set spawngun_sniper (+ spawngun_sniper 1))
)
)
(if (= weapondropvalue 7)
(begin
(if (= spawngun_tar 1)
(object_create_anew spawngun_tar1)
)
(if (= spawngun_tar 2)
(object_create_anew spawngun_tar2)
)
(if (= spawngun_tar 3)
(object_create_anew spawngun_tar3)
)
(if (= spawngun_tar 4)
(begin
(object_create_anew spawngun_tar4)
(set spawngun_tar 1)
)
)
(set spawngun_tar (+ spawngun_tar 1))
)
)
(if (= weapondropvalue 8)
(begin
(if (= spawngun_smg 1)
(object_create_anew spawngun_smg1)
)
(if (= spawngun_smg 2)
(object_create_anew spawngun_smg2)
)
(if (= spawngun_smg 3)
(object_create_anew spawngun_smg3)
)
(if (= spawngun_smg 4)
(begin
(object_create_anew spawngun_smg4)
(set spawngun_smg 1)
)
)
(set spawngun_smg (+ spawngun_smg 1))
)
)
(if (= weapondropvalue 9)
(begin
(if (= spawngun_health 1)
(object_create_anew spawngun_health1)
)
(if (= spawngun_health 2)
(begin
(object_create_anew spawngun_health2)
(set spawngun_health 0)
)
)
(set spawngun_health (+ spawngun_health 1))
)
)
(if (= weapondropvalue 10)
(begin
(if (= spawngun_camo 1)
(begin
(object_create_anew spawngun_camo1)
(set camo_spawned true)
)
)
(if (= spawngun_camo 2)
(object_create_anew spawngun_over1)
)
(if (= spawngun_camo 3)
(begin
(object_create_anew spawngun_camo2)
(set camo_spawned true)
)
)
(if (= spawngun_camo 4)
(begin
(object_create_anew spawngun_over2)
(set spawngun_camo 1)
)
)
(set spawngun_camo (+ spawngun_camo 1))
)
)
(if (= weapondropvalue 11)
(begin
(if (= spawngun_grenade 1)
(object_create_anew spawngun_grenade1)
)
(if (= spawngun_grenade 2)
(begin
(object_create_anew spawngun_grenade2)
(set spawngun_grenade 0)
)
)
(set spawngun_grenade (+ spawngun_grenade 1))
)
)
(effect_new "effects\blood aoe flood" awesome_orb)
(effect_new "effects\blood aoe flood" startboom1)
(effect_new "effects\blood aoe flood" startboom2)
(effect_new "effects\blood aoe flood" startboom7)
)


(script static void moooseguy_is_awesome
(sleep 60)
(if (= execute_weapondrop true)
(begin
(sleep 90)
(weapondrop_regularweps)
)
)
)

(script startup startup_test
(sleep 180)
(set execute_weapondrop false)
(moooseguy_is_awesome)
(weapondrop_regularweps)
(sleep 180)
(set execute_weapondrop false)
(moooseguy_is_awesome)
(weapondrop_regularweps)
(sleep 180)
(set execute_weapondrop false)
(moooseguy_is_awesome)
(weapondrop_regularweps)
)


Now, what I do not understand is how it is random at all in the map, even after looking at the scripts, and I have not gotten the random factor to work at all yet, I have to execute weapondrop_regularweps the number of times to get to the certain weapon, so how was it randomized in the actual map? I can't figure that part out. I'm using weapons, and not item collections if it matters.

EDIT: Alright, so I added a new part to the script

(script continuous level_functions
(if (= weapondropvalue 11)
(set weapondropvalue 0)
)
(set weapondropvalue (+ weapondropvalue 1)))


and now at least I am getting different drops, but they aren't random, it spawns a healthpack first, then a tar, then a socom. every time I load the map, in that order.

I tried setting the set execute_weapondrop to true and now all it is giving me is a grenade 3 times.

Edited by S12Spark on Aug 10, 2016 at 10:38 PM
Edited by S12Spark on Aug 10, 2016 at 10:53 PM


S12Spark
Joined: Apr 25, 2015


Posted: Aug 10, 2016 10:54 PM    Msg. 2 of 6       
Nothing like that in the original scripts, that were release with the map, so nothing could be missing.
Edited by S12Spark on Aug 10, 2016 at 10:55 PM


S12Spark
Joined: Apr 25, 2015


Posted: Aug 10, 2016 10:58 PM    Msg. 3 of 6       
Quote: --- Original message by: mannypetty
Why must you follow the original scripts?
As I do not know scripting, at least very well, I would not know how or where to use the script you provided above, and I find it strange that if it is working in the original map and no mention of randomization in the scripts, why would I need it?


S12Spark
Joined: Apr 25, 2015


Posted: Aug 10, 2016 11:04 PM    Msg. 4 of 6       
Yet it isn't random, in any way shape or form. Unless I'm just setting it up wrong. not only that, it is only spawning the grenades, every time.

I just don't understand what is making it not function like it should, as the script is the same.
Edited by S12Spark on Aug 10, 2016 at 11:22 PM


Fubih
Joined: Jul 19, 2011

dead


Posted: Aug 11, 2016 03:51 AM    Msg. 5 of 6       
You don't need a script for this. Open your scenario with Guerilla and scroll down till you find Starting Equipment.
Then just make an item collection that holds all of your weapons, and use that.


S12Spark
Joined: Apr 25, 2015


Posted: Aug 11, 2016 05:11 PM    Msg. 6 of 6       
No, I meant for singleplayer, and being able to spawn it on the ground, item collections don't spawn in singleplayer, and not only that, I also believe you cannot name them and spawn them via a script.

So, back to square one.

 

 
Previous Older Thread    Next newer Thread







Time: Thu January 19, 2023 2:14 AM 156 ms.
A Halo Maps Website