Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    2. News

    1. Red Dead Redemption 2

      1. Gameplay
      2. Missions
      3. Help & Support
    2. Red Dead Online

      1. Gameplay
    1. GTA Online

      1. After Hours
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
    2. Crews

      1. Events
      2. Recruitment
    1. Grand Theft Auto Series

    2. GTA Next

    3. GTA V

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

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA Mods
    5. GTA Chinatown Wars

    6. GTA Vice City Stories

    7. GTA Liberty City Stories

    8. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    9. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    10. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA Mods
    11. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    12. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

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

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

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

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

    2. Site Suggestions

Shmoopy

[SA] C++ tutorials

Recommended Posts

Shmoopy

NOTE: The SDK has been changed, the version which this tutorial uses is not available, this tutorial doesn't make sense anymore

 

[table]

Setting up the project ● [/table][table] RequirementsDownloadVisual Studio 2010 ExpressClick herePlugin SDKClick here plugin-sdk.libClick here StepProcedureInstall Visual Studio 2010 C++ expressMount the iso with MagicIso or extract it somewhere with WinrarExtract the plugin-sdk-master.zip to your desktopRightclick the zip file and select extract to plugin-sdk-master\Move the library file to the sdk folderCreate a new folder named "lib" without the quotes inside the src\sdk folder and place the plugin-sdk.lib file inside itLaunch the Visual Studio 2010 C++ express editionI assume that you only installed the C++ editionCreate a new projectClick File->New->Project, at the left select Win32 ,under name type in My first project, click Next ,under Application type select Dll and then click Finish.Add the plugin-sdk.lib to you projectRightclick Ressources Files->Add->Existing Item and select the plugin-sdk.lib that you put inside the lib folderMake some changes to the settingsFirst, click on My first project.cpp and delete it by pressing Del button, do the same thing to stdafx.cpp. Rightclick on the first drop box above these files which is named My first project and click properties, under the General tab change the Output directory to your GTA San Andreas location, add a trailing slash ( \ ) at the end, change the Target extension to .asi instead of .dll. Now go to C/C++, under Additional Include Directories click Edit and select the folder plugin-sdk-mast\src\sdk\. Click Ok,You are done here, dont forget to save your changes
[/table]

[table]

Your first asi plugin ● [/table]

 

Open your dllmain.cpp and delete the code inside (Ctrl+A -> Backspace), replace it with the code below:

 

 

#include <windows.h>#include <stdio.h>#include <iostream>#include "plugin\plugin.h"#include "patch\CPatch.h"using namespace plugin;void Init();void Main();void Close();BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved){  if(reason == DLL_PROCESS_ATTACH)  {  Core::RegisterFunc(FUNC_INITIALISE_RW, Init);  Core::RegisterFunc(FUNC_GAME_PROCESS, Main);  Core::RegisterFunc(FUNC_SHUTDOWN_RW, Close);  }  return TRUE;}void Init(){	//What to do before the mainmenu appears}void Main(){	//What to do when the game is running}void Close(){	//What to do when quitting the game}

 

 

This code does not do anything useful yet, it will serve us as a starting point for our next chapters.

Press F7 (or Debug->Build solution), the project should start compiling, now if you did all the things I told you to do above you should see this:

 

 

1>------ Build started: Project: Project, Configuration: Release Win32 ------
1> Generating code
1> Finished generating code
1> My first project.vcxproj -> D:\Games\GTA San Andreas\My first project.asi
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

 

If you go to the GTA San Andreas folder you should see your asi file there.

Congratulations! You have just made your own asi "useless" mod!

 

Now the following chapters will treat every single thing that you can achieve with asi mods, show some patience before they're complete.

Edited by Shmoopy

Share this post


Link to post
Share on other sites
Shmoopy

[table]

 

● CSprite2d

 

Class#include "game_sa\CSprite2d.h"

 

DeclarationsCSprite2d mysprite;

 

Result Code

