Вопросы по Lua скриптингу

Общая тема для вопросов по разработке скриптов на языке программирования Lua, в частности под MoonLoader.
  • Задавая вопрос, убедитесь, что его нет в списке частых вопросов и что на него ещё не отвечали (воспользуйтесь поиском).
  • Поищите ответ в теме посвященной разработке Lua скриптов в MoonLoader
  • Отвечая, убедитесь, что ваш ответ корректен.
  • Старайтесь как можно точнее выразить мысль, а если проблема связана с кодом, то обязательно прикрепите его к сообщению, используя блок [code=lua]здесь мог бы быть ваш код[/code].
  • Если вопрос связан с MoonLoader-ом первым делом желательно поискать решение на wiki.

Частые вопросы

Как научиться писать скрипты? С чего начать?
Информация - Гайд - Всё о Lua скриптинге для MoonLoader(https://blast.hk/threads/22707/)
Как вывести текст на русском? Вместо русского текста у меня какие-то каракули.
Изменить кодировку файла скрипта на Windows-1251. В Atom: комбинация клавиш Ctrl+Shift+U, в Notepad++: меню Кодировки -> Кодировки -> Кириллица -> Windows-1251.
Как получить транспорт, в котором сидит игрок?
Lua:
local veh = storeCarCharIsInNoSave(PLAYER_PED)
Как получить свой id или id другого игрока?
Lua:
local _, id = sampGetPlayerIdByCharHandle(PLAYER_PED) -- получить свой ид
local _, id = sampGetPlayerIdByCharHandle(ped) -- получить ид другого игрока. ped - это хендл персонажа
Как проверить, что строка содержит какой-то текст?
Lua:
if string.find(str, 'текст', 1, true) then
-- строка str содержит "текст"
end
Как эмулировать нажатие игровой клавиши?
Lua:
local game_keys = require 'game.keys' -- где-нибудь в начале скрипта вне функции main

setGameKeyState(game_keys.player.FIREWEAPON, -1) -- будет сэмулировано нажатие клавиши атаки
Все иды клавиш находятся в файле moonloader/lib/game/keys.lua.
Подробнее о функции setGameKeyState здесь: lua - setgamekeystate | BlastHack — DEV_WIKI(https://www.blast.hk/wiki/lua:setgamekeystate)
Как получить id другого игрока, в которого целюсь я?
Lua:
local valid, ped = getCharPlayerIsTargeting(PLAYER_HANDLE) -- получить хендл персонажа, в которого целится игрок
if valid and doesCharExist(ped) then -- если цель есть и персонаж существует
  local result, id = sampGetPlayerIdByCharHandle(ped) -- получить samp-ид игрока по хендлу персонажа
  if result then -- проверить, прошло ли получение ида успешно
    -- здесь любые действия с полученным идом игрока
  end
end
Как зарегистрировать команду чата SAMP?
Lua:
-- До бесконечного цикла/задержки
sampRegisterChatCommand("mycommand", function (param)
     -- param будет содержать весь текст введенный после команды, чтобы разделить его на аргументы используйте string.match()
    sampAddChatMessage("MyCMD", -1)
end)
Крашит игру при вызове sampSendChat. Как это исправить?
Это происходит из-за бага в SAMPFUNCS, когда производится попытка отправки пакета определенными функциями изнутри события исходящих RPC и пакетов. Исправления для этого бага нет, но есть способ не провоцировать его. Вызов sampSendChat изнутри обработчика исходящих RPC/пакетов нужно обернуть в скриптовый поток с нулевой задержкой:
Lua:
function onSendRpc(id)
  -- крашит:
  -- sampSendChat('Send RPC: ' .. id)

  -- норм:
  lua_thread.create(function()
    wait(0)
    sampSendChat('Send RPC: ' .. id)
  end)
end
 
Последнее редактирование:

YarikVL

Известный
Проверенный
4,740
1,816
как сделать чтобы в диалоговом окне выбирался один пункт а после второй?
например нужно сделать чтобы сначала брались патроны а после металл и диалоговое окно закрывалось
у меня не получается сделать сразу два действия, ниже пример с одним действием

Код:
local sampev = require 'lib.samp.events'

function sampev.onShowDialog(id, style, title, button1, button2, text)
            if id == 373 then
            sampSendDialogResponse(373, 1 , nil, '1')
            return false
        elseif id == 101 then
        lua_thread.create(function()
            wait(100)
            sampSendDialogResponse(101, 1 , 3, nil)
                    sampCloseCurrentDialogWithButton(1)
            return false
            end)
    end
end
Lua:
local sampev = require 'lib.samp.events'

function sampev.onShowDialog(id, style, title, button1, button2, text)
    lua_thread.create(function() --проще юзать беск цикл
        if id == 373 then
            wait(300) --я вообще делал это через цикл while и проверку открытия диалога
            sampSendDialogResponse(373, 1 , nil, '1') --отправляет единицу в поле твоего 373 ид диалога
            return false --вроде не должно крашнуть скрипт
        end
        if id == 101 then
            wait(300)
            sampSendDialogResponse(101, 1 , 3, nil) -- отправка диалогу с ид 101 ЧЕТВЕРТЫЙ пункт диалога
            --sampCloseCurrentDialogWithButton(1) -- я эту функу не использую, так как встречал случаи как она крашит игру, например ловец видеокарт от венни
            return false
        end
    end)
end
Попробуй, вроде я правильно тебя понял.
 

Angjs

Новичок
18
2
Я создал пикап на определенных координатах, как его удалить(в моем случае их) командой?
 

Карен

Участник
112
17
Ребят приветствую, у меня в скрипте появилась проблемка которую я не могу решить, в общем каждый раз когда активируется 1 из двух переменных должен сработать код который в свою очередь плюсанёт одну еденичку с переменной равной нулю, но скрипт не крашит, а просто ничего не пишет, не могли бы помочь?
Lua:
[/B]
local porno = false
local xyj = 0
local striptiz = false

function pornyxa()
    lua_thread.create(function()
        wait(0)
        if porno or striptiz then
            pedorasnaxyi = xyj+1
            addChat('Ответил '.. math.floor(pedorasnaxyi) ..'раз', -1) 
            addChat('Пиривет', -1)            
        end            
    end)
end
[B]
 

YarikVL

Известный
Проверенный
4,740
1,816
Ребят приветствую, у меня в скрипте появилась проблемка которую я не могу решить, в общем каждый раз когда активируется 1 из двух переменных должен сработать код который в свою очередь плюсанёт одну еденичку с переменной равной нулю, но скрипт не крашит, а просто ничего не пишет, не могли бы помочь?
Lua:
[/B]
local porno = false
local xyj = 0
local striptiz = false

function pornyxa()
    lua_thread.create(function()
        wait(0)
        if porno or striptiz then
            pedorasnaxyi = xyj+1
            addChat('Ответил '.. math.floor(pedorasnaxyi) ..'раз', -1) 
            addChat('Пиривет', -1)            
        end            
    end)
end
[B]
Может ты функцию свою не вызываешь?
6399382E-4ACD-450C-B0E5-7BE4DED828E7.jpeg

И я так понял, по addChat, это не обычный самп?

Либо может у тебя переменной не присваивается значение true
 

XRLM

Против ветра рождённый
Модератор
1,570
1,154
Ребят приветствую, у меня в скрипте появилась проблемка которую я не могу решить, в общем каждый раз когда активируется 1 из двух переменных должен сработать код который в свою очередь плюсанёт одну еденичку с переменной равной нулю, но скрипт не крашит, а просто ничего не пишет, не могли бы помочь?
Lua:
[/B]
local porno = false
local xyj = 0
local striptiz = false

function pornyxa()
    lua_thread.create(function()
        wait(0)
        if porno or striptiz then
            pedorasnaxyi = xyj+1
            addChat('Ответил '.. math.floor(pedorasnaxyi) ..'раз', -1) 
            addChat('Пиривет', -1)            
        end            
    end)
end
[B]
функцию вызывать нужно.
сунь свой код в беск цикл
Lua:
local porno = false
local xyj = 0
local striptiz = false
--main
while true do wait(0)
    if porno or striptiz then
        pedorasnaxyi = xyj+1
        addChat('Ответил '.. math.floor(pedorasnaxyi) ..'раз', -1)
        addChat('Пиривет', -1)           
    end
end
 
  • Клоун
  • Нравится
Реакции: Air_Official и YarikVL

kiyoshii

Известный
26
17
может кто помочь? есть скрипт, который спамит команду /usedrugs 3 в чат, как сделать так, чтоб когда в чате появлялся текст "Здоровье пополнено до: 130" , 140 и 150, команда менялась. допустим если появился текст "Здоровье пополнено до: 130", скрипт вместо /usedrugs 3 начинает спамить команду /usedrugs 5. если 140 - /usedrugs 7, 150 - /usedrugs 10. но надо сделать так, чтоб команда /usedrugs 3 переставала спамится, и вместо неё другая команда начинала спамится. надеюсь кто-то поможет
1:
require 'lib.moonloader'
local ev = require('lib.samp.events')

local active = false

function main()
    while not isSampAvailable() do wait(0) end
    sampAddChatMessage("{00ffff}AutoLomka {FFFFFF}by {dc4747}kiyoshi {FFFFFF}loaded. {FFFFFF}Use {00ffff}/lomka")
    sampRegisterChatCommand('lomka', function()
        active = not active
        sampAddChatMessage(active and 'AutoLomka ON' or 'AutoLomka OFF', -1)
    end)
    while true do
        wait(0)
        if active then
            sampSendChat("/usedrugs 3")
            wait(700)
        end
    end
end

function ev.onServerMessage(color, text)
    if text:find('Недостаточно наркотиков') then
        lua_thread.create( function()
            setVirtualKeyDown(0x0D, true)
            wait(100)
            setVirtualKeyDown(0x0D, false)
        end)
    end
end

function ev.onShowDialog(dialogId, style, title, button1, button2, text)
    if dialogId == 285 then
        if text:find('Вы собираетесь купить (%d+) грамм за (%d+) вирт') then
            sampSendDialogResponse(285, 1, 0, '')
        end
    end
end
 

qdIbp

Автор темы
Проверенный
1,451
1,190
может кто помочь? есть скрипт, который спамит команду /usedrugs 3 в чат, как сделать так, чтоб когда в чате появлялся текст "Здоровье пополнено до: 130" , 140 и 150, команда менялась. допустим если появился текст "Здоровье пополнено до: 130", скрипт вместо /usedrugs 3 начинает спамить команду /usedrugs 5. если 140 - /usedrugs 7, 150 - /usedrugs 10. но надо сделать так, чтоб команда /usedrugs 3 переставала спамится, и вместо неё другая команда начинала спамится. надеюсь кто-то поможет
1:
require 'lib.moonloader'
local ev = require('lib.samp.events')

local active = false

function main()
    while not isSampAvailable() do wait(0) end
    sampAddChatMessage("{00ffff}AutoLomka {FFFFFF}by {dc4747}kiyoshi {FFFFFF}loaded. {FFFFFF}Use {00ffff}/lomka")
    sampRegisterChatCommand('lomka', function()
        active = not active
        sampAddChatMessage(active and 'AutoLomka ON' or 'AutoLomka OFF', -1)
    end)
    while true do
        wait(0)
        if active then
            sampSendChat("/usedrugs 3")
            wait(700)
        end
    end
end

function ev.onServerMessage(color, text)
    if text:find('Недостаточно наркотиков') then
        lua_thread.create( function()
            setVirtualKeyDown(0x0D, true)
            wait(100)
            setVirtualKeyDown(0x0D, false)
        end)
    end
end

function ev.onShowDialog(dialogId, style, title, button1, button2, text)
    if dialogId == 285 then
        if text:find('Вы собираетесь купить (%d+) грамм за (%d+) вирт') then
            sampSendDialogResponse(285, 1, 0, '')
        end
    end
end
Lua:
require 'lib.moonloader'
local ev = require('lib.samp.events')

local active = false
local narkolvlv = 3

local xz = {
    [130] = 5, -- hp = уровень потреб
    [140] = 7,
    [150] = 10,
}

function main()
    while not isSampAvailable() do wait(0) end
    
    sampAddChatMessage("{00ffff}AutoLomka {FFFFFF}by {dc4747}kiyoshi {FFFFFF}loaded. {FFFFFF}Use {00ffff}/lomka")
    sampRegisterChatCommand('lomka', function()
        active = not active
        sampAddChatMessage( ('AutoLomka %s'):format(active and 'ON' or 'OFF'), -1 )
    end)
    
    while true do wait(0)
        if active then
            sampSendChat("/usedrugs "..narkolvlv)
            wait(700)
        end
    end
end

function ev.onServerMessage(color, text)
    lua_thread.create(function()
        hps = tonumber(string.match(text,'Здоровье пополнено до: (%d+)'))
        if hps then
            narkolvlv = xz[hps]
        elseif string.match(text,'Недостаточно наркотиков') then
            setVirtualKeyDown(0x0D, true)
            wait(100)
            setVirtualKeyDown(0x0D, false)
        end
    end)
end

function ev.onShowDialog(dialogId, style, title, button1, button2, text)
    if dialogId == 285 then
        if text:find('Вы собираетесь купить (%d+) грамм за (%d+) вирт') then
            sampSendDialogResponse(285, 1, 0, '')
        end
    end
end
 

guts

Потрачен
83
8
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как узнать координаты и хендл маркера на карте
 

Angjs

Новичок
18
2
Помогите пожалуйста, я написал скрипт добавляющий пикапы, я хочу чтобы их можно было удалить командой.(создал пикапы при помощи createPickup, удалить хочу при помощи DestroyPickup) Скрипт очень длинный
Lua:
function main()
    while not isSampAvailable() do wait(0) end
    sampAddChatMessage("[HelperMT] {FFFFFF}Скрипт успешно запущен! {000000}Обновление: 1.0", 0x800080)
    sampAddChatMessage("[HelperMT] {FFFFFF}Автор скрипта: Angjs", 0x000080)
    sampAddChatMessage("[HelperMT] {FFFFFF}Для помощи пропишите команду /faqklad", 0x800080)
    sampRegisterChatCommand('faqklad', function()
        sampAddChatMessage("[HelperMT] {FFFFFF}Скрипт создает пикапы, которые указывают на места кладов. Если подойти к пикапу, он пропадет.", 0x800080)
        sampAddChatMessage("[HelperMT] {FFFFFF}Чтобы активировать пикапы используйте команду /klad", 0x800080)
        sampAddChatMessage("[HelperMT] {FFFFFF}Чтобы удалить пикапы используйте команду /dellklad", 0x800080)
    end)
    sampRegisterChatCommand('dellklad', function()
        DestroyPickup(19198, 22, 1013.3723, -1627.218, 43.0436)
        DestroyPickup(19198, 22, 968.2939, -1589.8623, 40.6679)
        DestroyPickup(19198, 22, 1049.4836, -1498.2319, 39.8565)
        DestroyPickup(19198, 22, 1070.2572, -1626.1534, 39.0552)
        DestroyPickup(19198, 22, 972.0224, -1600.2905, 40.7207)
        DestroyPickup(19198, 22, 971.0995, -1552.0247, 42.9974)
        DestroyPickup(19198, 22, 1039.8345, -1562.71, 42.0695)
        DestroyPickup(19198, 22, 994.6571, -1614.222, 46.7892)
        DestroyPickup(19198, 22, 1054.0134, -19605.4868, 39.6835)
        DestroyPickup(19198, 22, 959.8195, -1578.8711, 40.2791)
        DestroyPickup(19198, 22, 977.0855, -1567.6987, 44.7845)
        DestroyPickup(19198, 22, 967.2654, -1565.2051, 40.1999)
        DestroyPickup(19198, 22, 1007.472, -1643.8732, 40.7879)
        DestroyPickup(19198, 22, 1002.9727, -1572.5625, 43.5269)
        DestroyPickup(19198, 22, 1004.2567, -1595.2853, 40.3417)
        DestroyPickup(19198, 22, 1016.9865, -1497.0132, 39.5996)
        DestroyPickup(19198, 22, 1044.4313, -1580.0198, 43.1965)
        DestroyPickup(19198, 22, 1012.8303, -1529.0876, 39.6697)
        DestroyPickup(19198, 22, 1045.7712, -1536.5555, 42.4047)
        DestroyPickup(19198, 22, 999.8335, -1631.9478, 40.7406)
        DestroyPickup(19198, 22, 1033.3955, -1530.1747, 39.5464)
        DestroyPickup(19198, 22, 993.4799, -1576.2223, 40.4328)
        DestroyPickup(19198, 22, 999.6973, -1510.9559, 39.2782)
        DestroyPickup(19198, 22, 1025.7268, -1572.993, 39.5777)
        DestroyPickup(19198, 22, 1009.4612, -1555.9109, 39.9372)
        DestroyPickup(19198, 22, 1020.3666, -1512.7859, 38.9541)
        DestroyPickup(19198, 22, 1022.7631, -1619.8114, 43.4246)
        DestroyPickup(19198, 22, 979.869, -1631.4923, 40.8246)
        DestroyPickup(19198, 22, 988.8759, -1619.8175, 47.9138)
        DestroyPickup(19198, 22, 968.787, -1575.1124, 40.4147)
        DestroyPickup(19198, 22, 1051.4075, -1530.9238, 42.663)
        DestroyPickup(19198, 22, 1030.9447, -1492.6658, 40.4035)
        DestroyPickup(19198, 22, 1037.6663, -1516.1077, 46.3129)
        DestroyPickup(19198, 22, 992.4428, -1539.2546, 42.8834)
        DestroyPickup(19198, 22, 994.1952, -1621.097, 47.7821)
        DestroyPickup(19198, 22, 958.9617, -1558.2646, 39.8422)
        DestroyPickup(19198, 22, 1009.499, -1502.0016, 39.1223)
        DestroyPickup(19198, 22, 1049.3993, -1605.1897, 42.1206)
        DestroyPickup(19198, 22, 991.5828, -1547.6567, 45.9798)
        DestroyPickup(19198, 22, 1046.4805, -1592.951, 39.3737)
        DestroyPickup(19198, 22, 997.5055, -1537.7175, 40.0037)
        DestroyPickup(19198, 22, 1001.7103, -1567.8411, 43.4395)
        DestroyPickup(19198, 22, 1011.0864, -1563.5194, 43.6225)
        DestroyPickup(19198, 22, 1051.7543, -1540.1603, 39.4463)
        DestroyPickup(19198, 22, 974.3287, -1583.839, 40.6148)
        DestroyPickup(19198, 22, 1048.1244, -1583.5793, 42.5421)
        DestroyPickup(19198, 22, 989.3378, -1519.4415, 40.207)
        DestroyPickup(19198, 22, 989.1219, -1519.6274, 40.2131)
        DestroyPickup(19198, 22, 987.3886, -1542.7433, 42.8205)
        DestroyPickup(19198, 22, 1019.8171, -1563.1049, 39.766)
        DestroyPickup(19198, 22, 1051.5787, -1598.4702, 42.4189)
        DestroyPickup(19198, 22, 980.0795, -1614.7781, 40.6973)
        DestroyPickup(19198, 22, 1034.9962, -1519.5455, 46.4201)
        DestroyPickup(19198, 22, 1030.3613, -1614.1272, 39.6846)
        DestroyPickup(19198, 22, 1037.7312, -1577.8698, 39.6005)
        DestroyPickup(19198, 22, 988.2701, -1557.767, 40.3047)
        DestroyPickup(19198, 22, 1016.8527, -1588.4268, 39.7132)
        DestroyPickup(19198, 22, 1022.3918, -1587.3149, 39.8893)
        DestroyPickup(19198, 22, 1061.009, -1534.9148, 39.5278)
        DestroyPickup(19198, 22, 965.2219, -1559.0643, 43.2043)
        DestroyPickup(19198, 22, 975.4958, -1575.4025, 44.3244)
        DestroyPickup(19198, 22, 1030.5341, -1582.3368, 39.6308)
        DestroyPickup(19198, 22, 1048.6765, -1599.2252, 42.3318)
        DestroyPickup(19198, 22, 1010.9828, -1570.6777, 42.5269)
        DestroyPickup(19198, 22, 1053.887, -1559.5317, 39.6837)
        DestroyPickup(19198, 22, 1054.7396, -1603.3763, 45.1354)
        DestroyPickup(19198, 22, 1029.0403, -1540.5514, 39.6915)
        DestroyPickup(19198, 22, 1047.7787, -1513.2068, 39.657)
        DestroyPickup(19198, 22, 974.3191, -1544.8898, 39.2416)
        DestroyPickup(19198, 22, 1020.5318, -1505.8093, 39.3961)
        DestroyPickup(19198, 22, 998.2997, -1586.0221, 40.3877)
        DestroyPickup(19198, 22, 1067.1544, -1630.7605, 39.4139)
        DestroyPickup(19198, 22, 1029.9623, -1621.5646, 39.8431)
        DestroyPickup(19198, 22, 1020.2825, -1610.5986, 39.9632)
        DestroyPickup(19198, 22, 997.355, -1570.2292, 43.6246)
        DestroyPickup(19198, 22, 1031.0071, -1557.3411, 41.945)
        DestroyPickup(19198, 22, 1036.8119, -1565.5103, 42.1302)
        DestroyPickup(19198, 22, 974.6442, -1538.0601, 39.3429)
        DestroyPickup(19198, 22, 1023.79, -1637.885, 40.5848)
        DestroyPickup(19198, 22, 1006.2818, -1619.9528, 40.4273)
        DestroyPickup(19198, 22, 1033.2094, -1641.1611, 40.397)
        DestroyPickup(19198, 22, 981.581, -1625.4614, 40.8144)
        DestroyPickup(19198, 22, 994.9526, -1525.1147, 40.1067)
        DestroyPickup(19198, 22, 952.1982, -1549.4775, 39.7848)
        DestroyPickup(19198, 22, 1036.5966, -1588.7078, 39.6906)
        DestroyPickup(19198, 22, 1019.2537, -1602.2709, 39.8841)
        DestroyPickup(19198, 22, 977.8057, -1557.2695, 40.1931)
        DestroyPickup(19198, 22, 1052.4292, -1587.5088, 42.8333)
        DestroyPickup(19198, 22, 1021.7408, -1566.571, 39.7063)
        DestroyPickup(19198, 22, 1043.9594, -1493.9108, 39.8605)
        DestroyPickup(19198, 22, 1049.4409, -1520.0779, 39.6094)
        DestroyPickup(19198, 22, 1047.8672, -1574.8307, 39.4632)
        DestroyPickup(19198, 22, 1005.6345, -1534.3062, 39.9242)
        DestroyPickup(19198, 22, 1010.497, -1577.251, 43.5107)
        DestroyPickup(19198, 22, 1009.7413, -1608.1587, 40.1897)
        DestroyPickup(19198, 22, 1034.7457, -1600.9363, 39.63)
        DestroyPickup(19198, 22, 1065.8691, -1604.7229, 38.8079)
        DestroyPickup(19198, 22, 1044.4185, -1580.0253, 43.1977)
        DestroyPickup(19198, 22, 988.3647, -1532.0493, 39.9409)
        DestroyPickup(19198, 22, 982.2265, -1525.1765, 40.2088)
        DestroyPickup(19198, 22, 1017.5245, -1574.7766, 43.4288)
        DestroyPickup(19198, 22, 1044.879, -1565.6971, 39.5417)
        DestroyPickup(19198, 22, 981.5077, -1583.1827, 43.8755)
        DestroyPickup(19198, 22, 949.9474, -1557.2815, 39.5616)
        DestroyPickup(19198, 22, 1038.2892, -1535.7783, 39.6577)
        DestroyPickup(19198, 22, 983.7878, -1589.709, 44.0063)
        DestroyPickup(19198, 22, 1008.2804, -1637.2924, 40.7829)
        DestroyPickup(19198, 22, 953.7312, -1570.3145, 39.8308)
        DestroyPickup(19198, 22, 1005.2834, -1516.1671, 39.2386)
        DestroyPickup(19198, 22, 1023.6199, -1535.5889, 39.6703)
        DestroyPickup(19198, 22, 989.6918, -1614.1323, 47.1209)
        DestroyPickup(19198, 22, 1044.0707, -1544.0055, 39.711)
        DestroyPickup(19198, 22, 996.7852, -1563.7628, 40.3168)
        DestroyPickup(19198, 22, 1035.8092, -1559.6384, 41.903)
        DestroyPickup(19198, 22, 1008.9299, -1583.6261, 39.7487)
        DestroyPickup(19198, 22, 1028.5438, -1601.4269, 39.7166)
        DestroyPickup(19198, 22, 981.5604, -1599.8075, 40.6023)
        DestroyPickup(19198, 22, 993.0107, -1638.814, 40.812)
        DestroyPickup(19198, 22, 983.9758, -1547.5118, 39.415)
        DestroyPickup(19198, 22, 994.6598, -1609.5571, 47.1616)
        DestroyPickup(19198, 22, 1042.5155, -1616.3644, 39.3822)
        DestroyPickup(19198, 22, 1020.3715, -1631.3732, 43.8495)
        DestroyPickup(19198, 22, 1024.6879, -1636.7473, 40.5408)
        sampAddChatMessage("[HelperMT] {FFFFFF}Пикапы были успешно удалены.", 0x800080)
    end)
    sampRegisterChatCommand('klad', function()
        createPickup(19198, 22, 1013.3723, -1627.218, 43.0436)
        createPickup(19198, 22, 968.2939, -1589.8623, 40.6679)
        createPickup(19198, 22, 1049.4836, -1498.2319, 39.8565)
        createPickup(19198, 22, 1070.2572, -1626.1534, 39.0552)
        createPickup(19198, 22, 972.0224, -1600.2905, 40.7207)
        createPickup(19198, 22, 971.0995, -1552.0247, 42.9974)
        createPickup(19198, 22, 1039.8345, -1562.71, 42.0695)
        createPickup(19198, 22, 994.6571, -1614.222, 46.7892)
        createPickup(19198, 22, 1054.0134, -19605.4868, 39.6835)
        createPickup(19198, 22, 959.8195, -1578.8711, 40.2791)
        createPickup(19198, 22, 977.0855, -1567.6987, 44.7845)
        createPickup(19198, 22, 967.2654, -1565.2051, 40.1999)
        createPickup(19198, 22, 1007.472, -1643.8732, 40.7879)
        createPickup(19198, 22, 1002.9727, -1572.5625, 43.5269)
        createPickup(19198, 22, 1004.2567, -1595.2853, 40.3417)
        createPickup(19198, 22, 1016.9865, -1497.0132, 39.5996)
        createPickup(19198, 22, 1044.4313, -1580.0198, 43.1965)
        createPickup(19198, 22, 1012.8303, -1529.0876, 39.6697)
        createPickup(19198, 22, 1045.7712, -1536.5555, 42.4047)
        createPickup(19198, 22, 999.8335, -1631.9478, 40.7406)
        createPickup(19198, 22, 1033.3955, -1530.1747, 39.5464)
        createPickup(19198, 22, 993.4799, -1576.2223, 40.4328)
        createPickup(19198, 22, 999.6973, -1510.9559, 39.2782)
        createPickup(19198, 22, 1025.7268, -1572.993, 39.5777)
        createPickup(19198, 22, 1009.4612, -1555.9109, 39.9372)
        createPickup(19198, 22, 1020.3666, -1512.7859, 38.9541)
        createPickup(19198, 22, 1022.7631, -1619.8114, 43.4246)
        createPickup(19198, 22, 979.869, -1631.4923, 40.8246)
        createPickup(19198, 22, 988.8759, -1619.8175, 47.9138)
        createPickup(19198, 22, 968.787, -1575.1124, 40.4147)
        createPickup(19198, 22, 1051.4075, -1530.9238, 42.663)
        createPickup(19198, 22, 1030.9447, -1492.6658, 40.4035)
        createPickup(19198, 22, 1037.6663, -1516.1077, 46.3129)
        createPickup(19198, 22, 992.4428, -1539.2546, 42.8834)
        createPickup(19198, 22, 994.1952, -1621.097, 47.7821)
        createPickup(19198, 22, 958.9617, -1558.2646, 39.8422)
        createPickup(19198, 22, 1009.499, -1502.0016, 39.1223)
        createPickup(19198, 22, 1049.3993, -1605.1897, 42.1206)
        createPickup(19198, 22, 991.5828, -1547.6567, 45.9798)
        createPickup(19198, 22, 1046.4805, -1592.951, 39.3737)
        createPickup(19198, 22, 997.5055, -1537.7175, 40.0037)
        createPickup(19198, 22, 1001.7103, -1567.8411, 43.4395)
        createPickup(19198, 22, 1011.0864, -1563.5194, 43.6225)
        createPickup(19198, 22, 1051.7543, -1540.1603, 39.4463)
        createPickup(19198, 22, 974.3287, -1583.839, 40.6148)
        createPickup(19198, 22, 1048.1244, -1583.5793, 42.5421)
        createPickup(19198, 22, 989.3378, -1519.4415, 40.207)
        createPickup(19198, 22, 989.1219, -1519.6274, 40.2131)
        createPickup(19198, 22, 987.3886, -1542.7433, 42.8205)
        createPickup(19198, 22, 1019.8171, -1563.1049, 39.766)
        createPickup(19198, 22, 1051.5787, -1598.4702, 42.4189)
        createPickup(19198, 22, 980.0795, -1614.7781, 40.6973)
        createPickup(19198, 22, 1034.9962, -1519.5455, 46.4201)
        createPickup(19198, 22, 1030.3613, -1614.1272, 39.6846)
        createPickup(19198, 22, 1037.7312, -1577.8698, 39.6005)
        createPickup(19198, 22, 988.2701, -1557.767, 40.3047)
        createPickup(19198, 22, 1016.8527, -1588.4268, 39.7132)
        createPickup(19198, 22, 1022.3918, -1587.3149, 39.8893)
        createPickup(19198, 22, 1061.009, -1534.9148, 39.5278)
        createPickup(19198, 22, 965.2219, -1559.0643, 43.2043)
        createPickup(19198, 22, 975.4958, -1575.4025, 44.3244)
        createPickup(19198, 22, 1030.5341, -1582.3368, 39.6308)
        createPickup(19198, 22, 1048.6765, -1599.2252, 42.3318)
        createPickup(19198, 22, 1010.9828, -1570.6777, 42.5269)
        createPickup(19198, 22, 1053.887, -1559.5317, 39.6837)
        createPickup(19198, 22, 1054.7396, -1603.3763, 45.1354)
        createPickup(19198, 22, 1029.0403, -1540.5514, 39.6915)
        createPickup(19198, 22, 1047.7787, -1513.2068, 39.657)
        createPickup(19198, 22, 974.3191, -1544.8898, 39.2416)
        createPickup(19198, 22, 1020.5318, -1505.8093, 39.3961)
        createPickup(19198, 22, 998.2997, -1586.0221, 40.3877)
        createPickup(19198, 22, 1067.1544, -1630.7605, 39.4139)
        createPickup(19198, 22, 1029.9623, -1621.5646, 39.8431)
        createPickup(19198, 22, 1020.2825, -1610.5986, 39.9632)
        createPickup(19198, 22, 997.355, -1570.2292, 43.6246)
        createPickup(19198, 22, 1031.0071, -1557.3411, 41.945)
        createPickup(19198, 22, 1036.8119, -1565.5103, 42.1302)
        createPickup(19198, 22, 974.6442, -1538.0601, 39.3429)
        createPickup(19198, 22, 1023.79, -1637.885, 40.5848)
        createPickup(19198, 22, 1006.2818, -1619.9528, 40.4273)
        createPickup(19198, 22, 1033.2094, -1641.1611, 40.397)
        createPickup(19198, 22, 981.581, -1625.4614, 40.8144)
        createPickup(19198, 22, 994.9526, -1525.1147, 40.1067)
        createPickup(19198, 22, 952.1982, -1549.4775, 39.7848)
        createPickup(19198, 22, 1036.5966, -1588.7078, 39.6906)
        createPickup(19198, 22, 1019.2537, -1602.2709, 39.8841)
        createPickup(19198, 22, 977.8057, -1557.2695, 40.1931)
        createPickup(19198, 22, 1052.4292, -1587.5088, 42.8333)
        createPickup(19198, 22, 1021.7408, -1566.571, 39.7063)
        createPickup(19198, 22, 1043.9594, -1493.9108, 39.8605)
        createPickup(19198, 22, 1049.4409, -1520.0779, 39.6094)
        createPickup(19198, 22, 1047.8672, -1574.8307, 39.4632)
        createPickup(19198, 22, 1005.6345, -1534.3062, 39.9242)
        createPickup(19198, 22, 1010.497, -1577.251, 43.5107)
        createPickup(19198, 22, 1009.7413, -1608.1587, 40.1897)
        createPickup(19198, 22, 1034.7457, -1600.9363, 39.63)
        createPickup(19198, 22, 1065.8691, -1604.7229, 38.8079)
        createPickup(19198, 22, 1044.4185, -1580.0253, 43.1977)
        createPickup(19198, 22, 988.3647, -1532.0493, 39.9409)
        createPickup(19198, 22, 982.2265, -1525.1765, 40.2088)
        createPickup(19198, 22, 1017.5245, -1574.7766, 43.4288)
        createPickup(19198, 22, 1044.879, -1565.6971, 39.5417)
        createPickup(19198, 22, 981.5077, -1583.1827, 43.8755)
        createPickup(19198, 22, 949.9474, -1557.2815, 39.5616)
        createPickup(19198, 22, 1038.2892, -1535.7783, 39.6577)
        createPickup(19198, 22, 983.7878, -1589.709, 44.0063)
        createPickup(19198, 22, 1008.2804, -1637.2924, 40.7829)
        createPickup(19198, 22, 953.7312, -1570.3145, 39.8308)
        createPickup(19198, 22, 1005.2834, -1516.1671, 39.2386)
        createPickup(19198, 22, 1023.6199, -1535.5889, 39.6703)
        createPickup(19198, 22, 989.6918, -1614.1323, 47.1209)
        createPickup(19198, 22, 1044.0707, -1544.0055, 39.711)
        createPickup(19198, 22, 996.7852, -1563.7628, 40.3168)
        createPickup(19198, 22, 1035.8092, -1559.6384, 41.903)
        createPickup(19198, 22, 1008.9299, -1583.6261, 39.7487)
        createPickup(19198, 22, 1028.5438, -1601.4269, 39.7166)
        createPickup(19198, 22, 981.5604, -1599.8075, 40.6023)
        createPickup(19198, 22, 993.0107, -1638.814, 40.812)
        createPickup(19198, 22, 983.9758, -1547.5118, 39.415)
        createPickup(19198, 22, 994.6598, -1609.5571, 47.1616)
        createPickup(19198, 22, 1042.5155, -1616.3644, 39.3822)
        createPickup(19198, 22, 1020.3715, -1631.3732, 43.8495)
        createPickup(19198, 22, 1024.6879, -1636.7473, 40.5408)
        sampAddChatMessage("[HelperMT] {FFFFFF}Пикапы были успешно установленны.", 0x800080)
    end)
    while true do wait(0)
    end
end
 
  • Bug
  • Грустно
Реакции: qdIbp и YarikVL