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

index

Известный
126
82
C++:
char* Func()
{
    char i[7] = "cakebou";
    return i;
}
Ты возвращаешь адрес локального массива, это даже не скомпилируется.

C++:
char * foo()
{
    char * bar = new char[7];
    bar = "string";
    return bar;
}
И после использования - не забыть освободить память.
 
  • Нравится
Реакции: Cake_ и liefasm

atizoff

приобретаю кашель за деньги
Проверенный
1,295
1,178
здрасте. почему код выполняет действие, даже не смотря на то, что я нажал кнопку?
C++:
    if (Cvars::teleport && GetAsyncKeyState(Cvars::tp_key))
    {
        IEntity* entity = nullptr;
        if (Cvars::tp == 1) entity->SetPos(Cvars::TeleportPositions1);
        if (Cvars::tp == 2) entity->SetPos(Cvars::TeleportPositions2);
        if (Cvars::tp == 3) entity->SetPos(Cvars::TeleportPositions3);
        if (Cvars::tp == 4) entity->SetPos(Cvars::TeleportPositions4);
    }
 

Stiopko

Известный
Проверенный
307
218
здрасте. почему код выполняет действие, даже не смотря на то, что я нажал кнопку?
C++:
    if (Cvars::teleport && GetAsyncKeyState(Cvars::tp_key))
    {
        IEntity* entity = nullptr;
        if (Cvars::tp == 1) entity->SetPos(Cvars::TeleportPositions1);
        if (Cvars::tp == 2) entity->SetPos(Cvars::TeleportPositions2);
        if (Cvars::tp == 3) entity->SetPos(Cvars::TeleportPositions3);
        if (Cvars::tp == 4) entity->SetPos(Cvars::TeleportPositions4);
    }

Попробуй вот это, у меня в плагинах норм работает
C++:
GetKeyState(VK_ADD) & 0x8000
 

atizoff

приобретаю кашель за деньги
Проверенный
1,295
1,178
Попробуй вот это, у меня в плагинах норм работает
C++:
GetKeyState(VK_ADD) & 0x8000
Попробуй с этим
C++:
BOOL GetMessage(
    LPMSG lpMsg,
    HWND hWnd,
    UINT wMsgFilterMin,
    UINT wMsgFilterMax
);
не, пачаны. этот tp_key пользователь сам выбирает. вот воид выбора кнопки:
C++:
void GUI::hotkey(int& key) noexcept
{
    key ? ImGui::Text("[ 0x%x ]", key) : ImGui::Text("[ key ]");
    if (ImGui::IsItemHovered()) {
        ImGuiIO& io = ImGui::GetIO();
        for (int i = 0; i < IM_ARRAYSIZE(io.KeysDown); i++)
            if (ImGui::IsKeyPressed(i) && i != config.misc.menuKey)
                key = i != VK_ESCAPE ? i : 0;

        for (int i = 0; i < IM_ARRAYSIZE(io.MouseDown); i++)
            if (ImGui::IsMouseDown(i) && i + (i > 1 ? 2 : 1) != config.misc.menuKey)
                key = i + (i > 1 ? 2 : 1);
    }
}
 

Stiopko

Известный
Проверенный
307
218
не, пачаны. этот tp_key пользователь сам выбирает. вот воид выбора кнопки:
C++:
void GUI::hotkey(int& key) noexcept
{
    key ? ImGui::Text("[ 0x%x ]", key) : ImGui::Text("[ key ]");
    if (ImGui::IsItemHovered()) {
        ImGuiIO& io = ImGui::GetIO();
        for (int i = 0; i < IM_ARRAYSIZE(io.KeysDown); i++)
            if (ImGui::IsKeyPressed(i) && i != config.misc.menuKey)
                key = i != VK_ESCAPE ? i : 0;

        for (int i = 0; i < IM_ARRAYSIZE(io.MouseDown); i++)
            if (ImGui::IsMouseDown(i) && i + (i > 1 ? 2 : 1) != config.misc.menuKey)
                key = i + (i > 1 ? 2 : 1);
    }
}
C++:
GetKeyState(Cvars::tp_key) & 0x8000
?
 
  • Нравится
Реакции: atizoff

sdfaw

Активный
718
150
void mapMenuTeleport(void)
SF->getSAMP()->registerChatCommand("test", mapMenuTeleport());
1>C:\Users\admin\Desktop\SFPlugin\SFPlugin\main.cpp(50): error C2664: "bool SFSAMP::registerChatCommand(std::string,CommandProc)": невозможно преобразовать аргумент 2 из "void" в "CommandProc"
1>C:\Users\admin\Desktop\SFPlugin\SFPlugin\main.cpp(50): note: Выражение, имеющее тип void, нельзя преобразовать в другой тип


как исправить?
 

ufdhbi

Известный
Проверенный
1,455
861
1>C:\Users\admin\Desktop\SFPlugin\SFPlugin\main.cpp(50): error C2664: "bool SFSAMP::registerChatCommand(std::string,CommandProc)": невозможно преобразовать аргумент 2 из "void" в "CommandProc"
1>C:\Users\admin\Desktop\SFPlugin\SFPlugin\main.cpp(50): note: Выражение, имеющее тип void, нельзя преобразовать в другой тип


как исправить?
убрать войд в аргументе функи?
 

ШPEK

Известный
1,476
524
1>C:\Users\admin\Desktop\SFPlugin\SFPlugin\main.cpp(50): error C2664: "bool SFSAMP::registerChatCommand(std::string,CommandProc)": невозможно преобразовать аргумент 2 из "void" в "CommandProc"
1>C:\Users\admin\Desktop\SFPlugin\SFPlugin\main.cpp(50): note: Выражение, имеющее тип void, нельзя преобразовать в другой тип


как исправить?
void CALLBACK mapMenuTeleport() и
убери скобочки () в регистрации команды

убрать войд в аргументе функи?
Никак не помешает
 
  • Нравится
Реакции: sdfaw

vania3450

Новичок
6
1
Добрый день,скачал я значит плагин https://github.com/dotSILENT/chandling/releases, оригинальный ASI разработчика работает у всех игроков, а мой собранный ASI (даже пробовал собрать не меняя) работает только у меня и у человека у которого установлена Visual Studio, тоисть я кидаю свой ASI игроку он у него не работает,я кидаю точно такой же, НО от разработчика и он у него работает.

исходник моего asi: https://yadi.sk/d/Z3mM8GuC_RSu7w
 

Вложения

  • handling(moy).asi
    1.1 MB · Просмотры: 3
  • chandling(razrabothik`a).asi
    452 KB · Просмотры: 3
  • chandling_offsets.ini
    1.3 KB · Просмотры: 3

iAmerican

Известный
Друг
615
257
Добрый день,скачал я значит плагин https://github.com/dotSILENT/chandling/releases, оригинальный ASI разработчика работает у всех игроков, а мой собранный ASI (даже пробовал собрать не меняя) работает только у меня и у человека у которого установлена Visual Studio, тоисть я кидаю свой ASI игроку он у него не работает,я кидаю точно такой же, НО от разработчика и он у него работает.

исходник моего asi: https://yadi.sk/d/Z3mM8GuC_RSu7w
http://prntscr.com/o8jsw8
 

TheUnity

Известный
107
37
можно как то не дать серверу воспроизводить звук? например, 1169 id звука