-
Content Count
361 -
Joined
-
Last visited
-
Days Won
36
Posts posted by uokka
-
-
Can't post this too often.
Klick HERE -> San Andreas Mod Loader (made by LINK/2012).--
@ BTTFModMachine,
Exactly what I'm doing currently. (: But with only my stuff.
Since Anderius came up in the shoutbox. yesterday?
- 1
-
The .cs3 extension is only needed for scripts that make use of 0A9A: opcode.
It's used in scripts written for CLEO 3 which have to read external files (.ini, .dat, etc).
-
[...]uokka,i found your modloader on gta garage, [...]
Not my ModLoader. Made by LINK/2012.
--
.DLLs and .ASIs Don't work well currently. Also several file formats are not yet supported. But the most important stuff, which makes ModLoader so awesome for me, are .DFFs, .TXDs and AUDIO files. Also several config files. You can even create one folder inside the ModLoader folder, containing a vehicle .DFF & .TXD, plus its required handling.cfg / vehicle.ide / carcols.dat / carmods.dat lines in a single text file. Bam.. installed. Oh, I'm off-topicking again..
If you want to load UltraThing while already using a d3d9.dll, you can either try NTAuthority's 'fixed' SALA (sorry, dont have a link) or try chainloading it with ENBSeries. The latter is what I did to make UT's reflections work on Win7, without even having ENB activated.
[PROXY] EnableProxyLibrary=1 InitProxyFunctions=1 ProxyLibrary=d3d9_UltraThing.dll ...
-
@ BTTFModMachine,
I agree. It's a great tool for testing mods.
But it's not limited to just testing.. I just tryed to install Indra P's HQ hand models on my Anderius installation, but the .DFF allone, which I had to extract from my modded SA (since the server for Indra P's downloads is down), doesn't seem to be the complete mod. Now I have no idea what else belongs to that mod. This wouldn't have happen if I was using ML for that mod in the first place. (;
Also, the tools used to edit GTA's files are mostly pretty old and buggy and can even sometimes produce bad results / corrupted files.
With ModLoader, you never have to repair your installation - Re/Moving a single folder is enough.
Imagine how easy it is to install mods for people that never modded GTA before.. Ah, so easy! I think I fell in love, sorry.
- 1
-
Anything could case a freeze at that point.
However, when adding / replacing files in gta3.img, make sure they don't already exist in bttf.img.
For totally getting rif of those problems, use
San Andreas Mod Loader. (;- 1
-
Please don't relpy here. This topic is a dublicate:
-
Instead of messing with all those tools, I'd strongly recommend to try San Andreas Mod Loader. It's awesome.
It's super nice and easy to use. If a file can't get loaded by ML, you can still install it the old way using whichever tools you like.
For .IMGs, I prefer IMG Tool 2.0 .
- 2
-
"data execution preventation" or something like that. Try google.
- 1
-
True.
And just to make sure, no one ever said it 'will' be released at a certain date!
For those who don't get it, the jammed destination time of the forums time circuits don't tell you anything either.
- 2
-
You don't know what complexity those things will have in the finished mod, neither do I. So I think It'd be pretty inaccurate to predict a time line for completition of such things from our point of view, especially if the mod team itself can't really tell when they're done.
Also, if you build a boat and when you're nearly finished you notice that there is something really important not working as you planned, you shouldn't let anybody get in there or they won't be satisfied of sealing at all.
-
FIRST!
{CLEO .cs} 0000: // Activate cheats //0A8C: write_memory 0x969166 size 1 value 1 virtual_protect 0 // "Cars Float Away when hit" //0A8C: write_memory 0x969152 size 1 value 1 virtual_protect 0 // "Cars can drive on water" // Deactivate cheats 0A8C: write_memory 0x969166 size 1 value 0 virtual_protect 0 // "Cars Float Away when hit" 0A8C: write_memory 0x969152 size 1 value 0 virtual_protect 0 // "Cars can drive on water" 0a93: end_custom_tread
Give it a file name with 'late' letters so it runs after the script that might activate the cheats (like 'z_cheats.cs').
-
Its not a glitch but a feature.
Its the "Cars Float Away when hit" cheat, activated via memory.
Open the scripts with Sanny Builder and search for this:
0A8C: write_memory 0x969166 size 1 value 1 virtual_protect 0
Or this (same thing):
0A8C: write_memory 9867622 size 1 value 1 virtual_protect 0
IIRC, the "Cars can drive on water" cheat is also used.
0x969152
9867602
When found, delete it and recompile.
- 1
-
The team won't loose that much if users getting bored lurking the forum (or asking 'the question'). Whenever they'll have something to show, or share, everyone will be back anyway. And a couple of geeks will always be here so the team won't feel lonly either. q:
- 1
-
oops.. totally forgot about that! I made sure I didn't delete that PM though.
-
Oh, well then just comment out / delete what you don't need.
--
EDIT
It wouldn't make sense to integrate this into timecircuit.cs because timetravel.s already takes care of recreating the time machine after time traveling for both modes independantly, playing sounds, attaching stuff to the car etc, which variables are stored local in this script. The 'time values' from timecircuit.cs however are globally accessable so it's simpler (which is mostly always better) to not dublicate code.
That population stuff is rather simple though and doesn't need to be in a special place I'd say. Just delete it from my script.
Hmm, although I could think that it would work better to set the new population value before the map gets cleared of all cars and peds (which always happens when timetraveling). But I'm totally guessing here. If it works from within timecircuit.cs, why not.
-
Some little improvement for the teleport stuff.
Camera position while time traveling in cutscene mode is now fixed. Wasn't that hard actually. Just got confused by some descriptions of opcodes.
Teleporting while instant time traveling corrected too. Now the lag / screen freeze (when the game loads the destinational part of the map) happens during screen fade.
Added population ratio dependant on the year.
Key for disableing teleporting not yet done.
Would be good if you could test this any time soon so I don't do it for nothing.. (;
So, for the first function call (instant tt), I moved it down a little just after the 'fade'.
Also, I reduced the 'wait', which is near the bottom, by "50" and put a 'wait 50' before the call.
Furthermore, It plays the cutscene reentry sound. It's odd if it enters the wormhole with a boom but exits it silently.
... if 30@ == 0 then 0AB4: 24@ = var 900 0AAD: set_mp3 24@ perform_action 0 0AC5: link_3d_audiostream 24@ to_vehicle 0@ 0AAD: set_mp3 24@ perform_action 1 0169: set_fade_color_RGB 255 255 255 016A: fade 0 time 0 // --- BEGIN (part 1/2) wait 50 0AB1: call_scm_func @TimeTeleport num_params 2 car 0@ nop 0 store_to 11@ 12@ 13@ 0AB4: 24@ = var 910 0AAD: set_mp3 24@ perform_action 0 0AC5: link_3d_audiostream 24@ to_vehicle 0@ 0AAD: set_mp3 24@ perform_action 1 // --- END (part 1/2) // Regenerate world and clear wanted level 03BA: clear_cars_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 042B: clear_peds_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 06DB: destroy_all_trains 0395: clear_area 2 at 11@ 12@ 13@ radius 100000.0 Player.ClearWantedLevel($PLAYER_CHAR) 0AB3: var 9 = 1 wait 50 // set past time 0085: 5@ = 3@ // (int) 0085: 6@ = 4@ // (int) 016A: fade 1 time 50 0AB3: var 0 = 0 066B: 18@ = attach_particle "BLUEEXPLOSION" to_car 0@ with_offset 0.0 2.0 0.0 flag 1 064C: make_particle 18@ visible 0003: shake_camera 160 064F: remove_references_to_particle 18@ // 09E5: create_flash_light_at 11@ 12@ 13@ RGB_mask 60 180 255 radius 10.0 04D5: create_corona_at 11@ 12@ 13@ radius 4.2 type 1 flare 0 RGB 200 200 200 // GREY - Star 04D5: create_corona_at 11@ 12@ 13@ radius 4.2 type 0 flare 1 RGB 0 0 80 // BLUE - Corona 04D5: create_corona_at 11@ 12@ 13@ radius 4.0 type 2 flare 0 RGB 80 0 0 // RED - Moon 2@ = 1 29@ = 0 33@ = 0 0AB4: 27@ = var 14 27@ -= 1 // --- BEGIN (part 2/2) //wait 100 wait 50 // --- END (part 2/2) 0AB3: var 14 = 27@ 0A92: create_custom_thread "bttf_cold.s" 0@ 0A92: create_custom_thread "bttf_vent.s" 0@ return // Cutscene Time Travel else ...
For cutscene, just put the call between 0650: destroy_particle and 03BA: clear_cars_fro... :
Keep in mind it's not the exact same as in the above code.
... // Cutscene Time Travel else // Disable shadows. They still show if you're invisible. 0A8D: 2@ = read_memory 0xA9AE54 size 1 virtual_protect 0 0A8C: write_memory 0xA9AE54 size 1 value 0 virtual_protect 0 // Make character unable to leave car and ignored_by_everyone 07CC: set_player $PLAYER_CHAR button_15 0 03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 gosub @TimeEntry wait 500 0169: set_fade_color 0 0 0 016A: fade 0 time 500 wait 500 0650: destroy_particle 18@ 0650: destroy_particle 19@ // --- BEGIN 0AB1: call_scm_func @TimeTeleport num_params 2 car 0@ dummy 30@ store_to 11@ 12@ 13@ // Just this one // --- END 03BA: clear_cars_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 042B: clear_peds_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 06DB: destroy_all_trains 0395: clear_area 2 at 11@ 12@ 13@ radius 100000.0 Player.ClearWantedLevel($PLAYER_CHAR) 0AB3: var 9 = 1 wait 1400 016A: fade 1 time 500 wait 1000 end ...
And this just at the very end of the script.
:TimeTeleport 0AB4: 3@ = var 3 // Var 3: Destination MDY 0085: 4@ = 3@ // (int) 4@ /= 10000 4@ *= 10000 0062: 3@ -= 4@ // (int) //0AB4: 11@ = var 15 if //aNd //11@ == 1 0AB6: store_target_marker_coords_to 4@ 5@ 6@ // IF and SET then 02CE: 10@ = ground_z_at 4@ 5@ 6@ else IF 3@ >= 3000 THEN 03DE: set_pedestrians_density_multiplier_to 10.0 01EB: set_traffic_density_multiplier_to 10.0 0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 0.0 ELSE IF 3@ > 2015 THEN //0AD1: show_formatted_text_highpriority "Where is my scooter brother?" time 4500 // TEST - LV Stadium 4@ = 1099.7675 5@ = 1530.5302 6@ = 52.5875 03DE: set_pedestrians_density_multiplier_to 2.0 01EB: set_traffic_density_multiplier_to 2.0 ELSE if 3@ == 2015 then //0AD1: show_formatted_text_highpriority "Welcome to the future!" time 4500 // TEST - LV Airport 4@ = 1412.1206 5@ = 1566.6691 6@ = 18.1073 03DE: set_pedestrians_density_multiplier_to 1.0 01EB: set_traffic_density_multiplier_to 1.0 else IF 3@ > 1985 THEN 03DE: set_pedestrians_density_multiplier_to 1.0 01EB: set_traffic_density_multiplier_to 1.0 0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 0.0 ELSE IF 3@ == 1985 THEN //0AD1: show_formatted_text_highpriority "Uh, yeah.. The 80s!" time 4500 03DE: set_pedestrians_density_multiplier_to 0.6 01EB: set_traffic_density_multiplier_to 0.6 0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 0.0 ELSE if 3@ == 1955 then //0AD1: show_formatted_text_highpriority "uokk'N'Roll, baby!" time 4500 059A: return_false 03DE: set_pedestrians_density_multiplier_to 0.4 01EB: set_traffic_density_multiplier_to 0.2 0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 0.0 else IF 3@ == 1885 THEN //0AD1: show_formatted_text_highpriority "Beware the cows, boy!" time 4500 03DE: set_pedestrians_density_multiplier_to 0.2 01EB: set_traffic_density_multiplier_to 0.0 0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 0.0 ELSE if 3@ < 1885 then //0AD1: show_formatted_text_highpriority "Don't get erased from existance by killing anyone!" time 4500 03DE: set_pedestrians_density_multiplier_to 0.1 01EB: set_traffic_density_multiplier_to 0.0 0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 0.0 else //0AD1: show_formatted_text_highpriority "~n~Welcome to~n~%d" time 4500 1@ 0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 0.0 end END end END END end END END 02CE: 10@ = ground_z_at 4@ 5@ 6@ end 0AB4: 11@ = var 11 if 11@ == 0 then 06A2: get_car 0@ velocity_in_direction_XYZ 7@ 8@ 9@ 04E4: refresh_game_renderer_at 4@ 5@ 03CB: set_rendering_origin_at 4@ 5@ 10@ 08C7: put_actor $PLAYER_ACTOR at 4@ 5@ -100.0 dont_warp_gang // versionB 7@ /= 50.0 8@ /= 50.0 9@ /= 50.0 07D5: set_car 0@ velocity_in_direction_XYZ 7@ 8@ 9@ rotation_velocitiesXY 0.0 0.0 unk 0.0 else 04E4: refresh_game_renderer_at 4@ 5@ 03CB: set_rendering_origin_at 4@ 5@ 10@ 01BC: put_object 1@ at 4@ 5@ 6@ Camera.Restore_WithJumpCut() end 0AB2: ret 3 4@ 5@ 6@
EDIT: Updated. was crashy.
-
Yeah, Neomatrix is already aware of that. See the post above your's.
The problem is, it's not yet available for iOS. Only Android.
-
The "Last file loaded" isn't necessarily the file thats causing the issue. In fact, it mostly never is.
I was just reading on GTAF about project 2dfx, where guys increase certain model/map draw distance stuff. People there have as well reported crashes on leaving interiors (or rather entering back the real map).
SALA (used in the bttf mod - d3d9.dll) is pretty buggy thus 'might' be causing those crashes.
2dfx, which is a collection of mods, also includes an alternate limit adjuster. I'm not sure if it supports the same hacks but might be worth a try to get rid of SALA and use "limit_adjuster_gta3vcsa.asi" (yep, supports all three games).
Additionally, you might want to update to Silent's ASI loader.
- 1
-
Have you tryed editing the version of 'timetravel.s' you're using and does it work so far?
--
Sorry, no help about effects from my side. I know they can be made move faster but I can't tell what to edit.
It's also possible to increase intensity/amount but I'm not sure how either.
-
Apart from the fact that time dependant teleporting doesn't make any sense, it's actually quite fun.
I'll see if I can improve it a little.
I'll add a global CLEO variable (var 15) to toggle teleporting on/off and include that in in 'keypad.cs'.
I think the "devide" key is OK.
What do you think?
- 1
-
@Darth-Sidious,
yeah, I understand. You can choose original bugs or user made bugs. q:
@BTTFModMachine,
The edited 'BttF_TimeTravel.s' works pretty well.
I tryed to set the camera behind the car when time traveling in cut scene mode but that would need dozens of lines of code for funky math stuff because there seems to be no simple opcode available for that. I decided its not necessary.
I left out remote controlled teleporting. Who needs that anyway.
As you might have noticed, the car keeps its velocity. You better be aware of that when teleporting near buildings etc. (;
OK.. put all this stuff at the very end of your timetravel.s so "nothing" is after that (except other functions or gosubs which do a 'return').
:TimeTeleport 0AB4: 3@ = var 3 // Var 3: Destination MDY 0085: 4@ = 3@ // (int) 4@ /= 10000 4@ *= 10000 0062: 3@ -= 4@ // (int) if 0AB1: call_scm_func @GetTargetByYear 1 3@ store_to 4@ 5@ 6@ 10@ then else if 0AB1: call_scm_func @GetTargetMarkerCoords 0 store_to 4@ 5@ 6@ 10@ then else //0407: store_coords_to 2@ 3@ 4@ from_car 0@ with_offset 0.0 0.0 0.0 059A: return_false end end 0AB4: 11@ = var 11 if 11@ == 0 then 06A2: get_car 0@ velocity_in_direction_XYZ 7@ 8@ 9@ 04E4: refresh_game_renderer_at 4@ 5@ 03CB: set_rendering_origin_at 4@ 5@ 10@ 08C7: put_actor $PLAYER_ACTOR at 4@ 5@ -100.0 dont_warp_gang // versionB 7@ /= 50.0 8@ /= 50.0 9@ /= 50.0 07D5: set_car 0@ velocity_in_direction_XYZ 7@ 8@ 9@ rotation_velocitiesXY 0.0 0.0 unk 0.0 else 04E4: refresh_game_renderer_at 4@ 5@ 03CB: set_rendering_origin_at 4@ 5@ 10@ 0815: put_object 1@ at 4@ 5@ 6@ and_keep_rotation end 0AB2: ret 3 4@ 5@ 6@ :GetTargetMarkerCoords if 0AB6: store_target_marker_coords_to 0@ 1@ 2@ // IF and SET then 02CE: 3@ = ground_z_at 0@ 1@ 2@ 0AB2: ret 4 0@ 1@ 2@ 3@ else 059A: return_false end :GetTargetByYear if 0@ < 0 then 0AD1: show_formatted_text_highpriority "WARNING!~n~The Space-Time-Continuum is about to collapse.." time 3500 059A: return_false else IF 0@ > 2015 THEN 0AD1: show_formatted_text_highpriority "Where is my scooter brother?" time 4500 // TEST - LV Stadium 0@ = 1099.7675 1@ = 1530.5302 2@ = 52.5875 0485: return_true ELSE if 0@ == 2015 then 0AD1: show_formatted_text_highpriority "Welcome to the future!" time 4500 // TEST - LV Airport 0@ = 1412.1206 1@ = 1566.6691 2@ = 18.1073 0485: return_true else IF 0@ == 1985 THEN 0AD1: show_formatted_text_highpriority "Uh, yeah.. The 80s!" time 4500 059A: return_false ELSE if 0@ == 1955 then 0AD1: show_formatted_text_highpriority "uokk'N'Roll, baby!" time 4500 059A: return_false else IF 0@ == 1885 THEN 0AD1: show_formatted_text_highpriority "Beware the cows, boy!" time 4500 059A: return_false ELSE if 0@ < 1885 then 0AD1: show_formatted_text_highpriority "Don't get erased from existance by killing anyone!" time 4500 059A: return_false else 0AD1: show_formatted_text_highpriority "~n~Welcome to~n~%d" time 4500 0@ 059A: return_false end END end END end END end 02CE: 3@ = ground_z_at 0@ 1@ 2@ 0AB2: ret 4 0@ 1@ 2@ 3@
Then scroll back up (at about line 165 in my script) and insert this line.
0AB1: call_scm_func @TimeTeleport 2 0@ 0 store_to 11@ 12@ 13@
It has to be placed in the part of the code which handles instant time traveling.
EXAMPLE:
... 0AB3: var 0 = 1 // Instant Time Travel 0AB4: 30@ = var 11 if 30@ == 0 then 0AB1: call_scm_func @TimeTeleport 2 0@ 0 store_to 11@ 12@ 13@ // <-- Only me! 0AB4: 24@ = var 900 0AAD: set_mp3 24@ perform_action 0 0AC5: link_3d_audiostream 24@ to_vehicle 0@ 0AAD: set_mp3 24@ perform_action 1 0169: set_fade_color_RGB 255 255 255 016A: fade 0 time 0 // Regenerate world and clear wanted level 03BA: clear_cars_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 042B: clear_peds_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 06DB: destroy_all_trains 0395: clear_area 2 at 11@ 12@ 13@ radius 100000.0 Player.ClearWantedLevel($PLAYER_CHAR) 0AB3: var 9 = 1 wait 50 ...
Now, for the cut scene mode, the line is slightly different !
0AB1: call_scm_func @TimeTeleport 2 0@ 30@ store_to 11@ 12@ 13@
In my code edits, it's about 60 lines below.
EXAMPLE:
... else // Disable shadows. They still show if you're invisible. 0A8D: 2@ = read_memory 0xA9AE54 size 1 virtual_protect 0 0A8C: write_memory 0xA9AE54 size 1 value 0 virtual_protect 0 // Make character unable to leave car and ignored_by_everyone 07CC: set_player $PLAYER_CHAR button_15 0 03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 gosub @TimeEntry wait 500 0169: set_fade_color 0 0 0 016A: fade 0 time 500 wait 500 0650: destroy_particle 18@ 0650: destroy_particle 19@ 0AB1: call_scm_func @TimeTeleport 2 0@ 30@ store_to 11@ 12@ 13@ // <-- Me too! 03BA: clear_cars_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 042B: clear_peds_from_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0 06DB: destroy_all_trains 0395: clear_area 2 at 11@ 12@ 13@ radius 100000.0 Player.ClearWantedLevel($PLAYER_CHAR) 0AB3: var 9 = 1 wait 1400 016A: fade 1 time 500 wait 1000 end ...
oops, made a mistake. Edited..
- 1
-
@Darth-Sidious, I'd say you're actually pretty off-topic..
You need only the latest 'source code'. It will replace the old scripts.
About the 'patches' (Models 11242009) I'm not absolutely sure. They are older than the latest 'main release', though.
So I'd say you have the correct stuff.
Unfortunately, those debug messages don't provide any info for mortals like us (or me at least). It needs pretty skilled hackers to investigate those memory addresses and find out what happened. I havn't seen anyone replying to such things here.
The "last file loaded" does not tell you that this file contains a bug.
Yep, it definitely has its bugs. In my edits, I removed some models and sounds. I'm speculating that, besides scripting bugs, GTAs limits are getting exceeded. Thats why SALA is used by the mod to increasing certain limits which again makes the game unstable too.
However, crashes micht also be caused by incorrectly editing the came files, meaning the tools used for installing might have messed up something in the first place. You could try extracting the files from the installer using 7zip and install manuall using IMG Tool or similar.
--
@BTTFModMachine,
I'm half way through with 'timetravel.s'. I'm making a 'function' that you can add at the end of the script and then call it from anywhere in that script so no need to move hand over hand and edit small parts everywhere. I'm having difficulties though setting the camera position while in cut scene. And I can't really test it for remote controlling because my remote script is super bugged.
-
Thats exactly what I did.
If destination DMY is "31121992" (Dec 31st 1992),
0AB4: 7@ = var 3 // Var 3: Destination MDY if 7@ > 0 jf continue 0085: 8@ = 7@ // (int) 7@ /= 10000 7@ *= 10000 0062: 8@ -= 7@ // (int)
it will become "1992"
-
0AB4: 7@ = var 3 // Var 3: Destination MDY
--
Anyway, this script is really not meant to work correctly. I did about 5 minutes of testing.
The teleporting stuff should be included in timetravel.s to make use of cutscene and remote controlling etc without duplicating code over several scripts.
Back To The Future: San Andreas Modifications by BTTFModMachine
in Other GTA Mods
Posted · Report reply
Who.. chubbychops or me.
But anyway, just post it. (: