Dzho_Handerson
Новичок
- 6
- 0
Приветствую, подскажите как удалить лишние пункты из меню esc samp через asi? Source code
Последнее редактирование:
How to do this in C++?
Lua:local inicfg = require "inicfg" local color = imgui.ImFloat4(mainIni.color.R/255, mainIni.color.G/255, mainIni.color.B/255, 255) if imgui.ColorEdit4('Color', color) then local clr = join_argb(0, color.v[1] * 255, color.v[2] * 255, color.v[3] * 255, color.v[4] * 255) local r,g,b,a = color.v[1] * 255, color.v[2] * 255, color.v[3] * 255, color.v[4] * 255 mainIni.config.hex = ("%06X"):format(clr) mainIni.color.R = r mainIni.color.G = g mainIni.color.B = b inicfg.save(mainIni, directIni) end
#include <iostream>
#include <Windows.h>
#include <string>
#include <sstream>
#include <iomanip>
#include "inih/INIReader.h"
#include "imgui/imgui.h"
// A function that combines the values of the color components into a single number
DWORD JoinARGB(BYTE a, BYTE r, BYTE g, BYTE b)
{
return ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | (b & 0xFF);
}
int main()
{
INIReader mainIni("config.ini");
ImVec4 color(mainIni.GetReal("color", "R", 0) / 255.0f, mainIni.GetReal("color", "G", 0) / 255.0f, mainIni.GetReal("color", "B", 0) / 255.0f, 1.0f);
if (ImGui::ColorEdit4("Color", (float*)&color))
{
DWORD clr = JoinARGB(0, static_cast<BYTE>(color.x * 255), static_cast<BYTE>(color.y * 255), static_cast<BYTE>(color.z * 255));
mainIni.Set("config", "hex", ("#%02X%02X%02X").c_str(), static_cast<BYTE>(color.x * 255), static_cast<BYTE>(color.y * 255), static_cast<BYTE>(color.z * 255));
mainIni.SetReal("color", "R", static_cast<double>(color.x * 255));
mainIni.SetReal("color", "G", static_cast<double>(color.y * 255));
mainIni.SetReal("color", "B", static_cast<double>(color.z * 255));
mainIni.SaveFile("config.ini");
}
return 0;
}
sure.Can someone help me rewrite these .lua snippets in C++? I tried it on my own but it didn't work
Lua:if move == true then cursor() repeat wait(0) cursorx, cursory = getCursorPos() sampToggleCursor(1) Ini.cfg.x = cursorx Ini.cfg.y = cursory if isKeyDown(27) then move = 0 end until isKeyDown(32) sampToggleCursor(0) sampSetCursorMode(0) move = false Ini.cfg.x = cursorx Ini.cfg.y = cursory inicfg.save(Ini, MyIni) end
Lua:function cursor() local x, y = getScreenResolution() local x = x / 2 local y = x / 2 -- local x = x - 100 local y = y - -70 local result, lib = loadDynamicLibrary("user32.dll") if result then local result, proc = getDynamicLibraryProcedure("SetCursorPos", lib) local a = callFunction(proc, 2, 0, x,y) freeDynamicLibrary(lib) end end
#include "inicfg.h"
ImVec4 color(mainIni.color.R/255.0f, mainIni.color.G/255.0f, mainIni.color.B/255.0f, 1.0f);
if (ImGui::ColorEdit4("Color", &color.x))
{
int clr = join_argb(0, color.x * 255, color.y * 255, color.z * 255, color.w * 255);
int r = color.x * 255, g = color.y * 255, b = color.z * 255, a = color.w * 255;
mainIni.config.hex = ("%06X").format(clr);
mainIni.color.R = r;
mainIni.color.G = g;
mainIni.color.B = b;
inicfg::save(mainIni, directIni);
}
#include <Windows.h>
void cursor() {
int x = GetSystemMetrics(SM_CXSCREEN) / 2;
int y = GetSystemMetrics(SM_CYSCREEN) / 2;
// x = x - 100; // uncomment this line if you want to move the cursor to the left by 100px
y = y + 70; // moves the cursor 70 pixels down
SetCursorPos(x, y); // set the cursor to a new position
}
upПриветствую, подскажите как удалить лишние пункты из меню esc через asi?
Привет.
Возможно то, что файл повреждёнПосмотреть вложение 194038
что я не так делаю, почему это не компилируется?
Посмотреть вложение 194040
Посмотреть вложение 194039
void cursor_move()
{
bool mueve = true;
while (mueve == true)
{
activew = false;
//cursor();
SF->getSAMP()->getMisc()->ToggleCursor(2, true);
POINT cursor = SF->getGame()->getCursorPos();
int cursorx, cursory;
cursorx = cursor.x;
cursory = cursor.y;
if (SF->getGame()->isKeyDown(VK_SPACE))
{
mueve = false;
SF->getSAMP()->getMisc()->ToggleCursor(false);
activew = true;
break;
}
}
}
ur problem is while(true)What's wrong? my game freezes when using this function, in theory the function should get the X & Y position of the cursor until I press the space key, but when calling the function the game just freezes
C++:void cursor_move() { bool mueve = true; while (mueve == true) { activew = false; //cursor(); SF->getSAMP()->getMisc()->ToggleCursor(2, true); POINT cursor = SF->getGame()->getCursorPos(); int cursorx, cursory; cursorx = cursor.x; cursory = cursor.y; if (SF->getGame()->isKeyDown(VK_SPACE)) { mueve = false; SF->getSAMP()->getMisc()->ToggleCursor(false); activew = true; break; } } }
well, how can i fix it? what do you suggest for my code to work correctly? I don't know what to do honestlyur problem is while(true)
local result, xTarget, yTarget, zTarget = getTargetBlipCoordinates()
requestCollision(xTarget, yTarget)
loadScene(xTarget, yTarget, zTarget)
arg1,arg2,arg3 = xTarget, yTarget, getGroundZFor3dCoord(xTarget, yTarget, 999)
-- то есть в arg3 записан нормальный, адекватный Z, он равен земле, на которую в дальнейшем мы тпаемся
UPПриветствую, подскажите как удалить лишние пункты из меню esc samp через asi?