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

How do I make a condition?


levenshtein
 Share

Recommended Posts

Hi, i'm starting modding my vice city buy i cannot make conditions. I usually program in PHP, ASP and PERL.

That languages use IF{}, ELSEIF{} and ELSE{} statements.

Well, I need to know what do "jump_if_false", "jump" and "gosub" mean and how to use them.

 

i need a condition that checks IF $PLAYER_CHAR is driving_taxi_vehicle.

If TRUE, set_car door_status_to 0.

Else, do nothing

 

 

I tried this, but I dont know where to put it:

 

00D6: if  0

02DE:  player $PLAYER_CHAR driving_taxi_vehicle

004D: jump_if_false ££OPEN_DOORS

 

:OPEN_DOORS

0001: wait  0 ms

00D6: if  0

00E0:  player $PLAYER_CHAR driving

004D: jump_if_false ££Label011181

03C1:  [email protected] = player $PLAYER_CHAR car

020A: set_car  [email protected] door_status_to  0

 

 

But i dont know what does "jump_if_false" mean, and why "if 0" or "if 1".

 

I understand 03C1, 00E0, 020A,

 

Can anyone help me please explaining me this? Thanks smile.gif

Link to comment
Share on other sites

Syntax:

 

 

if 0[condition]jf @label

 

 

If 0 checks if something is true

 

 

if or[condition][condition]jf @label

 

 

2-9 condtitions

 

If or checks if one of some conditions is true 2 min 9 max

 

 

if and[condition][condition]jf @label

 

 

2-9 condtitions

 

If and checks if all conditions are true 2 min 9 max

 

Ex:

 

 

:1wait 0if [email protected] == 1jf @[email protected] = 23

 

 

That checks if [email protected] is equal to 1 if not the game engine jumps back to label 1 it's true then the game engine continues.

 

:[labelname]

Denotes a label

 

@[labelname]

Denotes the label which should be reached

 

 

 

Link to comment
Share on other sites

You appear to be using Bartons Mission Builder format. I'd suggest using Sanny Builder instead.

 

It shouldn't be too hard to learn basic SCM Coding when you already have previous coding experience. For me, learning SCM Coding also taught me the basics behind how code works, which I apply to other languages including PHP.

 

Luckily Sanny Builder supports high constructs that you will be familiar with:

 

 

if   0019:   [email protected] > 0then   0006: [email protected] = 0end

 

 

Sanny compiles on a line-by-line basis so it isn't so easy for it to determine where a line starts and ends. This means you have to code most things on seperate lines. However I've found I can get away with doing this:

 

if 0019:   [email protected] > 2then 0006: [email protected] = 2end

 

 

A lot shorter and easy to identify that we're limiting [email protected] to 2. We also have IF..THEN..ELSE...END.

 

if   056D:   actor [email protected] definedthen   0762: AS_actor [email protected] dieselse   009A: [email protected] = create_actor_pedtype 4 model #MALE01 at 2488.562 -1666.865 13.8757end

 

 

There's no actual "ELSEIF", however, we can do the same thing by putting the next IF inside the ELSE.

 

if   056D:   actor [email protected] definedthen   0762: AS_actor [email protected] dieselse   if       0248:   model #MALE01 available   then       009A: [email protected] = create_actor_pedtype 4 model #MALE01 at 2488.562 -1666.865 13.8757   endend

 

 

You could also shorten it to look more like "elseif"...

 

if   056D:   actor [email protected] definedthen   0762: AS_actor [email protected] dieselse if         0248:   model #MALE01 available     then         009A: [email protected] = create_actor_pedtype 4 model #MALE01 at 2488.562 -1666.865 13.8757     endend

 

 

There are many ways to make basic SCM look a bit less like a table of hex smile.gif

 

Although in advanced SCM, that's probably what you want.

 

 

Gosub

 

Gosubs are a little different. They work like this:

 

 

[email protected] = 0gosub @ChangeVar   // the code will stop here until the "return" is made// [email protected] == 1end_thread:[email protected] = 1return

 

 

This is kinda like a static function in programming. A function that just executes code, without taking or returning any values... SCM Functions are for that.

Edited by Deji
Link to comment
Share on other sites

You appear to be using Bartons Mission Builder format. I'd suggest using Sanny Builder instead.

 

It shouldn't be too hard to learn basic SCM Coding when you already have previous coding experience. For me, learning SCM Coding also taught me the basics behind how code works, which I apply to other languages including PHP.

Thanks you a lot. It works now smile.gif

Link to comment
Share on other sites

Syntax:

 

 

if 0[condition]jf @label

 

 

If 0 checks if something is true

 

 

if or[condition][condition]jf @label

 

 

2-9 condtitions

 

If or checks if one of some conditions is true 2 min 9 max

 

 

if and[condition][condition]jf @label

 

 

2-9 condtitions

 

If and checks if all conditions are true 2 min 9 max

 

Ex:

 

 

:1wait 0if [email protected] == 1jf @[email protected] = 23

 

 

That checks if [email protected] is equal to 1 if not the game engine jumps back to label 1 it's true then the game engine continues.

 

:[labelname]

Denotes a label

 

@[labelname]

Denotes the label which should be reached

Thakns you. I was very usefull.

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.