Другое С/С++ Вопрос - Ответ

Dzho_Handerson

Новичок
6
0
Приветствую, подскажите как удалить лишние пункты из меню esc samp через asi? Source code
 
Последнее редактирование:

LorianS1

Новичок
8
4
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
C++:
#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;
}
 

LorianS1

Новичок
8
4
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
sure.

1.

C++:
#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);
}
2.
C++:
#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
}
p.s
In this code, we use the GetSystemMetrics WinAPI function to get the screen resolution, and then use the SetCursorPos function to move the cursor to the specified location. By default, the cursor will be shifted 70 pixels down. If you want to move the cursor to the left by 100 pixels, then uncomment the line x = x - 100;.
 
  • Нравится
Реакции: 0x73616D

LorianS1

Новичок
8
4
Привет.
  1. Скачай и установи библиотеку Cleo 4
  2. Создай новую папку внутри папки "CLEO" и назови ее "CLEO_TEXT"
  3. В папке "CLEO_TEXT" создай новый файл с именем "MENU" и расширением ".fxt"
  4. Открой созданный файл с помощью любого текстового редактора и добавь в него строки в формате: $REMOVE_TEXT_FROM_ESC "Название пункта меню, который нужно удалить" (Пример: $REMOVE_TEXT_FROM_ESC "Audio Settings")
Ну и в принципе всё, сохрани файл и зайди в игру, должны пропасть
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1679134297840.png

что я не так делаю, почему это не компилируется?
1679134358967.png

1679134340185.png
 

LorianS1

Новичок
8
4
Возможно то, что файл повреждён
Возможно, что он был перемещён, убедись, что он действительно там, обнови путь


Попробуй установить путь к библиотеке Graphviz явно при компиляции с помощью опции -L
" gcc myprogram.c -o myprogram -L/path/to/graphviz/lib -lgvc "
Замени /path/to/graphviz/lib на путь к каталогу с библиотекой Graphviz
 
Последнее редактирование:

0x73616D

Активный
140
42
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;
        }
    }
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1679519165458.png

что делаю не так, почему я не могу открыть проект после билда
 

reussssya

Новичок
28
8
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;
        }
    }
}
ur problem is while(true)
 

YaAkeGGa228

Участник
60
35
Нужна помощь, я получаю координаты метки на карте, но Z у нас будет равен 0, из за этого получается все по пизде. На луа нашел решение данной проблемы:

lua:
local result, xTarget, yTarget, zTarget = getTargetBlipCoordinates()

requestCollision(xTarget, yTarget)
loadScene(xTarget, yTarget, zTarget)
arg1,arg2,arg3 = xTarget, yTarget, getGroundZFor3dCoord(xTarget, yTarget, 999)
-- то есть в arg3 записан нормальный, адекватный Z, он равен земле, на которую в дальнейшем мы тпаемся
а на плюсах найти Z - проблемка, хелпуйте
 
D

deleted-user-399997

Гость
Подскажите пожалуйста, как сделать что бы в циклом постоянно флудило в чат