Jump to content

Vice City Cleo Special Actor Freezing


thecommand07

Recommended Posts

Game Freezes :S

 

// This file was decompiled using VICESCM.INI published by GtaForums.com on 27.7.07{$VERSION 2.2.0000}{$CLEO .cs}//-------------MAIN---------------0000: :NONAME_2wait 0 if   Player.Defined($PLAYER_CHAR)jump @NONAME_22 :NONAME_22wait 0 if 80E0:   not player $PLAYER_CHAR driving 84A8:   not player $PLAYER_CHAR driving_boat 84C9:   not player $PLAYER_CHAR driving_plane 00E1:   key_pressed 0 13 else_jump @NONAME_22 jump @NONAME_65 :NONAME_65wait 0 Model.Load(#SPECIAL13)Model.Load(#SPECIAL04)Model.Load(#SPECIAL03)Model.Load(#RUGER)jump @NONAME_93 :NONAME_93wait 0 if   Model.Available(#SPECIAL13)  Model.Available(#SPECIAL04)  Model.Available(#SPECIAL03)  Model.Available(#RUGER)else_jump @NONAME_65 jump @NONAME_132 :NONAME_132wait 0 if and04C4: create_coordinate 4@ 5@ 6@ from_actor $PLAYER_ACTOR offset 0.0 1.2 0.0 023D:   special_actor 13 loaded 023D:   special_actor 4 loaded 023D:   special_actor 3 loaded else_jump @NONAME_65 1@ = Actor.Create(Special, #SPECIAL13, 4@, 5@, 6@)2@ = Actor.Create(Special, #SPECIAL04, 4@, 5@, 6@)3@ = Actor.Create(Special, #SPECIAL03, 4@, 5@, 6@)01B2: give_actor 1@ weapon 27 ammo 9999 // Load the weapon model before using this 01B2: give_actor 2@ weapon 27 ammo 9999 // Load the weapon model before using this 01B2: give_actor 3@ weapon 27 ammo 9999 // Load the weapon model before using this 035F: set_actor 1@ armour_to 500 035F: set_actor 2@ armour_to 500 035F: set_actor 3@ armour_to 500 Actor.Health(1@) = 950Actor.Health(2@) = 950Actor.Health(3@) = 95001D2: actor 1@ follow_player $PLAYER_CHAR 01D2: actor 2@ follow_player $PLAYER_CHAR 01D2: actor 3@ follow_player $PLAYER_CHAR jump @NONAME_351 :NONAME_3510296: unload_special_actor 13 0296: unload_special_actor 4 0296: unload_special_actor 3 Actor.DestroyInstantly(1@)Actor.DestroyInstantly(2@)Actor.DestroyInstantly(3@)Model.Destroy(#SPECIAL13)Model.Destroy(#SPECIAL04)Model.Destroy(#SPECIAL03)Model.Destroy(#RUGER)jump @NONAME_2 

 

Link to comment
Share on other sites

Specials actors are loaded in other way. Also that script has much bugs at all. It's too long to describe them all, so try to find them by yourself using that corrected code.

 

However, you must specify special actors names to get them to work.

 

 

{$CLEO}0000: NOP:NONAME_2wait 0 if    0256:   player $PLAYER_CHAR definedelse_jump @NONAME_2 // Missing line.if and // Missing 'AND'   80E0:   not player $PLAYER_CHAR driving    84A8:   not player $PLAYER_CHAR driving_boat    84C9:   not player $PLAYER_CHAR driving_plane    00E1:   key_pressed 0 13 else_jump @NONAME_2 // Corrected jump offset. 023C: load_special_actor 'model' as 1 // First special actor model023C: load_special_actor 'model' as 2 // Second special actor model023C: load_special_actor 'model' as 3 // Third special actor model0247: request_model #RUGER038B: load_requested_models // I think that III and VC needs that opcode (unlike SA).:NONAME_93wait 0 if and // Missing 'AND' again.    023D:   special_actor 1 loaded   023D:   special_actor 2 loaded   023D:   special_actor 3 loaded   0248:   model #RUGER availableelse_jump @NONAME_93 // Corrected jump offset.04C4: create_coordinate 4@ 5@ 6@ from_actor $PLAYER_ACTOR offset 0.0 1.2 0.0 // Put out of 'if'.1@ = Actor.Create(Special, #SPECIAL01, 4@, 5@, 6@)2@ = Actor.Create(Special, #SPECIAL02, 4@, 5@, 6@)3@ = Actor.Create(Special, #SPECIAL03, 4@, 5@, 6@)01B2: give_actor 1@ weapon 27 ammo 9999 // Load the weapon model before using this 01B2: give_actor 2@ weapon 27 ammo 9999 // Load the weapon model before using this 01B2: give_actor 3@ weapon 27 ammo 9999 // Load the weapon model before using this 035F: set_actor 1@ armour_to 500 035F: set_actor 2@ armour_to 500 035F: set_actor 3@ armour_to 500 Actor.Health(1@) = 950Actor.Health(2@) = 950Actor.Health(3@) = 95001D2: actor 1@ follow_player $PLAYER_CHAR 01D2: actor 2@ follow_player $PLAYER_CHAR 01D2: actor 3@ follow_player $PLAYER_CHAR 0296: unload_special_actor 1 0296: unload_special_actor 2 0296: unload_special_actor 3 {Actor.DestroyInstantly(1@)  // These lines will make actors just dissapear, so whole script will be useless.Actor.DestroyInstantly(2@)   // I'd suggest to make a check if they're dead and then remove their references.Actor.DestroyInstantly(3@)  }0249: release_model #RUGERjump @NONAME_2 

 

 

 

 

 

