Jump to content

[GTA San Andreas] What Is Wrong With My Files/Scripts? (Ammo Increase For Weapons)


Recommended Posts

Hello GTAFORUMS experts..  i am the beginner of this *hit 😀 

 

As ORIONSR know, i am currently trying to increase ammo on specific weapons in order to collect ammo from the streets easily (excluding flame throwers, fire extinquisher, camera, molotovs and teargases) but he mentioned about the POOL.. 

 

According to this pool i can not add more weapon pickups to system and i have to delete the weapon pickups first before adding new weapons..

 

At first i tried to test at Sanny Builder too many attempts for increasing the ammo (I had no knowledge about the pool and i was stupidly trying something 😀) (032B Command) and i managed to compile on main.scm and script.img.. 

 

My actual problem is, the game is now loading with increased ammo even i remove all CS, TXT, main.scm and script.img files from GTA San Andreas directory.. (I have to remove cleo library and restore main/script from original files in order to go back to default) 

 

Right now i am trying to delete all the second (maybe third) weapon pickup entries from both files... 

 

I'm copying you these scripts as a code.. All variables and weapon pickups are taken from main.scm and these both "sc" files are the latest..  Where am i doing wrong? Please help me 🙂

 

Spoiler
{$CLEO .cs}
0000:

0215: destroy_pickup $3033
0215: destroy_pickup $3037
0215: destroy_pickup $3038
0215: destroy_pickup $3039
0215: destroy_pickup $3040
0215: destroy_pickup $3041
0215: destroy_pickup $3042
0215: destroy_pickup $3043
0215: destroy_pickup $3044
0215: destroy_pickup $3045
0215: destroy_pickup $3046
0215: destroy_pickup $3047
0215: destroy_pickup $3048
0215: destroy_pickup $3049
0215: destroy_pickup $3051
0215: destroy_pickup $3052
0215: destroy_pickup $3053
0215: destroy_pickup $3054
0215: destroy_pickup $3055
0215: destroy_pickup $3066
0215: destroy_pickup $3067
0215: destroy_pickup $3068
0215: destroy_pickup $3069
0215: destroy_pickup $3070
0215: destroy_pickup $3071
0215: destroy_pickup $3072
0215: destroy_pickup $3073
0215: destroy_pickup $3074
0215: destroy_pickup $3075
0215: destroy_pickup $3076
0215: destroy_pickup $3077
0215: destroy_pickup $3080
0215: destroy_pickup $3081
0215: destroy_pickup $3082
0215: destroy_pickup $3083
0215: destroy_pickup $3084
0215: destroy_pickup $3086
0215: destroy_pickup $3087
0215: destroy_pickup $3099
0215: destroy_pickup $3101
0215: destroy_pickup $3102
0215: destroy_pickup $3103
0215: destroy_pickup $3104
0215: destroy_pickup $3105
0215: destroy_pickup $3106
0215: destroy_pickup $3107
0215: destroy_pickup $3109
0215: destroy_pickup $3110
0215: destroy_pickup $3114
0215: destroy_pickup $3116
0215: destroy_pickup $3117
0215: destroy_pickup $3118
0215: destroy_pickup $3119
0215: destroy_pickup $3120
0215: destroy_pickup $3131
0215: destroy_pickup $3133
0215: destroy_pickup $3134
0215: destroy_pickup $3135
0215: destroy_pickup $3137
0215: destroy_pickup $3138
0215: destroy_pickup $3139
0215: destroy_pickup $3141
0215: destroy_pickup $3142
0215: destroy_pickup $3143
0215: destroy_pickup $3145
0215: destroy_pickup $3146
0215: destroy_pickup $3148
0215: destroy_pickup $3149
0215: destroy_pickup $3150
0215: destroy_pickup $3151
0215: destroy_pickup $3152
0215: destroy_pickup $3154
0215: destroy_pickup $3169
0215: destroy_pickup $3171
0215: destroy_pickup $3173
0215: destroy_pickup $3176
0215: destroy_pickup $3178
0215: destroy_pickup $3179
0215: destroy_pickup $3181
0215: destroy_pickup $3182
0215: destroy_pickup $3184
0215: destroy_pickup $3185
0215: destroy_pickup $3220
0215: destroy_pickup $3221
0215: destroy_pickup $3222
0215: destroy_pickup $3223
0215: destroy_pickup $3231
0215: destroy_pickup $3232
0215: destroy_pickup $3233
0215: destroy_pickup $3237
0215: destroy_pickup $3241
0215: destroy_pickup $3244
0215: destroy_pickup $3245
0215: destroy_pickup $3246
0215: destroy_pickup $5237
0215: destroy_pickup $5238
0215: destroy_pickup $5240

