Другое SAMPFUNCS | API C++

return

Новичок
82
5
Почему не выключается?
PHP:
void CALLBACK cmd_skills(std::string str)
{
    if (Skills == false)
    {
        Skills = true;
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 100.0");
    }
    else
    {
        Skills = false;
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 0.0");
    }
}
 

Woofing Giraffe

Активный
402
49
Почему не выключается?
PHP:
void CALLBACK cmd_skills(std::string str)
{
    if (Skills == false)
    {
        Skills = true;
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 100.0");
    }
    else
    {
        Skills = false;
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 0.0");
    }
}
Дай полный код.
 

return

Новичок
82
5
Дай полный код.
PHP:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>

#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"

SAMPFUNCS *SF = new SAMPFUNCS();

bool Skills = false;

void CALLBACK cmd_skills(std::string str)
{
    if (Skills == false)
    {
        Skills = true;
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 100.0");
    }
    else
    {
        Skills = false;
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 0.0");
    }
}

void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {
        if (!SF->getSAMP()->IsInitialized() || GAME == nullptr)
            return;
          
        SF->getSAMP()->registerChatCommand("fskills", cmd_skills);

        init = true;
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
        case DLL_PROCESS_ATTACH:
            SF->initPlugin(mainloop, hModule);
            break;
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
 

Woofing Giraffe

Активный
402
49
PHP:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>

#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"

SAMPFUNCS *SF = new SAMPFUNCS();

bool Skills = false;

void CALLBACK cmd_skills(std::string str)
{
    if (Skills == false)
    {
        Skills = true;
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 100.0");
    }
    else
    {
        Skills = false;
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 0.0");
    }
}

void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {
        if (!SF->getSAMP()->IsInitialized() || GAME == nullptr)
            return;
         
        SF->getSAMP()->registerChatCommand("fskills", cmd_skills);

        init = true;
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
        case DLL_PROCESS_ATTACH:
            SF->initPlugin(mainloop, hModule);
            break;
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
bool Skills =false;
оно и так при создании false, просто bool Skills;
 

Woofing Giraffe

Активный
402
49
PHP:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>

#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"

SAMPFUNCS *SF = new SAMPFUNCS();

bool Skills = false;

void CALLBACK cmd_skills(std::string str)
{
    if (Skills == false)
    {
        Skills = true;
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 100.0");
    }
    else
    {
        Skills = false;
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 0.0");
    }
}

void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {
        if (!SF->getSAMP()->IsInitialized() || GAME == nullptr)
            return;
        SF->getSAMP()->registerChatCommand("fskills", cmd_skills);
        init = true;
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
        case DLL_PROCESS_ATTACH:
            SF->initPlugin(mainloop, hModule);
            break;
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
Код:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();
bool Skills;

void CALLBACK cmd_skills(std::string str)
{
    Skills ^= true;
    if (Skills)
    {
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 0.0");
    }
    else
    {
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 100.0");
    }
}

void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {
        if (!SF->getSAMP()->IsInitialized() || GAME == nullptr)
            return;
        SF->getSAMP()->registerChatCommand("fskills", cmd_skills);
        init = true;
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
    case DLL_PROCESS_ATTACH:
        SF->initPlugin(mainloop, hModule);
        break;
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}
Вроде должно работать.
 

return

Новичок
82
5
Код:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();
bool Skills;

void CALLBACK cmd_skills(std::string str)
{
    Skills ^= true;
    if (Skills)
    {
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 0.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 0.0");
    }
    else
    {
        SF->getCLEO()->callOpcode("0627: register_int_stat 72 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 78 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 71 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 76 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 79 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 77 value 100.0");
        SF->getCLEO()->callOpcode("0627: register_int_stat 70 value 100.0");
    }
}

void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {
        if (!SF->getSAMP()->IsInitialized() || GAME == nullptr)
            return;
        SF->getSAMP()->registerChatCommand("fskills", cmd_skills);
        init = true;
    }
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    switch (dwReasonForCall)
    {
    case DLL_PROCESS_ATTACH:
        SF->initPlugin(mainloop, hModule);
        break;
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}
Вроде должно работать.
Всё по старому, не выключается.
Хотя, наверно я не правильно выразился...
Я пробовал выводить текст при включении и выключении, всё хорошо прошло, соответственно всё работает.
Трабла в том, что не меняется значение "value".
Нашёл интересную вещь, оно меняется на 0, если выключить данную функцию и умереть. То бишь только после смерти "value" становится 0.
 

fanta

Новичок
33
6
Всё по старому, не выключается.
Хотя, наверно я не правильно выразился...
Я пробовал выводить текст при включении и выключении, всё хорошо прошло, соответственно всё работает.
Трабла в том, что не меняется значение "value".
Нашёл интересную вещь, оно меняется на 0, если выключить данную функцию и умереть. То бишь только после смерти "value" становится 0.
это самп. даже если тебе выдаст скиллы админ, то пока ты не умрешь у тебя их не будет
 

cover

Известный
Проверенный
245
268
Ребят, подскажите какой компилятор лучше выбрать, чтобы был максимально прост и удобен в использовании, либо что-то на свой вкус. Спасибо
 

Sire Like

Blanche Bier
Друг
487
233
Ребят, подскажите какой компилятор лучше выбрать, чтобы был максимально прост и удобен в использовании, либо что-то на свой вкус. Спасибо
,
Только 12 подойдет, нет ?
Советую 2013 Ultimate, желательно с обновлением 4 или выше. ИМХО. ( Могут появится глюки с обновлением 2)
Также на всякий поставь DirectX SDK, чтоб не было лишних вопросов
 

cover

Известный
Проверенный
245
268
А Dev-С++ не подойдет в качестве компилятора ?