Link to comment
Share on other sites

spaceeinstein

Sorry, it's entirely my fault but the incorrect format became standard. Change

 

023C: load_special_actor 'model' as 1 // First special actor model023C: load_special_actor 'model' as 2 // Second special actor model023C: load_special_actor 'model' as 3 // Third special actor model

 

to

 

023C: load_special_actor 1 'BURGER'023C: load_special_actor 2 'BURGER'023C: load_special_actor 3 'BURGER'

 

I'm using the temporary actor BURGER so that the game wouldn't crash when you just copy and paste. Change the code according to your needs.

 

The oddest thing that I don't understand is where do people learn how to do this:

 

jump @NONAME_132:NONAME_132

 

??? It's really redundant to put a jump there when it's going to jump anyway.

Edited by spaceeinstein
Link to comment
Share on other sites

  • 11 months later...

Hi guys..

I need some help please!

I'm make this script but;

When actors died,

He's don't destroy instantly!

Why this actors when die don't destroy instantly ?

Please help me about this:

 

 

// This file was decompiled using vicescm.ini published by GtaForums.com on 27.7.07{$VERSION 2.2.0000}{$CLEO .cs}//-------------MAIN---------------0000: :NONAME_2wait 0 if   Player.Defined($PLAYER_CHAR)else_jump @NONAME_2 if and80E0:   not player $PLAYER_CHAR driving 84A8:   not player $PLAYER_CHAR driving_boat 84C9:   not player $PLAYER_CHAR driving_plane 00E1:   key_pressed 0 19 00E1:   key_pressed 0 13 else_jump @NONAME_2 023C: load_special_actor 1 'DGOONA' 023C: load_special_actor 2 'DGOONB' 023C: load_special_actor 3 'DGOONC' 023C: load_special_actor 4 'BOUNCA' Model.Load(#RUGER)038B: load_requested_models :NONAME_115wait 0 if and023D:   special_actor 1 loaded 023D:   special_actor 2 loaded 023D:   special_actor 3 loaded 023D:   special_actor 4 loaded   Model.Available(#RUGER)else_jump @NONAME_115 04C4: create_coordinate 5@ 6@ 7@ from_actor $PLAYER_ACTOR offset 0.0 1.2 0.0 1@ = Actor.Create(Gang7, #SPECIAL01, 5@, 6@, 7@)04F5: unknown_actor 1@ kiss_player $PLAYER_CHAR on 1 Actor.Angle(1@) = 281.02@ = Actor.Create(Gang7, #SPECIAL02, 5@, 6@, 7@)04F5: unknown_actor 2@ kiss_player $PLAYER_CHAR on 1 Actor.Angle(2@) = 281.03@ = Actor.Create(Gang7, #SPECIAL03, 5@, 6@, 7@)04F5: unknown_actor 3@ kiss_player $PLAYER_CHAR on 1 Actor.Angle(3@) = 281.04@ = Actor.Create(Gang7, #SPECIAL04, 5@, 6@, 7@)04F5: unknown_actor 4@ kiss_player $PLAYER_CHAR on 1 Actor.Angle(4@) = 281.001B2: give_actor 1@ weapon 27 ammo 9999 // Load the weapon model before using this 01B2: give_actor 2@ weapon 27 ammo 9999 // Load the weapon model before using this 01B2: give_actor 3@ weapon 27 ammo 9999 // Load the weapon model before using this 01B2: give_actor 4@ weapon 27 ammo 9999 // Load the weapon model before using this 035F: set_actor 1@ armour_to 500 035F: set_actor 2@ armour_to 500 035F: set_actor 3@ armour_to 500 035F: set_actor 4@ armour_to 500 01DF: tie_actor 1@ to_player $PLAYER_CHAR 01DF: tie_actor 2@ to_player $PLAYER_CHAR 01DF: tie_actor 3@ to_player $PLAYER_CHAR 01DF: tie_actor 4@ to_player $PLAYER_CHAR Actor.Health(1@) = 950Actor.Health(2@) = 950Actor.Health(3@) = 950Actor.Health(4@) = 95001D2: actor 1@ follow_player $PLAYER_CHAR 01D2: actor 2@ follow_player $PLAYER_CHAR 01D2: actor 3@ follow_player $PLAYER_CHAR 01D2: actor 4@ follow_player $PLAYER_CHAR if   Actor.Dead(1@)  Actor.Dead(2@)  Actor.Dead(3@)  Actor.Dead(4@)Model.Destroy(1@)Model.Destroy(2@)Model.Destroy(3@)Model.Destroy(4@)Model.Destroy(#RUGER)0296: unload_special_actor 1 0296: unload_special_actor 2 0296: unload_special_actor 3 0296: unload_special_actor 4 jump @NONAME_2 

 

