Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Support

    3. Suggestions

[C++] Starting out on coding in C++


AHK1221
 Share

Recommended Posts

Hey guys, I just started learning C++ and I wanted to put my skills to the test. If any of you can be so kind to give me a template to start coding it will be very helpful. Also, how would I go about compiling and making the .asi and other things. A complete would be a dream for me.

Thanks.

Link to comment
Share on other sites

muzamilsumra

 

 

Hey guys, I just started learning C++ and I wanted to put my skills to the test.

 

lol,i thought so, thats why u should be more clear next time....lets c if i get some ill surely post it

Link to comment
Share on other sites

Try this: watch

and then in the SDK replace the code in script.ccp with http://pastebin.com/t5ZwMJLt

THANKS!!!!! Since i'm starting out I understand most of the things. but what does

void ScriptMain(){        srand(GetTickCount());        main();}

do?

 

EDIT2: The template link expired, can you make a new one for me?

Edited by AHK1221
Link to comment
Share on other sites

The function srand() is a pseudo-random number generator which is initialized using the argument passed as seed. http://www.cplusplus.com/reference/cstdlib/srand

GetTickCount() returns the number of milliseconds that have passed since the game started I think.

I think you could say that ScriptMain() is called by the Script Hook. The function main() is defined within the scope of your script. In main() there's a infinite while loop

keeping the script running. main() and update_features() can be renamed. I think you can say that WAIT(0); has to do with threads and makes it so that processing power is not locked to only your script/thread.

If you write WAIT(1000) your script will "sleep" for 1 second (i.e. wont do anything during that period of time).

 

Mirrors to Johnny Manson's template:

http://www.megafileupload.com/niiH/ScriptHook_Template.rar

http://www.filedropper.com/scripthooktemplate

 

Download the latest SDK and replace the code in script.ccp with Manson's template code from his script.ccp.

Edited by R3QQ
Link to comment
Share on other sites

The function srand() is a pseudo-random number generator which is initialized using the argument passed as seed. http://www.cplusplus.com/reference/cstdlib/srand

GetTickCount() returns the number of milliseconds that have passed since the game started I think.

I think you could say that ScriptMain() is called by the Script Hook. The function main() is defined within the scope of your script. In main() there's a infinite while loop

keeping the script running. main() and update_features() can be renamed. I think you can say that WAIT(0); has to do with threads and makes it so that processing power is not locked to only your script/thread.

If you write WAIT(1000) your script will "sleep" for 1 second (i.e. wont do anything during that period of time).

 

Mirrors to Johnny Manson's template:

http://www.megafileupload.com/niiH/ScriptHook_Template.rar

http://www.filedropper.com/scripthooktemplate

 

Download the latest SDK and replace the code in script.ccp with Manson's template code from his script.ccp.

You helped me out truly. Thanks.

Link to comment
Share on other sites

A little note
I don't know if you know this, but I want to explain more, the magic here is the main.cpp

/*	THIS FILE IS A PART OF GTA V SCRIPT HOOK SDK				http://dev-c.com						© Alexander Blade 2015*/#include "..\..\inc\main.h"#include "script.h"#include "keyboard.h"BOOL APIENTRY DllMain(HMODULE hInstance, DWORD reason, LPVOID lpReserved){	switch (reason)	{	case DLL_PROCESS_ATTACH:		scriptRegister(hInstance, ScriptMain);//you can go to Definition (F12) of the fuction ScriptMain		keyboardHandlerRegister(OnKeyboardMessage);//you can go to Definition (F12) of the fuction OnKeyboardMessage		break;	case DLL_PROCESS_DETACH://press Ctrl+R when in game, in dev role, to detach script, read the sdk readme for more details		scriptUnregister(hInstance);		keyboardHandlerUnregister(OnKeyboardMessage);		break;	}			return TRUE;}

So as you can see, we have 2 function: ScriptMain and OnKeyboardMessage.
ScriptMain is the gate to your code world, this function would run through when the script is started, so you put a loop while(true) in it thus you can interact with your script throughout your game. - this is the place where you can do anything you want.
OnKeyboardMessage will keep all keyboards state in real time, in the ScriptMain you can check if the key 'A' is currently press by using the following code: if(IsKeyDown('A')) { ... } in your while loop, but remember to have a flag to indicate hold key or press key.

Link to comment
Share on other sites

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
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

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