Lua [arz] удаление окна с акцией авто

abbv

Потрачен
Автор темы
120
40
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия SA-MP
  1. 0.3.7-R4
скрипт просто закрывает меню с акционными авто
 

Вложения

  • skritiegovna.lua
    162 байт · Просмотры: 25

ARMOR

kjor32 is legend
Модератор
4,852
6,081
Код хуйня, любой говноед может написать "[АКЦИЯ]" в чат и скрипт крашнется нахуй, ибо нету проверки ни на цвет сообщения, ни на то существует ли текстдрав. И вообще нахуя было делать код через хук onServerMessage, если можно было через onShowTextDraw?
 

abbv

Потрачен
Автор темы
120
40
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код хуйня, любой говноед может написать "[АКЦИЯ]" в чат и скрипт крашнется нахуй, ибо нету проверки ни на цвет сообщения, ни на то существует ли текстдрав. И вообще нахуя было делать код через хук onServerMessage, если можно было через onShowTextDraw?
чел, ты даже до 3 строк доебался
мне лично никто не пишет в чат [АКЦИЯ]
у меня всегда запущено 3-4 гташки для тестов, и на каждый аккаунт ставить в настройках это неудобно
 

Vespan

loneliness
Проверенный
2,103
1,633
у меня всегда запущено 3-4 гташки для тестов, и на каждый аккаунт ставить в настройках это неудобно
да уж,лучше написать дристню на коленке которая по через раз будет работать,чем прость отключить это в /settings и забыть,до чего мы дожили

чел, ты даже до 3 строк доебался
а мы должны хвалить тебя за такое =0
 

ARMOR

kjor32 is legend
Модератор
4,852
6,081
чел, ты даже до 3 строк доебался
мне лично никто не пишет в чат [АКЦИЯ]

у меня всегда запущено 3-4 гташки для тестов, и на каждый аккаунт ставить в настройках это неудобно
Так я доебался к тому что код неправильно написан. Нету проверки на текстдрав, т.е если в следующей обнове опять будет такая акция, но текстдраву сменят id скрипт работать не будет, и скорее всего скрипт крашнется. И проверка на текст в чате плохо сделана. Я тебе расписал как ты можешь улучшить свой скрипт. А ты просто не хочешь принимать критику.
 

GrishaMazzlov

https://t.me/RealCashFlow101
Проверенный
1,777
932
Какую собственно ситуацию я сейчас вижу: новичок решил поупражняться в программировании, решив сделать что-то полезное, но не учёл, что в штатных настройках тоже есть такая возможность и решил плод своей практики выложить на общественное обозрение. Вместо конструктивной критики человек получает кучу говна в лицо со словами: "код хуйня", тем самым критики демотивируют его что-либо делать и продвигаться дальше, когда нормальный человек бы показал код новичка со словами: "Можно и так" и скинул бы более красивый и оптимизированный код со словами: "Но так лучше". Тем самым подав пример хорошего кода и направив новичка на правильный путь.
Задумайтесь над этим.
 

abbv

Потрачен
Автор темы
120
40
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Так я доебался к тому что код неправильно написан. Нету проверки на текстдрав, т.е если в следующей обнове опять будет такая акция, но текстдраву сменят id скрипт работать не будет, и скорее всего скрипт крашнется. И проверка на текст в чате плохо сделана. Я тебе расписал как ты можешь улучшить свой скрипт. А ты просто не хочешь принимать критику.
чел, ты не раскритиковал, ты просто сказал "Я МОГУ НАПИСАТЬ В ЧАТЕ [АКЦИЯ] И СКРИПТ КРАШНЕТСЯ", ну и то, что можно сделать проверку на текстдрав
я просто на сайте бх не нашёл проверку на текстдрав, решил по этому сделать проверку на текст в чате

то, что ты высираешь мне не интересно, я практикую луа, ибо хочу быть способным на что то более тестов мода аризоны.

Lua:
event = require("samp.events")

function event.onShowTextDraw(id, data)
    if id == 2107 then sampSendClickTextdraw(2107) end
end

function event.onServerMessage(color, text)
    if text:find("[АКЦИЯ]") then return false end