1.png
mysprite.Draw(60.0,100.0,100.0,40.0,CRGBA(255,174,201,255)

 



2.png
mysprite.Draw2DPolygon(120.0,100.0,120.0,140.0,130.0,120.0,70.0,120.0,CRGBA(255,0,0,255));

 



3.png
mysprite.DrawBarChart(60.0,160.0,100,20,30.0,30,1,1,CRGBA(255,255,255,255),CRGBA(0,0,255,255));

 



4.png
mysprite.Draw(CRect(60.0,200.0,110.0,300.0),CRGBA(255,0,0,255),CRGBA(0,255,0,255),CRGBA(0,0,255,255),CRGBA(0,255,255,255));

 


[/table] Edited by Shmoopy

Share this post


Link to post
Share on other sites
Shmoopy

[table]

● CMessages

 

Class#include "game_sa\CMessages.h"

 

Declarationschar equation[256];
Result Code

1.png
CMessages::AddMessage("Hello",3000,0,false);CMessages::AddMessage("World!",3000,0,false);

 



3dd267.png
CMessages::AddMessageJumpQ("Hello World!",3000,0,false);

 



44046d.png
CMessages::AddBigMessageQ("Big",3000,1);CMessages::AddBigMessageQ("smoke",3000,1);

 



6.png
CMessages::AddBigMessage("Big smoke",3000,1);

 



7.png
sprintf(equation,"%d + %d = %d",1,1,2); CMessages::AddMessageWithNumber(equation,3000,1,1,1,2,0,0,0,true);

 


[/table] Edited by Shmoopy

Share this post


Link to post
Share on other sites
Shmoopy

[table]

● CFont
Class#include "game_sa\CFont.h"
Declarationschar text[256];
Result Code

9.png
    sprintf(text,"Hello World!");    CFont::SetColor(CRGBA(255, 162, 232, 255));    CFont::SetOutlinePosition(0);    CFont::SetFontStyle(FONT_GOTHIC);    CFont::PrintString(320.0,254.0,text);

 



10.png
    sprintf(text,"Hello World!");    CFont::SetBackground(true, true);    CFont::SetBackgroundColor(CRGBA(255, 255, 255, 180));    CFont::SetColor(CRGBA(24, 255, 232, 255));    CFont::SetOutlinePosition(1);    CFont::SetFontStyle(FONT_PRICEDOWN);    CFont::PrintString(320.0,284.0,text);

 



11.png
    sprintf(text,"Hello World!");    CFont::SetColor(CRGBA(0, 162, 232, 255));    CFont::SetOutlinePosition(1);    CFont::SetFontStyle(FONT_SUBTITLES);    CFont::PrintString(320.0,224.0,text);

 


[/table] Edited by Shmoopy

Share this post


Link to post
Share on other sites
Drunk Tony

Awesome! This is great! Thank you sir!

Share this post


Link to post
Share on other sites
lastpackage

nice! Are you planning more tutorials? I hate scm language.

Share this post


Link to post
Share on other sites
Shmoopy

nice! Are you planning more tutorials? I hate scm language.

What samples do you need? Because I can't cover everything

Share this post


Link to post
Share on other sites
Sloth-

 

nice! Are you planning more tutorials? I hate scm language.

What samples do you need? Because I can't cover everything

 

 

Hi, first of all: great tutorial, thank you very much for your work and your time.

I have some questions:

 

1. It's posible to change the behavior of the game in the loading screens through asi scripts? I mean, change the loading screen styles? Changing the loading bar position, size, dimensions? Making the images to move?

2. It's posible to tell the renderware engine to dinamically ignore some *.ide/*.ipl/*.dat files and take others (change one map for anther in ingame time)?

3. I see there is really few documentation about asi scripting for SA on internet. i understand that if i want to learn it, first i must learn C++, but, then what? Once i know c++ what's the next step? Studying the gta_sa.exe memory addresses? Or there is something else i must know?

4. Are there some tutorials about how to create own opcodes? I see in your signature a link for request thread, but i would rather know how to create them instead of requesting. If there isn't then maybe you could teach that?

Share this post


Link to post
Share on other sites
Shmoopy

snip

1. Yeah, in fact everything can be modified as long as you manage to reverse engineer them addresses. As for making the loading images move, that should be done by redirecting (CPatch::RedirectCall) the function responsible for rendering those images to your own custom function which draws moving d3d9 sprites.

 

2.I don't know much about the data files, the guy you should ask is @LINK/2012 since his Modloader is capable of loading external ide/ipl files.But I can tell you that it is possible. ( I only managed to load external dff and txd files, didn't bother with other data types).

 

