- 2,416
- 1,192
будет в второй версии)Без анимации не то!!🙁
будет в второй версии)Без анимации не то!!🙁
Анимации я сделал,а он пусть подправляет,я щас сам в майнкрафтик играю :=-),жду в сампе КУБЫ как в майне.чёт анимации кривые шо пизда
Просил же поставить нормальную музыку, а не ту хуйню которую ты понаставлял. Хуй теперь тебе сниму обзор на скриптыАчивки как в майнкрафте, но в самп
Тебя заметили - Заставьте игроков написать ваш ник
Пикапер - Поднимите пикап
Крафтер - Скрафтите что небудь на верстаке
Трейдер - Поторгуйте с любым игроком
Почти миллионер - Заработайте 500к
Шахтер - Добудьте любой ресурс на шахте
Ого! Вот это карманы! - Откройте инвентарь использовав Y
Печенька - Вступите на первый ранг в любую организацию
Я ведь не зек? - Посетите тюрьму строгого режима
О! Денюшки капнули - Получите пайдей отыграв 1 час
Ну почти... - Отыграйте меньше 20 минут
Эдвард Эдварц - Попробуйте обменять подарки у Эдварда
Кладмен мудак! - Откройте клад правильно ответив на вопрос
Грабим Абрахама - Купите любое кол-во AZ монет у бота на ЦРе
Да ну! - Получите 500кк
Я люблю твою маму! - Напишите mq @VespanПосмотреть вложение 166565Посмотреть вложение 166566Посмотреть вложение 166567Посмотреть вложение 166568Посмотреть вложение 166569Посмотреть вложение 166570Посмотреть вложение 166571Посмотреть вложение 166572Посмотреть вложение 166573Посмотреть вложение 166574Посмотреть вложение 166983Посмотреть вложение 166984Посмотреть вложение 166986Посмотреть вложение 166985Посмотреть вложение 166575Посмотреть вложение 166576Посмотреть вложение 166577Посмотреть вложение 166578Посмотреть вложение 166579
require 'lib.moonloader'
local sampev = require 'lib.samp.events'
local Achievement = { List = {}, imagePath = getWorkingDirectory()..'\\mineach', listUrl = 'https://raw.githubusercontent.com/GovnocodedByChapo/SmallScripts/main/samp_ach.json', listFile = getWorkingDirectory()..'\\resource\\SA_MINE_ACH.json' }
function sampev.onServerMessage(color, text)
Achievement.Handler(sampev.onServerMessage, {color, text})
end
function sampev.onSendChat(text)
Achievement.Handler(sampev.onSendChat, {text})
end
Achievement.List = {
{
status = false,
title = 'Pizda',
text = 'Ты открыл инвентарь!!!',
image = 'ach_PZ.png',
imageUrl = 'https://imgur.com/',
parentFunction = 'main',
condition = function()
if wasKeyPressed(VK_Y) and not sampIsCursorActive() then
return true
end
end
},
{
status = false,
title = 'get_message',
text = 'твою маму любят!',
image = 'message_received.png',
imageUrl = 'https://imgur.com/',
parentFunction = sampev.onServerMessage,
condition = function(arg)
return arg[2] == 'mq'
end
},
{
status = false, -- статус выполнения
title = 'Поздоровайся!', -- заголовок
text = 'Ты поздоровался с игроками сервера!', -- текст
image = 'message_received.png', -- название картинки
imageUrl = 'https://imgur.com/', -- ссылка на картинку
parentFunction = sampev.onSendChat, -- функция в которой будет "обрабатываться" функция
condition = function(arg)
return arg[1] == 'привет'
end
},
{
status = false, -- статус выполнения
title = 'Мамкоеб!', -- заголовок
text = 'Ты выебал мамку!!', -- текст
image = 'message_received.png', -- название картинки
imageUrl = 'https://imgur.com/', -- ссылка на картинку
parentFunction = sampev.onSendChat, -- функция в которой будет "обрабатываться" функция
condition = function(arg)
return arg[1] == 'я твою маму ебал, козел'
end
},
}
Achievement.Handler = function(currentFunction, args)
for index, data in ipairs(Achievement.List) do
local Function = {
Current = type(currentFunction) == 'function' and currentFunction or _G[currentFunction],
Parent = type(data.parentFunction) == 'function' and data.parentFunction or _G[data.parentFunction]
}
if not data.status and Function.Parent == currentFunction then
if data.condition(args) then
Achievement.List[index].status = true
--[[
show notf for achievment:
title: data.title
text: data.text
image: path..'\\'..data.image
]]
sampAddChatMessage('Achievement +: '..data.title..': '..data.text..', image: '..data.image, -1)
end
end
end
end
function main()
while not isSampAvailable() do wait(0) end
for index, data in ipairs(Achievement.List) do
if not doesFileExist(data.image) then
print('Картинка для ачивки "'..data.title..'" не найдена, скачиваю...')
--downloadUrlToFile(data.imageUrl, Achievement.imagePath..'\\'..data.image)
end
end
while true do
wait(0)
Achievement.Handler(main)
end
end
выглядит прикольно, но толком разобратся я не смог(я бы не сказал что тут прям говнокод (ну частично), но личто я бы сделал все гораздо проще
тут есть "обработчик" ачивок, функция и условия задаются в списке ачивок. В качестве параметров для вызова "обработчика" нужно указывать функцию (главное что бы в коде функция была перед списком), а так же таблица с параметрами. Ну вообщем думаю если посмотришь видос то поймешьLua:require 'lib.moonloader' local sampev = require 'lib.samp.events' local Achievement = { List = {}, imagePath = getWorkingDirectory()..'\\mineach', listUrl = 'https://raw.githubusercontent.com/GovnocodedByChapo/SmallScripts/main/samp_ach.json', listFile = getWorkingDirectory()..'\\resource\\SA_MINE_ACH.json' } function sampev.onServerMessage(color, text) Achievement.Handler(sampev.onServerMessage, {color, text}) end function sampev.onSendChat(text) Achievement.Handler(sampev.onSendChat, {text}) end Achievement.List = { { status = false, title = 'Pizda', text = 'Ты открыл инвентарь!!!', image = 'ach_PZ.png', imageUrl = 'https://imgur.com/', parentFunction = 'main', condition = function() if wasKeyPressed(VK_Y) and not sampIsCursorActive() then return true end end }, { status = false, title = 'get_message', text = 'твою маму любят!', image = 'message_received.png', imageUrl = 'https://imgur.com/', parentFunction = sampev.onServerMessage, condition = function(arg) return arg[2] == 'mq' end }, { status = false, -- статус выполнения title = 'Поздоровайся!', -- заголовок text = 'Ты поздоровался с игроками сервера!', -- текст image = 'message_received.png', -- название картинки imageUrl = 'https://imgur.com/', -- ссылка на картинку parentFunction = sampev.onSendChat, -- функция в которой будет "обрабатываться" функция condition = function(arg) return arg[1] == 'привет' end }, { status = false, -- статус выполнения title = 'Мамкоеб!', -- заголовок text = 'Ты выебал мамку!!', -- текст image = 'message_received.png', -- название картинки imageUrl = 'https://imgur.com/', -- ссылка на картинку parentFunction = sampev.onSendChat, -- функция в которой будет "обрабатываться" функция condition = function(arg) return arg[1] == 'я твою маму ебал, козел' end }, } Achievement.Handler = function(currentFunction, args) for index, data in ipairs(Achievement.List) do local Function = { Current = type(currentFunction) == 'function' and currentFunction or _G[currentFunction], Parent = type(data.parentFunction) == 'function' and data.parentFunction or _G[data.parentFunction] } if not data.status and Function.Parent == currentFunction then if data.condition(args) then Achievement.List[index].status = true --[[ show notf for achievment: title: data.title text: data.text image: path..'\\'..data.image ]] sampAddChatMessage('Achievement +: '..data.title..': '..data.text..', image: '..data.image, -1) end end end end function main() while not isSampAvailable() do wait(0) end for index, data in ipairs(Achievement.List) do if not doesFileExist(data.image) then print('Картинка для ачивки "'..data.title..'" не найдена, скачиваю...') --downloadUrlToFile(data.imageUrl, Achievement.imagePath..'\\'..data.image) end end while true do wait(0) Achievement.Handler(main) end end
Зачем ты ему разжёвываешь? Он же веня.. Он таблици то недавно выучиля бы не сказал что тут прям говнокод (ну частично), но личто я бы сделал все гораздо проще
тут есть "обработчик" ачивок, функция и условия задаются в списке ачивок. В качестве параметров для вызова "обработчика" нужно указывать функцию (главное что бы в коде функция была перед списком), а так же таблица с параметрами. Ну вообщем думаю если посмотришь видос то поймешьLua:require 'lib.moonloader' local sampev = require 'lib.samp.events' local Achievement = { List = {}, imagePath = getWorkingDirectory()..'\\mineach', listUrl = 'https://raw.githubusercontent.com/GovnocodedByChapo/SmallScripts/main/samp_ach.json', listFile = getWorkingDirectory()..'\\resource\\SA_MINE_ACH.json' } function sampev.onServerMessage(color, text) Achievement.Handler(sampev.onServerMessage, {color, text}) end function sampev.onSendChat(text) Achievement.Handler(sampev.onSendChat, {text}) end Achievement.List = { { status = false, title = 'Pizda', text = 'Ты открыл инвентарь!!!', image = 'ach_PZ.png', imageUrl = 'https://imgur.com/', parentFunction = 'main', condition = function() if wasKeyPressed(VK_Y) and not sampIsCursorActive() then return true end end }, { status = false, title = 'get_message', text = 'твою маму любят!', image = 'message_received.png', imageUrl = 'https://imgur.com/', parentFunction = sampev.onServerMessage, condition = function(arg) return arg[2] == 'mq' end }, { status = false, -- статус выполнения title = 'Поздоровайся!', -- заголовок text = 'Ты поздоровался с игроками сервера!', -- текст image = 'message_received.png', -- название картинки imageUrl = 'https://imgur.com/', -- ссылка на картинку parentFunction = sampev.onSendChat, -- функция в которой будет "обрабатываться" функция condition = function(arg) return arg[1] == 'привет' end }, { status = false, -- статус выполнения title = 'Мамкоеб!', -- заголовок text = 'Ты выебал мамку!!', -- текст image = 'message_received.png', -- название картинки imageUrl = 'https://imgur.com/', -- ссылка на картинку parentFunction = sampev.onSendChat, -- функция в которой будет "обрабатываться" функция condition = function(arg) return arg[1] == 'я твою маму ебал, козел' end }, } Achievement.Handler = function(currentFunction, args) for index, data in ipairs(Achievement.List) do local Function = { Current = type(currentFunction) == 'function' and currentFunction or _G[currentFunction], Parent = type(data.parentFunction) == 'function' and data.parentFunction or _G[data.parentFunction] } if not data.status and Function.Parent == currentFunction then if data.condition(args) then Achievement.List[index].status = true --[[ show notf for achievment: title: data.title text: data.text image: path..'\\'..data.image ]] sampAddChatMessage('Achievement +: '..data.title..': '..data.text..', image: '..data.image, -1) end end end end function main() while not isSampAvailable() do wait(0) end for index, data in ipairs(Achievement.List) do if not doesFileExist(data.image) then print('Картинка для ачивки "'..data.title..'" не найдена, скачиваю...') --downloadUrlToFile(data.imageUrl, Achievement.imagePath..'\\'..data.image) end end while true do wait(0) Achievement.Handler(main) end end
ну например мне вообще нечего делать в сампе уже, и вот когда добавляют квесту, или по типу такого, где надо проходить, а не просто фармить вирты, мне заходитА зачем?
если тебе надоело играть в игру, не нужно пытаться искать бессмысленное занятие, перерастёт в зависимость. Займись чем-нибудь другим, что тебя интересует.ну например мне вообще нечего делать в сампе уже, и вот когда добавляют квесту, или по типу такого, где надо проходить, а не просто фармить вирты, мне заходит
на своём компе, 2008 года, видюха 1 гиг, 4 гига оперативки, процессор пентиум, я почти не во что не могу поиграть кроме сампа, был бы нормальный пк, я бы давно закинул самп в корзину, под такой комп не могу найти нормальных игр которые мне нравятся, ОДНО ДЕРЬМО, а не игрыесли тебе надоело играть в игру, не нужно пытаться искать бессмысленное занятие, перерастёт в зависимость. Займись чем-нибудь другим, что тебя интересует.