Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Support

    3. Suggestions

Happy Holidays from the GTANet team!

[SA]Is actor in group


kosticn101
 Share

Recommended Posts

I wrote a script to extend limited number of group members. Basically I'm creating 7 new groups (if I try to add more, game crashes) in a array. So limit is now 7 * 7 = 49 (+ maybe 7 more members recruited using G). Idea is if you target an actor that is not in any group and press 1, he gets added to the first available group. If you do that again, he should be removed from the group. But that doesn't happen for me. Looks like 06EE: actor ACTOR in_group GROUP is always returning false so instead of removing an actor from the group, I'm adding him again. Is my game broken, or something is wrong with my script?

 

 

{$CLEO}0000: const    VK_KEY_1 = 49    MAX_GROUPS = 7    MAX_INDEX = 6    MAX_MEMBERS = 7        ACTOR = [email protected]    INDEX = [email protected]    GROUP_LEADERS = [email protected]    GROUP_MEMBERS = [email protected]    GROUP = [email protected](INDEX,MAX_GROUPSi)end :beginningwait 0if 0256: player $PLAYER_CHAR definedjf @beginning for INDEX = 0 to MAX_INDEX    062F: GROUP = create_group_type 0    0630: put_actor $PLAYER_ACTOR in_group GROUP as_leaderend while true    wait 0        if 8256: not player $PLAYER_CHAR defined    then        for INDEX = 0 to MAX_INDEX            0632: release_group GROUP        end        jump @beginning    end        if and        0AB0: key_pressed VK_KEY_1        0AD2: ACTOR = player $PLAYER_CHAR targeted_actor //IF and SET    then        for INDEX = 0 to MAX_INDEX            //HERE IS THE PROBLEM            //0AD1: show_formatted_text_highpriority "Checking group %d." time 1000 INDEX            //wait 1000            if 06EE: actor ACTOR in_group GROUP            then                0ACE: show_formatted_text_box "Actor removed from the group %d." INDEX                06C9: remove_actor ACTOR from_group                jump @break            end        end        for INDEX = 0 to MAX_INDEX            07F6: get_group GROUP number_of_leaders_to GROUP_LEADERS number_of_members_to GROUP_MEMBERS            if MAX_MEMBERS > GROUP_MEMBERS            then                0631: put_actor ACTOR in_group GROUP                0ACE: show_formatted_text_box "Actor added to the group %d." INDEX                jump @break            end        end        0ACA: show_text_box "All groups are full."        :break        while 0AB0: key_pressed VK_KEY_1            wait 0        end     endend 0A93: end_custom_thread

 

Edited by kosticn101
Link to comment
Share on other sites

Why is this:

 

for INDEX = 0 to MAX_INDEX    if 06EE: actor ACTOR in_group GROUP    then        0ACE: show_formatted_text_box "Actor removed from the group %d." INDEX        06C9: remove_actor ACTOR from_group        jump @break    endend

 


decompiled as:

 

:Noname_16700D6: if 06EE:   actor [email protected] in_group [email protected] //should be "in_group [email protected]([email protected],7i)" 004D: jump_if_false @Noname_238 0ACE: show_formatted_text_box "Actor removed from the group %d." [email protected]  06C9: remove_actor [email protected] from_group 0002: jump @Noname_399

 


Whatever variable I put there, like [email protected], it always gets (de)compiled as [email protected].
wlEBO2U.png

Temporary solution:

 

for INDEX = 0 to MAX_INDEX    hex        EE 06 03 1F 00 08 00 00 1E 00 07 00 //06EE: actor ACTOR in_group GROUP    end    jf continue    0ACE: show_formatted_text_box "Actor removed from the group %d." INDEX    06C9: remove_actor ACTOR from_group    jump @breakend

 

 

Edited by kosticn101
Link to comment
Share on other sites

I'm not sure about the group thing.

 

But about compile/decompile thing, does your SB's 'Add Extra info to SCM' is checked?

I've had similiar problem, it seems SB compiles high-level structure and constants differently if it's unchecked. Usually causes crash.

Edited by MKKJ
Link to comment
Share on other sites

It's same if I turn it off.

 

06EE: actor AAA in_group XXX

This is what happens: AAA takes place of XXX, and [email protected] takes place of AAA.

 

Can someone compile and decompile the script, to see if I'm the one with a problem?

Edited by kosticn101
Link to comment
Share on other sites

I've tried it and got same result. I solved it by changing 'ACTOR' constant to 'ACTIR'.

 

Maybe you should avoid short and literal constants like ACTOR, CAR, GROUP, WEAPON, etc. just in case.

Edited by MKKJ
Link to comment
Share on other sites

I guess that I'll just use numbers from now on...

 

 

 

{$CLEO}0000: const    VK_KEY_1 = 49    MAX_GROUPS = 7    MAX_INDEX = 6    MAX_MEMBERS = 7end :beginningwait 0if 0256: player $PLAYER_CHAR definedjf @beginning for [email protected] = 0 to MAX_INDEX    062F: [email protected]([email protected],MAX_GROUPSi) = create_group_type 0    0630: put_actor $PLAYER_ACTOR in_group [email protected]([email protected],MAX_GROUPSi) as_leaderend while true    wait 0        if 8256: not player $PLAYER_CHAR defined    then        for [email protected] = 0 to MAX_INDEX            0632: release_group [email protected]([email protected],MAX_GROUPSi)        end        jump @beginning    end        if and        0AB0: key_pressed VK_KEY_1        0AD2: [email protected] = player $PLAYER_CHAR targeted_actor //IF and SET    then        for [email protected] = 0 to MAX_INDEX            if 06EE: actor [email protected] in_group [email protected]([email protected],MAX_GROUPSi)            then                0ACE: show_formatted_text_box "Actor removed from the group %d." [email protected]                06C9: remove_actor [email protected] from_group                jump @break            end        end        for [email protected] = 0 to MAX_INDEX            07F6: get_group [email protected]([email protected],MAX_GROUPSi) number_of_leaders_to [email protected] number_of_members_to [email protected]            if MAX_MEMBERS > [email protected]            then                0631: put_actor [email protected] in_group [email protected]([email protected],MAX_GROUPSi)                0ACE: show_formatted_text_box "Actor added to the group %d." [email protected]                jump @break            end        end        0ACA: show_text_box "All groups are full."        :break        while 0AB0: key_pressed VK_KEY_1            wait 0        end     endend 0A93: end_custom_thread

 

 

Edited by kosticn101
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
 Share

  • 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.