add support for changing the default iw4m-admin url through a config file.

This commit is contained in:
INSANEMODE 2020-11-19 02:51:28 -06:00
parent 69a05e00f5
commit 5ea0dd67c9
6 changed files with 3503 additions and 1 deletions

View File

@ -167,6 +167,7 @@
<ClInclude Include="functions.h" />
<ClInclude Include="framework.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="SimpleIni.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp" />

View File

@ -30,6 +30,9 @@
<ClInclude Include="functions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="SimpleIni.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp">

3474
SimpleIni.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -14,6 +14,7 @@ void init()
{
std::cout << "ClanTagRank (1.1) by INSANEMODE\n";
std::cout << "loaded iw4m-admin url from .\\Plugins\\GetClanTag.ini: " << Game::configfile() << '\n';
std::thread rank(Game::clanTagThread);
rank.detach();
}

View File

@ -8,11 +8,32 @@
#include <thread>
#include <algorithm>
#include "curl\curl.h"
#include "simpleini.h"
#include <filesystem>
#define GetCurrentDir _getcwd
namespace Game
{
std::string configfile()
{
CSimpleIniA ini;
std::string currentpath = std::filesystem::current_path().generic_string();
std::string configfile = currentpath + (R"(/t6r/data/plugins/GetClanTag.ini)");
SI_Error rc = ini.LoadFile(configfile.c_str());
//SI_Error rc = ini.LoadFile("\\t6r\\data\\plugins\\GetClanTag.ini");
if (rc < 0)
{
ini.SetValue("Config", "URL", "127.0.0.1:1624");
ini.SaveFile(configfile.c_str());
};
const char* pVal = ini.GetValue("Config", "URL", "http://127.0.0.1:1624");
return pVal;
}
static size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* userp)
{
@ -28,7 +49,7 @@ namespace Game
std::string readBuffer;
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://127.0.0.1:1624/api/gsc/clientguid/" + guidstring);
curl_easy_setopt(curl, CURLOPT_URL, configfile() + "/api/gsc/clientguid/" + guidstring);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
/* example.com is redirected, so we tell libcurl to follow redirection */
@ -122,6 +143,7 @@ namespace Game
{
while (true)
{
configfile();
std::this_thread::sleep_for(std::chrono::milliseconds(10000));
clanTagChanger();
}

View File

@ -6,4 +6,5 @@ namespace Game
{
//void Testprint();
void clanTagThread();
std::string configfile();
}