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

FYP

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

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

taras123922

Известный
77
12
Парни, сделайте пожалуйста /lock 1 на букву "L"
И /lock 2 на букву "K"
Буду благодарен
 
Помогите пожалуйста, скачал я АКХ для нубо рп. Он время от времени водит не правильною капчу но это сделано специально "фейк капча" Уберите пожалуйста эту функцию
 

Вложения

  • AHKnubo.luac
    50.4 KB · Просмотры: 1

CaJlaT

Овощ
Модератор
2,806
2,603
Парни, сделайте пожалуйста /lock 1 на букву "L"
И /lock 2 на букву "K"
Буду благодарен
Lua:
require 'moonloader'
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
        wait(0)
        if isKeyJustPressed(VK_L) and not sampIsDialogActive() and not sampIsChatInputActive() then
            sampSendChat('/lock 1')
        elseif isKeyJustPressed(VK_K) and not sampIsDialogActive() and not sampIsChatInputActive() then
            sampSendChat('/lock 2')
        end
    end
end
 
  • Нравится
Реакции: taras123922

DоnbASS

Активный
235
55
Сделайте так что бы на вертолётах было автонажатие W на клавишу shift
 

Вложения

  • AutoBikeMotoRunSwimOnMaxSpeed.lua
    1.4 KB · Просмотры: 4

taras123922

Известный
77
12
Lua:
require 'moonloader'
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
        wait(0)
        if isKeyJustPressed(VK_L) and not sampIsDialogActive() and not sampIsChatInputActive() then
            sampSendChat('/lock 1')
        elseif isKeyJustPressed(VK_K) and not sampIsDialogActive() and not sampIsChatInputActive() then
            sampSendChat('/lock 2')
        end
    end
end
Готовый lua можно? а то не в курсе как сделать его)
 

labudie labydai

Новичок
2
0
как добавить текст к таймеру?
Код:
require "lib.moonloader"
local huy = require("samp.events")
local piska = 0


local oX = 420
local oY = 88

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
        timer = os.time() + piska
        sampTextdrawCreate(222, os.date("%H:%M:%S", timer), oX, oY)
        sampTextdrawSetLetterSizeAndColor(220, 0.2, 1.4, 0xFFffffff)
        sampTextdrawSetOutlineColor(222, 0.5, 0xFF000000)
        sampTextdrawSetAlign(222, 1)
        sampTextdrawSetStyle(222, 2)
        wait(500)
    end
end

function huy.onShowDialog(dialogId,style,title,button1,button2,text)
    if string.match(text, "Текущее время") then
        chislo, mesyac, god = string.match(text, "Сегодняшняя дата:     {2EA42E}(%d+):(%d+):(%d+)")
        chas, minuti, sekundi = string.match(text, "Текущее время:     {345690}(%d+):(%d+):(%d+)")
        datetime = {year = god,month = mesyac,day = chislo,hour = chas,min = minuti,sec = sekundi}
        piska = tostring(os.time(datetime)) - os.time()
    end
end
 

asdasdasdasdsadsad

Известный
6
0
поменяйте пожалуйста название в консоли на fogdist и активацию /fd
 

Вложения

  • afk.lua
    1.3 KB · Просмотры: 6

Kl1mway

Новичок
5
0
Доброго времени суток, кому не впадлу исправьте пожалуйста:

1. Скрипт меняет #ID на ник в чате, но если написать "TEXTOPA #1 TEXTLOL" то он обрежет весь текст до ника, то есть будет в чате "Nick Name TEXTLOL"
Вообще, я это хочу использовать чтобы быстро написать ник в /dep при объявлении человека в ООП, не самое хорошее решение я думаю.

P.S. Может есть нормальный скрипт? Типа пишешь /oop ID и оно сразу отправляет в чат "/dep Mayor | Дело на имя Nick Name ООП"
Если есть уже готовый - скиньте пожалуйста ну или сделайте. Буду очень благодарен.
 

Вложения

  • GetNick.lua
    801 байт · Просмотры: 3

Andrinall

Известный
678
531
Доброго времени суток, кому не впадлу исправьте пожалуйста:

1. Скрипт меняет #ID на ник в чате, но если написать "TEXTOPA #1 TEXTLOL" то он обрежет весь текст до ника, то есть будет в чате "Nick Name TEXTLOL"
Вообще, я это хочу использовать чтобы быстро написать ник в /dep при объявлении человека в ООП, не самое хорошее решение я думаю.

P.S. Может есть нормальный скрипт? Типа пишешь /oop ID и оно сразу отправляет в чат "/dep Mayor | Дело на имя Nick Name ООП"
Если есть уже готовый - скиньте пожалуйста ну или сделайте. Буду очень благодарен.
 

Вложения

  • GetNick.lua
    731 байт · Просмотры: 2

khbkjbk

Участник
121
3
[src]
#include "main.h"

SAMPFUNCS *SF = new SAMPFUNCS();

bool Flooder;
int wait;

bool CALLBACK inRPC(stRakNetHookParams *params)
{
if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage)
{
uint32_t len, color;
char msg[144];

params->bitStream->ResetReadPointer();
params->bitStream->Read(color);
params->bitStream->Read(len);
params->bitStream->Read(msg, len);
msg[len] = '\0';

if (strstr(msg, "Не флуди"))
return false;
}
return true;
}

DWORD CALLBACK sendRpc(PVOID)
{
BitStream bs;
DWORD len;
char text[MAX_PATH];

sprintf(text, "/capture");
len = strlen(text);
text[len] = '\0';

bs.ResetWritePointer();
bs.Write(len);
bs.Write(text, len);

while (Flooder)
{
SF->getRakNet()->SendRPC(RPC_ServerCommand, &bs);
Sleep(wait);
}
return NULL;
}

void CALLBACK ccapt_cmd(std::string param)
{
if (param.empty() || Flooder)
{
SF->getCLEO()->callOpcode("0AD1: show_formatted_text_highpriority \"ccapt: off\" time 2000");
Flooder = false;
return;
}

int value = NULL;
if (sscanf(param.c_str(), "%d", &value))
{
wait = value;
Flooder = true;
CreateThread(NULL, NULL, sendRpc, NULL, NULL, NULL);
SF->getCLEO()->callOpcode("0AD1: show_formatted_text_highpriority \"ccapt: on\" time 2000");
}
}

void CALLBACK mainloop()
{
static bool init = false;
if (!init)
{
if (GAME == nullptr || GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME || !SF->getSAMP()->IsInitialized())
return;
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, inRPC);
SF->getSAMP()->registerChatCommand("ccapt", ccapt_cmd);
init = true;
}
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
if (dwReasonForCall == DLL_PROCESS_ATTACH)
SF->initPlugin(mainloop, hModule);
return TRUE;
}
[/src]
замените /capture на /capture 1 и /capture 2 пожалуйста (два скрипта то-есть)
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0662: printstring "Автор скрипта: Ded_Fedot"
0662: printstring "vk.com/idedfedot"
0662: printstring "Prima-Hack.net | LiteHack.ru | BlastHack.net"
call @Label000AFB 1 -113
call @Label00095F 1 -128
hex
FE FF FB FF 4E F5 FE F0
end

hex
FB FE FE 92 00 00 00 FF 29 FF FB FF 54 F5 F1 EF
AC BE B2 AF B9 AA B1 BC AC A3 BC BB BB D1 8C 99
B2 FF FE CE 00 00 00 FF F4 F1 EF BC B3 BA B0 A3
AC 9A 91 9B AF 96 9C 94 D1 9C 8C AF FF FE 3B 05
00 00 B1 FF 29 FF FB FF 54 F5 F1 EF BC B3 BA B0
A3 AC 9A 91 9B AF 96 9C 94 D1 9C 8C B2 FF FE F4
00 00 00 FD FF FE FD 00 00 00 AF FF FE 3B
end

hex
B1 FF 29 FF FB FF 54 F5 F1 EE AC BE B2 AF B9 AA
B1 BC AC A3 BC BB BB D1 96 91 96 B2 FF FE 36 01
00 00 FF F4 F1 F3 BC B3 BA B0 A3 BC BB BB D1 96
91 96 AF FF FE 3B
end

hex
B1 FF 29 FF FB FF 54 F5 F1 E9 BC B3 BA B0 A3 BC
93 9A 90 A0 BB 9A 9C 8D 86 8F 8B 90 8D D1 9C 8C
B2 FF FE 92
end
wait
hex
FF F4 F1 EF BC B3 BA B0 A3 AC 9A 91 9B AF 96 9C
94 D1 9C 8C FF F4 F1 E9 BC B3 BA B0 A3 BC 93 9A
90 A0 BB 9A 9C 8D 86 8F 8B 90 8D D1 9C 8C AF FF
FE 3B
end

hex
B1 FF 29 FF FB FF 54 F5 F1 E8 BC B3 BA B0 A3 BC
93 9A 90 A0 BB 9A 9C 8D 86 8F 8B 90 8D D1 96 91
96 B2 FF FE FF 01 00 00 FF F4 F1 E8 BC B3 BA B0
A3 BC 93 9A 90 A0 BB 9A 9C 8D 86 8F 8B 90 8D D1
96 91 96 FF F4 F1 EF BC B3 BA B0 A3 AC 9A 91 9B
AF 96 9C 94 D1 9C 8C AF FF FE 3B 05 00 00 B1 FF
4E F5 FE F0
end

hex
FB FE FE 92 00 00 00 FF
end
call @Label00095F 1 -128
call @Label00055F 1 -542

:Label00021E
wait 400
SAMP.Available
jf @Label00021E
0B34: samp register_client_command "spick" to_label @Label0002E0
0B34: samp register_client_command "rpick" to_label @Label0002B7
13@ = Render.CreateFont("CourierNew", 9, 12)

:Label00025D
wait 0
if
29@ == 1
jf @Label0002B0
0AF2: 28@ = get_float_from_ini_file "CLEO\SendPick.ini" section "Настройки" key "Дистанция"
0006: 31@ = 28@ // Note: the incorrect math opcode was used here
gosub @Label0003CB

:Label0002B0
goto @Label00025D

:Label0002B7
if
29@ == 0
jf @Label0002D7
29@ = 1
goto @Label0002DE

:Label0002D7
29@ = 0

:Label0002DE
SAMP.CmdRet

:Label0002E0
SAMP.IsCommandTyped(0@)
0C17: 3@ = strlen 0@
if
3@ > 0
jf @Label00037F
0AD4: 0@ = scan_string 0@ format "%d" 3@
4@ = SAMP.PickupHandleByID(3@)
065B: store_pickup 4@ position_to 0@ 1@ 2@
if
not Actor.Driving($PLAYER_ACTOR)
jf @Label00037F
0@ -= 1.0
call @Label000381 3 0@ 1@ 2@
0BD1: samp send_picked_up_pickup 3@
0ACF: show_formatted_styled_text "~g~SCRIPT ~w~BY ~r~DED_FEDOT" time 1000 style 2
SAMP.CmdRet

:Label00037F
SAMP.CmdRet

:Label000381
6@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
alloc 7@ 68
0BBA: samp store_player 6@ onfoot_data 7@
0C0D: struct 7@ offset 6 size 4 = 0@
0C0D: struct 7@ offset 10 size 4 = 1@
0C0D: struct 7@ offset 14 size 4 = 2@
0BC0: samp send_onfoot_data 7@
free 7@
ret 0

:Label0003CB
0@ = 0

:Label0003D2
03F0: enable_text_draw 1
1@ = SAMP.PickupHandleByID(0@)
065B: store_pickup 1@ position_to 2@ 3@ 4@
Actor.StorePos($PLAYER_ACTOR, 7@, 8@, 9@)
if
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2@ 3@ 4@ radius 28@ 28@ 28@
jf @Label0004BA
if
call @Label0004D2 3 2@ 3@ 4@ 5@ 6@
jf @Label0004BA
050A: 10@ = distance_between_XYZ 2@ 3@ 4@ and_XYZ 7@ 8@ 9@
alloc 11@ 260
format 11@ "{00ac28}pID: {ffffff}%d%c{00ac28}pD: {ffffff}%0.f" 0@ 10 10@
Render.DrawText(13@, 11@, 5@, 6@, -472118273)
free 11@