Thanx..

Link to comment
Share on other sites

Like this

 

 

{$CLEO .cs}//-------------MAIN---------------0000::NONAME_2wait 0if Player.Defined($PLAYER_CHAR)else_jump @NONAME_2if and80E0:   not player $PLAYER_CHAR driving84A8:   not player $PLAYER_CHAR driving_boat84C9:   not player $PLAYER_CHAR driving_plane00E1:   key_pressed 0 1900E1:   key_pressed 0 13else_jump @NONAME_2023C: load_special_actor 1 'DGOONA'023C: load_special_actor 2 'DGOONB'023C: load_special_actor 3 'DGOONC'023C: load_special_actor 4 'BOUNCA'Model.Load(#RUGER)038B: load_requested_models:NONAME_115wait 0if and023D:   special_actor 1 loaded023D:   special_actor 2 loaded023D:   special_actor 3 loaded023D:   special_actor 4 loaded Model.Available(#RUGER)else_jump @NONAME_11504C4: create_coordinate 5@ 6@ 7@ from_actor $PLAYER_ACTOR offset 0.0 1.2 0.01@ = Actor.Create(Gang7, #SPECIAL01, 5@, 6@, 7@)04F5: unknown_actor 1@ kiss_player $PLAYER_CHAR on 1Actor.Angle(1@) = 281.02@ = Actor.Create(Gang7, #SPECIAL02, 5@, 6@, 7@)04F5: unknown_actor 2@ kiss_player $PLAYER_CHAR on 1Actor.Angle(2@) = 281.03@ = Actor.Create(Gang7, #SPECIAL03, 5@, 6@, 7@)04F5: unknown_actor 3@ kiss_player $PLAYER_CHAR on 1Actor.Angle(3@) = 281.04@ = Actor.Create(Gang7, #SPECIAL04, 5@, 6@, 7@)04F5: unknown_actor 4@ kiss_player $PLAYER_CHAR on 1Actor.Angle(4@) = 281.001B2: give_actor 1@ weapon 27 ammo 9999 // Load the weapon model before using this01B2: give_actor 2@ weapon 27 ammo 9999 // Load the weapon model before using this01B2: give_actor 3@ weapon 27 ammo 9999 // Load the weapon model before using this01B2: give_actor 4@ weapon 27 ammo 9999 // Load the weapon model before using this035F: set_actor 1@ armour_to 500035F: set_actor 2@ armour_to 500035F: set_actor 3@ armour_to 500035F: set_actor 4@ armour_to 50001DF: tie_actor 1@ to_player $PLAYER_CHAR01DF: tie_actor 2@ to_player $PLAYER_CHAR01DF: tie_actor 3@ to_player $PLAYER_CHAR01DF: tie_actor 4@ to_player $PLAYER_CHARActor.Health(1@) = 950Actor.Health(2@) = 950Actor.Health(3@) = 950Actor.Health(4@) = 95001D2: actor 1@ follow_player $PLAYER_CHAR01D2: actor 2@ follow_player $PLAYER_CHAR01D2: actor 3@ follow_player $PLAYER_CHAR01D2: actor 4@ follow_player $PLAYER_CHAR:NONAME_116if Actor.Dead(1@) Actor.Dead(2@) Actor.Dead(3@) Actor.Dead(4@)jf @NONAME_116Model.Destroy(1@)Model.Destroy(2@)Model.Destroy(3@)Model.Destroy(4@)Model.Destroy(#RUGER)0296: unload_special_actor 10296: unload_special_actor 20296: unload_special_actor 30296: unload_special_actor 4jump @NONAME_2 

 

Link to comment
Share on other sites

 

U forgot about else_jump at last "if" ...

Easy. You're missing else_jump here

 

 

if  Actor.Dead(1@) Actor.Dead(2@) Actor.Dead(3@) Actor.Dead(4@)

 

 

Also, it requires an AND operator, to be if and.

 

@up

Your version will be stuck in infinite loop due to lack of any wait.

Link to comment
Share on other sites

