Всем привет! В этой теме я бы хотел рассказать как можно писать скрипты для SA:MP 0.3.DL без использования SAMPFUNCS.
Что нам для этого понадобится?
Для того, чтобы начать писать скрипт мы должны подключить SA-MP API:
Библиотека имеет несколько функций:
Начинает писать скрипт. Сделаем проверку на загруженность SAMP:
Мы сделали проверку на загруженность SAMP, давайте после нее выведем, что нибудь в чат:
Так же мы может зарегистрировать команду:
Вот вам простой NoStun для примера:
Если у кого остались вопросы, пишите
Вот пример мультичита для 0.3.DL:
Что нам для этого понадобится?
- Библиотека SA-MP API (Скачать) - Автор: @LUCHARE
- Желательно чистая GTA с установленным CLEO, ASI Loader, MoonLoader 0.26
- Руки из того места
Для того, чтобы начать писать скрипт мы должны подключить SA-MP API:
Lua:
local dl = require "lib.SA-MP API.init"
Lua:
dl.GetIsAvailable() -- проверка на загруженность SA:MP
dl.Get() -- загружает струкруты SA:MP 0.3.DL с которыми можно будет работать
dl.SendChat(text) -- отправляет текст в чат (если это в text будет команда, он отправит команду)
dl.ToggleCursor(toggle) -- включение/выключение рендера курсора
dl.RegisterClientCommand(cmd, func, replaceOld) -- регистрирует команду для SA:MP 0.3.DL (всего может быть 144 клиентских команд)
dl.DeleteClientCommand(cmd) -- удаляет команду по ее названию
dl._RegisterClientCommand(cmd, func) -- регистрирует команду, в отличии от RegisterClientCommand, данная функция не может заменять команды
dl.TakeScreenshot() -- делает скриншот
dl.RequestSpawn() -- отправляет RPC о спавне игрока
dl.Spawn() -- спавнит игрока
dl.SetInputMode(mode, disable_cursor) -- открытие/закрытие строки ввода текста SAMP
dl.UnlockActorCam() -- возвращает управление персонажем (использовать если скрыт курсор)
dl.AddMessageToChat(msgType, msg, prefix, msgColor, prefixColor) -- отправляет сообщение в чат
dl.UpdateScoreboardData()-- отправляет RPC UpdateScoreboardData
dl.Say(msg) -- отправляет текст в чат
dl.SendCommand(cmd) -- отправляет команду на сервер
dl.SendInteriorChange(intID) -- отправляет RPC о смене интерьера
dl.RequestClass(classID) -- отправляет RPC о смене класса
dl.DisableScoreboard(enable) -- отключает Tab
dl.SetSpecialAction(actionId) -- выдает игроку специальное действие
Lua:
function main()
while not dl.GetIsAvailable() do wait(100) end -- пока SAMP не будет загружен, ничего не произойдет
end
Lua:
dl.AddMessageToChat(4, "Hello men", "", 0xFFFFFF, 0xFFFFFF) -- 4 это тип сообщения, Hello men текст, "" префикс (не используется), и последнии два параметра цвет текст и префикса
Lua:
dl.RegisterClientCommand("test_cmd", TEST_FUNCTION)
function TEST_FUNCTION()
dl.AddMessageToChat(4, "Ты использовал команду /test", "", 0xFFFFFF, 0xFFFFFF)
end
Lua:
local dl = require "lib.SA-MP API.init"
act = false
function main()
while not dl.GetIsAvailable() do wait(100) end
dl.RegisterClientCommand("nostun", NoStunAct)
while true do wait(0) end
end
function NoStunAct()
act = not act
if act then
setCharUsesUpperbodyDamageAnimsOnly(PLAYER_PED, 1)
else
setCharUsesUpperbodyDamageAnimsOnly(PLAYER_PED, 0)
end
end
Вот пример мультичита для 0.3.DL:
Вложения
Последнее редактирование: