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

FYP

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

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

deadfamq

Участник
107
22
Это вх. Измените пожалуйста активацию на Left Alt+1
держи, активация 1+ left alt, чет не получалось, но, думаю проблемы не возникнет.
Lua:
script_name("Skeletal WallHack")
script_version_number(1)
script_description("thx to Valdan666 and FYP")
script_author("AppleThe & hnnssy")

local ffi = require "ffi"
local getBonePosition = ffi.cast("int (__thiscall*)(void*, float*, int, bool)", 0x5E4280)
require "lib.moonloader"
local mem = require "memory"

--// *** // *** //--
whVisible = "all" -- Мод ВХ по умолчанию. Моды написаны в комментарии ниже
optionsCommand = "dmginfo" -- Моды ВХ: bones - только кости / names - только ники, all - всё сразу
defaultState = false -- Запуск ВХ при старте игры
--// *** // *** //--

function main()
    if not isSampLoaded() or not isCleoLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand(optionsCommand, function(param)
        if param == "bones" then whVisible = param; nameTagOff()
        elseif param == "names" or param == "all" then whVisible = param if not nameTag then nameTagOn() end
        else sampAddChatMessage("Введите корректный режим: {CCCCFF}names{4444FF}/{CCCCFF}bones{4444FF}/{CCCCFF}all", 0xFF4444FF) end
    end)
    while not sampIsLocalPlayerSpawned() do wait(100) end
    if defaultState and not nameTag then nameTagOn() end
    while true do
        wait(0)
        if wasKeyPressed(VK_MENU) and wasKeyPressed(VK_1) then;
            if defaultState then
                defaultState = false;
                nameTagOff();
                while isKeyDown(VK_MENU) and isKeyDown(VK_1) do wait(100) end
            else
                defaultState = true;
                if whVisible ~= "bones" and not nameTag then nameTagOn() end
                while isKeyDown(VK_MENU) and isKeyDown(VK_1) do wait(100) end
            end
        end
        if defaultState and whVisible ~= "names" then
            if not isPauseMenuActive() and not isKeyDown(VK_F8) then
                for i = 0, sampGetMaxPlayerId() do
                if sampIsPlayerConnected(i) then
                    local result, cped = sampGetCharHandleBySampPlayerId(i)
                    local color = sampGetPlayerColor(i)
                    local aa, rr, gg, bb = explode_argb(color)
                    local color = join_argb(255, rr, gg, bb)
                    if result then
                        if doesCharExist(cped) and isCharOnScreen(cped) then
                            local t = {3, 4, 5, 51, 52, 41, 42, 31, 32, 33, 21, 22, 23, 2}
                            for v = 1, #t do
                                pos1X, pos1Y, pos1Z = getBodyPartCoordinates(t[v], cped)
                                pos2X, pos2Y, pos2Z = getBodyPartCoordinates(t[v] + 1, cped)
                                pos1, pos2 = convert3DCoordsToScreen(pos1X, pos1Y, pos1Z)
                                pos3, pos4 = convert3DCoordsToScreen(pos2X, pos2Y, pos2Z)
                                renderDrawLine(pos1, pos2, pos3, pos4, 1, color)
                            end
                            for v = 4, 5 do
                                pos2X, pos2Y, pos2Z = getBodyPartCoordinates(v * 10 + 1, cped)
                                pos3, pos4 = convert3DCoordsToScreen(pos2X, pos2Y, pos2Z)
                                renderDrawLine(pos1, pos2, pos3, pos4, 1, color)
                            end
                            local t = {53, 43, 24, 34, 6}
                            for v = 1, #t do
                                posX, posY, posZ = getBodyPartCoordinates(t[v], cped)
                                pos1, pos2 = convert3DCoordsToScreen(posX, posY, posZ)
                            end
                        end
                    end
                end
            end
            else
                nameTagOff()
                while isPauseMenuActive() or isKeyDown(VK_F8) do wait(0) end
                nameTagOn()
            end
        end
    end
end

function getBodyPartCoordinates(id, handle)
  local pedptr = getCharPointer(handle)
  local vec = ffi.new("float[3]")
  getBonePosition(ffi.cast("void*", pedptr), vec, id, true)
  return vec[0], vec[1], vec[2]
end

function nameTagOn()
    local pStSet = sampGetServerSettingsPtr();
    NTdist = mem.getfloat(pStSet + 39)
    NTwalls = mem.getint8(pStSet + 47)
    NTshow = mem.getint8(pStSet + 56)
    mem.setfloat(pStSet + 39, 1488.0)
    mem.setint8(pStSet + 47, 0)
    mem.setint8(pStSet + 56, 1)
    nameTag = true
end

function nameTagOff()
    local pStSet = sampGetServerSettingsPtr();
    mem.setfloat(pStSet + 39, NTdist)
    mem.setint8(pStSet + 47, NTwalls)
    mem.setint8(pStSet + 56, NTshow)
    nameTag = false
end

function join_argb(a, r, g, b)
  local argb = b  -- b
  argb = bit.bor(argb, bit.lshift(g, 8))  -- g
  argb = bit.bor(argb, bit.lshift(r, 16)) -- r
  argb = bit.bor(argb, bit.lshift(a, 24)) -- a
  return argb
end

function explode_argb(argb)
  local a = bit.band(bit.rshift(argb, 24), 0xFF)
  local r = bit.band(bit.rshift(argb, 16), 0xFF)
  local g = bit.band(bit.rshift(argb, 8), 0xFF)
  local b = bit.band(argb, 0xFF)
  return a, r, g, b
end
 

gafa were

Новичок
2
0
помогите, нужно изменить значение клавиши Ф5, табличка не открывается из за того что у меня ф5 на клаве стоит как вкл/выкл подстветки, из за этого в сампе на ф5 не функционирует нормально
 