0A93: terminate_this_custom_script
Spoiler
// This file was decompiled using SASCM.ini published on 2021-07-05
{$CLEO .cs}

0000: NOP 
032B: $3037 = create_weapon_pickup #CHROMEGUN type 15 ammo 70 at 1345.0 2367.0 11.0 
032B: $3038 = create_weapon_pickup #AK47 type 15 ammo 60 at 1625.0 1944.0 11.0 
032B: $3039 = create_weapon_pickup #SAWNOFF type 15 ammo 75 at 1569.0 2150.0 11.0 
032B: $3040 = create_weapon_pickup #ROCKETLA type 15 ammo 40 at 2072.0 2370.0 61.0 
032B: $3041 = create_weapon_pickup #SNIPER type 15 ammo 30 at 2225.0 2530.0 17.0 
032B: $3043 = create_weapon_pickup #M4 type 15 ammo 80 at 2575.0 1562.0 16.0 
032B: $3044 = create_weapon_pickup #MP5LNG type 15 ammo 50 at 2243.0 1132.0 11.0 
032B: $3045 = create_weapon_pickup #MINIGUN type 15 ammo 300 at 2676.0 836.0 22.0 
032B: $3046 = create_weapon_pickup #TEC9 type 15 ammo 50 at 1761.0 591.0 10.0 
032B: $3047 = create_weapon_pickup #GRENADE type 15 ammo 30 at 2809.0 864.0 21.0 
032B: $3048 = create_weapon_pickup #AK47 type 15 ammo 60 at 1923.0 1011.0 22.0 
032B: $3049 = create_weapon_pickup #SHOTGSPA type 15 ammo 50 at 1407.0 1098.0 11.0 
032B: $3051 = create_weapon_pickup #MICRO_UZI type 15 ammo 40 at 1446.35 1900.03 11.0 
032B: $3052 = create_weapon_pickup #SILENCED type 15 ammo 40 at 1098.0 1681.0 7.0 
032B: $3054 = create_weapon_pickup #HEATSEEK type 15 ammo 40 at 1155.0 2341.0 17.0 
032B: $3055 = create_weapon_pickup #ROCKETLA type 15 ammo 40 at 1646.0 1349.0 11.0 
032B: $3066 = create_weapon_pickup #SPRAYCAN type 15 ammo 500 at 2510.0 -1723.0 19.0 
032B: $3067 = create_weapon_pickup #COLT45 type 15 ammo 35 at 2538.0 -1630.0 14.0 
032B: $3068 = create_weapon_pickup #MICRO_UZI type 15 ammo 40 at 2551.33 -1740.0 6.49 
032B: $3069 = create_weapon_pickup #SAWNOFF type 15 ammo 75 at 2428.0 -1214.0 36.0 
032B: $3070 = create_weapon_pickup #DESERT_EAGLE type 15 ammo 40 at 2766.0 -2182.0 11.0 
032B: $3071 = create_weapon_pickup #GRENADE type 15 ammo 30 at 2142.0 -1804.0 16.0 
032B: $3072 = create_weapon_pickup #MP5LNG type 15 ammo 50 at 1764.0 -1930.0 14.0 
032B: $3073 = create_weapon_pickup #SILENCED type 15 ammo 40 at 1214.0 -1816.0 17.0 
032B: $3075 = create_weapon_pickup #MP5LNG type 15 ammo 50 at 2266.0 -1028.0 59.0 
032B: $3076 = create_weapon_pickup #SPRAYCAN type 15 ammo 500 at 2463.0 -1061.0 60.0 
032B: $3080 = create_weapon_pickup #AK47 type 15 ammo 60 at 1308.97 -874.4 40.0 
032B: $3082 = create_weapon_pickup #TEC9 type 15 ammo 50 at 899.8012 -792.078 102.0 
032B: $3083 = create_weapon_pickup #COLT45 type 15 ammo 35 at 338.0 -1875.0 4.0 
032B: $3084 = create_weapon_pickup #GRENADE type 15 ammo 30 at 397.0 -1924.0 8.0 
032B: $3086 = create_weapon_pickup #TEC9 type 15 ammo 50 at 1408.0 -2380.0 14.0 
032B: $3087 = create_weapon_pickup #M4 type 15 ammo 80 at 1379.0 -2547.0 14.0 
032B: $3099 = create_weapon_pickup #GRENADE type 15 ammo 30 at 2441.0 -1013.0 54.0 
032B: $3101 = create_weapon_pickup #MP5LNG type 15 ammo 50 at -2678.0 -128.0 4.0 
032B: $3102 = create_weapon_pickup #DESERT_EAGLE type 15 ammo 40 at -2212.0 109.0 35.0 
032B: $3103 = create_weapon_pickup #M4 type 15 ammo 80 at -2903.0 784.0 35.0 
032B: $3104 = create_weapon_pickup #TEC9 type 15 ammo 50 at -2665.0 1452.0 7.0 
032B: $3105 = create_weapon_pickup #SATCHEL type 15 ammo 35 at -2754.0 -400.0 7.0 
032B: $3107 = create_weapon_pickup #CHROMEGUN type 15 ammo 70 at -1841.106 -74.2171 14.7606 
032B: $3110 = create_weapon_pickup #AK47 type 15 ammo 60 at -1968.0 -923.0 32.0 
032B: $3114 = create_weapon_pickup #MICRO_UZI type 15 ammo 40 at -1679.0 1410.0 7.0 
032B: $3116 = create_weapon_pickup #HEATSEEK type 15 ammo 40 at -1126.69 -150.82 14.61 
032B: $3117 = create_weapon_pickup #MINIGUN type 15 ammo 300 at -1496.0 591.0 42.0 
032B: $3118 = create_weapon_pickup #SATCHEL type 15 ammo 35 at -2542.262 922.2401 67.1221 
032B: $3119 = create_weapon_pickup #TEC9 type 15 ammo 50 at -2092.0 1121.0 54.0 
032B: $3120 = create_weapon_pickup #SNIPER type 15 ammo 30 at -1629.0 1167.0 24.0 
032B: $3131 = create_weapon_pickup #DESERT_EAGLE type 15 ammo 40 at -1870.0 -1625.0 22.0 
032B: $3133 = create_weapon_pickup #MICRO_UZI type 15 ammo 40 at -2038.0 -2562.0 31.0 
032B: $3135 = create_weapon_pickup #SAWNOFF type 15 ammo 75 at 2366.0 23.0 28.0 
032B: $3137 = create_weapon_pickup #MP5LNG type 15 ammo 50 at 1296.0 392.0 20.0 
032B: $3138 = create_weapon_pickup #TEC9 type 15 ammo 50 at 262.0 38.0 2.0 
032B: $3139 = create_weapon_pickup #AK47 type 15 ammo 60 at -121.0 -232.0 1.0 
032B: $3141 = create_weapon_pickup #M4 type 15 ammo 80 at 113.0 1811.0 18.0 
032B: $3142 = create_weapon_pickup #DESERT_EAGLE type 15 ammo 40 at 36.0 1372.0 9.0 
032B: $3143 = create_weapon_pickup #CHROMEGUN type 15 ammo 70 at 24.0 969.0 20.0 
032B: $3146 = create_weapon_pickup #AK47 type 15 ammo 60 at -585.0 2714.0 72.0 
032B: $3148 = create_weapon_pickup #CHROMEGUN type 15 ammo 70 at -932.02 2649.92 42.0 
032B: $3149 = create_weapon_pickup #HEATSEEK type 15 ammo 40 at -1317.0 2509.0 87.0 
032B: $3150 = create_weapon_pickup #MP5LNG type 15 ammo 50 at -1474.0 2577.0 56.0 
032B: $3151 = create_weapon_pickup #DESERT_EAGLE type 15 ammo 40 at -2352.0 2456.0 6.0 
032B: $3152 = create_weapon_pickup #GRENADE type 15 ammo 30 at -2520.0 2293.0 5.0 
032B: $3154 = create_weapon_pickup #MICRO_UZI type 15 ammo 40 at 119.0 2409.0 17.0 
032B: $3169 = create_weapon_pickup #SATCHEL type 15 ammo 35 at 1284.894 278.5705 19.5547 
032B: $3171 = create_weapon_pickup #AK47 type 15 ammo 60 at 2129.4 -2280.71 14.42 
032B: $3173 = create_weapon_pickup #MP5LNG type 15 ammo 50 at 2198.11 -1170.22 33.5 
032B: $3178 = create_weapon_pickup #COLT45 type 15 ammo 35 at 255.0493 84.0615 1002.453 
032B: $3179 = create_weapon_pickup #CHROMEGUN type 15 ammo 70 at 217.8 76.4 1005.047 
032B: $3181 = create_weapon_pickup #COLT45 type 15 ammo 35 at 263.2531 109.7859 1004.625 
032B: $3182 = create_weapon_pickup #CHROMEGUN type 15 ammo 70 at 228.3176 114.433 999.0215 
032B: $3184 = create_weapon_pickup #COLT45 type 15 ammo 35 at 242.613 196.3202 1008.172 
032B: $3185 = create_weapon_pickup #CHROMEGUN type 15 ammo 70 at 240.7765 196.1124 1008.172 
032B: $3220 = create_weapon_pickup #GRENADE type 15 ammo 40 at 2820.013 -1426.519 23.805 
032B: $3221 = create_weapon_pickup #MICRO_UZI type 15 ammo 40 at 2790.343 -1427.489 39.6258 
032B: $3222 = create_weapon_pickup #TEC9 type 15 ammo 50 at 2574.065 -1134.201 64.6535 
032B: $3223 = create_weapon_pickup #COLT45 type 15 ammo 35 at 2423.892 -1117.452 41.2464 
032B: $3231 = create_weapon_pickup #SAWNOFF type 15 ammo 75 at 1706.352 1242.019 34.2952 
032B: $3232 = create_weapon_pickup #MINIGUN type 15 ammo 300 at 2492.051 2398.377 4.5293 
032B: $3233 = create_weapon_pickup #ROCKETLA type 15 ammo 40 at 2055.355 2435.356 40.3684 
032B: $3237 = create_weapon_pickup #MP5LNG type 15 ammo 50 at 2293.686 1982.286 31.4335 
032B: $3241 = create_weapon_pickup #MINIGUN type 15 ammo 300 at 244.98 1859.185 14.08 
032B: $3244 = create_weapon_pickup #TEC9 type 15 ammo 50 at 2529.724 -1678.563 19.4225 
032B: $3245 = create_weapon_pickup #SAWNOFF type 15 ammo 75 at 2254.378 -2261.689 14.3751 
032B: $5237 = create_weapon_pickup #AK47 type 15 ammo 60 at 825.921 -1165.813 17.8936 
032B: $5238 = create_weapon_pickup #SAWNOFF type 15 ammo 40 at 832.603 -1273.861 14.4833 
032B: $5240 = create_weapon_pickup #SNIPER type 15 ammo 30 at 733.4333 -1356.47 23.5229 
terminate_this_custom_script 

