deleted account Posted November 1, 2018 Share Posted November 1, 2018 So I'm making a Ghost Rider NPC and I want him to drive a bike and try to run you over, I also want him to jump off the bike before it explodes. This is my script: // This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013 {$CLEO .CS} //-------------MAIN--------------- thread 'THERIDER' :THERIDER_THREAD_19 wait 0 if Player.Defined($PLAYER_CHAR) jf @THERIDER_THREAD_19 if $ONMISSION == 0 jf @THERIDER_THREAD_19 if 00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2775.7168 912.9667 10.8027 radius 20.0 20.0 20.0 jf @THERIDER_THREAD_19 023C: load_special_actor 'ghrider' as 1 // models 290-299 Model.Load(#FREEWAY) Model.Load(#CHROMEGUN) :THERIDER_THREAD_118 wait 0 if 023D: special_actor 1 loaded jf @THERIDER_THREAD_118 [email protected] = Actor.CreateAsDriver(Mission1, #SPECIAL01, 2836.8884, 954.5295, 10.75) Actor.Angle([email protected]) = 173.7117 Actor.Health([email protected]) = 30000 066A: [email protected] = attach_particle "FLAME" to_actor [email protected] with_offset 0.7 0.0 0 rotation 0.0 180 0.0 type 0 0883: attach_particle [email protected] to_actor [email protected] mode 1 064C: make_particle [email protected] visible 0446: set_actor [email protected] dismemberment_possible 0 04D8: set_actor [email protected] drowns_in_water 1 0946: set_actor [email protected] actions_uninterupted_by_weapon_fire 1 060B: set_actor [email protected] decision_maker_to 32 Actor.SetWalkStyle([email protected], "MAN") Actor.GiveWeaponAndAmmo([email protected], SHOTGUN, 9999) 03FE: set_actor [email protected] money 0 Actor.SetImmunities([email protected], 0, 1, 0, 0, 0) Car.SetDriverBehaviour([email protected], KillThePlayer) 05E2: AS_actor [email protected] kill_actor $PLAYER_ACTOR Model.Destroy(#SPECIAL01) :THERIDER_THREAD_264 wait 0 if Player.Defined($PLAYER_CHAR) jf @THERIDER_THREAD_338 if not Actor.Dead([email protected]) jf @THERIDER_THREAD_350 if 00F2: actor $PLAYER_ACTOR near_actor [email protected] radius 180.0 180.0 0 jf @THERIDER_THREAD_338 jump @THERIDER_THREAD_264 :THERIDER_THREAD_338 Actor.RemoveReferences([email protected]) jump @THERIDER_THREAD_19 :THERIDER_THREAD_350 0A93: end_custom_thread Link to comment Share on other sites More sharing options...
ZAZ Posted November 1, 2018 Share Posted November 1, 2018 {$CLEO .CS} thread 'THERIDER' :THERIDER_THREAD_19 wait 0 if Player.Defined($PLAYER_CHAR) jf @THERIDER_THREAD_19 if $ONMISSION == 0 jf @THERIDER_THREAD_19 if 00FE: actor $PLAYER_ACTOR sphere 1 in_sphere 2775.7168 912.9667 10.8027 radius 20.0 20.0 20.0 jf @THERIDER_THREAD_19 023C: load_special_actor 'CAT' as 1 // 023C: load_special_actor 'ghrider' as 1 Model.Load(#FREEWAY) Model.Load(#CHROMEGUN) :THERIDER_THREAD_118 wait 0 if and 0248: model #FREEWAY available 0248: model #CHROMEGUN available 023D: special_actor 1 loaded jf @THERIDER_THREAD_118 00A5: 0@ = create_car #FREEWAY at 2836.8884 954.5295 10.75 0175: set_car 0@ z_angle_to 90.0 0224: set_car 0@ health_to 3000 053F: set_car 0@ tires_vulnerable 0 00AE: set_car 0@ traffic_behaviour_to 2 00AF: set_car 0@ driver_behaviour_to 2 00AD: set_car 0@ max_speed_to 90.0 0129: 1@ = create_actor_pedtype 7 model #SPECIAL01 in_car 0@ driverseat 060B: set_actor 1@ decision_maker_to 32 Actor.Health(1@) = 30000 03FE: set_actor 1@ money 0 Actor.SetImmunities(1@, 0, 1, 0, 0, 0) 0446: set_actor 1@ dismemberment_possible 0 Actor.GiveWeaponAndAmmo(1@, 25, 9999) 02E2: set_actor 1@ weapon_accuracy_to 100 08C6: set_actor 1@ stay_on_bike 1 0713: actor 1@ driveby_actor $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 radius 5000.0 4 1 firing_rate 40 066A: 11@ = attach_particle "FLAME" to_actor 1@ with_offset 0.7 0.0 0 rotation 0.0 180 0.0 type 0 0883: attach_particle 11@ to_actor 1@ mode 1 064C: make_particle 11@ visible Model.Destroy(#SPECIAL01) :THERIDER_THREAD_264 wait 0 if Player.Defined($PLAYER_CHAR) jf @THERIDER_THREAD_338 if not Actor.Dead(1@) jf @THERIDER_THREAD_338 if 00F2: actor $PLAYER_ACTOR near_actor 1@ radius 180.0 180.0 0 jf @THERIDER_THREAD_338 jump @THERIDER_THREAD_264 :THERIDER_THREAD_338 0650: delete_particle 11@ Actor.RemoveReferences(1@) 01C3: remove_references_to_car 0@ jump @THERIDER_THREAD_19 CLEO MODS CLEO Script Tutorial Link to comment Share on other sites More sharing options...
deleted account Posted November 1, 2018 Author Share Posted November 1, 2018 (edited) 1 hour ago, ZAZ said: given code Thanks but theres a few problems; Ghost Rider doesn't jump off the bike when it goes on fire. Ghost Rider dies if the bike explodes (even if he is immune to explosions Shooting the bikes fuel cap causes the bike to explode It is possible to jack the bike If you jack the bike Ghost Rider does nothing Ghost Rider respawns when he dies Edited November 1, 2018 by SpicyDragon Link to comment Share on other sites More sharing options...
In45do Posted November 2, 2018 Share Posted November 2, 2018 (edited) Use opcode 02AC to make his bike immune to bullets, explosion, and fire. To make it not possible to jack the bike, I recommend to use opcode 07CC (make it zero to disable player stealing his bike). But using this method will make player unable to steal other car near his bike. :Somewhere_in_thread wait 0 gosub @Disable_StealBike jump @Somewhere_in_thread :Disable_StealBike if 0202: actor $PLAYER_ACTOR near_car [email protected] radius 10.0 10.0 sphere 0 jf @Enable 07CC: set_player $PLAYER_CHAR button_15 0 return :Enable 07CC: set_player $PLAYER_CHAR button_15 1 return Edited November 2, 2018 by In45do Link to comment Share on other sites More sharing options...
ZAZ Posted November 2, 2018 Share Posted November 2, 2018 (edited) 10 hours ago, SpicyDragon said: Ghost Rider doesn't jump off the bike when it goes on fire. Ghost Rider dies if the bike explodes (even if he is immune to explosions) remove_actor from_car if car will be wrecked then command him the kill player code Enlarge the script, add a condition and an extra loop for the case if actor isn't in car Condition: if 8185: not car 0@ health >= 100 jf @THERIDER_THREAD_264 0362: remove_actor 1@ from_car_and_place_at 2775.7168 912.9667 13.8 05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR extra loop: Spoiler :THERIDER_THREAD_275 wait 0 if Player.Defined($PLAYER_CHAR) jf @THERIDER_THREAD_338 if not Actor.Dead(1@) jf @THERIDER_THREAD_338 if 00F2: actor $PLAYER_ACTOR near_actor 1@ radius 180.0 180.0 0 jf @THERIDER_THREAD_338 if 00DB: actor $PLAYER_ACTOR in_car 0@ jf @THERIDER_THREAD_275 036A: put_actor 1@ in_car 0@ wait 500 if 8119: not car 0@ wrecked jf @THERIDER_THREAD_275 00AE: set_car 0@ traffic_behaviour_to 2 00AF: set_car 0@ driver_behaviour_to 2 00AD: set_car 0@ max_speed_to 90.0 08C6: set_actor 1@ stay_on_bike 1 0713: actor 1@ driveby_actor $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 radius 5000.0 4 1 firing_rate 40 jump @THERIDER_THREAD_264 10 hours ago, SpicyDragon said: Shooting the bikes fuel cap causes the bike to explode make bike bullet proof and explosion proof 02AC: set_car [email protected] immunities BP 1 FP 0 EP 1 CP 0 MP 1 10 hours ago, SpicyDragon said: It is possible to jack the bike put actor back to bike, build a conditional check inside the extra loop if 00DB: actor $PLAYER_ACTOR in_car 0@ jf @THERIDER_THREAD_275 036A: put_actor 1@ in_car 0@ wait 500 if 8119: not car 0@ wrecked jf @THERIDER_THREAD_275 00AE: set_car 0@ traffic_behaviour_to 2 00AF: set_car 0@ driver_behaviour_to 2 00AD: set_car 0@ max_speed_to 90.0 08C6: set_actor 1@ stay_on_bike 1 0713: actor 1@ driveby_actor $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 radius 5000.0 4 1 firing_rate 40 jump @THERIDER_THREAD_264 Spoiler :THERIDER_THREAD_275 wait 0 if Player.Defined($PLAYER_CHAR) jf @THERIDER_THREAD_338 if not Actor.Dead(1@) jf @THERIDER_THREAD_338 if 00F2: actor $PLAYER_ACTOR near_actor 1@ radius 180.0 180.0 0 jf @THERIDER_THREAD_338 if 00DB: actor $PLAYER_ACTOR in_car 0@ jf @THERIDER_THREAD_275 036A: put_actor 1@ in_car 0@ wait 500 if 8119: not car 0@ wrecked jf @THERIDER_THREAD_275 00AE: set_car 0@ traffic_behaviour_to 2 00AF: set_car 0@ driver_behaviour_to 2 00AD: set_car 0@ max_speed_to 90.0 08C6: set_actor 1@ stay_on_bike 1 0713: actor 1@ driveby_actor $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 radius 5000.0 4 1 firing_rate 40 jump @THERIDER_THREAD_264 or do what In45do said, use opcode 07CC 10 hours ago, SpicyDragon said: If you jack the bike Ghost Rider does nothing remove_actor from_car if car will be wrecked then command him the kill player code Enlarge the script, add a condition and an extra loop for the case if actor isn't in car 10 hours ago, SpicyDragon said: Ghost Rider respawns when he dies change last line with 0A93: end_custom_thread Edited November 2, 2018 by ZAZ CLEO MODS CLEO Script Tutorial Link to comment Share on other sites More sharing options...
deleted account Posted November 2, 2018 Author Share Posted November 2, 2018 7 hours ago, ZAZ said: put actor back to bike, build a conditional check inside the extra loop if 00DB: actor $PLAYER_ACTOR in_car 0@ jf @THERIDER_THREAD_275 036A: put_actor 1@ in_car 0@ wait 500 if 8119: not car 0@ wrecked jf @THERIDER_THREAD_275 00AE: set_car 0@ traffic_behaviour_to 2 00AF: set_car 0@ driver_behaviour_to 2 00AD: set_car 0@ max_speed_to 90.0 08C6: set_actor 1@ stay_on_bike 1 0713: actor 1@ driveby_actor $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 radius 5000.0 4 1 firing_rate 40 jump @THERIDER_THREAD_264 ...Wat, what extra loop? Also THREAD_275 doesn't exist. Link to comment Share on other sites More sharing options...
gts. Posted November 3, 2018 Share Posted November 3, 2018 (edited) 18 hours ago, SpicyDragon said: ...Wat, what extra loop? Also THREAD_275 doesn't exist. You're such a noob. Just copy all the code then implement it to the code where is your working at and do the needed tweaks to make it work with it. If a thread doesn't exist, do the needed adjustement and test it. Don't expect people to do all your work. Thread names are different because the people that are helping you is decompiling your code over and over again with the stuff you've requested and getting different names everytime, that's why some thread or anything else maybe doesn't exists in your code. Edited November 3, 2018 by gts. ZAZ 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now