Shmoopy Posted September 6, 2015 Share Posted September 6, 2015 (edited) 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 code1> Finished generating code1> 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 June 17, 2016 by Shmoopy The_GTA, Link2012, DK22Pac and 5 others 8 Link to comment Share on other sites More sharing options...
Shmoopy Posted September 6, 2015 Author Share Posted September 6, 2015 (edited) [table] ● CSprite2d Class#include "game_sa\CSprite2d.h" DeclarationsCSprite2d mysprite; Result Codemysprite.Draw(60.0,100.0,100.0,40.0,CRGBA(255,174,201,255) mysprite.Draw2DPolygon(120.0,100.0,120.0,140.0,130.0,120.0,70.0,120.0,CRGBA(255,0,0,255)); mysprite.DrawBarChart(60.0,160.0,100,20,30.0,30,1,1,CRGBA(255,255,255,255),CRGBA(0,0,255,255)); 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 September 9, 2015 by Shmoopy The_GTA 1 Link to comment Share on other sites More sharing options...
Shmoopy Posted September 8, 2015 Author Share Posted September 8, 2015 (edited) [table] ● CMessages Class#include "game_sa\CMessages.h" Declarationschar equation[256];Result CodeCMessages::AddMessage("Hello",3000,0,false);CMessages::AddMessage("World!",3000,0,false); CMessages::AddMessageJumpQ("Hello World!",3000,0,false); CMessages::AddBigMessageQ("Big",3000,1);CMessages::AddBigMessageQ("smoke",3000,1); CMessages::AddBigMessage("Big smoke",3000,1); sprintf(equation,"%d + %d = %d",1,1,2); CMessages::AddMessageWithNumber(equation,3000,1,1,1,2,0,0,0,true); [/table] Edited September 9, 2015 by Shmoopy The_GTA 1 Link to comment Share on other sites More sharing options...
Shmoopy Posted September 9, 2015 Author Share Posted September 9, 2015 (edited) [table] ● CFontClass#include "game_sa\CFont.h"Declarationschar text[256];Result Code 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); 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); 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 September 9, 2015 by Shmoopy The_GTA 1 Link to comment Share on other sites More sharing options...
Drunk Tony Posted September 10, 2015 Share Posted September 10, 2015 Awesome! This is great! Thank you sir! Link to comment Share on other sites More sharing options...
lastpackage Posted September 29, 2015 Share Posted September 29, 2015 nice! Are you planning more tutorials? I hate scm language. Link to comment Share on other sites More sharing options...
Shmoopy Posted September 30, 2015 Author Share Posted September 30, 2015 nice! Are you planning more tutorials? I hate scm language. What samples do you need? Because I can't cover everything Link to comment Share on other sites More sharing options...
Sloth- Posted October 27, 2015 Share Posted October 27, 2015 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? Link to comment Share on other sites More sharing options...
Shmoopy Posted October 27, 2015 Author Share Posted October 27, 2015 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? Link to comment Share on other sites More sharing options...
Sloth- Posted October 27, 2015 Share Posted October 27, 2015 4. Are you willing to code in C++ or in SCM? I would prefer c++ for that. Or do you think is SCM better? Link to comment Share on other sites More sharing options...
Shmoopy Posted October 27, 2015 Author Share Posted October 27, 2015 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. Link to comment Share on other sites More sharing options...
Sloth- Posted October 27, 2015 Share Posted October 27, 2015 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? Link to comment Share on other sites More sharing options...
Shmoopy Posted October 27, 2015 Author Share Posted October 27, 2015 (edited) snipYou can use the ini opcodes that comes with cleo 0AF0: to 0AF5:Or 0A9A: to 0A9F: for writing/reading binary files. Edited October 28, 2015 by Shmoopy Sloth- 1 Link to comment Share on other sites More sharing options...
goodidea82 Posted November 22, 2015 Share Posted November 22, 2015 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> Link to comment Share on other sites More sharing options...
Shmoopy Posted November 24, 2015 Author Share Posted November 24, 2015 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 goodidea82 1 Link to comment Share on other sites More sharing options...
J4Rr3x Posted April 17, 2016 Share Posted April 17, 2016 How can i make a ped? Link to comment Share on other sites More sharing options...
MythicalCreature Posted June 1, 2016 Share Posted June 1, 2016 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? Link to comment Share on other sites More sharing options...
Shmoopy Posted June 1, 2016 Author Share Posted June 1, 2016 (edited) 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 June 1, 2016 by Shmoopy MythicalCreature 1 Link to comment Share on other sites More sharing options...
MythicalCreature Posted June 1, 2016 Share Posted June 1, 2016 Ahh I see. thanks for the help, man. Link to comment Share on other sites More sharing options...
AguiaX2 Posted June 16, 2016 Share Posted June 16, 2016 Error when compiling 1>------ Build started: Project: Project, Configuration: Release Win32 ------1> dllmain.cpp1>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 function1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(125) : see reference to class template instantiation 'injector::scoped_basic<bufsize>' being compiled1>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 function1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(157) : see reference to class template instantiation 'injector::scoped_write<bufsize_>' being compiled1>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 function1>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 function1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(183) : see reference to class template instantiation 'injector::scoped_fill<bufsize_>' being compiled1>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 function1>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 function1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\injector/hooking.hpp(209) : see reference to class template instantiation 'injector::scoped_nop<bufsize_>' being compiled1>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 function1>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 compiled1> with1> [1> bufsize=51> ]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 identifier1>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 function1>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 identifier1>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 function1>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-declaration1>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 identifier1>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-declaration1> c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(47) : see reference to class template instantiation 'plugin::ArgPickN<Type,N>' being compiled1>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 identifier1>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 name1>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 identifier1>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 identifier1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(73): error C2065: 'CallbackType' : undeclared identifier1>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 arguments1> 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 identifier1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(90): error C2065: 'HookType' : undeclared identifier1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(90): error C2065: 'MoreHooks' : undeclared identifier1>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 identifier1>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 name1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(95): error C2065: 'Args' : undeclared identifier1>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 identifier1>c:\users\cristian\desktop\test\sdk plugin\plugin_sa\events\EventList.h(97): error C2065: 'vecBefore' : undeclared identifier1>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 ========== Link to comment Share on other sites More sharing options...
Shmoopy Posted June 17, 2016 Author Share Posted June 17, 2016 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. Link to comment Share on other sites More sharing options...
Bigbossbro08 Posted June 24, 2016 Share Posted June 24, 2016 Please update the tutorial. It's really great for GTA:SA programmers Link to comment Share on other sites More sharing options...
DK22Pac Posted June 24, 2016 Share Posted June 24, 2016 (edited) Also: New plugin-sdk repository contains Visual Studio project temaplates, so no need in a durable project setup anymore Edited June 24, 2016 by DK22Pac Shmoopy and 5Alex 2 Link to comment Share on other sites More sharing options...
Bigbossbro08 Posted June 24, 2016 Share Posted June 24, 2016 Also: New plugin-sdk repository contains Visual Studio project temaplates, so no need in a durable project setup anymore 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? Link to comment Share on other sites More sharing options...
DK22Pac Posted June 24, 2016 Share Posted June 24, 2016 At this time you can learn only by exploring our examples Bigbossbro08 1 Link to comment Share on other sites More sharing options...
Bigbossbro08 Posted June 24, 2016 Share Posted June 24, 2016 (edited) At this time you can learn only by exploring our examples Thanks. If possible, make a English tutorial. Edited June 24, 2016 by Bigbossbro08 Link to comment Share on other sites More sharing options...
Bigbossbro08 Posted June 26, 2016 Share Posted June 26, 2016 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? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now