Помощь в изменении скриптов

FYP

Известный
Автор темы
Администратор
1,768
5,962
Здесь вы можете попросить других пользователей внести какие-то небольшие изменения в скрипт, например, изменить активацию.
Для вопросов по программированию и разработке на форуме есть отдельная категория Разработка.

Рекомендации:
  1. Не просите о редактировании .asi, .sf, .luac, .dll, .exe и прочих файлов, не поддающихся простой декомпиляции. Скрипты формата .ahk (AutoHotKey), .lua (Lua/MoonLoader) и .cs (CLEO) легко поддаются изменению.
  2. Сообщения по типу "спасибо, помог" по правилам форума считаются флудом и скорее всего будут удалены. Если вам помогли, вы можете нажать кнопку Мне нравится под ответом - это даст понять, что ответ верный.
  3. За злонамеренное распространение вредоносного ПО - перманентный бан. Имейте это в виду.
Удаление копирайтов является нарушением авторских прав, если автор не дал на это своего разрешения. Правила BlastHack запрещают нарушать авторские права, поэтому если вам нужно их убрать - обращайтесь к автору.
 
Последнее редактирование:

hatakehokage

Новичок
4
1
Можете отредактировать Анимку под самп,тестил бег в сампе не робит.
мне нужен ток быстрый бег а остальное все по дефолту.
вот видос с бегом.
 

Вложения

  • Anim.rar
    709.6 KB · Просмотры: 2

heimer12

Новичок
16
0
Переделайте, пожалуйста, это:
*~$Space::
Sleep 1
Loop
{
GetKeyState, SpaceState, Space, P
If SpaceState = U
break
Sleep 1
Send, {Blind}{Space}
}
Нужно, чтобы вместо пробела нажимался alt
 

MAKOSKA

Известный
431
114
Переделайте, пожалуйста, это:
*~$Space::
Sleep 1
Loop
{
GetKeyState, SpaceState, Space, P
If SpaceState = U
break
Sleep 1
Send, {Blind}{Space}
}
Нужно, чтобы вместо пробела нажимался alt

наверно так, хз

*~$Alt::
Sleep 1
Loop
{
GetKeyState, SpaceState, Space, P
If SpaceState = U
break
Sleep 1
Send, {Blind}{Space}
}
 

Hoga

Известный
14
7
Можете пожалуйста изменить активацию скрипта с /tr на /trr
 

Вложения

  • tr (1).cs
    21.5 KB · Просмотры: 3

MAHEKEH

Известный
2,006
506
Мб немного не по теме.
Вообщем оч.нужно убрать все уведомления в чат и изменить смд на /stt с .asi плагина.
(( Конечно нужно это в готовом плагине. ))

Код:
#define        _CRT_SECURE_NO_WARNINGS
#define        INI_FILE    "AFK-COUNTER.ini"

#include      <windows.h>
#include      <stdio.h>

typedef        void(__cdecl    *CmdProc) (char*);

struct        stSAMP            *g_SAMP;
struct        stChatInfo         *g_Chat;
struct        stInputInfo        *g_Input;

DWORD g_SAMPAddr    = NULL;
INT g_Timer            = -1;

void Init()
{
    while (g_SAMPAddr == NULL)
    {
        g_SAMPAddr = (DWORD)GetModuleHandle("samp.dll");
        Sleep(50);
    }

    while (g_SAMP == nullptr && g_Chat == nullptr && g_Input == nullptr)
    {
        g_SAMP = *(stSAMP**)(g_SAMPAddr + 0x21A0F8);
        g_Chat = *(stChatInfo**)(g_SAMPAddr + 0x21A0E4);
        g_Input = *(stInputInfo**)(g_SAMPAddr + 0x21A0E8);
        Sleep(50);
    }
}

void ChatMsg(DWORD color, char *text)
{
    if (g_Chat == nullptr || strlen(text) == NULL)
        return;

    void(__thiscall *AddToChatWindowBuffer) (const void *_this, int iType, char *szText, char *szPrefix, DWORD cColor, DWORD cPrefixColor) =
        (void(__thiscall *) (const void *, int, char *, char *, DWORD, DWORD)) (g_SAMPAddr + 0x064010);

    return AddToChatWindowBuffer(g_Chat, 8, text, nullptr, color, NULL);
}

void RegCmd(char *szCmd, CmdProc pFunc)
{
    if (g_Input == nullptr || strlen(szCmd) == NULL)
        return;

    void(__thiscall *addCmdInClient) (const void *_this, char *szCommand, CmdProc pFunc) =
        (void(__thiscall *) (const void *, char *, CmdProc)) (g_SAMPAddr + 0x065AD0);

    return addCmdInClient(g_Input, szCmd, pFunc);
}

DWORD CALLBACK CounterTimeAFK(PVOID)
{
    DWORD        iAFK;
    HWND        hWnd;
    char        text[60];

    Sleep(1000);
    while (true)
    {
        hWnd = FindWindowA(NULL, "GTA:SA:MP");
        if (hWnd)
        {
            while (IsIconic(hWnd) == FALSE)
            {
                Sleep(100);
                if (!FindWindowA(NULL, "GTA:SA:MP"))
                    return FALSE;
            }

            iAFK    = GetTickCount();
            while (IsIconic(hWnd) == TRUE)
            {
                Sleep(100);
                if (!FindWindowA(NULL, "GTA:SA:MP"))
                    return FALSE;
                if ((GetTickCount() - iAFK) / 1000 == g_Timer)
                {
                    char tmp[60];
                    sprintf(tmp, "[Уведомление] Вы простояли %d секунд в АФК", g_Timer);
                    MessageBoxA(NULL, tmp, "AFK-COUNTER by Jenek Bueno", MB_ICONINFORMATION);
                }
            }
   
            Sleep(1000);
            sprintf(text, "[AFK COUNTER] Время в афк: %d сек", (GetTickCount() - iAFK) / 1000);
            ChatMsg(0xFFCACACA, text);
        }
        else
            return NULL;
    }
    return NULL;
}