Sam_Monroe

Известный
55
2
Здравствуйте. Нужна помощь с Клео скриптом, не умею работать с чатлогом.
Есть скрипт на телепорты по командам. А надо, чтобы этими командами запускался автоматический процесс этих телепортов с небольшой задержкой. Первый телепортируется, когда в чате появляется надпись "отнеси металл на склад", а второй просто делает циклично пробежку по координатам и обратно. Остановить скрипты должно быть можно простым шагом в сторону. Мог бы кто помочь?
CLEO:
{$CLEO}
0000: NOP
repeat
wait 0
until 0AFA:
0B34: samp register_client_command "tp1" to_label @Noname_54
0B34: samp register_client_command "tp2" to_label @Noname_62

01B6: set_weather 1
00C0: set_current_time_hours_to 10 minutes_to 0
0BDE: pause_thread 0


:Noname_54
0AB1: call_scm_func @Noname_8937 3 -1864.971924 -1623.192505 21.909252
0BD1: samp send_picked_up_pickup 13
0B43: samp cmd_ret

:Noname_62
0AB1: call_scm_func @Noname_8937 3 612.321838 871.011047 -42.542072              
0BD1: samp send_picked_up_pickup 15
0AB1: call_scm_func @Noname_8937 3 612.892029 870.620605 -42.649788
0BD1: samp send_picked_up_pickup 49
0AB1: call_scm_func @Noname_8937 3 639.400208 819.720337 -42.932686
0BD1: samp send_picked_up_pickup 32
0AB1: call_scm_func @Noname_8937 3 632.552429 857.449158 -42.960938
0BD1: samp send_picked_up_pickup 63
0AB1: call_scm_func @Noname_8937 3 584.081116 925.163574 -42.291046
0BD1: samp send_picked_up_pickup 115
0AB1: call_scm_func @Noname_8937 3 678.325134 823.677002 -38.992092
0BD1: samp send_picked_up_pickup 97
0AB1: call_scm_func @Noname_8937 3 690.125000 844.980896 -39.007717
0BD1: samp send_picked_up_pickup 28
0B43: samp cmd_ret





:Noname_8937
0B2B: samp 3@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0AC8: 4@ = allocate_memory_size 68
0BBA: samp store_player 3@ onfoot_data 4@
0C0D: struct 4@ offset 6 size 4 = 0@
0C0D: struct 4@ offset 10 size 4 = 1@
0C0D: struct 4@ offset 14 size 4 = 2@
0BC0: samp send_onfoot_data 4@
0AC9: free_allocated_memory 4@
0AB2: ret 0
 
Последнее редактирование:

Fistockman

Потрачен
108
12
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
сделайте активацию на 1 клавишу английскую M
 

Вложения

  • AirBrake.lua
    4.4 KB · Просмотры: 3

ProKop4ek

Новичок
16
2
Нужно сделать задержку после взаимодействия с первым окном, и после втрого окна.
Буду очень благодарен.
 

Вложения

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

YarikVL

Известный
Проверенный
4,767
1,820
Нужно сделать задержку после взаимодействия с первым окном, и после втрого окна.
Буду очень благодарен.
Lua:
local sampev = require 'lib.samp.events'

function main()
    while not isSampAvailable() do wait(0) end
    wait(-1)
end

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    lua_thread.create(function()
        if dialogId == 49 then
            wait(1000)
            sampSendDialogResponse(49, 1, 9, nil)
        end
        if dialogId == 53 then
            wait(1000)
            sampSendDialogResponse(53, 1, 6, nil)
        end
    end)
end
Вроде должно работать, но еще есть вариант с os.clock()
 
  • Влюблен
Реакции: ProKop4ek

cvqez

Активный
99
25
ники без клистов - черные
цветы клистов с которыми баги и они черные - FFFFFF ; 665E5E
хелпаните а
вот тема самого скрипта - https://www.blast.hk/threads/156800/#post-1191609
 

Вложения

  • KillList.lua
    2.8 KB · Просмотры: 2
Последнее редактирование:

YarikVL

Известный
Проверенный
4,767
1,820
ники без клистов - черные
цветы клистов с которыми баги и они черные - FFFFFF ; 665E5E
хелпаните а
вот тема самого скрипта - https://www.blast.hk/threads/156800/#post-1191609
DACEB92E-A623-4ABD-8108-FA7185989D93.jpeg

E8D71EBA-15BC-4A0B-8165-85FD0DCF523E.jpeg
Скрытое содержимое могут видеть только пользователи групп(ы): Модераторы
 
  • Нравится
Реакции: xColorized

GGbro

Новичок
11
0
Сделать привязку по IP Сервера, в информации о скрипте выровнять по центру для кого сделан тулс. И если можно найти ошибки в /obiz, т.к он не выдает наказание при ловле бизнеса через команду. (пишет никто не ловил бизнес, хотя приходит уведомление)
 

Вложения

  • AdminTools_4.lua
    513.8 KB · Просмотры: 4

tiltonicmeowwww

Новичок
7
1
здаров. кнопку активации на Alt ( если возможно, ) или на CapsLock / X.
 

Вложения

  • Aim на R.cs
    1.2 KB · Просмотры: 4

Wellarq

Участник
106
1
Можете передать данный скрипт он не работает пишет неизвестная команда для лаунчера Аризоны
 

YarikVL

Известный
Проверенный
4,767
1,820
Можете передать данный скрипт он не работает пишет неизвестная команда для лаунчера Аризоны
Ты после входа в игру просто ввёл команду /guram ?
Там нужно вводить /guram И после пробела какое-то число вводить, иначе скрипт сломается и нужно перезаходить в игру или перезагружать скрипт