RakSAMP ищу скрипт который увидет сообщение You are hungry! после чего написал !key 1024 и съел

hhhhzzzz

Участник
Автор темы
53
2
ищу скрипт который увидет сообщение You are hungry! после чего написал в консоли !key 1024 и нажал на 8 еду
 
Решение

Lua:
local sampev = require("samp.events")

function sendKey(id)
    key = id
    updateSync()
end

function sampev.onSendPlayerSync(data)
    if key then
        data.keysData = key
        key = nil
    end
end

function sampev.onDisplayGameText(style, time, text)
    if text:find("You are hungry") then
        sendKey(1024)
    end
end

function sampev.onShowDialog(id, style, title, button1, button2, text)
    if title:find("Еда") then
        sendDialogResponse(id, 1, 6, "")
    end
end

Vovan1337

Участник
90
13
Lua:
local sampev = require("samp.events")

function sendKey(id)
    key = id
    updateSync()
end

function sampev.onSendPlayerSync(data)
    if key then
        data.keysData = key
        key = nil
    end
end

function sampev.onDisplayGameText(style, time, text)
    if text:find("You are hungry") then
        sendKey(1024)
    end
end

function sampev.onShowDialog(id, style, title, button1, button2, text)
    if title:find("Еда") then
        sendDialogResponse(id, 1, 6, "")
    end
end
Код хороший, но несколько ошибок: 1.для автоеды после
sendDialogResponse ставим return false. - диалог не будет отображаться, но автоеда будет. В чате раксампа увидишь, если съешь.
2. Отсчет листов идёт с начальной строки в раксампе, то есть к нужной цифре в начале listitem, например цифра 7, и нам нало 7 лист, мы прибавляем единицу, то есть sendDialogResponse(id, 1, 8, nil)
3. Если я не ошибаюсь, не хавает он потому, что ты нажимаешь на кнопку отмена в диалоге, если так, то надо сделать
sendDialogResponse(id, 0, 8, nil)

Код хороший, но несколько ошибок: 1.для автоеды после
sendDialogResponse ставим return false. - диалог не будет отображаться, но автоеда будет. В чате раксампа увидишь, если съешь.
2. Отсчет листов идёт с начальной строки в раксампе, то есть к нужной цифре в начале listitem, например цифра 7, и нам нало 7 лист, мы прибавляем единицу, то есть sendDialogResponse(id, 1, 8, nil)
3. Если я не ошибаюсь, не хавает он потому, что ты нажимаешь на кнопку отмена в диалоге, если так, то надо сделать
sendDialogResponse(id, 0, 8, nil)
@hhhhzzzz
 

hhhhzzzz

Участник
Автор темы
53
2
Снимок экрана (29).png


Код хороший, но несколько ошибок: 1.для автоеды после
sendDialogResponse ставим return false. - диалог не будет отображаться, но автоеда будет. В чате раксампа увидишь, если съешь.
2. Отсчет листов идёт с начальной строки в раксампе, то есть к нужной цифре в начале listitem, например цифра 7, и нам нало 7 лист, мы прибавляем единицу, то есть sendDialogResponse(id, 1, 8, nil)
3. Если я не ошибаюсь, не хавает он потому, что ты нажимаешь на кнопку отмена в диалоге, если так, то надо сделать
sendDialogResponse(id, 0, 8, nil)


@hhhhzzzz
у меня почему то окна идут направо

у меня диалог показывается

вот код
local sampev = require("samp.events")

local key = nil

function sendKey(id)
key = id
updateSync()
end

function sampev.onSendPlayerSync(data)
if key then
data.keysData = key
key = nil
end
end


function sampev.onDisplayGameText(style, time, text)
if text:find("You are hungry") then
sendKey(1024) -- Нажатие ALT
end
end

function sampev.onShowDialog(id, style, title, button1, button2, text)
if title:find("Еда") then
-- Выбор 7-го пункта (нужно 8 по счёту, т.к. отсчёт с 0)
sendDialogResponse(id, 1, 8, "")
return false
end
end
 
Последнее редактирование:

Byte