:Label0004BA
0@ += 1
0@ > 4096
jf @Label0003D2
return

:Label0004D2
SAMP.Convert3DCoordsToScreen(0@, 1@, 2@, 5@, 6@)
if and
not 5@ > 640.0
not 6@ > 480.0
5@ >= 0.0
6@ >= 0.0
00C2: sphere_onscreen 0@ 1@ 2@ radius 0.0
jf @Label00052F
return_true
goto @Label000531

:Label00052F
return_false

:Label000531
ret 2 5@ 6@
ret 0
call @Label00055F 1 -542
call @Label000AFB 1 -113

:Label00055F
почему не компилируется?
 
Последнее редактирование:

я проиграл?

Новичок
9
0
можно поменять активацию сбива с x на r? и можете сказать через какую программу это все делается?
 

Вложения

  • noname.cs
    17.3 KB · Просмотры: 7

Qahnaarin

Активный
211
30
Прошу помочь как мне перекрасить индикаторы данного клео что находиться ниже. Так чтоб цвет хп персонажа был синий, хп машины фиолетовый, и хп брони серый прошу помочь либо рассказать как перекрасить либо перекрасить и скинуть:) кому не трудно заранее всех благодарю
 

Вложения

  • Status_Indicators.cs
    17.7 KB · Просмотры: 3

Peresvet

Известный
375
125
Доброго времени суток! Существует такой скрипт как "PerPixelLighting.cs", который добавляет эффект от солнца на персонажей, авто и т.д. В случаи работы данного скрипта с любым скинпаком, отличным от оригинального, на персонажах становятся отчётливо видны полигоны, которые портят весь вид... Так вот: возможно ли сделать так, чтобы данный скрипт давал эффект только на авто? Заранее спасибо!
CLEO:
// This file was decompiled using SASCM.ini published on 2021-07-05
{$CLEO .cs}

get_label_pointer 0@ = label @NONAME_350
get_label_pointer 1@ = label @NONAME_380
cleo_call @NONAME_385 4 0@ 7325332 7325337 1@
get_var_pointer 1@ = var 27@
0@ += 9
write_memory 0@ size 4 value 1@ virtual_protect 0
0@ += 8
get_var_pointer 1@ = var 28@
write_memory 0@ size 4 value 1@ virtual_protect 0
0@ += 8
get_var_pointer 1@ = var 29@
write_memory 0@ size 4 value 1@ virtual_protect 0

:NONAME_127
wait 0
077E: get_active_interior_to 0@
if and
  0@ == 0
   not 27@ == 0.0
   not 28@ == 0.0
   not 29@ == 0.0
jf @NONAME_343
23@ = 12043478
31@ = 0

:NONAME_201
read_memory 24@(31@,3f) = read_memory 23@ size 2 virtual_protect 0
0093: 24@(31@,3f) = integer 24@(31@,3f) to_float
24@(31@,3f) /= 255.0
23@ += 2
31@ += 1
  31@ > 2
jf @NONAME_201
call_function 7340256 num_params 14 pop 14 0 0 0 26@ 25@ 24@ 6000.0 0.0 0.0 0.0 29@ 28@ 27@ 0
27@ = 0.0

:NONAME_343
jump @NONAME_127

:NONAME_350
hex
A0 D2 C4 B7 00 50 8B 01 A3 00 00 00 00 8B 41 04
A3 00 00 00 00 8B 41 08 A3 00 00 00 00 58
end

:NONAME_380
hex
E9 00 00 00 00
end

:NONAME_385
write_memory 1@ size 1 value 233 virtual_protect 1
0085: 4@ = 1@ // (int)
4@ += 5
0062: 0@ -= 4@ // (int)
1@ += 1
write_memory 1@ size 4 value 0@ virtual_protect 1
0085: 4@ = 3@ // (int)
4@ += 5
0062: 2@ -= 4@ // (int)
3@ += 1
write_memory 3@ size 4 value 2@ virtual_protect 1
cleo_return 0