Coder12knocked Posted August 25, 2022 Share Posted August 25, 2022 Fix my game is crashing When I am using {$CLEO .csa} Thread "SA" :SA wait 00 0DD0: [email protected] = get_label_addr @func // android 0DD1: [email protected] = get_func_addr_by_cstr_name [email protected] // android 0DD2: context_call_func [email protected] // android end_thread :func Hex "_zn(name of any string from ida)" 00 end Link to comment Share on other sites More sharing options...
OrionSR Posted August 26, 2022 Share Posted August 26, 2022 (edited) Woot! I finally got it working. Your example showed where I went wrong when I recently tried to code mobile functions. Bare bones example of calling the first cheat function, weapon set 1, a simple function that requires no parameters and returns no results. (Note that this is a .csi script, and needs to be triggered using the cleo menu. I usually don't change my scripts to .csa until they've been properly tested.) {$CLEO .csi} 0000: // First cheat is Weapon Set 1 "THUGSARMOURY" 0DD0: [email protected] = get_label_addr @_ZN6CCheat17m_aCheatFunctionsE 0DD1: [email protected] = get_func_addr_by_cstr_name [email protected] 0DD2: context_call_func [email protected] 004E: end_thread :_ZN6CCheat17m_aCheatFunctionsE hex "_ZN6CCheat17m_aCheatFunctionsE" 00 end This is a more developed version of a cheat script. The cheat index ([email protected]) can be adjusted based on this cheat list and the script should call the function for that cheat, or set the flag if the function pointer is empty. Spoiler {$CLEO .csi} 0000: //[email protected] = 7 // CCheat__TogglePlayerInvincibility = 7 [email protected] = 0 // Cheat_Weapon1 0DD0: [email protected] = get_label_addr @_ZN6CCheat17m_aCheatFunctionsE 0DD1: [email protected] = get_func_addr_by_cstr_name [email protected] [email protected] *= 4 005A: [email protected] += [email protected] [email protected] /= 4 0DD8: [email protected] = read_mem_addr [email protected] size 4 add_ib 0 if [email protected] == 0 then 0DD0: [email protected] = get_label_addr @_ZN6CCheat15m_aCheatsActiveE 0DD1: [email protected] = get_func_addr_by_cstr_name [email protected] 005A: [email protected] += [email protected] 0DD9: write_mem_addr [email protected] value 1 size 1 add_ib 0 protect 0 00BB: show_text_lowpriority GXT 'BEEFY' time 2000 flag 1 // Beefy Baron else // 0DDE: call_func [email protected] add_ib 0 0DD2: context_call_func [email protected] // android 00BB: show_text_lowpriority GXT 'FESZ_LS' time 2000 flag 1 // Load Successful. end 004E: end_thread :_ZN6CCheat17m_aCheatFunctionsE hex "_ZN6CCheat17m_aCheatFunctionsE" 00 end :_ZN6CCheat15m_aCheatsActiveE hex "_ZN6CCheat15m_aCheatsActiveE" 00 end Edited August 26, 2022 by OrionSR Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now