GTA IV C++ Script HookVersion 0.5.1 BETA (May 28 2010)
- Download Version 0.5.1 (Redistributable)
Supports GTAIV 188.8.131.52 and EFLC 184.108.40.206. Released as BETA, not tested extensively, bug reports are welcome (don't PM me with them, just post them in this thread).
----Version 0.5.0 (Apr 16 2010)
- Download Version 0.5.0 (Redistributable)
Supports GTAIV 220.127.116.11 and EFLC 18.104.22.168.
Please note that 0.4.0 onwards comes with a new License that is different from earlier versions. Make sure you read and understand ScriptHook-License.txt before you make use of ScriptHook.dll.------------------------------------Development Info
This one is for all you coders out there (hopefully, there's still a lot of you)...
This module will let you create a custom script thread in C++ and have GTAIV process it along with its real scripts threads. Additionally, a type-safe manner to access native functions in GTAIV is provided.
Currently headers and a compiled dynamic library (DLL) is provided. Some very naive samples are provided as well. This is meant to be a base to build on top of. Feel free to contribute your own samples!
- Download Version 0.4.0 (Development Kit)
Please note that 0.4.0 onwards comes with a new License that is different from earlier versions. Make sure you read and understand ScriptHook-License.txt before you make use of the ScriptHook SDK.Developing for the 0.5.0 hook:
You can continue to use the 0.4.0 SDK for development, and it is not being updated at this time. An updated DevLoader is available here:
- Download 0.5.0 DevLoader
- Download 0.5.1 DevLoader
Solution/Project files in zip are for VC++ 2008. Please read UpdateGuide.txt if you're upgrading your code to work from an older version of ScriptHook.Whats New in 0.5.1
- Added support for GTAIV 22.214.171.124 and EFLC 126.96.36.199.
- Support for invoking undocumented natives by their "new" hash.Whats New in 0.5.0
- Added support for GTAIV 188.8.131.52 and EFLC 184.108.40.206.
- Enabled MP on all unranked modes, however your multiplayer session will be isolated from people not using mods.
- Fixed bug with text flickering when using ScriptThread/NativeFiberThread
- Fixed bug with crashing when going in/out of video editorWhats New in 0.4.0
- Added support for GTAIV 1.0.4 (Patch #5)
- New programming model replaces NativeThread and NativeFiberThread with ScriptThread
- A lot of performance enhancements, including:
---- Natives are now directly invoked using the native hash and not the name
---- "SpeedyInvoke" which dynamically rewrites parts of your compiled code to prevent repeated lookups of natives (only enabled for Release builds)
- Rewrote thread/service loading and now has better detection for when new game sessions start.
- Some minor bugs fixedWhats New in 0.3.0
- New extensible services framework providing the following services currently:
---- D3DHook: Direct3D Device Hooking
---- Config: Configuration (ini and xml)
---- KeyboardHook: Keyboard hook to recieve events of key presses
---- Menu: A simple yet effective menu creation framework
- New "Speedo" sample demonstrating the use of services
- Added DevLoader which is an ASI loader with some development features such as module unload/reload.
- Improved thread hooking into the game -- less chances of crashing while hooking now (not that it crashed before).
- Added ability to unregister threads that were registered
- Added support for starting threads on demand
- Changed a lot of non-important log messages from Info to Debug
- Few internal bug fixes.Whats New in 0.2.6
- Added support for GTAIV 1.0.4
- Support for Multiplayer when in LAN (any mode), or Online (Freeroam or Party mode only)
- Added a fix for world Z calculation for the Teleport sample in SampleCustomFiberWhats New in 0.2.5
- Added support for GTAIV 1.0.3
- ScriptHook is now a DLL that can be updated independently of the mods that use it.
- Improved detection/hooking of scripts into the game engine
- Fixed invocation of natives that have Vector3* parameter types
- Fixed GetGlobalAddress/GetGlobalValue/SetGlobalValue for accessing Global variables
- Merged some of the Scripting native contributions back into the source (937 natives now available)
- A number of internal bug fixes
- ScriptHook is disabled for online play (currently its disabled regardless of which mode you play in or even Live/LAN, but this might change in the future)Credits
- listener for some of the REing and natives mapping
- Seeman for some of the Natives documentation
- Reconsider for being my guinea pig on IRC during early development
- HazardX for some cleaned up natives
- sjaak327 for a lot of help with testing
- All of you guys PMing and emailing me and making me find the time to work on this
- Last but not least, you (yes, you!) for creating (assuming that you will be creating) wonderful mods for this game.
Thanks guys! This post has been edited by aru on Friday, May 28 2010, 23:12