RyanUSNS

betServerSide

May 21st, 2017
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.34 KB | None | 0 0
  1. local betStatus, totalBet, setWinner
  2. local betPlayers, hosters = {}, {}
  3.  
  4. function cmdHandlerBet(plr, cmd, plrName, amount)
  5.     if (isGuestAccount(getPlayerAccount(plr))) then
  6.         return false
  7.     end
  8.     local perms = hasObjectPermissionTo(plr, "command.em", false)
  9.     if (not betStatus and not perms) then
  10.         outputChatBox("Betting didn't start yet.", plr, 200, 0, 0)
  11.         return false
  12.     end
  13.     if (plrName and amount) then
  14.         local plrFind = exports.CITutil:findPlayer(plrName)
  15.         if (not plrFind) then
  16.             outputChatBox("Error: Didn't find any player with that name.", plr, 200, 0, 0)
  17.             return false
  18.         end
  19.         betPlayer(plrFind, amount, plr)
  20.         return true
  21.     end
  22.     triggerClientEvent(plr, "CITcemBet.showGui", plr, perms, hosters, betStatus, setWinner)
  23. end
  24. addCommandHandler("cembet", cmdHandlerBet)
  25.  
  26. function betPlayer(plrVoted, amount, plrCmd)
  27.     if (not plrCmd) then
  28.         plrCmd = client
  29.     end
  30.     local amount = tonumber(amount)
  31.     if (not amount or amount > 200000 or amount < 10000) then
  32.         outputChatBox("Fix your amount. It's between $10,000 and $200,000.", plrCmd, 200, 0, 0)
  33.         return false
  34.     end
  35.     if (hosters[plrVoted]) then
  36.         outputChatBox("This player is an event manager.", plrCmd, 200, 0, 0)
  37.         return false
  38.     end
  39.     local accPlr = getAccountName(getPlayerAccount(plrCmd))
  40.     if (betPlayers[accPlr]) then
  41.         outputChatBox("You already voted!", plrCmd, 200, 0, 0)
  42.         return false
  43.     end
  44.     local accPlrVoted = getAccountName(getPlayerAccount(plrVoted))
  45.     betPlayers[accPlr] = accPlrVoted
  46.     totalBet = totalBet + amount
  47.     exports.CITmoney:TPM(plrCmd, amount, "Spend bet system")
  48.     outputChatBox("You bet $"..tostring(amount).." at player "..getPlayerName(plrVoted)..". Good luck!", plrCmd, 0, 255, 0)
  49. end
  50. addEvent("CITcemBet.betPlayer", true)
  51. addEventHandler("CITcemBet.betPlayer", resourceRoot, betPlayer)
  52.  
  53. function startBet(hostersTable)
  54.     totalBet = 0
  55.     outputChatBox("(CEM Bet System)#FFFFFF Bets are available! Use '/cembet' to bet on your favourite player!", root, 212, 9, 185, true)
  56.     hosters = hostersTable
  57.     betStatus = true
  58. end
  59. addEvent("CITcemBet.startBet", true)
  60. addEventHandler("CITcemBet.startBet", resourceRoot, startBet)
  61.  
  62. function stopBet()
  63.     outputChatBox("(CEM Bet System) #FFFFFFBets aren't available anymore.", root, 212, 9, 185, true)
  64.     betStatus = false
  65.     setWinner = true
  66. end
  67. addEvent("CITcemBet.stopBet", true)
  68. addEventHandler("CITcemBet.stopBet", resourceRoot, stopBet)
  69.  
  70. function setBetWinner(plrWinner)
  71.     local winners = {}
  72.     local plrW = getPlayerFromName(plrWinner)
  73.     local accW = getAccountName(getPlayerAccount(plrW))
  74.     for accPlrV, accV in pairs(betPlayers) do
  75.         if (accW == accV) then
  76.             winners[#winners + 1] = accPlrV
  77.         end
  78.     end
  79.     for i, accWinner in ipairs(winners) do
  80.         local plrOn = getAccountPlayer(getAccount(accWinner))
  81.         local amount = totalBet/(#winners)
  82.         if (plrOn) then
  83.             exports.CITmoney:GPM(plrOn, amount, "Reward bet system")
  84.             outputChatBox("Congratulations, you won the bet!", plrOn, 212, 9, 185)
  85.         else
  86.             exports.CITaccounts:exportModifyCash(accPlrV, amount)
  87.             exports.CITlogs:logSomething(lastPlrName[1].." won the bet event!", "events", accPlrV)
  88.         end
  89.     end
  90.     outputChatBox("(CEM Bet System) #FFFFFFThe winner of event was "..plrWinner, root, 212, 9, 185, true)
  91.     hosters = {}
  92.     setWinner = false
  93.     betPlayers = {}
  94. end
  95. addEvent("CITcemBet.setBetWinner", true)
  96. addEventHandler("CITcemBet.setBetWinner", resourceRoot, setBetWinner)
Add Comment
Please, Sign In to add comment