Вопрос Как сделать промокодную систему как на MAGIC RP

Статус
В этой теме нельзя размещать новые ответы.
  • 12
  • 0
к примеру ты пишешь в чат /magicrp и тебе дают 500 рублей и больше на gmdonate

Как сделать ?

Где находится этот хук?
 
Решение
Держи :)

  • 92
  • 2
  • 33
Контакты для связи отсутствуют.
Держи :)

 
  • 159
  • 1
  • 18
Должно работать, не ручаюсь. Лучше спроси у самого GMD про это, там тебе точно ответят.
gLua:
hook.Add("PlayerSay", "MagicRPMoney", function(ply, text, isTeam)
    if text == "/magicrp" then
        ply:AddDonation(500, "MagicRP Bonus")
        ply:ChatPrint("Вы получили 500 рублей!")
        return ""
    end
end)
Для выполнения данного кода также необходимо, чтобы модуль GMDonate был корректно настроен
 
  • 159
  • 1
  • 18
Чтобы сделать так, чтобы команду можно было использовать только один раз одному человеку, мы можем сохранить список игроков, которые уже использовали команду, и проверять его каждый раз, когда игрок пытается использовать команду. Вот как это может быть сделано:

gLua:
local usedPlayers = {}

hook.Add("PlayerSay", "MagicRPMoney", function(ply, text, isTeam)
    if text == "/magicrp" and not usedPlayers[ply:SteamID()] then
        usedPlayers[ply:SteamID()] = true
        ply:AddDonation(500, "MagicRP Bonus")
        ply:ChatPrint("Вы получили 500 рублей!")
        return ""
    elseif text == "/magicrp" then
        ply:ChatPrint("Вы уже использовали эту команду!")
        return ""
    end
end)
Этот код сохраняет список игроков, которые уже использовали команду, в таблице usedPlayers. Когда игрок отправляет команду /magicrp, код проверяет, находится ли SteamID игрока в этой таблице, и только если игрок еще не использовал команду, он получает бонус и его SteamID добавляется в таблицу. Если игрок уже использовал команду, он получит сообщение о том, что он уже использовал эту команду.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу