Как реализовать команду /activate промокод
На сервере слишком глупые игроки
Это не чат команда, а консольная, но вдруг тебе подойдет
-- Путь установки
-- addons/igs-modification/lua/autorun/server/concmd_coup.lua
concommand.Add("activate_cp", function(pl, _, args)
if not args[1] then pl:ChatPrint("Введите код купона") return end
IGS.PlayerActivateCoupon(pl, args[1], function(ok, err_txt)
pl:ChatPrint(ok and "Купон активирован" or err_txt)
end)
end)
а как из неё сделать команду в чате?
Попробуй это (не тестил)
local prefix = '/'
local function Request(title, text, func)
return function()
Derma_StringRequest(DarkRP.getPhrase(title) or title, DarkRP.getPhrase(text) or text, nil, function(s)
func(s)
end)
end
end
hook.Add('PlayerSay', 'CouponActivate', function(ply, str)
if string.lower(str) == prefix..'promo' then
func = function()
Derma_StringRequest(" ", "Введите промокод", nil, function(s)
RunConsoleCommand("activate_cp", s)
end)
end
end
end)
Закинь в тот же луа файл, что указал AMD
В теории при написании в чат команды /promo должно вылазить окошко, запрашивающее промокод
Сам код, опять же, не тестил
не работает, помогите создать консольную команду кто может пж(
Не работает, но задумка интересная
А консольная работает, которую я дал?
Привет, поместите этот LUA файл в lua/autorun/server и назовите его как-нибудь (например, gmdonate_chatcoupon.lua)
hook.Add("PlayerSay", "GMD_ChatCode", function(pl, text)
local args = string.Explode(" ", text)
if args[1] == "/activate" then
if not args[2] then
pl:ChatPrint("Введите код купона")
return
end
IGS.PlayerActivateCoupon(pl, args[2], function(ok, err_txt)
pl:ChatPrint(ok and "Купон активирован" or err_txt)
end)
end
end)
Если я смог помочь вам, пожалуйста, дайте мне обратную связь.
Привет. Долго не залетал на форум. Если это актуальная проблема, которую стоит решить, то дай знать. Если ты решил ее сам, то скинь, пожалуйста, решение для других
Привет проблему я не решал оставил как есть
На счет актуальности сказать не могу