Sadow
Известный
- 1,412
- 588
Первый пример кода - не код на языке C++
А как у него работает?
Первый пример кода - не код на языке C++
то что какой-то компилятор это собирает - не значит что код стандарту соответствует.Посмотреть вложение 170746
А как у него работает?
Аааа. Понялто что какой-то компилятор это собирает - не значит что код стандарту соответствует.
[basic.start.main]
eel.is
на платформе х64 - тоже самоеВсем здраствуйте,подключил я значит OpenCv к консольному проекту и всё работало,но как только я его подключил к основному проекту(Plugin SDK) где пишу читы началось пидорство, подскажите как фиксануть ощибки,буду ОЧЕНЬ благодарен![]()
![]()
![]()
![]()
У тебя .lib файлы подключены также как в консольном приложении?Всем здраствуйте,подключил я значит OpenCv к консольному проекту и всё работало,но как только я его подключил к основному проекту(Plugin SDK) где пишу читы нПосмотреть вложение 170816ачалось пидорство, подскажите как фиксануть ощибки,буду ОЧЕНЬ благодаренПосмотреть вложение 170813Посмотреть вложение 170815Посмотреть вложение 170814
на платформе х64 - тоже самое
#pragma comment(lib, "opencv_world460.lib")
struct Mod {
string Name;
string URL;
string Path;
vector<string> Files;
};
vector<Mod>Mods{
Mod{"SAMPFUNCS", "https://cdn.discordapp.com/attachments/1023674533082828883/1023674548761133166/SF-5.4.1-final_2.zip", "{main}", vector<string>{"SAMPFUNCS.asi"}},
Mod{"moonloader 0.26", "https://cdn.discordapp.com/attachments/1023674533082828883/1023674548761133166/SF-5.4.1-final_2.zip", "{main}", vector<string>{"moonloader.asi"}},
Mod{"CLEO 4", "https://cdn.discordapp.com/attachments/1023674533082828883/1023674548761133166/SF-5.4.1-final_2.zip", "{main}", vector<string>{"cleo.asi"}},
};
for (int modIndex = 0; modIndex < Mods.size(); modIndex++) {
ImGui::Columns(3);
ImGui::Text(Mods[modIndex].Name.c_str());
ImGui::NextColumn();
ImGui::TextColored(ImVec4(1, 0, 0, 1), "Not Installed");
ImGui::NextColumn();
LPCWSTR CurrentModUrl = convertToWstring(Mods[modIndex].URL).c_str();
LPCWSTR CurrentModPath = convertToWstring(Mods[modIndex].Path).c_str();
if (ImGui::Button("Install")) {
HRESULT hRez = URLDownloadToFile(NULL, CurrentModUrl, CurrentModPath, 0, NULL);
if (hRez == 0) {
} else {
}
}
ImGui::Columns(1);
ImGui::Separator();
}
в начало кодаВ чем проблема?
Посмотреть вложение 170869C++:struct Mod { string Name; string URL; string Path; vector<string> Files; }; vector<Mod>Mods{ Mod{"SAMPFUNCS", "https://cdn.discordapp.com/attachments/1023674533082828883/1023674548761133166/SF-5.4.1-final_2.zip", "{main}", vector<string>{"SAMPFUNCS.asi"}}, Mod{"moonloader 0.26", "https://cdn.discordapp.com/attachments/1023674533082828883/1023674548761133166/SF-5.4.1-final_2.zip", "{main}", vector<string>{"moonloader.asi"}}, Mod{"CLEO 4", "https://cdn.discordapp.com/attachments/1023674533082828883/1023674548761133166/SF-5.4.1-final_2.zip", "{main}", vector<string>{"cleo.asi"}}, }; for (int modIndex = 0; modIndex < Mods.size(); modIndex++) { ImGui::Columns(3); ImGui::Text(Mods[modIndex].Name.c_str()); ImGui::NextColumn(); ImGui::TextColored(ImVec4(1, 0, 0, 1), "Not Installed"); ImGui::NextColumn(); LPCWSTR CurrentModUrl = convertToWstring(Mods[modIndex].URL).c_str(); LPCWSTR CurrentModPath = convertToWstring(Mods[modIndex].Path).c_str(); if (ImGui::Button("Install")) { HRESULT hRez = URLDownloadToFile(NULL, CurrentModUrl, CurrentModPath, 0, NULL); if (hRez == 0) { } else { } } ImGui::Columns(1); ImGui::Separator(); }
#pragma comment(lib, "urlmon.lib")
подскажите, как установить imgui на visual studio
PS: я чайник, пж подробнее
Самый простой способ - подключить Windows.h и использовать Sleep(ms). Но вне main без потока оно не работает.1.Ваш вопрос: Как в dll / asi добавить wait, который идет с GTA SA опкодом 0001 ?
#include <iostream>
#include <Windows.h>
int main(){
std::cout << "Message 1" << std::endl;
Sleep(1000);
std::cout << "Message 2" << std::endl;
return 0;
}
corowait1.Ваш вопрос: Как в dll / asi добавить wait, который идет с GTA SA опкодом 0001 ?
1.Ваш вопрос: Как в dll / asi добавить wait, который идет с GTA SA опкодом 0001 ?
Еще вариант используя plugin sdk1.Ваш вопрос: Как в dll / asi добавить wait, который идет с GTA SA опкодом 0001 ?
#include <plugin.h>
#include "extensions/ScriptCommands.h"
// Тут находится весь список опкодов -> extenstions/scripting/ScriptCommandNames.h
plugin::Command<WAIT>( 1000 );
upЕсть код:
C++:#include <iostream> char __attribute__ ((section (".TST"))) buffer[0x20]; int main(int argc, char* argv[]) { std::cout << "0x" << std::hex << (void*)buffer << std::endl; return 0; }
Получившийся в результате компиляции(g++) и линковки виндовый x86 экзешник работает корректно.
Если же добавляю линковщику флаг --section-start,.TST=0x500000, собравшийся .exe не запускается:
Посмотреть вложение 170497
Сравнил оба .exe файла, никаких серьезных различий не нашел. Например, вот отличия между IMAGE_OPTIONAL_HEADER32 рабочего .exe файла (слева) и нерабочего (справа). Отличия подчеркнул красным для удобства
Посмотреть вложение 170498
Тут все справедливо: все адреса после 0x4000 смещены, потому что по адресу 0x4000 располагается .TST секция
Также вот секционные заголовки рабочего (слева) и нерабочего (справа) экзешников:
Посмотреть вложение 170500
Тоже все выглядит нормально.
У меня было только одно предположение - в выравнивании. Явно укзаал линковщику выравнивание кратное 512 --section-alignment=0x1000 --file-alignment=0x1000. Не помогло.
Куда копать, в чем проблема?