Edit: Codes are now hidden..

Edited by ArmanCan

These variables are only available in the destroy_pickup script
$3033, $3040, $3042, $3053, $3074, $3077, $3081, $3106, $3109, $3134, $3145, $3176


Global variables in cleo scripts can cause bugs and crashes
I believe, so many globals will corrupt your game totally


 

Quote

My actual problem is, the game is now loading with increased ammo even i remove all CS, TXT, main.scm and script.img files from GTA San Andreas directory..
(I have to remove cleo library and restore main/script from original files in order to go back to default)

It doesn't matter.
If you made savegames with modified pickups and load these savegames, the modified pickups will come with the save file
Removing cleo and restoring main/script don't have effect in that case

But why is it then a problem?

 

The right way is:
Modify main.scm and start New Game and remove existing save files
and don't run cleo scripts with pickups, parked_car_generators, radar blips
Remove also the files inside Cleo\cleo_saves in this case

 

If you don't wanna start New Game, there're also other methods

Edited by ZAZ
2 hours ago, ZAZ said:

These variables are only available in the destroy_pickup script
$3033, $3040, $3042, $3053, $3074, $3077, $3081, $3106, $3109, $3134, $3145, $3176


Global variables in cleo scripts can cause bugs and crashes
I believe, so many globals will corrupt your game totally

 