Участник
85
12
Код хороший, но несколько ошибок: 1.для автоеды после
sendDialogResponse ставим return false. - диалог не будет отображаться, но автоеда будет. В чате раксампа увидишь, если съешь.
2. Отсчет листов идёт с начальной строки в раксампе, то есть к нужной цифре в начале listitem, например цифра 7, и нам нало 7 лист, мы прибавляем единицу, то есть sendDialogResponse(id, 1, 8, nil)
3. Если я не ошибаюсь, не хавает он потому, что ты нажимаешь на кнопку отмена в диалоге, если так, то надо сделать
sendDialogResponse(id, 0, 8, nil)


@hhhhzzzz
Какая разница будет return false или не будет?
Зачем ты вообще сюда пишешь чел бля...
1744483132033.png


Для принятия диалога нужно отправлять именно:
sendDialogResponse(id, 1, 7, "")
Как раз-таки если ты будешь использовать:
sendDialogResponse(id, 0, 7, "")
То диалог закроется.

Насчет листа я просил челика скинуть диалог С ИГРЫ, но как я понял по сообщениям выше, текстом воспринимает он информацию крайне плохо.
 

hhhhzzzz

Участник
Автор темы
53
2
Какая разница будет return false или не будет?
Зачем ты вообще сюда пишешь чел бля...
Посмотреть вложение 267679

Для принятия диалога нужно отправлять именно:

Как раз-таки если ты будешь использовать:

То диалог закроется.

Насчет листа я просил челика скинуть диалог С ИГРЫ, но как я понял по сообщениям выше, текстом воспринимает он информацию крайне плохо.
Снимок экрана (32).png


у меня нет просто кодировка cp-1251, узнал что это ANSI
 

chromiusj

Стань той переменой, которую хочешь увидеть в мире
Модератор
5,742
4,048
Посмотреть вложение 267682

у меня нет просто кодировка cp-1251, узнал что это ANSI
а аддон подключать кто будет?
читайте тему внимательнее
1744485349899.png
 
  • Нравится
Реакции: hhhhzzzz и Byte

Vovan1337

Участник
90
13
Какая разница будет return false или не будет?
Зачем ты вообще сюда пишешь чел бля...
Посмотреть вложение 267679

Для принятия диалога нужно отправлять именно:

Как раз-таки если ты будешь использовать:

То диалог закроется.

Насчет листа я просил челика скинуть диалог С ИГРЫ, но как я понял по сообщениям выше, текстом воспринимает он информацию крайне плохо.
Давай позасирай темы годовой давности, ода луа сениор пришёл, открою секрет, та ху*ня которая пишется под заголовком диалога - для сампа и раксампа это тоже лист, хотя от нашего лица это часть заголовка
 
  • Клоун
  • Нравится
Реакции: hhhhzzzz и Byte

hhhhzzzz

Участник
Автор темы
53
2
Lua:
require("addon")
- В начало кода.
И на 26-ой строке вмеcто 7-ки поставь 8-ку.
чудо, сработало, после установки винды 10 и добавлением аддона работает, теперь пишет, отправка ответa на диалог

ураа,вот полностью рабочий код, просто там вместо 8 надо было 6 поставить так то

require("addon")
local sampev = require("samp.events")
local key = nil

function sendKey(id)
key = id
updateSync()
end

function sampev.onSendPlayerSync(data)
if key then
data.keysData = key
key = nil
end
end

function sampev.onDisplayGameText(style, time, text)
if text:find("You are hungry") then
sendKey(1024)
end
end

function sampev.onShowDialog(id, style, title, button1, button2, text)
if title:find("Еда") then
sendDialogResponse(id, 1, 1, "")
end
end
local sampev = require("samp.events")

local key = nil

function sendKey(id)
key = id
updateSync()
end

function sampev.onSendPlayerSync(data)
if key then
data.keysData = key
key = nil
end
end


function sampev.onDisplayGameText(style, time, text)
if text:find("You are hungry") then
sendKey(1024)
end
end

function sampev.onShowDialog(id, style, title, button1, button2, text)
if title:find("Еда") then
sendDialogResponse(id, 1, 6, "")
return false
end
end

всем спасибо за помощь!
 
Последнее редактирование: