Не работает собственный скрипт

WolfWrong

Новичок
Автор темы
14
0
Все скаченые скрипты Lua у меня работают, такие как moneyseparator, trmap т.д.
А все мною написаные нет.
Т.к. другие работают, я думаю что проблема в коде, хотя я прописываю: require = 'lib.moonloader'

Мой скрипт:
script_name("AdamSC)
script_author("adam")
script_description("first script")

require 'lib.moonloader'

function main()
 if not isSampLoaded() or not isSampfuncsLoaded() then return end
    repeat wait(100) until isSampAvailable()
sampAddChatMessage('Privet', 0xFFFFFF)
end

Цель скрипта - просто при заходе писать Privet, все очень просто. Может дело в том что я неправильно мунлоадер подключил? или еще что-то надо?
 

YarikVL

Известный
Проверенный
4,820
1,827
Lua:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    repeat wait(100) until isSampAvailable()
    sampAddChatMessage('Privet', 0xFFFFFF)
    while true do
        wait(-1)
    end
end
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage('Privet', -1) --если цвет хочешь видеть белым то -1 можно оставить
    wait(-1)-- всегда юзаю так, без беск.цикла, хз на сколько правильно
end
Всегда делаю так ( мой код чуток выше ), хз на сколько правильно, но мне кажется что мой код меньше и это будет лучше)

Что я сделал не правильно в скрипте своем? Это типо не с бибилиотекой проблема?
wait(-1) нету, это штука пускает твой скрипт в бесконечное ожидание ( ну так надо, если ты не юзаешь беск цикл: while true do )
А лучше посмотри ролики на ютубе the champ guess
 

WolfWrong

Новичок
Автор темы
14
0
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage('Privet', -1) --если цвет хочешь видеть белым то -1 можно оставить
    wait(-1)-- всегда юзаю так, без беск.цикла, хз на сколько правильно
end
Всегда делаю так ( мой код чуток выше ), хз на сколько правильно, но мне кажется что мой код меньше и это будет лучше)


wait(-1) нету, это штука пускает твой скрипт в бесконечное ожидание ( ну так надо, если ты не юзаешь беск цикл: while true do )
А лучше посмотри ролики на ютубе the champ guess
я ж написал wait (100), это не правильно?

хз,
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage('Privet', -1) --если цвет хочешь видеть белым то -1 можно оставить
    wait(-1)-- всегда юзаю так, без беск.цикла, хз на сколько правильно
end
Всегда делаю так ( мой код чуток выше ), хз на сколько правильно, но мне кажется что мой код меньше и это будет лучше)


wait(-1) нету, это штука пускает твой скрипт в бесконечное ожидание ( ну так надо, если ты не юзаешь беск цикл: while true do )
А лучше посмотри ролики на ютубе the champ guess
Хз, просто скопировал с первого попавшегося скрипта function main, так и знал что в нем проблема
 

Hatiko

Известный
Проверенный
1,469
610
я ж написал wait (100), это не правильно?
-1 ставь, если скрипт один раз выполнятся. Если он предназначен для выполнения чего-то на протяжении времени, 0 всегда, ибо какая-либо активация не будет работать и другие факторы.
 

WolfWrong

Новичок
Автор темы
14
0
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage('Privet', -1) --если цвет хочешь видеть белым то -1 можно оставить
    wait(-1)-- всегда юзаю так, без беск.цикла, хз на сколько правильно
end
Всегда делаю так ( мой код чуток выше ), хз на сколько правильно, но мне кажется что мой код меньше и это будет лучше)


wait(-1) нету, это штука пускает твой скрипт в бесконечное ожидание ( ну так надо, если ты не юзаешь беск цикл: while true do )
А лучше посмотри ролики на ютубе the champ guess
есть команда в сампфункс консоли на клавишу Ё в сампе. которая показывает список активных скриптов?
Просто не работает твой скрипт. я хз почему

есть команда в сампфункс консоли на клавишу Ё в сампе. которая показывает список активных скриптов?
Просто не работает твой скрипт. я хз почему
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage('Privet', -1) --если цвет хочешь видеть белым то -1 можно оставить
    wait(-1)-- всегда юзаю так, без беск.цикла, хз на сколько правильно
end
Всегда делаю так ( мой код чуток выше ), хз на сколько правильно, но мне кажется что мой код меньше и это будет лучше)


wait(-1) нету, это штука пускает твой скрипт в бесконечное ожидание ( ну так надо, если ты не юзаешь беск цикл: while true do )
А лучше посмотри ролики на ютубе the champ guess

Я не знаю, скрипт не работает, мне не пишет Privet когда я захожу в игру, и после логина на сервак тоже.
Возможно пробелема в том что я на Аризоне играю?

Вот скрин скрипта всего, мб что-нить найдете не так:
Безымянный.png
 
Последнее редактирование:

YarikVL

Известный
Проверенный
4,820
1,827
есть команда в сампфункс консоли на клавишу Ё в сампе. которая показывает список активных скриптов?
Просто не работает твой скрипт. я хз почему




Я не знаю, скрипт не работает, мне не пишет Privet когда я захожу в игру, и после логина на сервак тоже.
Возможно пробелема в том что я на Аризоне играю?

Вот скрин скрипта всего, мб что-нить найдете не так:
Посмотреть вложение 144604
Во-первых это не мой скрипт ( фотку которого ты скинул ), а упоминаешь меня)
Во-вторых скачай visual studio code чтобы не быть как все самые древние люди)
В-третьих я тебе говорил чекнуть ролики the champ guess на ютуб
Ну и твоё сообщение при заходе может улетать в верх ( сразу же, поэтому ты его не видишь ) так что лучше по роликам the champ guess научись использовать команду ( типо функция в луа sampRegisterChatCommand("pirivet", TvoyaFunkciya ) ну там в ролике на ютубе у этого человека будет подробно рассказано про это всё )
 

WolfWrong

Новичок
Автор темы
14
0
[22:31:17.162545] (error) firstscript.lua: D:\РИНЖИ СБОРКА\moonloader\firstscript.lua:1: unfinished string near '"AdamSC)'
[22:31:17.162545] (error) firstscript.lua: Script died due to an error. (0549A1BC)

firstsctipt - название. Кстати, твой код тоже пробовал, не работает.
Я смотрю после запуска сампа когда 0.3.7 R1 Запустился и там все скрипты написаны что автор, и т.д.
 

YarikVL

Известный
Проверенный
4,820
1,827
[22:31:17.162545] (error) firstscript.lua: D:\РИНЖИ СБОРКА\moonloader\firstscript.lua:1: unfinished string near '"AdamSC)'
[22:31:17.162545] (error) firstscript.lua: Script died due to an error. (0549A1BC)
Теперь посмотри на первую строку своего скрипта, и на ошибку: unfinished string near '"AdamSC)'
Внимательно смотри и увидишь)
 
  • Нравится
Реакции: WolfWrong

WolfWrong

Новичок
Автор темы
14
0
О. работает.
Я просто думал что скрипт же может и без этой фигни существовать, поэтому может ошибку и не заметить. (я не знал про ошибку)

Теперь посмотри на первую строку своего скрипта, и на ошибку: unfinished string near '"AdamSC)'
Внимательно смотри и увидишь)
Опять мне нужна помощь, я хочу забиндить клавишу (один раз нажать) на текст. Нужно создавать отельную функцию или можно в мейне?

Код:
script_name("AdamSC")
script_author("adam")
script_description("first script")

require 'lib.moonloader'
local keys = ('vkeys')

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    repeat wait(100) until isSampAvailable()
    sampAddChatMessage('Privet', 0xFFFFFF)
    while true do
        wait(-1)
    end
   
    if isKeyJustPressed(VK_L) then sampAddChatMessage('textik', -1)
    end
end
end

Теперь слово Privet показывается при запуске, но бинд не работает. мб не в main его надо совать?

Вот новый код попробовал с другой функцией.

Код:
script_name("AdamSC")
script_author("adam")
script_description("first script")

require 'lib.moonloader'
local keys = ('vkeys')

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    repeat wait(100) until isSampAvailable()
    sampAddChatMessage('Privet', 0xFFFFFF)
    while true do
        wait(-1)
    end
end

function vkeys()
    if isKeyJustPressed(VK_L) then
        sampAddChatMessage('textik', -1)
    end
end
этот тоже к сожалению не работает. Точнее слово Privet есть, а бинда нет
 
Последнее редактирование:

Hatiko

Известный
Проверенный
1,469
610
У тебя задержка в цикл -1, т.е. скрипт отрабатывает один раз и замораживается. Необходимо установить 0, чтобы цикл всегда крутился. Далее в этот цикл суешь функцию, которая проверяет нажатие клавиши.

Lua:
script_name("AdamSC")
script_author("adam")
script_description("first script")

require 'lib.moonloader'
local keys = ('vkeys') -- Не обязательно. За константы клавиш, например, VK_L, VK_W и т.д., откачает модуль lib.moonloader.

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    repeat wait(100) until isSampAvailable()
    sampAddChatMessage('Privet', 0xFFFFFF)
    while true do
        wait(0)
        vkeys()
    end
end

function vkeys()
    if isKeyJustPressed(VK_L) then
        sampAddChatMessage('textik', -1)
    end
end
 
  • Нравится
Реакции: WolfWrong и YarikVL

YarikVL

Известный
Проверенный
4,820
1,827
О. работает.
Я просто думал что скрипт же может и без этой фигни существовать, поэтому может ошибку и не заметить. (я не знал про ошибку)


Опять мне нужна помощь, я хочу забиндить клавишу (один раз нажать) на текст. Нужно создавать отельную функцию или можно в мейне?

Код:
script_name("AdamSC")
script_author("adam")
script_description("first script")

require 'lib.moonloader'
local keys = ('vkeys')

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    repeat wait(100) until isSampAvailable()
    sampAddChatMessage('Privet', 0xFFFFFF)
    while true do
        wait(-1)
    end
  
    if isKeyJustPressed(VK_L) then sampAddChatMessage('textik', -1)
    end
end
end

Теперь слово Privet показывается при запуске, но бинд не работает. мб не в main его надо совать?

Вот новый код попробовал с другой функцией.

Код:
script_name("AdamSC")
script_author("adam")
script_description("first script")

require 'lib.moonloader'
local keys = ('vkeys')

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    repeat wait(100) until isSampAvailable()
    sampAddChatMessage('Privet', 0xFFFFFF)
    while true do
        wait(-1)
    end
end

function vkeys()
    if isKeyJustPressed(VK_L) then
        sampAddChatMessage('textik', -1)
    end
end
этот тоже к сожалению не работает. Точнее слово Privet есть, а бинда нет
Я ж говорю посмотри ролики the champ guess: https://youtube.com/c/TheChampGuess
Он объясняет основы, без них ты либо будешь много чего не понимать, либо будешь кучу вопросов задавать на которые тут есть ответы.