end
я думаю так лучше будет, несмотря на то, что я уже понял, что это окно можно и так скрывать
удаляю текст из чата из за того, что с ним неудобно
 
Последнее редактирование:

ARMOR

kjor32 is legend
Модератор
4,852
6,081
чел, ты не раскритиковал, ты просто сказал "Я МОГУ НАПИСАТЬ В ЧАТЕ [АКЦИЯ] И СКРИПТ КРАШНЕТСЯ", ну и то, что можно сделать проверку на текстдрав
я просто на сайте бх не нашёл проверку на текстдрав, решил по этому сделать проверку на текст в чате

то, что ты высираешь мне не интересно, я практикую луа, ибо хочу быть способным на что то более тестов мода аризоны.

Lua:
event = require("samp.events")

function event.onShowTextDraw(id, data)
    if id == 2107 then sampSendClickTextdraw(2107) end
end

function event.onServerMessage(color, text)
    if text:find("[АКЦИЯ]") then return false end
end
я думаю так лучше будет, несмотря на то, что я уже понял, что это окно можно и так скрывать
удаляю текст из чата из за того, что с ним неудобно
Да, теперь лучше. Но я бы получал лучше id текстдрава через его координаты, ибо на сервере может быть ещё один текстдрав с таким id и он будет автоматически нажиматься
 

#kweeZ

Известный
577
122
Код хуйня, любой говноед может написать "[АКЦИЯ]" в чат и скрипт крашнется нахуй, ибо нету проверки ни на цвет сообщения, ни на то существует ли текстдрав. И вообще нахуя было делать код через хук onServerMessage, если можно было через onShowTextDraw?
С чего вдруг он крашнется, если этот хук хукает серверное сообщение, а не сообщение юзера?
 

ARMOR

kjor32 is legend
Модератор
4,852
6,081
Вот варианты:
Получение координат текстдрава:
Lua:
local ev = require 'lib.samp.events'

function ev.onShowTextDraw(id, data)
    if id == 2107 then
        sampAddChatMessage("X: " .. data.position.x .. " | Y: " .. data.position.y, -1)
    end
end
А потом когда узнал координаты этого текстдрава делаешь так
Lua:
local ev = require 'lib.samp.events'

function ev.onShowTextDraw(id, data)
    if data.position.x == "Координаты X которые ты получил" and data.position.y == "Координаты Y которые ты получил" then
        sampSendClickTextdraw(id) -- сюда не надо писать 2107, id получается автоматически
    end
end

С чего вдруг он крашнется, если этот хук хукает серверное сообщение, а не сообщение юзера?
Сообщения которые отправляют другие игроки тоже считаются серверными
 

abbv

Потрачен
Автор темы
120
40
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вот варианты:
Получение координат текстдрава:
Lua:
local ev = require 'lib.samp.events'

function ev.onShowTextDraw(id, data)
    if id == 2107 then
        sampAddChatMessage("X: " .. data.position.x .. " | Y: " .. data.position.y, -1)
    end
end
А потом когда узнал координаты этого текстдрава делаешь так
Lua:
local ev = require 'lib.samp.events'

function ev.onShowTextDraw(id, data)
    if data.position.x == "Координаты X которые ты получил" and data.position.y == "Координаты Y которые ты получил" then
        sampSendClickTextdraw(id) -- сюда не надо писать 2107, id получается автоматически
    end
end
теперь понял как можно было сделать получше и более оптимизированным.

Вот варианты:
Получение координат текстдрава:
Lua:
local ev = require 'lib.samp.events'

function ev.onShowTextDraw(id, data)
    if id == 2107 then
        sampAddChatMessage("X: " .. data.position.x .. " | Y: " .. data.position.y, -1)
    end
end
кстати, возможно ли получение координат текстдрава сразу в локалку, а затем уже использовать проверку на появление текстдрава в определённых координатах? правильнее будет - возможно ли поставить
Lua:
return false
после
Lua:
function ev.onShowTextDraw(id, data)
    if id == 2107 then
      local x, y = data.position.x, data.position.y
    end
end
?
 
Последнее редактирование:
  • Нравится
Реакции: ARMOR