Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. The Criminal Enterprises
      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

*DO NOT* SHARE MEDIA OR LINKS TO LEAKED COPYRIGHTED MATERIAL. Discussion is allowed.

Darkpact level IV VC


Y_Less
 Share

Recommended Posts

Edit: Due to confusion about this topic I am putting this:

 

I did not and never intended to imply that I created Darkpact or remove any credit from those who deserve it (mainly Dem for the whole thing and CyQ for some help regarding the behaviour of missions in memory). My part in the creation of the original Darkpact was creating the self modifying code which reduced the tool from a multi step to single step process.

 

This method also doesn't work anyway. The game loads but has some wierd effects, I believe this is due to the lack of DMA in later builders and cannot be easilly corrected.

 

 

 

 

This is unofficial as I am posting it without going through Dem first, but I just thought I would anyway. When Dem and I first made DP we somehow (don't ask me how) left in a HUGE bug that basically meant it didn't work and would crash if you started a new game, I've fixed that and also improved some of the code using a new method for writing outside the defined memory area and so you can add more code easilly if you want.

 

First open VICESCM.INI (located in your Mission Builder directory) and under the line:

 

[variables]

 

add the following:

 

 

F22E=darkpact_var_1F232=darkpact_var_2F236=darkpact_var_3F23A=darkpact_var_4

 

 

Now fire up Mission Builder and open you main.scm.

 

Search for 'FIRE', the first block of code that comes up should look like this:

 

 

:Label00F20703A4: name_thread "FIRE":Label00F2110001: wait  0? ms      00D6: if  0?0256:   player  $player_char defined004D: jump_if_false ££Label00F3BD00D6: if  0?00DE:   player $PLAYER_CHAR driving_vehicle_type #FIRETRUK004D: jump_if_false ££Label00F3A200D6: if  1?0038:   $ONMISSION ==  0?  \\ integer values0038:    1284?? ==  0?  \\ integer values004D: jump_if_false ££Label00F39B0293:  72?? = current_controls00D6: if  0?0038:    100?? ==  1?  \\ integer values004D: jump_if_false ££Label00F2AE00D6: if  0?0038:    1280?? ==  0?  \\ integer values004D: jump_if_false ££Label00F2AE00D6: if  0?8038:   NOT    72?? ==  3?  \\ integer values004D: jump_if_false ££Label00F29D03E5: text_box "FTUTOR" \\ Press the ~h~~k~~TOGGLE_SUBMISSIONS~ button~w~ to toggle fire truck missions on or off.0002: jump ££Label00F2A7

 

 

REPLACE that lot with this:

 

 

:Label00F20703A4: name_thread "FIRE":Label00F2110001: wait  0? ms      00D6: if  1?0038:   $ONMISSION ==  0?  \\ integer values0038:    1284?? ==  0?  \\ integer values004D: jump_if_false ££Label00F39B0417: start_mission  1?0002: jump ££Label00F211;00D6: if  0?0256:   player  $player_char defined;004D: jump_if_false ££Label00F3BD00D6: if  0?00DE:   player $PLAYER_CHAR driving_vehicle_type #FIRETRUK004D: jump_if_false ££Label00F3A20293:  72?? = current_controls00D6: if  0?0038:    100?? ==  1?  \\ integer values004D: jump_if_false ££Label00F2AE00D6: if  0?0038:    1280?? ==  0?  \\ integer values004D: jump_if_false ££Label00F2AE00D6: if  0?8038:   NOT    72?? ==  3?  \\ integer values004D: jump_if_false ££Label00F29D03E5: text_box "FTUTOR" \\ Press the ~h~~k~~TOGGLE_SUBMISSIONS~ button~w~ to toggle fire truck missions on or off.0002: jump ££Label00F2A7

 

 

This will ensure the game doesn't try to run two missions at once, as the previous version tried to and also run mission 1 when needed. Now search for the start of mission one and after the lines:

 

 

:Label0396AE03A4: name_thread "INTRO"

 

 

Insert:

 

 

00D6: if  0?8038:  NOT    880?? ==  0?  \\ integer values004D: jump_if_false £LabelNEWGAMECONTINUE0004: $darkpact_var_1 = 262358&&0004: $darkpact_var_2 = 134349398&0004: $darkpact_var_3 = 16796928&&0004: $darkpact_var_4 = 62397&&0002: jump 124??:DARKPACTOR1            \\ Put any code to be run once here.004F: create_thread ££my_looping_thread055E: set player $PLAYER_CHAR max health +=  50?:DARKPACTOR2\\ Put any code to be run multiple times here004F: create_thread ££my_thread_which_sets_up_then_ends0222: set player $PLAYER_CHAR health to  256&:DARKPACTOR30004: 124?? = £DARKPACTOR2                             004E: end_thread:LabelNEWGAMECONTINUE0004: 124?? = £DARKPACTOR1

 

 

With this new version you don't just have to add threads as the jumps are not bound to 8 byte increments and you can add threads and code to run every time the game is loaded (something I have found useful recently - see my defining text thread). It also greatly reduces the size and complexity of the code.

 

Important notes:

 

This code is now v1.5 compatible!

 

It will also complain about variables out of range when you compile, however if you click OK it will compile anyway

Edited by Y_Less
Link to comment
Share on other sites

Quadropheniac90

This is nice, especially for mods who release a different scm with every release. smile.gif

 

Offtopic: Are there any tutorials for memory hacking?

user posted image
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.