U forgot about else_jump at last "if" ...

Easy. You're missing else_jump here

 

 

if  Actor.Dead(1@) Actor.Dead(2@) Actor.Dead(3@) Actor.Dead(4@)

 

 

Also, it requires an AND operator, to be if and.

 

@up

Your version will be stuck in infinite loop due to lack of any wait.

 

if and Actor.Dead(1@) Actor.Dead(2@) Actor.Dead(3@) Actor.Dead(4@)else_jump @NONAME_115

 

this or how?

Link to comment
Share on other sites

Like this

 

 

{$CLEO .cs}//-------------MAIN---------------0000::NONAME_2wait 0if Player.Defined($PLAYER_CHAR)else_jump @NONAME_2if and80E0:   not player $PLAYER_CHAR driving84A8:   not player $PLAYER_CHAR driving_boat84C9:   not player $PLAYER_CHAR driving_plane00E1:   key_pressed 0 1900E1:   key_pressed 0 13else_jump @NONAME_2023C: load_special_actor 1 'DGOONA'023C: load_special_actor 2 'DGOONB'023C: load_special_actor 3 'DGOONC'023C: load_special_actor 4 'BOUNCA'Model.Load(#RUGER)038B: load_requested_models:NONAME_115wait 0if and023D:   special_actor 1 loaded023D:   special_actor 2 loaded023D:   special_actor 3 loaded023D:   special_actor 4 loaded Model.Available(#RUGER)else_jump @NONAME_11504C4: create_coordinate 5@ 6@ 7@ from_actor $PLAYER_ACTOR offset 0.0 1.2 0.01@ = Actor.Create(Gang7, #SPECIAL01, 5@, 6@, 7@)04F5: unknown_actor 1@ kiss_player $PLAYER_CHAR on 1Actor.Angle(1@) = 281.02@ = Actor.Create(Gang7, #SPECIAL02, 5@, 6@, 7@)04F5: unknown_actor 2@ kiss_player $PLAYER_CHAR on 1Actor.Angle(2@) = 281.03@ = Actor.Create(Gang7, #SPECIAL03, 5@, 6@, 7@)04F5: unknown_actor 3@ kiss_player $PLAYER_CHAR on 1Actor.Angle(3@) = 281.04@ = Actor.Create(Gang7, #SPECIAL04, 5@, 6@, 7@)04F5: unknown_actor 4@ kiss_player $PLAYER_CHAR on 1Actor.Angle(4@) = 281.001B2: give_actor 1@ weapon 27 ammo 9999 // Load the weapon model before using this01B2: give_actor 2@ weapon 27 ammo 9999 // Load the weapon model before using this01B2: give_actor 3@ weapon 27 ammo 9999 // Load the weapon model before using this01B2: give_actor 4@ weapon 27 ammo 9999 // Load the weapon model before using this035F: set_actor 1@ armour_to 500035F: set_actor 2@ armour_to 500035F: set_actor 3@ armour_to 500035F: set_actor 4@ armour_to 50001DF: tie_actor 1@ to_player $PLAYER_CHAR01DF: tie_actor 2@ to_player $PLAYER_CHAR01DF: tie_actor 3@ to_player $PLAYER_CHAR01DF: tie_actor 4@ to_player $PLAYER_CHARActor.Health(1@) = 950Actor.Health(2@) = 950Actor.Health(3@) = 950Actor.Health(4@) = 95001D2: actor 1@ follow_player $PLAYER_CHAR01D2: actor 2@ follow_player $PLAYER_CHAR01D2: actor 3@ follow_player $PLAYER_CHAR01D2: actor 4@ follow_player $PLAYER_CHAR:NONAME_116if Actor.Dead(1@) Actor.Dead(2@) Actor.Dead(3@) Actor.Dead(4@)jf @NONAME_116Model.Destroy(1@)Model.Destroy(2@)Model.Destroy(3@)Model.Destroy(4@)Model.Destroy(#RUGER)0296: unload_special_actor 10296: unload_special_actor 20296: unload_special_actor 30296: unload_special_actor 4jump @NONAME_2 

 

OK,waiting second I'm checkin it

Link to comment
Share on other sites

  • 2 weeks later...
Game freezes sad.gif

Because if You use a loop you HAVE TO use "wait 0" otherwise game surely will crash tounge.gif but can be also any other value than 0. The easiest way is:

 

:NONAME_116wait 0ifActor.Dead(1@)Actor.Dead(2@)Actor.Dead(3@)Actor.Dead(4@)jf @NONAME_116Model.Destroy(1@)Model.Destroy(2@)Model.Destroy(3@)Model.Destroy(4@)Model.Destroy(#RUGER)0296: unload_special_actor 10296: unload_special_actor 20296: unload_special_actor 30296: unload_special_actor 4jump @NONAME_2

 

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.