Jump to content

Make a script despawn a dead actor and spawn a new one


Yorpie

Recommended Posts

Hey GTA modders,

 

I have downloaded a script which adds 17 soldiers which will guard Area 69. They will attack you with M4s and when they die the game despawns them and a couple of seconds later the game respawns a new soldier at its spawn point.

 

This is the cleo mod I'm talking about:

http://www.gtagarage.com/mods/show.php?id=13803

 

The problem for me is that this script comes in 17 cleo .cs files. Thats a bit many for one mod imo and I would like to combine them in one cleo script.

 

I am, unfortunately not good at scripting. I have managed to merge the 17 soldiers in one file, they spawn and attack as supposed to. But at the point where I'm supposed to tell the game to despawn the soldier his body and spawn a new soldier at the original spawn point, it goes wrong. The game does not despawn the soldier and does not spawn a new one.

I think I'm actually telling the game to despawn the first soldier I kill and after that return all the way to the beginning of the script. I do however not know how to make the script I'm requesting help with here. To experienced modders this will most likely be a piece of cake, but like I said, I'm not very good at this.

Here is the script:

// This file was decompiled using sascm.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013{$CLEO .CS}//-------------MAIN---------------0000: NOP :NONAME_2wait 500 if 00EC:   actor $PLAYER_ACTOR sphere 0 near_point 157.184 1932.787 radius 250.0 250.0 else_jump @NONAME_2 set_weather 11 01B5: force_weather 0 Model.Load(#ARMY)Model.Load(#M4)060A: create_decision_maker_type 0 store_to 10@ // decision\allowed\m_.ped files 07E5: copy_decision_maker 10@ to 11@ 04C4: store_coords_to 7@ 8@ 9@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 038B: load_requested_models 1@ = Actor.Create(Gang1, #ARMY, 162.19, 1932.787, 35.362)2@ = Actor.Create(Gang1, #ARMY, 243.894, 1811.294, 5.243)3@ = Actor.Create(Gang1, #ARMY, 241.485, 1832.294, 5.243)4@ = Actor.Create(Gang1, #ARMY, 241.485, 1832.294, 5.243)5@ = Actor.Create(Gang1, #ARMY, 233.084, 1845.835, 17.14)6@ = Actor.Create(Gang1, #ARMY, 231.084, 1845.835, 17.14)7@ = Actor.Create(Gang1, #ARMY, 226.184, 1931.835, 17.14)8@ = Actor.Create(Gang1, #ARMY, 157.184, 1903.835, 17.14)9@ = Actor.Create(Gang1, #ARMY, 211.084, 1811.835, 17.14)10@ = Actor.Create(Gang1, #ARMY, 275.965, 1841.254, 9.54)11@ = Actor.Create(Gang1, #ARMY, 296.195, 1847.893, 7.84)12@ = Actor.Create(Gang1, #ARMY, 298.195, 1845.893, 7.84)13@ = Actor.Create(Gang1, #ARMY, 261.465, 1869.854, 8.84)14@ = Actor.Create(Gang1, #ARMY, 239.465, 1861.854, 8.84)15@ = Actor.Create(Gang1, #ARMY, 215.465, 1852.854, 12.84)16@ = Actor.Create(Gang1, #ARMY, 215.465, 1854.854, 12.84)17@ = Actor.Create(Gang1, #ARMY, 267.195, 1882.893, -30.84)Actor.Health(1@) = 250Actor.Health(2@) = 250Actor.Health(3@) = 250Actor.Health(4@) = 250Actor.Health(5@) = 250Actor.Health(6@) = 250Actor.Health(7@) = 250Actor.Health(8@) = 250Actor.Health(9@) = 250Actor.Health(10@) = 250Actor.Health(11@) = 250Actor.Health(12@) = 250Actor.Health(13@) = 250Actor.Health(14@) = 250Actor.Health(15@) = 250Actor.Health(16@) = 250Actor.Health(17@) = 2500446: set_actor 1@ dismemberment_possible 10446: set_actor 2@ dismemberment_possible 1 0446: set_actor 3@ dismemberment_possible 1 0446: set_actor 4@ dismemberment_possible 1 0446: set_actor 5@ dismemberment_possible 1 0446: set_actor 6@ dismemberment_possible 1 0446: set_actor 7@ dismemberment_possible 1 0446: set_actor 8@ dismemberment_possible 1 0446: set_actor 9@ dismemberment_possible 1 0446: set_actor 10@ dismemberment_possible 1 0446: set_actor 11@ dismemberment_possible 1 0446: set_actor 12@ dismemberment_possible 1 0446: set_actor 13@ dismemberment_possible 1 0446: set_actor 14@ dismemberment_possible 1 0446: set_actor 15@ dismemberment_possible 1 0446: set_actor 16@ dismemberment_possible 10446: set_actor 17@ dismemberment_possible 1   060B: set_actor 1@ decision_maker_to 11@060B: set_actor 2@ decision_maker_to 11@ 060B: set_actor 3@ decision_maker_to 11@ 060B: set_actor 4@ decision_maker_to 11@ 060B: set_actor 5@ decision_maker_to 11@ 060B: set_actor 6@ decision_maker_to 11@ 060B: set_actor 7@ decision_maker_to 11@ 060B: set_actor 8@ decision_maker_to 11@ 060B: set_actor 9@ decision_maker_to 11@ 060B: set_actor 10@ decision_maker_to 11@ 060B: set_actor 11@ decision_maker_to 11@ 060B: set_actor 12@ decision_maker_to 11@ 060B: set_actor 13@ decision_maker_to 11@ 060B: set_actor 14@ decision_maker_to 11@ 060B: set_actor 15@ decision_maker_to 11@ 060B: set_actor 16@ decision_maker_to 11@060B: set_actor 17@ decision_maker_to 11@   07DD: set_actor 1@ attack_rate 100 // previously known as temper_to07DD: set_actor 2@ attack_rate 100 // previously known as temper_to 07DD: set_actor 3@ attack_rate 100 // previously known as temper_to 07DD: set_actor 4@ attack_rate 100 // previously known as temper_to 07DD: set_actor 5@ attack_rate 100 // previously known as temper_to 07DD: set_actor 6@ attack_rate 100 // previously known as temper_to 07DD: set_actor 7@ attack_rate 100 // previously known as temper_to 07DD: set_actor 8@ attack_rate 100 // previously known as temper_to 07DD: set_actor 9@ attack_rate 100 // previously known as temper_to 07DD: set_actor 10@ attack_rate 100 // previously known as temper_to 07DD: set_actor 11@ attack_rate 100 // previously known as temper_to 07DD: set_actor 12@ attack_rate 100 // previously known as temper_to 07DD: set_actor 13@ attack_rate 100 // previously known as temper_to 07DD: set_actor 14@ attack_rate 100 // previously known as temper_to 07DD: set_actor 15@ attack_rate 100 // previously known as temper_to 07DD: set_actor 16@ attack_rate 100 // previously known as temper_to07DD: set_actor 17@ attack_rate 100 // previously known as temper_to   02E0:   actor 1@ firing_weapon02E0:   actor 2@ firing_weapon02E0:   actor 3@ firing_weapon02E0:   actor 4@ firing_weapon02E0:   actor 5@ firing_weapon02E0:   actor 6@ firing_weapon02E0:   actor 7@ firing_weapon02E0:   actor 8@ firing_weapon02E0:   actor 9@ firing_weapon02E0:   actor 10@ firing_weapon02E0:   actor 11@ firing_weapon02E0:   actor 12@ firing_weapon02E0:   actor 13@ firing_weapon02E0:   actor 14@ firing_weapon02E0:   actor 15@ firing_weapon02E0:   actor 16@ firing_weapon02E0:   actor 17@ firing_weaponActor.GiveWeaponAndAmmo(1@, M4, 9999)Actor.GiveWeaponAndAmmo(2@, M4, 9999)Actor.GiveWeaponAndAmmo(3@, M4, 9999)Actor.GiveWeaponAndAmmo(4@, M4, 9999)Actor.GiveWeaponAndAmmo(5@, M4, 9999)Actor.GiveWeaponAndAmmo(6@, M4, 9999)Actor.GiveWeaponAndAmmo(7@, M4, 9999)Actor.GiveWeaponAndAmmo(8@, M4, 9999)Actor.GiveWeaponAndAmmo(9@, M4, 9999)Actor.GiveWeaponAndAmmo(10@, M4, 9999)Actor.GiveWeaponAndAmmo(11@, M4, 9999)Actor.GiveWeaponAndAmmo(12@, M4, 9999)Actor.GiveWeaponAndAmmo(13@, M4, 9999)Actor.GiveWeaponAndAmmo(14@, M4, 9999)Actor.GiveWeaponAndAmmo(15@, M4, 9999)Actor.GiveWeaponAndAmmo(16@, M4, 9999)Actor.GiveWeaponAndAmmo(17@, M4, 9999)Actor.WeaponAccuracy(1@) = 95Actor.WeaponAccuracy(2@) = 95Actor.WeaponAccuracy(3@) = 95Actor.WeaponAccuracy(4@) = 95Actor.WeaponAccuracy(5@) = 95Actor.WeaponAccuracy(6@) = 95Actor.WeaponAccuracy(7@) = 95Actor.WeaponAccuracy(8@) = 95Actor.WeaponAccuracy(9@) = 95Actor.WeaponAccuracy(10@) = 95Actor.WeaponAccuracy(11@) = 95Actor.WeaponAccuracy(12@) = 95Actor.WeaponAccuracy(13@) = 95Actor.WeaponAccuracy(14@) = 95Actor.WeaponAccuracy(15@) = 95Actor.WeaponAccuracy(16@) = 95Actor.WeaponAccuracy(17@) = 95wait 800 05D3: AS_actor 1@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA05D3: AS_actor 2@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 3@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 4@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 5@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 6@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 7@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 8@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 9@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 10@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 11@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 12@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 13@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 14@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 15@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA05D3: AS_actor 16@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA 05D3: AS_actor 17@ goto_point 7@ 8@ 9@ mode 6 time -1 ms // versionA   05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR05E2: AS_actor 3@ kill_actor $PLAYER_ACTOR05E2: AS_actor 4@ kill_actor $PLAYER_ACTOR05E2: AS_actor 5@ kill_actor $PLAYER_ACTOR05E2: AS_actor 6@ kill_actor $PLAYER_ACTOR05E2: AS_actor 7@ kill_actor $PLAYER_ACTOR05E2: AS_actor 8@ kill_actor $PLAYER_ACTOR05E2: AS_actor 9@ kill_actor $PLAYER_ACTOR05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR05E2: AS_actor 11@ kill_actor $PLAYER_ACTOR05E2: AS_actor 12@ kill_actor $PLAYER_ACTOR05E2: AS_actor 13@ kill_actor $PLAYER_ACTOR05E2: AS_actor 14@ kill_actor $PLAYER_ACTOR05E2: AS_actor 15@ kill_actor $PLAYER_ACTOR05E2: AS_actor 16@ kill_actor $PLAYER_ACTOR05E2: AS_actor 17@ kill_actor $PLAYER_ACTOR 07A5: AS_actor 1@ attack_actor $PLAYER_ACTOR time -107A5: AS_actor 2@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 3@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 4@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 5@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 6@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 7@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 8@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 9@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 10@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 11@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 12@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 13@ attack_actor $PLAYER_ACTOR time -107A5: AS_actor 14@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 15@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 16@ attack_actor $PLAYER_ACTOR time -1 07A5: AS_actor 17@ attack_actor $PLAYER_ACTOR time -1   jump @NONAME_220:NONAME_220wait 500 if    Actor.Dead(1@)else_jump @NONAME_220 jump @NONAME_305:NONAME_225wait 1000 if    Actor.Dead(2@)else_jump @NONAME_225 jump @NONAME_310:NONAME_230 wait 1000 if    Actor.Dead(3@)else_jump @NONAME_230jump @NONAME_315:NONAME_235wait 1000 if    Actor.Dead(4@)else_jump @NONAME_235jump @NONAME_320:NONAME_240wait 1000 if    Actor.Dead(5@)else_jump @NONAME_240 jump @NONAME_325:NONAME_245 wait 1000 if    Actor.Dead(6@)else_jump @NONAME_245 jump @NONAME_330:NONAME_250wait 1000 if    Actor.Dead(7@)else_jump @NONAME_250 jump @NONAME_335:NONAME_255 wait 1000 if    Actor.Dead(8@)else_jump @NONAME_255jump @NONAME_340:NONAME_260wait 1000 if    Actor.Dead(9@)else_jump @NONAME_260jump @NONAME_345:NONAME_265wait 1000 if    Actor.Dead(10@)else_jump @NONAME_265 jump @NONAME_350:NONAME_270 wait 1000 if    Actor.Dead(11@)else_jump @NONAME_270jump @NONAME_355:NONAME_275 wait 1000 if    Actor.Dead(12@)else_jump @NONAME_275 jump @NONAME_360:NONAME_280wait 1000 if    Actor.Dead(13@)else_jump @NONAME_280jump @NONAME_365:NONAME_285wait 1000 if    Actor.Dead(14@)else_jump @NONAME_285jump @NONAME_370wait 1000:NONAME_290 if    Actor.Dead(15@)else_jump @NONAME_290 jump @NONAME_375:NONAME_295wait 1000 if    Actor.Dead(16@)else_jump @NONAME_295jump @NONAME_380:NONAME_300wait 1000 if    Actor.Dead(17@)else_jump @NONAME_300jump @NONAME_385    :NONAME_305wait 1000 Actor.DestroyInstantly(1@)01B7: release_weather wait 10000 jump @NONAME_2:NONAME_310wait 1000 Actor.DestroyInstantly(2@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_315wait 1000 Actor.DestroyInstantly(3@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_320wait 1000 Actor.DestroyInstantly(4@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_325wait 1000 Actor.DestroyInstantly(5@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_330wait 1000 Actor.DestroyInstantly(6@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_335wait 1000 Actor.DestroyInstantly(7@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_340wait 1000 Actor.DestroyInstantly(8@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_345wait 1000 Actor.DestroyInstantly(9@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_350wait 1000 Actor.DestroyInstantly(10@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_355wait 1000 Actor.DestroyInstantly(11@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_360wait 1000 Actor.DestroyInstantly(12@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_365wait 1000 Actor.DestroyInstantly(13@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_370wait 1000 Actor.DestroyInstantly(14@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_375wait 1000 Actor.DestroyInstantly(15@)01B7: release_weather wait 10000 jump @NONAME_2:NONAME_380wait 1000 Actor.DestroyInstantly(16@)01B7: release_weather wait 10000 jump @NONAME_2 :NONAME_385wait 1000 Actor.DestroyInstantly(17@)01B7: release_weather wait 10000 jump @NONAME_2   

If this could be fixed that would be great. And if there are any unnecessary lines in the script or certain lines of code which could improve the script, let me know.

Link to comment
Share on other sites

That's an awful script. To try to fix it would be beating a dead horse. You'd be better off trying to make a new one from scratch :p

Link to comment
Share on other sites

johnleecrazys mod at gtagarage is also awful, 17 scripts for each actor is n00bish, read tutorials and make a new one from scratch as Deji said

Link to comment
Share on other sites

Hah, okay, I get the point ^^

 

Yes, I know, 17 scripts for some guards is awfull, I tried to fix it but yeah, no luck.

I'll try to make one from scratch. Wish me luck xp

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.