3. Reverse Engineering with Cheat Engine.

 

4. Are you willing to code in C++ or in SCM?

Share this post


Link to post
Share on other sites
Sloth-

4. Are you willing to code in C++ or in SCM?

I would prefer c++ for that.

Or do you think is SCM better?

Share this post


Link to post
Share on other sites
Shmoopy

snip

If your mod needs to spawn entities then the best way to do it is by SCM language, but if you only want to make new adjustments to the game without spawning anything then c++ is the way to go. If you have to do both, new opcodes comes in handy, therefore if you want to make your own opcodes, get the version of cleo which comes with the sdk .

There are samples included there to help you understand how to make opcodes. Although you need to set up your own project.

Share this post


Link to post
Share on other sites
Sloth-

If your mod needs to spawn entities then the best way to do it is by SCM language, but if you only want to make new adjustments to the game without spawning anything then c++ is the way to go. If you have to do both, new opcodes comes in handy, therefore if you want to make your own opcodes, get the version of cleo which comes with the sdk .

There are samples included there to help you understand how to make opcodes. Although you need to set up your own project.

Oh sorry.

Now i remember one of the reasons why i want c++.

I want to read and store data from external files instead of putting them into global variables (those files could be binary or text files), and i want a custom opcode to do the reading/storing process.

Cleo is not able to do that, right?

Share this post


Link to post
Share on other sites
Shmoopy

snip

You can use the ini opcodes that comes with cleo 0AF0: to 0AF5:

Or 0A9A: to 0A9F: for writing/reading binary files.

Edited by Shmoopy

Share this post


Link to post
Share on other sites
goodidea82

I wanted to compile plugin-sdk.lib myself and it seems it cannot be compiled. Both MinGW and Visual Studio 2015 produce the same compilation error.

 

 

 

C:\Games\GTA_SA\GTA_SA_ModdingTools\PluginSDK\plugin-sdk-master\cmake>mingw32-make.exeScanning dependencies of target plugin-sdk-sa[  1%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CAEAudioEntity.cpp.obj[  2%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CAERadioTrackManager.cpp.obj[  3%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CAESound.cpp.obj[  4%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CAtomicModelInfo.cpp.obj[  5%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CBaseModelInfo.cpp.obj[  6%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CBox.cpp.obj[  7%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CBuilding.cpp.obj[  8%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CBulletTraces.cpp.obj[  9%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CCamera.cpp.obj[ 10%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CCivilianPed.cpp.obj[ 11%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CClock.cpp.obj[ 12%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CClumpModelInfo.cpp.obj[ 13%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColBox.cpp.obj[ 15%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColLine.cpp.obj[ 16%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColPoint.cpp.obj[ 17%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColSphere.cpp.obj[ 18%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColTriangle.cpp.obj[ 19%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColTrianglePlane.cpp.obj[ 20%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CCopPed.cpp.obj[ 21%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CCoronas.cpp.obj[ 22%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CDarkel.cpp.obj[ 23%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CDummy.cpp.obj[ 24%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CEmergencyPed.cpp.obj[ 25%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CEntity.cpp.obj[ 26%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CFileMgr.cpp.obj[ 27%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CFont.cpp.obj[ 29%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CGame.cpp.obj[ 30%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CGarages.cpp.obj[ 31%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CGeneral.cpp.obj[ 32%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/cHandlingDataMgr.cpp.obj[ 33%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CHud.cpp.obj[ 34%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CHudColours.cpp.obj[ 35%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CMatrix.cpp.obj[ 36%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CMatrixLink.cpp.obj[ 37%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CMenuManager.cpp.obj[ 38%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CMessages.cpp.obj[ 39%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CMissionCleanup.cpp.obj[ 40%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CModelInfo.cpp.obj[ 41%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/common.cpp.obj[ 43%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CompressedVector.cpp.obj[ 44%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPad.cpp.obj[ 45%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPed.cpp.obj[ 46%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPedIntelligence.cpp.obj[ 47%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPhysical.cpp.obj[ 48%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPlaceable.cpp.obj[ 49%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPlaneTrail.cpp.obj[ 50%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPlaneTrails.cpp.obj[ 51%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPointLights.cpp.obj[ 52%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPools.cpp.obj[ 53%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CQuaternion.cpp.obj[ 54%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRadar.cpp.obj[ 55%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRealTimeShadow.cpp.obj[ 56%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRect.cpp.obj[ 58%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CReference.cpp.obj[ 59%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CReferences.cpp.obj[ 60%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRegisteredCorona.cpp.obj[ 61%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRGBA.cpp.obj[ 62%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRunningScript.cpp.obj[ 63%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CScene.cpp.obj[ 64%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CShadowCamera.cpp.obj[ 65%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CShadows.cpp.obj[ 66%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CSimpleTransform.cpp.obj[ 67%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CSphere.cpp.obj[ 68%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CSprite.cpp.obj[ 69%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CSprite2d.cpp.obj[ 70%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CStats.cpp.obj[ 72%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTask.cpp.obj[ 73%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTaskComplex.cpp.obj[ 74%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTaskComplexKillPedOnFoot.cpp.obj[ 75%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTaskSimple.cpp.obj[ 76%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTexDictionary.cpp.obj[ 77%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CText.cpp.obj[ 78%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTheScripts.cpp.obj[ 79%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTheZones.cpp.obj[ 80%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTimeCycleInfo.cpp.obj[ 81%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTimeModelInfo.cpp.obj[ 82%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTimer.cpp.obj[ 83%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/cTransmission.cpp.obj[ 84%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTxdStore.cpp.obj[ 86%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CUserDisplay.cpp.obj[ 87%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CVector.cpp.obj[ 88%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CVector2D.cpp.obj[ 89%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CVehicle.cpp.obj[ 90%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CVisibilityPlugins.cpp.obj[ 91%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CWeapon.cpp.obj[ 92%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CWeaponInfo.cpp.obj[ 93%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CWeaponModelInfo.cpp.obj[ 94%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CWorld.cpp.obj[ 95%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CZone.cpp.obj[ 95%] Built target plugin-sdk-saScanning dependencies of target plugin-sdk-base[ 96%] Building CXX object src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/plugin.cpp.obj[ 97%] Building CXX object src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/script/wrapper.cpp.obj[ 98%] Building CXX object src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/frontend/extender.cpp.objC:\Games\GTA_SA\GTA_SA_ModdingTools\PluginSDK\plugin-sdk-master\src\sdk\plugin\frontend\extender.cpp: In static member function 'static const char* plugin::MenuExtender::StateTextHandler(CText*, int, const char*)':C:\Games\GTA_SA\GTA_SA_ModdingTools\PluginSDK\plugin-sdk-master\src\sdk\plugin\frontend\extender.cpp:525:105: error: invalid cast from type 'injector::memory_pointer_raw {aka injector::basic_memory_pointer<injector::address_manager::fn_mem_translator_nop>}' to type 'const char* (*)(int)'             auto GetSavedGameDateAndTime = (const char*(*)(int)) injector::lazy_pointer<0x618D00>().get();                         ^src\sdk\plugin\CMakeFiles\plugin-sdk-base.dir\build.make:112: recipe for target'src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/frontend/extender.cpp.obj' failedmingw32-make.exe[2]: *** [src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/frontend/extender.cpp.obj] Error 1CMakeFiles\Makefile2:218: recipe for target 'src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/all' failedmingw32-make.exe[1]: *** [src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/all] Error 2makefile:82: recipe for target 'all' failedmingw32-make.exe: *** [all] Error 2C:\Games\GTA_SA\GTA_SA_ModdingTools\PluginSDK\plugin-sdk-master\cmake>

 

 

Share this post


Link to post
Share on other sites
Shmoopy

I wanted to compile plugin-sdk.lib myself and it seems it cannot be compiled. Both MinGW and Visual Studio 2015 produce the same compilation error.

 

 

 

C:\Games\GTA_SA\GTA_SA_ModdingTools\PluginSDK\plugin-sdk-master\cmake>mingw32-make.exeScanning dependencies of target plugin-sdk-sa[  1%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CAEAudioEntity.cpp.obj[  2%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CAERadioTrackManager.cpp.obj[  3%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CAESound.cpp.obj[  4%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CAtomicModelInfo.cpp.obj[  5%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CBaseModelInfo.cpp.obj[  6%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CBox.cpp.obj[  7%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CBuilding.cpp.obj[  8%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CBulletTraces.cpp.obj[  9%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CCamera.cpp.obj[ 10%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CCivilianPed.cpp.obj[ 11%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CClock.cpp.obj[ 12%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CClumpModelInfo.cpp.obj[ 13%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColBox.cpp.obj[ 15%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColLine.cpp.obj[ 16%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColPoint.cpp.obj[ 17%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColSphere.cpp.obj[ 18%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColTriangle.cpp.obj[ 19%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CColTrianglePlane.cpp.obj[ 20%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CCopPed.cpp.obj[ 21%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CCoronas.cpp.obj[ 22%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CDarkel.cpp.obj[ 23%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CDummy.cpp.obj[ 24%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CEmergencyPed.cpp.obj[ 25%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CEntity.cpp.obj[ 26%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CFileMgr.cpp.obj[ 27%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CFont.cpp.obj[ 29%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CGame.cpp.obj[ 30%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CGarages.cpp.obj[ 31%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CGeneral.cpp.obj[ 32%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/cHandlingDataMgr.cpp.obj[ 33%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CHud.cpp.obj[ 34%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CHudColours.cpp.obj[ 35%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CMatrix.cpp.obj[ 36%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CMatrixLink.cpp.obj[ 37%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CMenuManager.cpp.obj[ 38%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CMessages.cpp.obj[ 39%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CMissionCleanup.cpp.obj[ 40%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CModelInfo.cpp.obj[ 41%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/common.cpp.obj[ 43%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CompressedVector.cpp.obj[ 44%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPad.cpp.obj[ 45%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPed.cpp.obj[ 46%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPedIntelligence.cpp.obj[ 47%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPhysical.cpp.obj[ 48%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPlaceable.cpp.obj[ 49%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPlaneTrail.cpp.obj[ 50%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPlaneTrails.cpp.obj[ 51%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPointLights.cpp.obj[ 52%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CPools.cpp.obj[ 53%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CQuaternion.cpp.obj[ 54%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRadar.cpp.obj[ 55%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRealTimeShadow.cpp.obj[ 56%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRect.cpp.obj[ 58%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CReference.cpp.obj[ 59%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CReferences.cpp.obj[ 60%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRegisteredCorona.cpp.obj[ 61%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRGBA.cpp.obj[ 62%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CRunningScript.cpp.obj[ 63%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CScene.cpp.obj[ 64%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CShadowCamera.cpp.obj[ 65%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CShadows.cpp.obj[ 66%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CSimpleTransform.cpp.obj[ 67%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CSphere.cpp.obj[ 68%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CSprite.cpp.obj[ 69%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CSprite2d.cpp.obj[ 70%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CStats.cpp.obj[ 72%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTask.cpp.obj[ 73%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTaskComplex.cpp.obj[ 74%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTaskComplexKillPedOnFoot.cpp.obj[ 75%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTaskSimple.cpp.obj[ 76%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTexDictionary.cpp.obj[ 77%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CText.cpp.obj[ 78%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTheScripts.cpp.obj[ 79%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTheZones.cpp.obj[ 80%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTimeCycleInfo.cpp.obj[ 81%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTimeModelInfo.cpp.obj[ 82%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTimer.cpp.obj[ 83%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/cTransmission.cpp.obj[ 84%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CTxdStore.cpp.obj[ 86%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CUserDisplay.cpp.obj[ 87%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CVector.cpp.obj[ 88%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CVector2D.cpp.obj[ 89%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CVehicle.cpp.obj[ 90%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CVisibilityPlugins.cpp.obj[ 91%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CWeapon.cpp.obj[ 92%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CWeaponInfo.cpp.obj[ 93%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CWeaponModelInfo.cpp.obj[ 94%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CWorld.cpp.obj[ 95%] Building CXX object src/sdk/game_sa/CMakeFiles/plugin-sdk-sa.dir/CZone.cpp.obj[ 95%] Built target plugin-sdk-saScanning dependencies of target plugin-sdk-base[ 96%] Building CXX object src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/plugin.cpp.obj[ 97%] Building CXX object src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/script/wrapper.cpp.obj[ 98%] Building CXX object src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/frontend/extender.cpp.objC:\Games\GTA_SA\GTA_SA_ModdingTools\PluginSDK\plugin-sdk-master\src\sdk\plugin\frontend\extender.cpp: In static member function 'static const char* plugin::MenuExtender::StateTextHandler(CText*, int, const char*)':C:\Games\GTA_SA\GTA_SA_ModdingTools\PluginSDK\plugin-sdk-master\src\sdk\plugin\frontend\extender.cpp:525:105: error: invalid cast from type 'injector::memory_pointer_raw {aka injector::basic_memory_pointer<injector::address_manager::fn_mem_translator_nop>}' to type 'const char* (*)(int)'             auto GetSavedGameDateAndTime = (const char*(*)(int)) injector::lazy_pointer<0x618D00>().get();                         ^src\sdk\plugin\CMakeFiles\plugin-sdk-base.dir\build.make:112: recipe for target'src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/frontend/extender.cpp.obj' failedmingw32-make.exe[2]: *** [src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/frontend/extender.cpp.obj] Error 1CMakeFiles\Makefile2:218: recipe for target 'src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/all' failedmingw32-make.exe[1]: *** [src/sdk/plugin/CMakeFiles/plugin-sdk-base.dir/all] Error 2makefile:82: recipe for target 'all' failedmingw32-make.exe: *** [all] Error 2C:\Games\GTA_SA\GTA_SA_ModdingTools\PluginSDK\plugin-sdk-master\cmake>

 

 

 

Download this

Browse to the sdk folder where the CMakefile.txt is located

Choose a folder where the lib should be built

Click Configure

Choose your visual studio c++ version

Generate

Share this post


Link to post
Share on other sites
J4Rr3x

How can i make a ped?

Share this post


Link to post
Share on other sites
MythicalCreature

Can't seem to compile this with Visual Studio 2015. I get multiple errors in different parts of the code regarding some kind of mismatch in macro definitions with _MSC_VER and ITERATOR_DEBUG_LEVEL in plugin-sdk.lib . Am I doing something wrong?

Share this post


Link to post
Share on other sites
Shmoopy

Can't seem to compile this with Visual Studio 2015. I get multiple errors in different parts of the code regarding some kind of mismatch in macro definitions with _MSC_VER and ITERATOR_DEBUG_LEVEL in plugin-sdk.lib . Am I doing something wrong?

 

Its just that the plugin-sdk.lib that I provided was compiled using Visual Studio 2010 Express, thats why I mentioned in the tutorial that you need VS 2010 Express in order to work with the library, you'll need to build it by yourself if you don't want to use the 2010 express edition :

 

Download this

Browse to the sdk folder where the CMakefile.txt is located

Choose a folder where the lib should be built

Click Configure

Choose your visual studio c++ version

Generate

Edited by Shmoopy

Share this post


Link to post
Share on other sites
MythicalCreature

Ahh I see. thanks for the help, man.

Share this post


Link to post
Share on other sites
AguiaX2

Error when compiling

 

 

1>------ Build started: Project: Project, Configuration: Release Win32 ------
1> dllmain.cpp
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector\gvm/gvm.hpp(106): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> D:\Progamas\Microsoft Visual Studio 12.0\VC\include\string.h(105) : see declaration of 'strcpy'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector\gvm/gvm.hpp(113): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> D:\Progamas\Microsoft Visual Studio 12.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector\gvm/gvm.hpp(135): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> D:\Progamas\Microsoft Visual Studio 12.0\VC\include\stdio.h(371) : see declaration of 'sprintf'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(103): error C2253: '[email protected]$QI(*([email protected]))' : pure specifier or abstract override specifier only allowed on virtual function
1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(125) : see reference to class template instantiation 'injector::scoped_basic<bufsize>' being compiled
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(151): error C2253: '[email protected]$QI(*([email protected]))' : pure specifier or abstract override specifier only allowed on virtual function
1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(157) : see reference to class template instantiation 'injector::scoped_write<bufsize_>' being compiled
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(152): error C2253: '[email protected]$QI(*([email protected]))' : pure specifier or abstract override specifier only allowed on virtual function
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(174): error C2253: '[email protected]$QI(*([email protected]))' : pure specifier or abstract override specifier only allowed on virtual function
1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(183) : see reference to class template instantiation 'injector::scoped_fill<bufsize_>' being compiled
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(175): error C2253: '[email protected]$QI(*([email protected]))' : pure specifier or abstract override specifier only allowed on virtual function
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(200): error C2253: '[email protected]$QI(*([email protected]))' : pure specifier or abstract override specifier only allowed on virtual function
1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(209) : see reference to class template instantiation 'injector::scoped_nop<bufsize_>' being compiled
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(201): error C2253: '[email protected]$QI(*([email protected]))' : pure specifier or abstract override specifier only allowed on virtual function
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(103): error C2059: syntax error : ';'
1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(215) : see reference to class template instantiation 'injector::scoped_basic<bufsize>' being compiled
1> with
1> [
1> bufsize=5
1> ]
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(103): error C2238: unexpected token(s) preceding ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(109): error C2059: syntax error : ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(109): error C2238: unexpected token(s) preceding ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(225): error C2065: 'default' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(225): error C2253: 'scoped_jmp' : pure specifier or abstract override specifier only allowed on virtual function
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(226): error C2059: syntax error : ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(226): error C2238: unexpected token(s) preceding ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(228): error C2059: syntax error : ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(228): error C2238: unexpected token(s) preceding ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(250): error C2065: 'default' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(250): error C2253: 'scoped_call' : pure specifier or abstract override specifier only allowed on virtual function
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(251): error C2059: syntax error : ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(251): error C2238: unexpected token(s) preceding ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(253): error C2059: syntax error : ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(253): error C2238: unexpected token(s) preceding ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(13): error C2143: syntax error : missing ',' before '...'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(28): error C2873: 'CallbackType' : symbol cannot be used in a using-declaration
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(28): error C2143: syntax error : missing ';' before '='
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(28): error C2238: unexpected token(s) preceding ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(31): error C2065: 'CallbackType' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(31): error C2146: syntax error : missing ')' before identifier 'fun'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(31): error C2182: '()' : illegal use of type 'void'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(31): error C2059: syntax error : ')'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(35): error C2143: syntax error : missing ';' before '}'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(35): error C2238: unexpected token(s) preceding ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(40): error C2873: 'CallbackType' : symbol cannot be used in a using-declaration
1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(47) : see reference to class template instantiation 'plugin::ArgPickN<Type,N>' being compiled
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(40): error C2143: syntax error : missing ';' before '='
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(40): error C2238: unexpected token(s) preceding ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(43): error C2065: 'CallbackType' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(43): error C2146: syntax error : missing ')' before identifier 'fun'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(43): error C2182: '()' : illegal use of type 'void'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(43): error C2059: syntax error : ')'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(47): error C2143: syntax error : missing ';' before '}'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(47): error C2238: unexpected token(s) preceding ';'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(52): error C2332: 'class' : missing tag name
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(52): error C2993: '' : illegal type for non-type template parameter '<unnamed-tag>'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(52): error C2143: syntax error : missing ',' before '...'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(53): error C2065: 'Args' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(53): error C2143: syntax error : missing ')' before '...'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(54): error C2143: syntax error : missing ';' before '{'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(59): error C2143: syntax error : missing ';' before '{'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(62): error C2143: syntax error : missing ';' before '}'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(65): error C2143: syntax error : missing ';' before '{'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(68): error C2143: syntax error : missing ';' before '}'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(72): error C2065: 'CallbackType' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(73): error C2065: 'CallbackType' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(76): error C2143: syntax error : missing ';' before '{'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(78): error C2143: syntax error : missing ';' before '{'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(81): error C2143: syntax error : missing ';' before '}'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(82): error C2143: syntax error : missing ';' before '}'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(85): error C2976: 'plugin::AddressList' : too few template arguments
1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(14) : see declaration of 'plugin::AddressList'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(86): error C2143: syntax error : missing ';' before '{'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(87): error C2143: syntax error : missing ';' before '}'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(90): error C2065: 'Addr' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(90): error C2065: 'HookType' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(90): error C2065: 'MoreHooks' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(90): error C2143: syntax error : missing ',' before '...'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(90): error C2059: syntax error : ')'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(91): error C2143: syntax error : missing ';' before '{'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(94): error C2065: 'Addr' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(94): error C2061: syntax error : identifier 'Args'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(94): error C2143: syntax error : missing ')' before '>'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(95): error C2039: 'make_static_hook' : is not a member of 'injector'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(95): error C2653: 'hook_type' : is not a class or namespace name
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(95): error C2065: 'Args' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(95): error C2143: syntax error : missing ')' before '{'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(95): error C2143: syntax error : missing ';' before '{'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(96): error C2039: 'forward_as_tuple' : is not a member of 'std'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(96): error C2065: 'Args' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(97): error C2065: 'vecBefore' : undeclared identifier
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(97): error C2061: syntax error : identifier 'CallbackType'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(97): error C2143: syntax error : missing ')' before '{'
1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(97): fatal error C1903: unable to recover from previous error(s); stopping compilation
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Share this post


Link to post
Share on other sites
Shmoopy

Error when compiling

 

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

 

The SDK files has been changed, this tutorial was using the old version but it is not available, so this tutorial is not valid anymore.

Share this post


Link to post
Share on other sites
Bigbossbro08

Please update the tutorial. It's really great for GTA:SA programmers

Share this post


Link to post
Share on other sites
DK22Pac

Also: New plugin-sdk repository contains Visual Studio project temaplates, so no need in a durable project setup anymore :p

 

IvCu70y.png

Edited by DK22Pac

Share this post


Link to post
Share on other sites
Bigbossbro08

Also: New plugin-sdk repository contains Visual Studio project temaplates, so no need in a durable project setup anymore :p

 

IvCu70y.png

Thanks. So, where I can get full tutorial. I found one of your tutorial but in Russian. So, where I can find the English one?

Share this post


Link to post
Share on other sites
DK22Pac

At this time you can learn only by exploring our examples :/

Share this post


Link to post
Share on other sites
Bigbossbro08

At this time you can learn only by exploring our examples :/

Thanks. If possible, make a English tutorial.

Edited by Bigbossbro08

Share this post


Link to post
Share on other sites
Bigbossbro08

At this time you can learn only by exploring our examples :/

 

 

 

At this time you can learn only by exploring our examples :/

Thanks. If possible, make a English tutorial.

 

 

Can you make a documentation guide on plugin SDK?

Share this post


Link to post
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

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

×

Important Information

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