Кик с сервера

Tema05

Известный
Автор темы
1,474
444
Версия MoonLoader
.026-beta
Свези с тем что у некоторых людей id текстдравов почему-то смещены на случайное значение тем самым айди текстдравов которые нажимает скрипт неправильные, я сделал калибровку при которой прошу игрока нажать на текстдрав и вычисляю на какое значения смещены все айдишники. Данный код полностью работает но спустя 10-15 секунд после нажатия на текстдрав просто кикает с сервера.

Lua:
if imgui.Button("+" .. tostring(phone_set), imgui.ImVec2(40, 20))
then
  if phone[mainIni.phone.phone+1] ~= nil
   then
    if sampTextdrawIsExists(phone_id[phone[mainIni.phone.phone+1]:match("(.-)\t")]["Номер"]) == false
     then
      phone_stat = 2
      server_command = true
      sampSendChat("/phone")
      server_command = false
    end
    menu_active = false
    sampAddChatMessage("[LiteHelper] {FFFFFF}Нажмите на кнопку с изображение трубки.(позвонить)", 0x3399FF)
    phone_cal = true
   else
    sampAddChatMessage("[LiteHelper] {FFFFFF}Выберите телефон который будет использовать скрипт.", 0x3399FF)
  end
end
imgui.SameLine()
imgui.TextColored(color_text2, u8"Калибровка.")
Lua:
function sampev.onSendClickTextDraw(id)
if phone_cal
  then
   phone_cal = false
   phone_set = id - (phone_id[phone[mainIni.phone.phone+1]:match("(.-)\t")]["Позвонить"] - phone_set)
   mainIni.phone.colibrate = phone_set
   inicfg.save(mainIni, directIni)
   server_command = true
   sampSendChat("/phone")
   server_command = false
   menu_active = true
   sampAddChatMessage("[LiteHelper] {FFFFFF}Калибровка завершена.", 0x3399FF)
end

end
 

Kolbasa241

Известный
213
57
Свези с тем что у некоторых людей id текстдравов почему-то смещены на случайное значение тем самым айди текстдравов которые нажимает скрипт неправильные, я сделал калибровку при которой прошу игрока нажать на текстдрав и вычисляю на какое значения смещены все айдишники. Данный код полностью работает но спустя 10-15 секунд после нажатия на текстдрав просто кикает с сервера.

Lua:
if imgui.Button("+" .. tostring(phone_set), imgui.ImVec2(40, 20))
then
  if phone[mainIni.phone.phone+1] ~= nil
   then
    if sampTextdrawIsExists(phone_id[phone[mainIni.phone.phone+1]:match("(.-)\t")]["Номер"]) == false
     then
      phone_stat = 2
      server_command = true
      sampSendChat("/phone")
      server_command = false
    end
    menu_active = false
    sampAddChatMessage("[LiteHelper] {FFFFFF}Нажмите на кнопку с изображение трубки.(позвонить)", 0x3399FF)
    phone_cal = true
   else
    sampAddChatMessage("[LiteHelper] {FFFFFF}Выберите телефон который будет использовать скрипт.", 0x3399FF)
  end
end
imgui.SameLine()
imgui.TextColored(color_text2, u8"Калибровка.")
Lua:
function sampev.onSendClickTextDraw(id)
if phone_cal
  then
   phone_cal = false
   phone_set = id - (phone_id[phone[mainIni.phone.phone+1]:match("(.-)\t")]["Позвонить"] - phone_set)
   mainIni.phone.colibrate = phone_set
   inicfg.save(mainIni, directIni)
   server_command = true
   sampSendChat("/phone")
   server_command = false
   menu_active = true
   sampAddChatMessage("[LiteHelper] {FFFFFF}Калибровка завершена.", 0x3399FF)
end

end
Смещение насколько знаю происходит не значительное, т.е. на 1 единицу. Не проще взять какойто определённый текстдрав и проверять его с помощью евента - onTextDrawSetString(id, text) проверяешь текст и после получаешь айди. Тем самым не надо никакую проверку делать.

Кста, мб там тип защита стоит на Аризоне такая, хз я не играю на ней..