void NoticeCmd(char *text)
{
    if (strlen(text) == NULL)
    {
        ChatMsg(0xFFCACACA, "[AFK-COUNTER] /setntc [seconds]");
        return;
    }

    int value = NULL;
    if (sscanf(text, "%d", &value))
    {
        if (value == -1)
        {
            ChatMsg(0xffCACACA, "[AFK-COUNTER] Уведомление MessageBox выключено");
            g_Timer = -1;
            return;
        }

        char tmp[100];
        sprintf(tmp, "[AFK-COUNTER] Установлено уведомление на %d-й секунде", value);
        ChatMsg(0xffCACACA, tmp);
        g_Timer = value;
    }
}

DWORD CALLBACK GameThread(PVOID)
{
    Init();
    RegCmd("setntc", NoticeCmd);
    ChatMsg(0xFFCACACA, "AFK-COUNTER by Jenek Bueno loaded");
    CreateThread(NULL, NULL, CounterTimeAFK, NULL, NULL, NULL);
    return TRUE;
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
    if (dwReasonForCall == DLL_PROCESS_ATTACH)
        CreateThread(NULL, NULL, GameThread, NULL, NULL, NULL);
    return TRUE;
}
 

Вложения

  • src.txt
    3.8 KB · Просмотры: 3

Usik.dm

Участник
30
0
Что изменяет данный опкод(найдено в сборке на ютубе)?
0A8C: write_memory 5593039 size 7 value 144 virtual_protect 1
 

BND / PLP

Новичок
84
4
измените вх, чтоб он не работал когда открыт чат, диалог и tab
 

Вложения

  • WH.cs
    19.4 KB · Просмотры: 6

Bakat

Известный
21
1
Прицел временный
Помогите сделать активацию автоматическую.
А то надо писать чтоб активировать /ps а деактивацию /pf
Ссылка-https://yadi.sk/d/Fuk0co2w3VLj4d
 

™ ChipFamily

По ту сторону надежды.
5,143
1,988
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Есть вот такой телепорт, при активации тп"шит на чекпонит (но почему то спавнит после телепорта на чекпоинт), но не должно.
Активация: /tpc
Lua:
local sampev = require 'lib.samp.events'


function main()

    repeat wait(0) until isSampAvailable();
    sampRegisterChatCommand("tpc", tpp)
    sampRegisterChatCommand("tp", function()
    result, x, y, _ = getTargetBlipCoordinates()
    if result then lua_thread.create(teleport)
    else sampAddChatMessage("{ffc60a}[Grand RP] {ff7070}Поставь метку!", -1) end end)
    wait (-1)
end

function tpp()
    result, posX, posY, posZ = SearchMarker()
    if result then
        activate = true
        requestCollision(posX, posY)
        loadScene(posX, posY, posZ)
        setCharCoordinates(PLAYER_PED, posX, posY, posZ)
        sampRequestClass()
        wait(2000)
        activate = false
    else
        sampAddChatMessage("{ffc60a}[Grand RP] {ff7070}Чекпоинта ж нет нихуя ты че блят", -1)
    end
end

function teleport()
    activate = true
    requestCollision(x,y)
    loadScene(x,y,z)
    setCharCoordinates(PLAYER_PED, x,y,-999.0)
    sampRequestClass()
    wait (2000)
    activate = false
end


function sampev.onRequestClassResponse()
    if activate then
    return false else return true
end end

function sampev.onRequestSpawnResponse()
    if activate then
    return false else return true
end end

function sampev.onSetPlayerPos()
    if isCharInAnyCar(PLAYER_PED) and activate then
        return false else return true end
end

function SearchMarker(posX, posY, posZ, radius, isRace)
    local ret_posX = 0.0
    local ret_posY = 0.0
    local ret_posZ = 0.0
        local radius = 0.0
    local isFind = false
isRace = true

    for id = 0, 31 do
        local MarkerStruct = 0
        if isRace then MarkerStruct = 0xC7F168 + id * 56
        else MarkerStruct = 0xC7DD88 + id * 160 end
        local MarkerPosX = representIntAsFloat(readMemory(MarkerStruct + 0, 4, false))
        local MarkerPosY = representIntAsFloat(readMemory(MarkerStruct + 4, 4, false))
        local MarkerPosZ = representIntAsFloat(readMemory(MarkerStruct + 8, 4, false))

        if MarkerPosX ~= 0.0 or MarkerPosY ~= 0.0 or MarkerPosZ ~= 0.0 then
            if getDistanceBetweenCoords3d(MarkerPosX, MarkerPosY, MarkerPosZ) > radius then
                ret_posX = MarkerPosX
                ret_posY = MarkerPosY
                ret_posZ = MarkerPosZ
                isFind = true
                radius = getDistanceBetweenCoords3d(MarkerPosX, MarkerPosY, MarkerPosZ)
            end
        end
    end
    return isFind, ret_posX, ret_posY, ret_posZ
end