commit 2d65e91e51d3a6098af50ebf883001aae8cc83f0 Author: rubin Date: Tue Oct 31 13:45:46 2023 +0300 added script diff --git a/hallowen-door-cracker.lua b/hallowen-door-cracker.lua new file mode 100644 index 0000000..f140378 --- /dev/null +++ b/hallowen-door-cracker.lua @@ -0,0 +1,45 @@ +script_name("hallowen-door-cracker") +script_author("Serhiy_Rubin") +script_version("31.10.2023") + +function main() + if not isSampLoaded() or not isSampfuncsLoaded() then return end + while not isSampAvailable() do wait(0) end + bot = false + sampRegisterChatCommand("hdoor", function() + bot = not bot + printStringNow("~Y~Hallowen Door Cracker~N~"..(bot and "~G~ON" or "~R~OFF"), 1000) + end) + while true do + wait(0) + if bot then + for a = 0, 2304 do + if sampTextdrawIsExists(a) then + local x, y = sampTextdrawGetPos(a) + local text = sampTextdrawGetString(a) + if getDistanceBetweenCoords2d(399.0, 270.0, x, y) < 0.3 then + if text:find("PRESS %~r%~%~k%~%~(.+)%~ %~w%~TO HACK THE DOOR") then + local key = text:match("PRESS %~r%~%~k%~%~(.+)%~ %~w%~TO HACK THE DOOR") + local keys = { + ["CONVERSATION_YES"] = 64, + ["CONVERSATION_NO"] = 128, + ["GROUP_CONTROL_BWD"] = 192, + } + if keys[key] ~= nil then + if af_send == nil or ((os.clock() * 1000 - af_send > 100) or old_key ~= keys[key]) then + af_send = os.clock() * 1000 + old_key = keys[key] + local data = allocateMemory(68) + sampStorePlayerOnfootData(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)), data) + setStructElement(data, 36, 1, keys[key], false) + sampSendOnfootData(data) + freeMemory(data) + end + end + end + end + end + end + end + end +end \ No newline at end of file