Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. The Diamond Casino Heist
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
    2. Red Dead Online

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

    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Redemption

    1. Grand Theft Auto Series

    2. GTA 6

      1. St Andrews Cathedral
    3. GTA V

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

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

    6. GTA Vice City Stories

    7. GTA Liberty City Stories

    8. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
    9. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
    10. GTA III

      1. Guides & Strategies
      2. Help & Support
    11. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    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. DYOM
      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
    3. Gangs

    1. Announcements

    2. Support

    3. Suggestions

Roger125

Help me with cleo mod for gta sa android

Recommended Posts

Roger125
Posted (edited)
Hello friends, I'm trying to adapt a pc mod for android but I'm stuck on some codes, the first one is to activate the jump trick
is this:

 

0A8C: write_memory 9867628 size 4 value 1 virtual_protect 1

can you tell me how to activate cheats from a cleo file in gta sa android

the second command is to use an external file

0A92: create_custom_thread "GOW\GOW1.gow"
how can I load the code of this file without an external file

can you help me with these two codes please

Sorry my bad english

 

 

 

 

 

Edited by Roger125

Share this post


Link to post
Share on other sites
OrionSR
Posted (edited)
14 hours ago, Roger125 said:

0A8C: write_memory 9867628 size 4 value 1 virtual_protect 1
can you tell me how to activate cheats from a cleo file in gta sa android

It is best to avoid hard coded addresses on Android. The offsets are different for each version. CleoA has a strategy for finding offsets based on labels.

Find the address associated with the label "_ZN6CCheat15m_aCheatsActiveE"

According to this remastered cheat sheet, the CHEAT_HIGHJUMP should be located at +68 from the address of the label.

Contrary to the example code shown, the write operation should be limited to a single byte, size 1.

Virtual_Protect 1 should not be necessary, virtual_protect 0 should work without crashing the game.

 

Examples of using labels to find SA addresses using CleoA opcodes: My Example, Where I Leaned.

 

14 hours ago, Roger125 said:

0A92: create_custom_thread "GOW\GOW1.gow"
how can I load the code of this file without an external file

I don't think CleoA has an opcode for that, which is a disappointing omission. I can think of a hacky method to run an external script but I think the better strategy is to find another way to accomplish the same goal. You might want to integrate the external script into your main script. Or maybe re-work the external script to always be running but only activates when prompted by the calling script.

Edited by OrionSR
  • Like 1

Share this post


Link to post
Share on other sites
Roger125
8 hours ago, OrionSR said:

I don't think CleoA has an opcode for that, which is a disappointing omission. I can think of a hacky method to run an external script but I think the better strategy is to find another way to accomplish the same goal. You might want to integrate the external script into your main script. Or maybe re-work the external script to always be running but only activates when prompted by the calling script.

and how do I make the script only fire when required by the main script

Share this post


Link to post
Share on other sites
Roger125
8 hours ago, OrionSR said:

It is best to avoid hard coded addresses on Android. The offsets are different for each version. CleoA has a strategy for finding offsets based on labels.

Find the address associated with the label "_ZN6CCheat15m_aCheatsActiveE"

According to this remastered cheat sheet, the CHEAT_HIGHJUMP should be located at +68 from the address of the label.

Contrary to the example code shown, the write operation should be limited to a single byte, size 1.

Virtual_Protect 1 should not be necessary, virtual_protect 0 should work without crashing the game.

 

Examples of using labels to find SA addresses using CleoA opcodes: My Example, Where I Leaned

0DD9:opcode not found, how do I fix it

you know how the cheats.csi and cheats.fxt scripts work, since they seem to activate cheats without any problem

Share this post


Link to post
Share on other sites
OrionSR
Posted (edited)

I don't know. It would depend on the purpose of the script. Inconsistencies with the example codes suggest that the original coder didn't really understand what they were doing. It would be worth the effort to understand and rebuild the original script into something you can control.

 

A basic example though, is to have the support script wait in a loop until a global or cleo variable is set before continuing. The calling script would set the appropriate variable when it needed a support job done.

 

1 hour ago, Roger125 said:

0DD9:opcode not found, how do I fix it

You may need to add the CleoA opcodes to SASCM.ini in Sanny's data\sa_mobile edit mode folder. I don't think these codes are included by default yet. The new remastered opcodes are commented out in this example but included for reference.

Note: CleoA describes any version of Cleo for Android. These original CleoA opcodes were added by Alexander Blade, and are described as CleoAB in this addendum to be consistent with fastman92's documentation since he's taken creative control of CleoA for the Mobile v2 update.

; Opcodes added for Remastered version
; Xbox360, PS3 and WinStore(unused)
;0A8E=1,award_achievement %1d% ; remastered
;0A8F=0,  ; remastered
;0A90=1,  %1d% ; remastered

; CleoAB opcodes by Alexander Blade
0DD0=2,%1d% = get_label_pointer %2p% ; CleoAB
0DD1=2,%1d% = get_func_addr_by_cstr_name %2d% ; CleoAB
0DD2=1,context_call_func %1d% ; CleoAB
0DD3=2,context_set_reg %1d% value %2d% ; CleoAB
0DD4=2,%1d% = context_get_reg %2d% ; CleoAB
0DD6=1,get_game_version %1d% ; CleoAB
0DD7=1,%1d% = get_image_base ; CleoAB
0DD8=4,%1d% = read_memory %2d% size %3d% add_ib %4d% ; CleoAB
0DD9=5,write_memory %1d% value %2d% size %3d% add_ib %4d% protect %5d% ; CleoAB
0DDC=2,set_cleo_shared_var %1d% to %2d% ; CleoAB
0DDD=2,%1d% = get_shared_cleo_var %2d% ; CleoAB
0DE0=3,%1d% = get_touch_point_state %2d% mintime %3d% ; CleoAB
0DE1=5,%1d% = get_touch_slide_state from %2d% to %3d% mintime %4d% maxtime %5d% ; CleoAB
0DE2=1,%1d% = get_menu_button_state ; read opcode info before using ; CleoAB
0DE3=2,%1d% = get_menu_button_pressed mintime %2d% ; read opcode info before using ; CleoAB

Addendum to sa_mobile\opcode.txt (so the codes show up in Sanny's Opcode Search Tool:
(I thought I had a complete opcode.txt reference for CleoAB, I'll keep looking.)

0DD0: [email protected] = get_label_pointer @label ; CleoAB
0DD6: get_game_version [email protected] ; CleoAB
0DD8: [email protected] = read_memory [email protected] size 1 add_ib true ; CleoAB
0DD9: write_memory [email protected] value 1 size 1 add_ib true protect true ; CleoAB
0DDC: set_cleo_shared_var 0 to 10 ; CleoAB
0DDD: [email protected] = get_shared_cleo_var 0 ; CleoAB

 

1 hour ago, Roger125 said:

you know how the cheats.csi and cheats.fxt scripts work, since they seem to activate cheats without any problem

Yes. The script is a bit tricky to decompile but it's not locked deliberately.

  • First make sure the CleoAB opcodes are included in SASCM.ini and set Sanny's edit mode to sa_mobile (click icon in lower right corner). 
  • Enable Sanny's debug option (gear icon) SKIP_SCM_HEADER. Sanny automatically decompiles .cs files as external scripts, but not .csi or .csa.
  • Enable dubug option IGNORE_UNKNOWN. Sanny doesn't decompile the search labels properly, so this option allows those strings to be decompiled as HEX instead. If you open the .csi file with a hex editor it's easy to read the strings at the end of the file, and with a bit of effort convert them back to strings in your scripts. The examples I linked can be used as a template for the conversion.

The labels in this script are:

_ZN6CCheat17m_aCheatFunctionsE
_ZN6CCheat15m_aCheatsActiveE

Note that_ZN6CCheat15m_aCheatsActiveE is the same as the label I was suggesting. The Cheat script is using the same strategy that I suggested wrapped up in a nice panel display. However, in addition to setting specific CheatActive flags, which works great for mega-jump and other environmental cheats that can be turned on or off, the Cheat script can activate cheat functions that execute commands, like spawn a vehicle. I'm not terribly familiar with the cheat functions.

Edited by OrionSR
  • Like 1

Share this post


Link to post
Share on other sites
Roger125
Posted (edited)
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
thread 'GODOFWAR' 

:gow
wait 0
if and
0ADC:   test_cheat "GOWE"   
not actor.Dead($PLAYER_ACTOR)
player.Defined($PLAYER_ACTOR)
not actor.Driving($PLAYER_ACTOR)
not actor.Model($PLAYER_ACTOR) == #SPECIAL10
jf @gow
0296: unload_special_actor 10
023C: load_special_actor 'KR' as 10 // models 290-299
model.Load(#KATANA)
Model.Load(#BAT)
jump @gow1

:gow1
wait 0
if and
model.Available(#KATANA)
Model.Available(#BAT)
023D:   special_actor 10 loaded
0AAB:   file_exists "CLEO\GOW\GOW1.gow"
0AAB:   file_exists "CLEO\GOW\GOW2.gow"
jf @gow1
fade 0 300
wait 300
//-+--End Threads
0ABA: end_custom_thread_named 'gow1'
0ABA: end_custom_thread_named 'gow2'
//-+--Load New Threads
0A92: create_custom_thread "GOW\GOW1.gow"
0A92: create_custom_thread "GOW\GOW2.gow"
0A8C: write_memory 9867536 size 4 value 0 virtual_protect 0 
0A8C: write_memory 9867628 size 4 value 1 virtual_protect 0 
//-+--change player model
actor.GiveWeaponAndAmmo($PLAYER_ACTOR, BASEBALLBAT, 1)
actor.GiveWeaponAndAmmo($PLAYER_ACTOR, KATANA, 1)
09C7: change_player $PLAYER_CHAR model_to #SPECIAL10
0330: set_player $PLAYER_CHAR infinite_run 1
//0245: set_actor $PLAYER_ACTOR walk_style_to 'GOW'
wait 200
Model.Destroy(#BAT)
Model.Destroy(#KATANA)
fade 1 300
jump @gow2

:gow2
wait 0
if and
not actor.Driving($PLAYER_ACTOR)
0ADC:   test_cheat "GOWD"
not actor.Dead($PLAYER_ACTOR)
jf @gow3
fade 0 300
wait 300
02AB: set_actor $PLAYER_ACTOR immunities BP 0 FP 0 EP 0 CP 0 MP 0
09C7: change_player $PLAYER_CHAR model_to #NULL
0ABA: end_custom_thread_named 'gow1'
0ABA: end_custom_thread_named 'gow2'
Player.Build($PLAYER_CHAR)
0555: remove_weapon 8 from_actor $PLAYER_ACTOR
0A8C: write_memory 9867628 size 4 value 0 virtual_protect 0 
0296: unload_special_actor 10
wait 200 
fade 1 300
jump @gow 

:gow3
wait 0
if
not actor.Dead($PLAYER_ACTOR)
jf @gowend
if and
not Actor.Animation($PLAYER_ACTOR) == 'sword_1'
not actor.Animation($PLAYER_ACTOR) == 'knife_1'
not Actor.Animation($PLAYER_ACTOR) == 'sword_3'
not actor.Animation($PLAYER_ACTOR) == 'knife_3'
not Actor.Animation($PLAYER_ACTOR) == 'sword_2'
not actor.Animation($PLAYER_ACTOR) == 'knife_2'
not Actor.Animation($PLAYER_ACTOR) == "sword_5b"
not actor.Animation($PLAYER_ACTOR) == "sword_5d"
jf @gow2
if and
not Actor.Animation($PLAYER_ACTOR) == 'sword_4'
not actor.Animation($PLAYER_ACTOR) == 'knife_4'
8491:  not actor $PLAYER_ACTOR has_weapon 4
8491:  not actor $PLAYER_ACTOR has_weapon 8
jf @gow2
actor.GiveWeaponAndAmmo($PLAYER_ACTOR, KATANA, 1)
jump @gow2

:gowend
wait 0
if
not actor.Dead($PLAYER_ACTOR)
jf @gowend
wait 10
02AB: set_actor $PLAYER_ACTOR immunities BP 0 FP 0 EP 0 CP 0 MP 0
09C7: change_player $PLAYER_CHAR model_to #NULL
0ABA: end_custom_thread_named 'gow1'
0ABA: end_custom_thread_named 'gow2'
Player.Build($PLAYER_CHAR)
0555: remove_weapon 8 from_actor $PLAYER_ACTOR
0A8C: write_memory 9867628 size 4 value 0 virtual_protect 0 
0296: unload_special_actor 10
jump @gow

 

look at this is the mod i want to convert for android to see if you can help me.

 

Edited by Roger125

Share this post


Link to post
Share on other sites
Roger125
15 hours ago, OrionSR said:

Find the address associated with the label "_ZN6CCheat15m_aCheatsActiveE"

According to this remastered cheat sheet, the CHEAT_HIGHJUMP should be located at +68 from the address of the label.

Contrary to the example code shown, the write operation should be limited to a single byte, size 1.

Virtual_Protect 1 should not be necessary, virtual_protect 0 should work without crashing the game.

 

Examples of using labels to find SA addresses using CleoA opcodes: My Example, Where I Leaned.

What do you mean with the address associated with the label is a hexadecimal number or something like that and what do I have to do with the address of the trick

Share this post


Link to post
Share on other sites
OrionSR
2 hours ago, Roger125 said:

What do you mean with the address associated with the label is a hexadecimal number

Yes. Please refer to the examples I posted before. I'll see if I can find a CleoA script that uses labels in another context. When you get the magic hex trick right, you'll get the address of the label. This label marks the start of the CheatsActive array. Each byte in the array is associated with a specific cheat in the sequence listed on the Remastered Cheats Sheet. (I'm assuming the cheat offsets are the same on remastered and mobile but can't verify this assumption. The Cheats script for CleoA can probably provide more specific information if you can decode it's operation.)

 

2 hours ago, Roger125 said:

what do I have to do with the address of the trick

The first byte in the array will be for CHEAT_WEAPON1. You need to add +1 to the address for each cheat in the list until you get to the highjump cheat. If I did the math correctly that offset is +68 from the address provided by the magic hex trick. 

 

If you have CheatEngine on Android you might be able to step through this process in active memory so you get a better idea of what the script is trying to do. I did this process on PC using HxD's Main Memory tool (admin mode). I subtracted the address the start of the CheatsActive array from the address in your example and found a difference of 60. It looks like there are 8 cheats added to mobile between Weapon1 and HighJump, so I figure +68 should hit the mark.

If not, that's where CheatEngine shines. It can show which flags are changing as you use the cheats script so you can zero in on the proper flag.

 

Share this post


Link to post
Share on other sites
OrionSR

An example of a CleoA script that uses labels to find addresses:

 

Teleport 2Marker - This is an older version of my Android teleport script that still has the magic hex strings and CleoA opcodes. I haven't tested it recently. IIRC, the fade timing doesn't work right on Android, I eventually just took the fades out. If you are playing on SA mobile v2 then the expected widget may not work - I think this version was expecting the radar widget to be held, but they added a widget somewhere before the radar widget in v2 so it might work with ID 161 instead. (Might work by holding the weapon widget as it is. Sorry, I don't have a good widget map.) It might be easier to code the trigger with CleoA opcodes instead.

 

Hm... That's a terrible hold routine too. This script will need a bit of work to be good at it's job but it's still a good example of how labels are used to find address. You should be able to compile and decompile this script to see how the hex constructs are managed by Sanny. 

Spoiler


 {$CLEO .csa}  // SASCM.ini 14.12.2013
//2marker.txt

03A4: name_thread '2MARKER' 
//Author: [email protected]
//OSR/CG4Android: Adapted for CleoA by OrionSR
//OSR/CG4Android: Any-version address codes by Markuza97

//    go to the map and set the red marker
//    invoke the 2marker script from the CleoA menu
//    or pre-load the script and then set the marker

{
//-----------------------------------------------------
    [email protected], X coordinate
    [email protected], Y coordinate
    [email protected], Z coordinate
    [email protected], icon ID
    [email protected], angle
    [email protected], marker index calcs to read addresses
    [email protected], start of marker structure
    [email protected], marker index address
//-----------------------------------------------------
}
// Markuza97's any-version address codes - read once
0DD0: [email protected] = get_label_addr @_ZN6CRadar13ms_RadarTraceE
0DD1: [email protected] = get_func_addr_by_cstr_name [email protected] // start of marker structure
0DD0: [email protected] = get_label_addr @gMobileMenu   
0DD1: [email protected] = get_func_addr_by_cstr_name [email protected] // start of... menu data?
000A: [email protected] += 0x48 // offset to marker index

:2marker_01
0001: wait 0 ms 
00D6: if 
0256:   player $PLAYER_CHAR defined 
004D: jump_if_false @2marker_01 
00D6: if 
03EE:   player $PLAYER_CHAR controllable 

0001: wait 0 ms 
00D6: if 
0A51:   is_widget_pressed 160
004D: jump_if_false @2marker_01 
0001: wait 2000 ms
00D6: if 
0A51:   is_widget_pressed 160
004D: jump_if_false @2marker_01 


0050: gosub @sub_read_marker_X_Y_ID // to [email protected] [email protected] [email protected]
00D6: if 
8039:   not [email protected] == 41  // prevent teleport if not marker id 
004D: jump_if_false @2marker_08    
0001: wait 1000 ms
0002: jump @2marker_01

//ZAZ's original codes start here
//OSR/ updated to SASCM.ini 14.12.2013
:2marker_08
0172: [email protected] = actor $PLAYER_ACTOR Z_angle 
0169: set_fade_color_RGB 0 0 0 
016A: fade 0 time 500 
0001: wait 500 ms 
01B4: set_player $PLAYER_CHAR can_move 0 
04BB: select_interior 0 
04FA: reset_sky_colors_with_fade 0 
057E: set_radar_grey 0 
04E4: refresh_game_renderer_at [email protected] [email protected] 
03CB: set_rendering_origin_at [email protected] [email protected] [email protected] 
00D6: if 
0256:   player $PLAYER_CHAR defined 
004D: jump_if_false @2marker_012

0050: gosub @sub_read_marker_X_Y_ID // to [email protected] [email protected] [email protected]
00D6: if 
0039:   [email protected] == 41  // prevent teleport if not marker id 
004D: jump_if_false @2marker_012    
0860: link_actor $PLAYER_ACTOR to_interior 0 
00A1: put_actor $PLAYER_ACTOR at [email protected] [email protected] -100.0 
0173: set_actor $PLAYER_ACTOR Z_angle_to [email protected] 
0373: set_camera_directly_behind_player 
02EB: restore_camera_with_jumpcut 

:2marker_012
0001: wait 0 ms 
00D6: if 
0256:   player $PLAYER_CHAR defined
004D: jump_if_false jf @2marker_012
0001: wait 1500 ms
016A: fade 1 time 1000 

:2marker_013
00D6: if 
016B:   fading 
004D: jump_if_false @2marker_014
0001: wait 0 ms 
0002: jump @2marker_013

:2marker_014
0001: wait 0 ms 
00D6: if 
0256:   player $PLAYER_CHAR defined
004D: jump_if_false @2marker_014
01B4: set_player $PLAYER_CHAR can_move 1 

:2marker_015
//004E: end_thread 
0002: jump @2marker_01

:sub_read_marker_X_Y_ID
// Markuza97's any-version address codes
0DD8: [email protected] = read_mem_addr [email protected] size 2 add_ib 0 // read marker index
0012: [email protected] *= 0x28  // marker record size
000A: [email protected] += [email protected]    // start of marker structure
000A: [email protected] += 0x8   // offset to X coord
0DD8: [email protected] = read_mem_addr [email protected] size 4 add_ib 0 // read X coord
000A: [email protected] += 0x4   // offset to Y coord
0DD8: [email protected] = read_mem_addr [email protected] size 4 add_ib 0 // read Y coord
000A: [email protected] += 0x18  // offset to icon ID
0DD8: [email protected] = read_mem_addr [email protected] size 1 add_ib 0 // read icon ID
0051: return 


// Markuza97's magic hex codes
:gMobileMenu
hex
"gMobileMenu" 00
end

:_ZN6CRadar13ms_RadarTraceE
hex
"_ZN6CRadar13ms_RadarTraceE" 00
end


 

 

  • Like 1

Share this post


Link to post
Share on other sites
Roger125
3 hours ago, OrionSR said:

Un ejemplo de un script CleoA que usa etiquetas para buscar direcciones:

 

Teleport 2Marker: esta es una versión anterior de mi script de teletransporte Android que todavía tiene las cadenas mágicas hexadecimales y los códigos de operación CleoA. No lo he probado recientemente. IIRC, el tiempo de desvanecimiento no funciona bien en Android, eventualmente simplemente eliminé los desvanecimientos. Si está jugando en SA mobile v2, entonces el widget esperado puede no funcionar: creo que esta versión esperaba que se mantuviera el widget de radar, pero agregaron un widget en algún lugar antes del widget de radar en v2, por lo que podría funcionar con ID 161. (Podría funcionar manteniendo el widget de arma como está. Lo siento, no tengo un buen mapa de widgets). En su lugar, podría ser más fácil codificar el disparador con códigos de operación CleoA.

 

Hm ... Esa también es una rutina de espera terrible. Este script necesitará un poco de trabajo para ser bueno en su trabajo, pero sigue siendo un buen ejemplo de cómo se usan las etiquetas para encontrar la dirección. Debería poder compilar y descompilar este script para ver cómo Sanny gestiona las construcciones hexadecimales. 

can you help me with something else I am working the scripts separately and one of the scripts is to add sound effects and I am using these opcodes

0952: load_soundtrack 1
0954: start_playing_loaded_soundtrack

these opcodes load the audio from beats.osw, already created the new beats.osw file with your .idx I put 6 audios that should be activated when the player attacks with a sword, but in the game the sounds interrupt each other or cut off as I can solve it

Share this post


Link to post
Share on other sites
OrionSR

No, sorry. I've got a list of constants for Easy Audio Events that can be played without loading the wav first that I use to add Bells & Whistles to my cleo script but I don't have any experience with audio beyond that.

Spoiler


[SOUND]
Sound_Ceiling_Vent_Land=1002
Sound_Bonnet_Dent=1009
Sound_Crane_Enter=1019
Sound_Crane_Move_Start=1020
Sound_Crane_Move_Stop=1021
Sound_Crane_Exit=1022
Sound_Wheel_Of_Fortune_Clacker=1027
Sound_Shutter_Door_Start=1035
Sound_Shutter_Door_Stop=1036
Sound_Parachute_Open=1039
Sound_Ammunation_Buy_Weapon=1052
Sound_Ammunation_Buy_Weapon_Denied=1053
Sound_Shop_Buy=1054
Sound_Shop_Buy_Denied=1055
Sound_Race_321=1056
Sound_Race_Go=1057
Sound_Part_Mission_Complete=1058
Sound_Gogo_Track_Start=1062
Sound_Gogo_Track_Stop=1063
Sound_Dual_Track_Start=1068
Sound_Dual_Track_Stop=1069
Sound_Bee_Track_Start=1076
Sound_Bee_Track_Stop=1077
Sound_Roulette_Add_Cash=1083
Sound_Roulette_Remove_Cash=1084
Sound_Roulette_No_Cash=1085
Sound_Bike_Packer_Clunk=1095
Sound_Award_Track_Start=1097
Sound_Award_Track_Stop=1098
Sound_Mesh_Gate_Open_Start=1100
Sound_Mesh_Gate_Open_Stop=1101
Sound_Punch_Ped=1130
Sound_Ammunation_Gun_Collision=1131
Sound_Camera_Shot=1132
Sound_Buy_Car_Mod=1133
Sound_Buy_Car_Respray=1134
Sound_Baseball_Bat_Hit_Ped=1135
Sound_Stamp_Ped=1136
Sound_Checkpoint_Amber=1137
Sound_Checkpoint_Green=1138
Sound_Checkpoint_Red=1139
Sound_Car_Smash_Car=1140
Sound_Car_Smash_Gate=1141
Sound_Otb_Track_Start=1142
Sound_Otb_Track_Stop=1143
Sound_Ped_Hit_Water_Splash=1144
Sound_Restaurant_Tray_Collision=1145
Sound_Sweets_Horn=1147
Sound_Magnet_Vehicle_Collision=1148
Sound_Property_Purchased=1149
Sound_Pickup_Standard=1150
Sound_Garage_Door_Start=1153
Sound_Garage_Door_Stop=1154
Sound_Minitank_Fire=1157
Sound_Explosion=1159
Sound_Ped_Collapse=1163
Sound_Shutter_Door_Slow_Start=1165
Sound_Shutter_Door_Slow_Stop=1166
Sound_Tempest_Track_Start=1181
Sound_Tempest_Track_Stop=1182
Sound_Driving_Award_Track_Start=1183
Sound_Driving_Award_Track_Stop=1184
Sound_Bike_Award_Track_Start=1185
Sound_Bike_Award_Track_Stop=1186
Sound_Pilot_Award_Track_Start=1187
Sound_Pilot_Award_Track_Stop=1188
Sound_Ped_Death_Crunch=1189
Sound_unlisted_Slap_Sound=1190


 

 

Share this post


Link to post
Share on other sites
Roger125
18 hours ago, OrionSR said:

No, sorry. I've got a list of constants for Easy Audio Events that can be played without loading the wav first that I use to add Bells & Whistles to my cleo script but I don't have any experience with audio beyond that

I already read the examples you left me but I don't understand. extract this from cheats.csi and activate the weapons package 1 can you explain it to me

{$CLEO}
thread 'CHEATS' 
:CHEATS_940
0DD0: [email protected] = get_label_pointer @CHEATS_2687 // CleoAB 
0DD1: [email protected] = get_func_addr_by_cstr_name [email protected] // CleoAB 
[email protected] *= 4 
005A: [email protected] += [email protected] // (int) 
0DD8: [email protected] = read_memory [email protected] size 4 add_ib 0 // CleoAB 
if 
   not [email protected] == 0 
else_jump @CHEATS_1015 
0DD2: context_call_func [email protected] // CleoAB 
jump @CHEATS_1029  
:CHEATS_1015
0DD9: write_memory [email protected] value [email protected] size 1 add_ib 0 protect 0 // CleoAB 
:CHEATS_1029
if 
  [email protected] == 1 
else_jump @CHEATS_1065
03E5: show_text_box 'CHTACT'
jump @CHEATS_1076 
:CHEATS_1065
03E5: show_text_box 'CHTDEA' 
:CHEATS_1076
jump @CHEATS_1090 
:CHEATS_1090
08DA: remove_panel [email protected] 
01B4: set_player $PLAYER_CHAR can_move 1 
0575: set_actor $PLAYER_ACTOR keep_position 0 
0DDC: set_cleo_shared_var 0 to 0 // CleoAB 
:CHEATS_1115
end_thread 

:CHEATS_2687
hex
 5F 5A 4E 36 43 43 68 65 61 74 31 37 6D 5F 61 43
 68 65 61 74 46 75 6E 63 74 69 6F 6E 73 45 00 5F
 5A 4E 36 43 43 68 65 61 74 31 35 6D 5F 61 43 68
 65 61 74 73 41 63 74 69 76 65

 

Share this post


Link to post
Share on other sites
Roger125
Posted (edited)
On 7/4/2020 at 10:29 PM, OrionSR said:

The first byte in the array will be for CHEAT_WEAPON1. You need to add +1 to the address for each cheat in the list until you get to the highjump cheat. If I did the math correctly that offset is +68 from the address provided by the magic hex trick. 

 

If you have CheatEngine on Android you might be able to step through this process in active memory so you get a better idea of what the script is trying to do. I did this process on PC using HxD's Main Memory tool (admin mode). I subtracted the address the start of the CheatsActive array from the address in your example and found a difference of 60. It looks like there are 8 cheats added to mobile between Weapon1 and HighJump, so I figure +68 should hit the mark.

If not, that's where CheatEngine shines. It can show which flags are changing as you use the cheats script so you can zero in on the proper flag.

 

I don't understand the I do not understand what displacement is + 1, + 68 and how do I find the cheat engine cheat values,how do i set it up

 

What values do I have to set to activate and deactivate the trick

Edited by Roger125

Share this post


Link to post
Share on other sites
OrionSR
2 hours ago, Roger125 said:

extract this from cheats.csi and activate the weapons package 1 can you explain it to me

No, not really. The codes don't make all that much sense out of context, and the entire script is more than I'd care to understand or explain. 

 

I've give you clue though. You left out the END of the HEX construct and the data that follows. Sanny thought it found a good opcode at the end but was wrong. That data is actually part of the hex string constructs.

:CHEATS_2687
hex
 5F 5A 4E 36 43 43 68 65 61 74 31 37 6D 5F 61 43
 68 65 61 74 46 75 6E 63 74 69 6F 6E 73 45 00 5F
 5A 4E 36 43 43 68 65 61 74 31 35 6D 5F 61 43 68
 65 61 74 73 41 63 74 69 76 65
end
0045:   // (float) 

Should be:

:CHEATS_2687
hex
 5F 5A 4E 36 43 43 68 65 61 74 31 37 6D 5F 61 43
 68 65 61 74 46 75 6E 63 74 69 6F 6E 73 45 00 5F
 5A 4E 36 43 43 68 65 61 74 31 35 6D 5F 61 43 68
 65 61 74 73 41 63 74 69 76 65 45 00
end

The null bytes (00) mark the end of the string. There are actually two strings here with a label in between.

:CHEATS_2687
hex
 5F 5A 4E 36 43 43 68 65 61 74 31 37 6D 5F 61 43
 68 65 61 74 46 75 6E 63 74 69 6F 6E 73 45 00
end

:CHEATS_2718
hex
 5F 5A 4E 36 43 43 68 65 61 74 31 35 6D 5F 61 43
 68 65 61 74 73 41 63 74 69 76 65 45 00
end

The hex data above is much more user friendly when entered as a string. The strings use in this script are:

_ZN6CCheat17m_aCheatFunctionsE
_ZN6CCheat15m_aCheatsActiveE

You should be able to fix your hex strings based on a similar example in my teleport script or other examples.

:gMobileMenu
hex
"gMobileMenu" 00
end

:_ZN6CRadar13ms_RadarTraceE
hex
"_ZN6CRadar13ms_RadarTraceE" 00
end

 

1 hour ago, Roger125 said:

I don't understand the + 1, + 68

This issue has already been explained. However, I found an easy map for cheat indexes. Check out gtasa.cheats.fxt:

CHT_68 HIGHJUMP

 

1 hour ago, Roger125 said:

how do I find the cheat engine cheat values,how do i set it up

I'm no longer have a working rooted device that can run Cheat Engine on Android. Sorry.

 

My suggestion, start with something simple: Create a new .csi script that, when executed from the cleo menu, will set the HighJump CheatsActive flag to 01 before ending. 
 

Share this post


Link to post
Share on other sites
Roger125
47 minutes ago, OrionSR said:

I'm no longer have a working rooted device that can run Cheat Engine on Android. Sorry.

 

My suggestion, start with something simple: Create a new .csi script that, when executed from the cleo menu, will set the HighJump CheatsActive flag to 01 before ending. 

I already made the scripts work properly separately, as I make them work together as in the original script above

 

51 minutes ago, OrionSR said:

This issue has already been explained. However, I found an easy map for cheat indexes. Check out gtasa.cheats.fxt:

what I mean is how I write the +68 in the opcode

Share this post


Link to post
Share on other sites
Roger125

thanks, I just need to join all the scripts can you help me with that

Share this post


Link to post
Share on other sites
Roger125

 

I already managed to activate the trick now as I deactivate it

Share this post


Link to post
Share on other sites
OrionSR
Posted (edited)

These are byte flags. "Flags" by nature, should always be 0 (false) or 1 (true). These flags are described as CheatsActive, so 1 is active and 0 is not. If a setting of 1 turns off the cheat then the description would need to be changed to CheatInactive. This is a general rule that you should be able to apply to all flags. (Sometimes the descriptions are wrong, but I think all of those inconsistencies have been resolved by now.)

 

The same rule applies to conditional commands used with IF statements.

  • 0 = False, No, Off, (Inactive, Disabled)
  • 1 = True, Yes, On, (Active, Enabled)

 

Edited by OrionSR

Share this post


Link to post
Share on other sites
Roger125
Posted (edited)
1 hour ago, OrionSR said:

Estas son banderas de bytes. "Banderas" por naturaleza, siempre deben ser 0 (falso) o 1 (verdadero). Estas banderas se describen como CheatsActive, por lo que 1 está activo y 0 no. Si una configuración de 1 desactiva el truco, entonces la descripción debería cambiarse a CheatInactive. Esta es una regla general que debería poder aplicar a todas las banderas. (A veces las descripciones son incorrectas, pero creo que todas esas inconsistencias ya se han resuelto).

 

La misma regla se aplica a los comandos condicionales utilizados con las declaraciones IF.

  • 0 = Falso, No, Apagado, (Inactivo, Deshabilitado)
  • 1 = Verdadero, Sí, Encendido, (Activo, Habilitado)

 

I already tried it in the first command and if it is activated and deactivated but further down in the code I need to deactivate the trick but in the second memory write the trick does not work, I have to release the label or something like that.

please can you tell me how I put the scripts so that they work together

Edited by Roger125

Share this post


Link to post
Share on other sites
OrionSR
9 hours ago, Roger125 said:

please can you tell me how I put the scripts so that they work together

Maybe. I'll give it a shot since I made the suggestion. But I'm not particularly interested in understanding how the whole script works. Sometimes I can identify critical errors though. It's a good idea to post your code anyway. I'm having a hard time figuring out your progress, and if you don't show your code then no one else can help either.

 

Also, please describe in detail what this script should do. How will I know when it's working correctly?

Share this post


Link to post
Share on other sites
Roger125
12 hours ago, OrionSR said:

Maybe. I'll give it a shot since I made the suggestion. But I'm not particularly interested in understanding how the whole script works. Sometimes I can identify critical errors though. It's a good idea to post your code anyway. I'm having a hard time figuring out your progress, and if you don't show your code then no one else can help either.

 

Also, please describe in detail what this script should do. How will I know when it's working correctly?

Well from what I understand the main script loads the two scripts when the mod activation keys are pressed and these in turn are activated only when attacked with a katana or a knife. then when the keys are pressed to deactivate the mod or the player dies the process of those two scripts ends

this is the progress it took

{$CLEO .cs}
thread 'GODOFWAR' 

:gow
wait 0
if and
00E1: player 3 pressed_key 4
00E1: player 3 pressed_key 7  
8118:   not actor $PLAYER_ACTOR dead 
0256:   player $PLAYER_ACTOR defined 
80DF:   not actor $PLAYER_ACTOR driving 
82F2:   not actor $PLAYER_ACTOR model == #SPECIAL10
jf @gow
0296: unload_special_actor 10
023C: load_special_actor 'KR' as 10 // models 290-299
0247: load_model #KATANA 
0247: load_model #BAT
jump @gow1

:gow1
wait 0
if and
0248:   model #KATANA available 
0248:   model #BAT available 
023D:   special_actor 10 loaded
jf @gow1
fade 0 300
wait 300
0DD0: [email protected] = get_label_pointer @trucos_perro ; CleoAB 
0DD1: [email protected] = get_func_addr_by_cstr_name [email protected] // CleoAB
[email protected] += 68
0DD9: write_memory [email protected] value 1 size 1 add_ib 0 protect 0 ; CleoAB 
01B2: give_actor $PLAYER_ACTOR weapon 5 ammo 1 // Load the weapon model before using this 
01B2: give_actor $PLAYER_ACTOR weapon 8 ammo 1 // Load the weapon model before using this 
09C7: change_player $PLAYER_CHAR model_to #SPECIAL10
0330: set_player $PLAYER_CHAR infinite_run 1
wait 200
0249: release_model #BAT
0249: release_model #KATANA 
fade 1 300
jump @gow2
:gow2
wait 0
if and
80DF:   not actor $PLAYER_ACTOR driving 
00E1: player 3 pressed_key 4
00E1: player 3 pressed_key 8
8118:   not actor $PLAYER_ACTOR dead 
jf @gow3
fade 0 300
wait 300
02AB: set_actor $PLAYER_ACTOR immunities BP 0 FP 0 EP 0 CP 0 MP 0
09C7: change_player $PLAYER_CHAR model_to #NULL
070D: rebuild_player $PLAYER_CHAR 
0555: remove_weapon 8 from_actor $PLAYER_ACTOR
0555: remove_weapon 8 from_actor $PLAYER_ACTOR
0DD9: write_memory [email protected] value 0 size 1 add_ib 0 protect 0 ; CleoAB 
0296: unload_special_actor 10
wait 200 
fade 1 300
jump @gow

:gow3
wait 0
if
8118:   not actor $PLAYER_ACTOR dead
jf @gowend 
8611:   not actor $PLAYER_ACTOR performing_animation 'sword_1'
8611:   not actor $PLAYER_ACTOR performing_animation 'knife_1'
8611:   not actor $PLAYER_ACTOR performing_animation 'sword_3'
8611:   not actor $PLAYER_ACTOR performing_animation 'knife_3'
8611:   not actor $PLAYER_ACTOR performing_animation 'sword_2'
8611:   not actor $PLAYER_ACTOR performing_animation 'knife_2'
8611:   not actor $PLAYER_ACTOR performing_animation 'sword_5b'
8611:   not actor $PLAYER_ACTOR performing_animation 'sword_5d'
jf @gow2
if and
8611:   not actor $PLAYER_ACTOR performing_animation 'sword_4'
8611:   not actor $PLAYER_ACTOR performing_animation 'knife_4'
8491:  not actor $PLAYER_ACTOR has_weapon 4
8491:  not actor $PLAYER_ACTOR has_weapon 8
jf @gow2
01B2: give_actor $PLAYER_ACTOR weapon 8 ammo 1 // Load the weapon model before using this 
jump @gow2
:gowend
wait 0
if
8118:   not actor $PLAYER_ACTOR dead
jf @gowend
wait 10
02AB: set_actor $PLAYER_ACTOR immunities BP 0 FP 0 EP 0 CP 0 MP 0
09C7: change_player $PLAYER_CHAR model_to #NULL
070D: rebuild_player $PLAYER_CHAR
0DD9: write_memory [email protected] value 0 size 1 add_ib 0 protect 0 ; CleoAB 
0296: unload_special_actor 10
jump @gow
:trucos_perro
hex 
"_ZN6CCheat15m_aCheatsActiveE" 
00 
end

1 script 

// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .csa}

//-------------MAIN---------------
thread 'gow1'

:god1
wait 0
if
0256:   player $PLAYER_ACTOR defined
jf @god1
if or
0611:   actor $PLAYER_ACTOR performing_animation "sword_1"
0611:   actor $PLAYER_ACTOR performing_animation "knife_1"

jf @god2
0209: [email protected] = random_int_in_ranges 1 3
if
[email protected] == 1
jf @god111
0952: load_soundtrack 1 
0954: start_playing_loaded_soundtrack 
jump @god11

:god111
wait 0
0952: load_soundtrack 4 
0954: start_playing_loaded_soundtrack 
jump @god11

:god11
wait 0
if and
8611:   not actor $PLAYER_ACTOR performing_animation "sword_1" 
8611:   not actor $PLAYER_ACTOR performing_animation "knife_1" 
jf @god11
wait 0  
jump @god1

:god2
wait 0
if or
0611:   actor $PLAYER_ACTOR performing_animation "sword_3"
0611:   actor $PLAYER_ACTOR performing_animation "knife_3"
jf @god3
0952: load_soundtrack 3
0954: start_playing_loaded_soundtrack 
jump @god22

:god22
wait 0
if and
8611:   not actor $PLAYER_ACTOR performing_animation "sword_3" 
8611:   not actor $PLAYER_ACTOR performing_animation "knife_3" 
jf @god22
wait 0   
jump @god1

:god4
wait 0
if or
0611:   actor $PLAYER_ACTOR performing_animation "sword_2"
0611:   actor $PLAYER_ACTOR performing_animation "knife_2"
jf @god1
0209: [email protected] = random_int_in_ranges 1 3
if
[email protected] == 1
jf @god444
0952: load_soundtrack 0 
0954: start_playing_loaded_soundtrack 
jump @god44

:god444
wait 0
0952: load_soundtrack 12
0954: start_playing_loaded_soundtrack 
jump @god44

:god44
wait 0
if and
8611:   not actor $PLAYER_ACTOR performing_animation "sword_2" 
8611:   not actor $PLAYER_ACTOR performing_animation "knife_2" 
jf @god44
wait 0    
jump @god1

:god3
wait 0
if 
0611:   actor $PLAYER_ACTOR performing_animation "sword_5b"
jf @god4
0952: load_soundtrack 0 
0954: start_playing_loaded_soundtrack 
jump @god5

:god5
wait 0
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -4.5 
if
86BD:  not no_obstacles_between [email protected] [email protected] [email protected] and [email protected] [email protected] [email protected] solid 1 car 1 actor 0 object 1 particle 0
jf @god5
0952: load_soundtrack 10
0954: start_playing_loaded_soundtrack
wait 0
jump @god6

:god6
wait 0
if and
8611:   not actor $PLAYER_ACTOR performing_animation "sword_5b" 
8611:   not actor $PLAYER_ACTOR performing_animation "sword_5d" 
jf @god6
wait 0
jump @god1

2script

// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .csi}

//-------------MAIN---------------
thread 'gow2'
{0390: load_txd_dictionary 'gowhud' 
038F: load_texture "sword" as 110 // Load dictionary with 0390 first 
038D: draw_texture 110 position 540.0 60.0 size 175.0 87.5 RGBA 255 255 255 255   //middle point to draw}

const

PlayerA = $player_actor

end

062A: change_float_stat 24 to 1440.0
0223: set_actor $PLAYER_ACTOR health_to 2000
0247: load_model #KATANA 
0247: load_model #KNIFECUR 
04ED: load_animation  "sword"

:god1
wait 0                               
if and
0248:   model #KATANA available 
0248:   model #KNIFECUR available 
0256:   player $PLAYER_ACTOR defined 
04EE:   animation "sword" loaded
jf @god1
if or
02D8:   actor $PLAYER_ACTOR current_weapon == 4
02D8:   actor $PLAYER_ACTOR current_weapon == 8
jf @god1
jump @gof11

:gof11
wait 0
if or
0611:   actor PlayerA performing_animation "sword_1" 
0611:   actor PlayerA performing_animation "knife_1"  
jf @gof22
015D: set_gamespeed 0.5
02AB: set_actor PlayerA immunities BP 1 FP 1 EP 1 CP 1 MP 1 
01B2: give_actor $PLAYER_ACTOR weapon 4 ammo 1 // Load the weapon model before using this 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 0.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 0.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 0.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 0.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 1.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 3.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 1.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 4.0 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 1.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 3.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 1.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 4.0 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85

04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 0.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 0.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 0.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 0.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 1.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 3.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 1.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 4.0 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 1.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 3.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 1.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 4.0 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85

04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 0.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 0.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 0.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 0.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 1.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 3.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 1.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 4.0 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 1.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 3.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 1.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 4.0 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
wait 30  
02AB: set_actor PlayerA immunities BP 0 FP 0 EP 0 CP 0 MP 0 
015D: set_gamespeed 1.0 
wait 100
0555: remove_weapon 4 from_actor $PLAYER_ACTOR
01B2: give_actor $PLAYER_ACTOR weapon 8 ammo 1 // Load the weapon model before using this   
jump @god1

:gof22
wait 0
if or
0611:   actor PlayerA performing_animation "sword_2"  
0611:   actor PlayerA performing_animation "knife_2" 
jf @gof33
015D: set_gamespeed 0.5
02AB: set_actor PlayerA immunities BP 1 FP 1 EP 1 CP 1 MP 1 
01B2: give_actor $PLAYER_ACTOR weapon 4 ammo 1 // Load the weapon model before using this   
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 5.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -5.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
wait 30  
02AB: set_actor PlayerA immunities BP 0 FP 0 EP 0 CP 0 MP 0  
015D: set_gamespeed 1.0 
wait 100
0555: remove_weapon 4 from_actor $PLAYER_ACTOR
01B2: give_actor $PLAYER_ACTOR weapon 8 ammo 1 // Load the weapon model before using this    
jump @god1

:gof33
wait 0
if or
0611:   actor PlayerA performing_animation "sword_3" 
0611:   actor PlayerA performing_animation "knife_3" 
jf @gof44
015D: set_gamespeed 0.5
02AB: set_actor PlayerA immunities BP 1 FP 1 EP 1 CP 1 MP 1  
01B2: give_actor $PLAYER_ACTOR weapon 4 ammo 1 // Load the weapon model before using this   
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.5 0.0 1.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -1.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.5 1.0 1.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -1.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.5 0.5 1.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -1.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85

04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 0.0 1.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -1.0 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 1.0 1.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -1.0 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 0.5 1.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -1.0 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85

04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 0.0 1.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 1.0 1.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.5 0.5 1.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -0.5 2.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
wait 30  
02AB: set_actor PlayerA immunities BP 0 FP 0 EP 0 CP 0 MP 0  
015D: set_gamespeed 1.0   
wait 100
0555: remove_weapon 4 from_actor $PLAYER_ACTOR
01B2: give_actor $PLAYER_ACTOR weapon 8 ammo 1 // Load the weapon model before using this   
jump @god1

:gof44
wait 0
if or
0611:   actor PlayerA performing_animation "sword_4" 
0611:   actor PlayerA performing_animation "knife_4"

jf @gof55
015D: set_gamespeed 0.5
02AB: set_actor PlayerA immunities BP 1 FP 1 EP 1 CP 1 MP 1  
01B2: give_actor $PLAYER_ACTOR weapon 4 ammo 1 // Load the weapon model before using this   
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 0.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 1.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 0.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 1.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 0.0 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 1.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 0.5 1.5 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 1.5 -0.8 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 85
wait 30
02AB: set_actor PlayerA immunities BP 0 FP 0 EP 0 CP 0 MP 0  
015D: set_gamespeed 1.0   
wait 100
0555: remove_weapon 4 from_actor $PLAYER_ACTOR
01B2: give_actor $PLAYER_ACTOR weapon 8 ammo 1 // Load the weapon model before using this    
jump @god1

:gof55
wait 0
if and
0818:  actor $PLAYER_ACTOR in_air
00E1: player 3 pressed_key 1 
80DF:   not actor $PLAYER_ACTOR driving 
jf @gof66
wait 0
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -4.5 
if
06BD:   no_obstacles_between [email protected] [email protected] [email protected] and [email protected] [email protected] [email protected] solid 1 car 1 actor 0 object 1 particle 0
jf @gof66
0393: actor $PLAYER_ACTOR perform_animation "sword_5b" at 0.5 times_normal_rate
0812: AS_actor $PLAYER_ACTOR perform_animation "sword_5b" IFP "sword" framedelta 22.0 loopA 1 lockX 1 lockY 1 lockF 0 time -2  // versionB
015D: set_gamespeed 0.5
02AB: set_actor PlayerA immunities BP 1 FP 1 EP 1 CP 1 MP 1
01B2: give_actor $PLAYER_ACTOR weapon 4 ammo 1 // Load the weapon model before using this 
wait 20
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 5.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -5.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 

04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 5.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -5.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
wait 10   
jump @god555

:god555
wait 0
02AB: set_actor PlayerA immunities BP 1 FP 1 EP 1 CP 1 MP 1 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 5.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -5.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 

04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 5.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -5.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -1.5 
if
86BD:  not no_obstacles_between [email protected] [email protected] [email protected] and [email protected] [email protected] [email protected] solid 1 car 1 actor 0 object 1 particle 0
jf @god555
0393: actor $PLAYER_ACTOR perform_animation "sword_5d" at 0.5 times_normal_rate
0812: AS_actor $PLAYER_ACTOR perform_animation "sword_5d" IFP "sword" framedelta 30.0 loopA 0 lockX 1 lockY 1 lockF 0 time -1 // versionB
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 5.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -5.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 

04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 5.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -5.0 0.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 2.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 -4.0 3.0 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
0555: remove_weapon 4 from_actor $PLAYER_ACTOR
01B2: give_actor $PLAYER_ACTOR weapon 8 ammo 1 // Load the weapon model before using this  
02AB: set_actor PlayerA immunities BP 1 FP 1 EP 1 CP 1 MP 1 
00A0: store_actor $PLAYER_ACTOR position_to [email protected] [email protected] [email protected]
02CE: [email protected] = ground_z_at [email protected] [email protected] [email protected]
0565: create_soundless_explosion_at [email protected] [email protected] [email protected] type 8 
wait 300
015D: set_gamespeed 1.0
02AB: set_actor PlayerA immunities BP 0 FP 0 EP 0 CP 0 MP 0    
jump @god1

:gof66
wait 0
if or
0611:   actor PlayerA performing_animation "sword_part"
0611:   actor PlayerA performing_animation "knife_part"  
jf @god1
015D: set_gamespeed 0.5
02AB: set_actor PlayerA immunities BP 1 FP 1 EP 1 CP 1 MP 1  
01B2: give_actor $PLAYER_ACTOR weapon 4 ammo 1 // Load the weapon model before using this 

04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -3.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 5.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 3.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 1.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -5.0 0.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 4.0 -3.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 -2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -4.0 4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset 0.0 2.0 0.6 
04C4: store_coords_to [email protected] [email protected] [email protected] from_actor PlayerA with_offset -2.0 -4.0 -0.6 
06BC: create_M4_shoot_from [email protected] [email protected] [email protected] target [email protected] [email protected] [email protected] energy 50 
wait 30  
02AB: set_actor PlayerA immunities BP 0 FP 0 EP 0 CP 0 MP 0 
015D: set_gamespeed 1.0 
wait 100
0555: remove_weapon 4 from_actor $PLAYER_ACTOR
01B2: give_actor $PLAYER_ACTOR weapon 8 ammo 1 // Load the weapon model before using this 
 
jump @god1 

 

Share this post


Link to post
Share on other sites
OrionSR
Posted (edited)

Okay, you seem to be doing well at coding what you need so I'll try explaining my idea and let you do the work.

 

Note: thread 'gow2' is being compiled as a .csi. I was expecting this to be a .csa that always activates when loading.

 

There are two current issues. 1) The original master script would create and end the two support scripts as needed. It's time to adapt that process for Android. 2) Sometimes the cheat doesn't deactivate. For now we are hoping that fixing the first problem will solve the second problem.

 

0AB3: var 0 = 10
0AB4: [email protected] = var 0
0DDC: set_cleo_shared_var 0 to 10 ; CleoAB
0DDD: [email protected] = get_shared_cleo_var 0 ; CleoAB

 

My idea was to use shared cleo variables. Cleo vars are similar to global variables in that they can be shared between scripts. The PC documentation for 0AB3 suggests that these values are saved in cleo saves. I'm not sure how this is handled with CleoAB. We don't want saved data, so we'll reset that when the support scripts start.

 

Review the original main script for PC posted earlier; look for each case of 0ABA: end_custom_thread_named 'gow1'. Restore to original location in your script but replace with 0DDC: set_cleo_shared_var 0 to 0. This will deactivate both scripts, so don't worry about ending 'gow2'.

 

Look for 0A92: create_custom_thread for gow1. Restore to original location but replace with 0DDC: set_cleo_shared_var 0 to 1. This will flag both scripts as active. 

 

When a script is created it's local variables will be reset. This might be necessary, so may as well prepare. After setting cleo var 0 to 1, set cleo var 1 and cleo var 2 to 1 also. Cleo var 1 will flag that gow1 should reset it's variables. Cleo var 2 will flag that gow2 will reset it's local variables.

 

Updating gow1: This one is pretty straight forward. Notice that most jumps go to @gow1 or simply continue to the next segment. So it's pretty easy to identify :god1 as the top of the main loop. 

 

Before :god1, set cleo var 0 and 1 to 0. We can't count on the master script to reset these variables if it's not running. These commands should only run when the script restarts.

 

After the wait that follows :god1, read cleo var 0. If it equals 1, then the script will continue, else jump @god1. It's the else jump that's important here; it effectively deactivates the script.

 

After that, read cleo var 1. If it equals 1 then reset important local variables and set cleo var 1 to 0 so it won't reset again until flagged by the master script.

 

Updating gow2: This one is a little trickier. Start by moving the const..end construct out of the main body of the script (before //--MAIN). This is a compiler directive and doesn't need to be cluttering the script commands. 

 

Looks like the texture stuff is commented out, so I'll just ignore that part.

 

The next section involves initial settings. These codes will need to be included elsewhere so everything resets as needed. Just let this section sit for a bit and move the codes to the next section when mentioned.

 

First, reset cleo var 0 and cleo var 2 to 0 after naming the thread.

 

:god1 - same label, different script, works for this example. This whole section should be cleaned up a little in this new context.

 

Add the check for cleo var 0 after the wait, just like in gow1.

 

Then add the check to reset the variables, this time reading and resetting cleo var 2. In addition to resetting important local variables, this section should include anything that can run once from the initial settings - stat change and health boost.

 

Break out the player defined check into it's own snippet; this part should look pretty much like the start of gow1. Is the script active? Do I need to reset? Is player defined?

 

Load the models and animations. If they are loaded then continue, otherwise jump all the way back to @god1 and try again. The goal is to avoid letting the script get trapped in small loops.

 

Next is the check if the current weapon is appropriate. It seems like this part should occur before loading animations. 

 

And then a whole lot of animation stuff I don't want to consider. Worry about this after getting the other part worked out.

 

Edited by OrionSR

Share this post


Link to post
Share on other sites
Roger125

you don't have a cleo mod that uses shared variables to understand better

Share this post


Link to post
Share on other sites
OrionSR

No, sorry. I've never been particularly fond of cleo saves and tend to avoid those strategies.

 

I've been using out of range global variables to accomplish a similar task; not an easy subject to explain. It's a strategy I try to limit to non-cleo environments.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


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