Bob5768 Posted October 5, 2022 Share Posted October 5, 2022 Just started learning GTA modding through making CLEO scripts for GTA:SA, currently trying to make a script that when the player presses backspace, shows how many NPCs they killed in a small box in the corner of the screen {$CLEO .cs} 0000: :DEMOTEXT 03A4: name_thread "DEMO" wait 1000 :DEMOTEXT_1 wait 0 if 0256: player $PLAYER_CHAR defined 004D: jump_if_false @DEMOTEXT_1 if 0AB0: key_pressed 8 004D: jump_if_false @DEMOTEXT_1 0806: get_nbr_of_killed_peds $PLAYER_ACTOR [email protected] 0ACA: show_text_box [email protected] 0002: @DEMOTEXT 0A93: end_custom_thread but currently nothing happens when pressing the backspace key, testing and looking at the docs gives me the impression the current issue is that i'm feeding an integer, being the return value for opcode 0806, as a parameter for opcode 0ACA which requires a string, so i jumped right to looking for type conversion but so far couldn't find any opcode that could convert an integer to a string, hence why i'm making this topic. Is there any opcode somewhere that could solve this problem that i missed or is there a different solution altogether to what i'm currently doing? and also, is there any form of error log anywhere one can check to assist CLEO script debugging? Link to comment Share on other sites More sharing options...
vladvo Posted October 7, 2022 Share Posted October 7, 2022 (edited) 1. In 0806 you must use $PLAYER_CHAR instead of $PLAYER_ACTOR 0806: get_player $PLAYER_CHAR kills_from_last_checkpoint [email protected] 2. Int to string - search forum. It was discussed already. 0AD3: string_format [email protected] format "%d" [email protected] With this code you make a variable [email protected] and define its format in " ". %d is number. So, you can use it like "%d %d" [email protected] [email protected] and it will show two vars. And then show this new var in text box: 0ACE: show_formatted_text_box [email protected] 3. You don't need to jump to the very beginning of you thread. 0002: DEMOTEXT_1 instead of 0002: DEMOTEXT Might as well just type jump DEMOTEXT_1 Without opcode. Looks more comfortable. 4. If you're using Sannybuilder - press F1 right after you type the code. You'll see magic. ) Literally type 0002 and without pressing anything else (no spaces or whatever) press F1. Your string will change to 0002: jump @MAIN_177 5. 0806. According to https://library.sannybuilder.com/#/sa/default/0806 you have to add a reset opcode (0297). I tried - but I was unable to get anything except 0. Also, there is a message on this forum "Posted April 28, 2018 Just reporting: If the "Count of killable model IDs" option is enabled, opcode 0806 does not work correctly." https://gtaforums.com/topic/733982-fastman92-limit-adjuster/?do=findComment&comment=1070211688 You might want to consider using stat 121 - People you've wasted 0652 GET_INT_STAT Returns the value of the specified integer stat Stat.GetInt(statId: int, var value: int) Example: 0652: [email protected] = GET_INT_STAT 121 For error logging you can download SCRlog. It has various setting. Slows the game if it is very detailed. Not for gameplay. Edited October 7, 2022 by vladvo 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