Schönen Abend ZAZ 🙂

 

That means i can not write a DESTROY command with other variables.. right?

Talking about variables..what is it? There are already definitions about a specific weapon like weapon ID, type, and coordinates. Why do i need this "$3000" number?

 

"Cause bugs" you are right.. i lost info pickups, armors and bribes right after these attempts..😔

 

2 hours ago, ZAZ said:

It doesn't matter.
If you made savegames with modified pickups and load these savegames, the modified pickups will come with the save file
Removing cleo and restoring main/script don't have effect in that case

But why is it then a problem?

 

The right way is:
Modify main.scm and start New Game and remove existing save files
and don't run cleo scripts with pickups, parked_car_generators, radar blips
Remove also the files inside Cleo\cleo_saves in this case

 

If you don't wanna start New Game, there're also other methods

 

Yeah.. I think these datas are overwritten on BASS.DLL. (Because i am using Sanny Builder's Library and the program is not installing CLEO/Scripts folder..)

 

"Modify main.scm".. I tried but i couldn't manage.. I decompiled the main.scm and checked the file but i couldn't compile it and i have no idea about modifying..

 

"If you don't wanna start New Game, there're also other methods" like editing the save file with SASE without using cleo library.. right? 😀

 

i tried so many attempts (except using sanny builder or cs files) and my biggest problem is "Bass.dll".. Because whenever i remove this file from the directory, everything begins to run smoothly but it will prevent me to install/use another downloaded cleo mods or scripts so I have to fix the whole cleo library 😔

 

Before i post this comment, i have just couple of questions 

 

- What is the perfect way to add weapons or change the weapon values ?

- Were my codes correct or should i add some extra codes/commands?

Edited by ArmanCan

Sorry about the late reply; I'm having a tough time with the heat...

 

There are a few problems with your scripts, but we should be able sort those out and make a few changes to your pickups without breaking anything. As a general rule, messing with global variables in cleo scripts can cause serious damage to the saved data; problems that might not appear until much later in the game, but some things can be managed safely, if you are careful.

 

Global Variables start with a $ symbol, and are usually numbered. Sometimes the purpose of the variables have been identified and named in Sanny's customvariables.ini file. Like $2 is the same as $Player_Char, $3 is called $Player_Actor, and $409 is $ONMISSION. Generally, these are the only global variables commonly used in cleo scripts. Global variables are generic 4 byte data fields the game uses to remember current progress and other values, like how many Ryder missions have been passed, the coordinates of save disks, or where the game stored a created pickup. The values recorded are stored in the save file. Any script or mission has access to the same global variable pool. (Local variables end with the @ symbol, are similar to global variables are specific to each script or mission.)

 

Figure that all global variables are owned by the game scripts. They should only be used in context with the full game. Creating your own custom variable names or using global variables for your own purpose is very likely to cause trouble. 

 

First of all, make sure the global variables list for destroyed pickups is the same as the list for re-created pickups. ZAZ has pointed out the main concerns. You can comment out lines with a double slash to prevent compilation and execution of the line.

//0215: destroy_pickup $3033
0215: destroy_pickup $3037
0215: destroy_pickup $3038
0215: destroy_pickup $3039
0215: destroy_pickup $3040
//0215: destroy_pickup $3041

 

Next part, confirm that each of these variables are only used once in the entire script, and only within the missions INITIAL and INITIL2, the hidden missions that establish much of the game's parameters, by searching main.txt in Sanny. We don't want to mess with more complicated pickups from missions and other scripts for this experiment. Also note, these tests should be run on a standard main.scm, v1 or v2 shouldn't matter.

 

It's important to control when your commands will execute. Combine both of your scripts into one; include the destroy list before the (re-)create list. Add a WAIT 0 between the sections to make sure the game has had a chance to finish destroying before creating.

 

Add WAIT 3000 (3 seconds, or more) after the 0000: (NOP, no operation) at the start of your script. This is good practice for test scripts; allow 2 seconds for the screen to fade in after loading a save and at least once second so CJ can move a bit before the script can do anything. This allows you to tell if there was a problem just getting the save loaded or after the script starts to run.

 

With the above modifications I would expect your script to work just fine on any standard save you would load. However, a bit more work is needed before it'll work properly on a new game. In a loaded save, INITIAL and INITIL2 have already finished executing, so you know that the pickups from your list have been created. You can make the script work on new games by trapping it in a loop until $ONMISSION == 0. (Move away from the bike until the green house icon appears on radar when the intro mission finishes.)

 

Put this snippet after the suggested WAIT 3000, and before the list of pickups to destroy.

:Loop
0001: wait 0
00D6: if 
0038:   $ONMISSION == 0 
004D: jump_if_false @Loop 

 

At this point the script should be fully functional, but it's still a bit dangerous. The script will run every time you start a new game or load a save, and it doesn't provide any warning when it runs in the background - it's easy to forget about. So... let's add a cheat string to control when the script activates, and a message that plays a sound as notice.

 

00D6: if 
0ADC:   test_cheat "MYPICKS"
004D: jump_if_false @Loop 

0ACE: show_formatted_text_box "Increasing ammo of standard pickups."

 

All together you should get something that looks like this, but with longer lists:

{$CLEO .cs}
// MyPicks.txt
0000:
0001: wait 3000

:Loop
0001: wait 0

00D6: if 
0038:   $ONMISSION == 0 
004D: jump_if_false @Loop 

00D6: if 
0ADC:   test_cheat "MYPICKS"
004D: jump_if_false @Loop 

0ACE: show_formatted_text_box "Increasing ammo of standard pickups."

//0215: destroy_pickup $3033
{...}
0215: destroy_pickup $3069
{...}

0001: wait 0
{...}
032B: $3069 = create_weapon_pickup #SAWNOFF type 15 ammo 75 at 2428.0 -1214.0 36.0 // LS Pig Pen Roof
{...}

0A93: terminate_this_custom_script 

 

And... I need to post and test this on my other computer. I'll update if I find any problems.

 

Update: Seems to be working as expected. You'll need to fill in your lists {...}. I only tested one pickup near the game start. I also added a comment to the end of the line to make this pickup easier to identify. You might want to do the same to the pickups on your list as you test the updated ammo.

Edited by OrionSR

Holly *hit guys..😀 you two must be a God of "coding".. 

 

It seems i am the only guy who tries to "increase ammo".. This idea will be useful who tries similar ideas..

 

Talking about my problem and solutions..I reduced the number of weapons (68 Weapons) so it will be less occupied script.. I will try to copy these contents and compile both files.. Off course i will test it later.. As i said before i'm not modder but i have to learn some basics in order to fix the game and this script (If possible)

 

I have to thank you guys for your effort and give my apologies because i took your time so much.. 🙂 Stay safe and healthy guys 😉

Edited by ArmanCan
On 8/12/2021 at 10:29 AM, OrionSR said:

Update: Seems to be working as expected. You'll need to fill in your lists {...}. I only tested one pickup near the game start. I also added a comment to the end of the line to make this pickup easier to identify. You might want to do the same to the pickups on your list as you test the updated ammo.

 

I followed your instructions but i couldn't BYPASS the goddamn BASS.DLL 😠

 

- I completely removed the whole game and Sanny Builder.

- I installed the game, sanny builder and cleo library with using Sanny Builder's auto install function again.

- I tried to delete/rename some cleo files (Or even downloading bass.dll from its original website) but it seems Sanny only initiates/works with its "bass.dll"

 

My cleo seems permanently broke and if you know how to repair library or only bass.dll please explain to me. Otherwise i won't try to increase ammo or download any cleo mods because of stupid sanny..

Edited by ArmanCan
4 hours ago, ArmanCan said:

I followed your instructions but i couldn't BYPASS the goddamn BASS.DLL 😠

 

Hm... Yeah, I concentrated on the coding for the pickups and ignored your other concerns, hoping they'd wash out. I've read a number of your comments about bass.dll but I don't fully understand the problem. Some clues:

 

BASS.DLL is a required component of Cleo 4. I don't think this is the root issue.

 

Windows will often try to protect any apps installed to it's default Programs folders. I ran into problems wrestling with admin mode just to get new stuff to stick and, once installed, not being able to remove mods without them getting restored from backups in a WinStore(?) folder. I first ran into these problems with Win7, but they might even date back to Vista. I'm not sure what Win10 does because I stopped installing games I intend to mod in the default folder, opting to install to a C:\Games\ folder instead.

 

Another problem might be a Steam or R* Launcher version of the game. It's my understanding that these games have their own protection against corruption. Generally these versions need to be downgraded to be compatible with cleo and other forms of modding. It's my understanding that the good downgrader I used is no longer fully functional - something about the Nexus being down. I don't know what to recommend for a current downgrading strategy.

 

Anyway, going back to the original problem of collecting ammo, there are lots of possible solutions. Like don't bother. You mentioned inspiration from Zoom, who I believe posted a video of starting vigilante immediately after starting a new game, and finishing the mission with the ammo collected along the way. I've got an Ammo Run video on YouTube showing how to stock up on ammo from pickups in a 6 minute loop around LS - enough time for the pickups to respawn for another loop.

Too much ammo is annoying. I don't like having the clip count disappear when over 9999 rounds are collected. I rely on the clip count to show me when I need to toggle between weapons to avoid the slow reloading animation. Even moderate amounts of ammo for uzis and assault weapons can be too much once I start gang wars. I don't like leaving dropped pickups lying around because they can clog the pickup pool if CJ moves away before they expire, so I collect them regularly, which can easily lead to over filling the ammo count.  Also, once Doberman unlocks the Ammu-nations it's pretty easy to keep doubling CJ's ammo for certain weapons.

 

Another modding strategy... In my custom starter saves (check the SA Chain Game topics) I added a few key pickups to an interior that is common to all areas - an armory I linked at various locations across the map. The Disco Bars could serve a similar purpose. Any weapons placed inside would be available in any city, and there's plenty of stage room for spreading out the pickups.

 

Edited by OrionSR
1 hour ago, OrionSR said:

Hm... Yeah, I concentrated on the coding for the pickups and ignored your other concerns, hoping they'd wash out. I've read a number of your comments about bass.dll but I don't fully understand the problem. Some clues:

 

BASS.DLL is a required component of Cleo 4. I don't think this is the root issue.

 

I made a mistake about not telling you that "I'm not a modder" at first topic (Help & Support). And off course you didn't warn me about "Permanent Errors" about this stupid cleo. I'm pissed because any stupid script cause some bull*hit errors and it becomes difficult to repair. This stuff should be like "delete the file and move on" not "open the file, find the error, fix, test and if it doesn't solve try again". It is extremely nonsense/annoying for me.

 

- I decompiled/opened the "main.scm" and checked every column but i didn't find anything wrong/different..

- There was a "Img Editor" called "alci".. i opened the "script.img" with it and checked every scm file with Sanny but i didn't find anything wrong again.

- I even downloaded hex editor even i have no knowledge about hex editing..

 

 

1 hour ago, OrionSR said:

Windows will often try to protect any apps installed to it's default Programs folders. I ran into problems wrestling with admin mode just to get new stuff to stick and, once installed, not being able to remove mods without them getting restored from backups in a WinStore(?) folder. I first ran into these problems with Win7, but they might even date back to Vista. I'm not sure what Win10 does because I stopped installing games I intend to mod in the default folder, opting to install to a C:\Games\ folder instead.

 

If that solves my problem i may try that tomorrow.

 

1 hour ago, OrionSR said:

Anyway, going back to the original problem of collecting ammo, there are lots of possible solutions. Like don't bother. You mentioned inspiration from Zoom, who I believe posted a video of starting vigilante immediately after starting a new game, and finishing the mission with the ammo collected along the way. I've got an Ammo Run video on YouTube showing how to stock up on ammo from pickups in a 6 minute loop around LS - enough time for the pickups to respawn for another loop.

 

I also forgot to tell you because i was pissed about this sanny, cleo, bass.dll or whatever the *uck is.. I think your blank script text worked 🙂 because i noticed a "1 Script" text near the cleo version text on main menu but i didn't see any affect right after i reach any weapons before the first mission..

 

Anyway long stoy short.. lets just pretend that this problem has been fixed and not blow up the heads because of it.. okk?? 😉

Edited by ArmanCan
10 hours ago, ArmanCan said:

I also forgot to tell you because i was pissed about this sanny, cleo, bass.dll or whatever the *uck is.. I think your blank script text worked 🙂 because i noticed a "1 Script" text near the cleo version text on main menu but i didn't see any affect right after i reach any weapons before the first mission..

Yeah, I think the scripts have been working all along, but with odd consequences because they executed earlier than expected. You won't get an active script count on the pause menu if the script terminated immediately. The script I posted is a bit different. It won't do anything other than wait in a loop until you enter the cheat string "MYPICKS". It's like entering the cheat code "ROCKETMAN" to get a jetpack, except it doesn't count as a cheat. Only then will the pickup(s) be destroyed and re-created with different ammo. Then it terminates, so again no scripts running in the cleo splash.

 

Consider installing a ShowSaveScreen script, which I think is currently included as a script example somewhere in Sanny's installed folders. The script will save anywhere when F4 is pressed, and is one of the few cleo scripts I've always got running. It's a handy testing tool, and especially useful for pickups because it's easy to get a good baseline save for testing without messing with any of the standard pickups. Also, in this case, it's an easy script to install to make sure cleo is working properly and Sanny is compiling and copying to the correct game folder. This script never terminates, so it should always be counted as active in the cleo splash.

 

11 hours ago, ArmanCan said:

I even downloaded hex editor even i have no knowledge about hex editing..

For a good free hex editor, check out HxD. I tend to use it regularly even though I usually use a more powerful tool, the 010 Editor. I've got binary templates than can parse and enumerate most of the fine details for San Andreas save files, including PC, PS2, mobile and OG Xbox. Details of the save structure can be found in the SA Save Wiki.

 

11 hours ago, ArmanCan said:

"alci".. i opened the "script.img"

I'm not familiar with this tool but... Sanny will decompile main.scm and script.img into main.txt. The script.img file includes the external scripts listed at the end of the file, after the missions. I'm not expecting to find any problems with the standard scripts; I was planning to offer suggestions for implementing the changes in main.scm once testing with cleo is complete. 

 

11 hours ago, ArmanCan said:

lets just pretend that this problem has been fixed and not blow up the heads because of it.. okk?? 😉

I'm sorry that this process has been so frustrating. Hopefully reinstalling out of the Programs folder will help. I know that I was quite frustrated with the unpredictable results when I switched to Win7. If it makes you feel any better, I too had a difficult time making the transition to how the game really works compared to what I had imagined as a player. I've got a better grip on things now, but it's still an on-going process. I usually learn something new every time I dig a little deeper into a particular issue.

 

3 hours ago, OrionSR said:

It won't do anything other than wait in a loop until you enter the cheat string "MYPICKS". It's like entering the cheat code "ROCKETMAN" to get a jetpack, except it doesn't count as a cheat.

 

Hold up man.. You didn't mention about entering a cheat code "MYPICKS" .. I thought it will be an automatic process right after the cutscene.. 🙂

 

3 hours ago, OrionSR said:

For a good free hex editor, check out HxD.

 

Off course you are trying to solve your problems and ours but i have to explain to you again. I downloaded HEX Editor in order to find a clue about my problem and post you a screenshot about it. I actually found something but it was weird and unreadable..

 

https://www.hizliresim.com/8k18p7u (Here is an opened bass.dll file from this program) 

 

3 hours ago, OrionSR said:

I was planning to offer suggestions for implementing the changes in main.scm once testing with cleo is complete.

 

I didn't enter the cheat and test it but i looked the whole list and i didn't find anything different on both main.scm and main.txt

 

3 hours ago, OrionSR said:

I'm sorry that this process has been so frustrating. Hopefully reinstalling out of the Programs folder will help.

 

This will be my last solution if i couldn't fix it 😉

 

3 hours ago, OrionSR said:

I usually learn something new every time I dig a little deeper into a particular issue.

 

You usually learn something because it is your lifestyle.. And yeah coding seems fun at first sight but unfortunately i learned my lesson very well with screwing the cleo and i don't have an intention to "dig deeper" 😀

7 hours ago, OrionSR said:

Hopefully reinstalling out of the Programs folder will help.

 

Well i was surprised but it worked..😉

 

- I removed the game, Sanny, GTA San Andreas User Files, reinstalled the game to "C:/Games" and Sanny Builder to it's default location.

- I carefully installed silent and widescreen fix.

- When i open Sanny Builder i realized that my previous scripts were in "Program Files x86/Rockstar Games/GTA San Andreas/data/script" even this folder doesn't exist anymore.

- I decompiled our script and copied to main.scm and script.img. 

- After a while (It was like " End Of Bike Instructions" or 30-45 seconds) i entered the cheat  "MYPICKS" and it worked..

- I also tried to collect one Horseshoe, Oyster, Snapshot, Tag, Body Armor and Bribe

- Hotdog Stalls and Vending Machines are working very well..

- During "Tagging Up Turf" i tried to tag all graffitis in order to acquire reward weapons and this one was also working well..

 

But still i have just one question..

 

 "I edited the values of "Spraycan" wrong and i have to change it.. If i edit and do "Compile+Copy" is my weapon ammo values doubled or nothing happens?

Edited by ArmanCan
1 hour ago, ArmanCan said:

I edited the values of "Spraycan" wrong and i have to change it..

In the context of a modified main.scm (assume there is always an associated script.img paired with main.scm; it's usually not worth mentioning script image):

  • I would expect the ammo value to be exactly as coded unless the original create code was not commented out (recommended) or removed before adding the modified codes. Care should be used to avoid adding more pickups than planned. SASE can be a useful tool for verifying new game pickups.
  • Three spray cans are added to the map by the Initial mission. If you want to change their ammo you'll want to start a new game save because any save you load will already contain these pickups. The Initial missions will not run again. You could always destroy and re-create the pickup using the MyPicks strategy, but at this point we're testing a main script with a modified Initial mission, so a new game is called for.
  • The 4th spray can is awarded to CJ's bedroom when Tagging Up Turf is completed, so it sounds like you've missed your chance at changes by SCM modding on the current save. Be aware that this pickup, $6537, appears to be coded twice, but the exterior spot seems to be part of "dead code," line(s) that cannot execute as written - debug code, or leftover scraps.
    :SWEET1_495075
    0051: return 
    0002: jump @SWEET1_495112 
    032B: $6537 = create_weapon_pickup #SPRAYCAN group 15 ammo 1000 at 2493.52 -1700.83 14.27 

 

 

BTW, save compatibility is usually not an issue when modifying missions. Extra care must be used to maintain compatibility when editing anything before the first mission. If the overall size of these running scripts changes by just 1 byte then old saves will no longer be compatible with the modified main. Modifying the amount of ammo for collection rewards and Helena's barn can be problematic as it's pretty easy to change a small byte value (127) to a larger two-byte word (128). Similar problems occur for ammo values above 32767. 

 

 

 

OrionSR and ZAZ you guys are the MAN!!!

 

Your solutions/suggestions were extremely helpful and i literally boosted every "Weapon Skill" and "100 Tags" like "Augenblick" i mean "Eyeblink" . I'm now preparing myself a "Starter Save" and i will try to complete the game %100+. If i encounter some problems i will post it to you. My first intention was also touching the reward weapons/tools but i gave up on this. These weapons will be enough for me 😉

 

I really would like to buy you a "Türkisch Döner + Augustiner Hell" or "Real Italian Pizza + Krombacher" but i will like your comments instead. Thank you so much for your help. Stay safe and healthy guys 😀

Edited by ArmanCan
  • 2 years later...
6 hours ago, Alkimical said:

Could you share the fixed script?

I only have this one and i have no idea if it suits your needs.. 🙂

https://www.mediafire.com/file/d80gb76mxpo8wsc/mypicks_OLD.cs/file

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 0 User Currently Viewing
    0 members, 0 Anonymous, 0 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.