tunderbolt Posted May 15 Share Posted May 15 well i downloaded this resource and idk how to change the interior and dimension of the marker. ----------------- --- (c) 2010 ---- --- by Zipper --- ----------------- --[[ Don't change anything if you don't know what you're doing!!! ______________________________ Please don't remove the copyright, but feel free to edit this resource and please report if you find a bug! ______________________________ Maybe it would have been better to use tables instead of "_G", but i simply like the "_G" much more. ______________________________ Don't like the optic of the cards? Think that "_G" is crap? Think that my english is too bad? Then go to hell. ]] pokerPlayerPositions = {} pokerPlayerPositions[1] = {} pokerPlayerPositions[1]["x"] = 1117.9412841797 pokerPlayerPositions[1]["y"] = 11.394277572632 pokerPlayerPositions[1]["z"] = 1002 pokerPlayerPositions[1]["rot"] = 0 pokerPlayerPositions[2] = {} pokerPlayerPositions[2]["x"] = 1118.427734375 pokerPlayerPositions[2]["y"] = 12.34 pokerPlayerPositions[2]["z"] = 1001.8 pokerPlayerPositions[2]["rot"] = -45 pokerPlayerPositions[3] = {} pokerPlayerPositions[3]["x"] = 1119.2440185547 pokerPlayerPositions[3]["y"] = 12.797629356384 pokerPlayerPositions[3]["z"] = 1002 pokerPlayerPositions[3]["rot"] = -90 pokerPlayerPositions[4] = {} pokerPlayerPositions[4]["x"] = 1120.1339111328 pokerPlayerPositions[4]["y"] = 12.356394767761 pokerPlayerPositions[4]["z"] = 1002 pokerPlayerPositions[4]["rot"] = -135 pokerPlayerPositions[5] = {} pokerPlayerPositions[5]["x"] = 1120.3681640625 pokerPlayerPositions[5]["y"] = 11.336325645447 pokerPlayerPositions[5]["z"] = 1002 pokerPlayerPositions[5]["rot"] = 180 pokerPlayerPositions[6] = {} pokerPlayerPositions[6]["x"] = 1118.6916503906 pokerPlayerPositions[6]["y"] = 10.396108627319 pokerPlayerPositions[6]["z"] = 1001.5 pokerPlayerPositions[6]["rot"] = 206 -- The door & the dice-blip at the marker-position createObject ( 3109, -2502.216796875, 2361.5061035156, 5.2554173469543 ) createBlip ( -2502.216796875, 2361.5061035156, 5.2554173469543, 25 ) -- Need an explanation? pokerPlayer1 = false pokerPlayer2 = false pokerPlayer3 = false pokerPlayer4 = false pokerPlayer5 = false pokerPlayer6 = false pokerCurPlayers = 0 pokerFirstLoop = false pokerPlayer1In = false pokerPlayer2In = false pokerPlayer3In = false pokerPlayer4In = false pokerPlayer5In = false pokerPlayer6In = false pokerPlayer1Money = 0 pokerPlayer2Money = 0 pokerPlayer3Money = 0 pokerPlayer4Money = 0 pokerPlayer5Money = 0 pokerPlayer6Money = 0 pokerPlayer1Bet = 0 pokerPlayer2Bet = 0 pokerPlayer3Bet = 0 pokerPlayer4Bet = 0 pokerPlayer5Bet = 0 pokerPlayer6Bet = 0 pokerPlayer1HandValue = 0 pokerPlayer2HandValue = 0 pokerPlayer3HandValue = 0 pokerPlayer4HandValue = 0 pokerPlayer5HandValue = 0 pokerPlayer6HandValue = 0 communityCard1 = false communityCard2 = false communityCard3 = false communityCard4 = false communityCard5 = false pokerPlayer1TotalBet = 0 pokerPlayer2TotalBet = 0 pokerPlayer3TotalBet = 0 pokerPlayer4TotalBet = 0 pokerPlayer5TotalBet = 0 pokerPlayer6TotalBet = 0 curPokerRound = 0 curPokerPlayer = false curPokerPot = 0 curPokerBlindPlayer = false bigBlind = 20 smallBlind = bigBlind / 2 -- The Marker for entering the poker pokerEntranceMarker = createMarker ( 1119.03, 9.81, 1002.07, "cylinder", 1.5, 125, 0, 0, 125, 1620, 12 ) -- The poker table pokerTable = createObject ( 2189, 1119.17, 11.49, 1001.88 ) setElementInterior ( pokerTable, 12 ) pokerChair1 = createObject ( 1720, 1119.8155517578, 10.448568344116, 1001.078, 0, 0, 206 ) pokerChair2 = createObject ( 1720, 1118.6916503906, 10.396108627319, 1001.078, 0, 0, 146 ) setElementInterior ( pokerChair1, 12 ) setElementInterior ( pokerChair2, 12 ) function pokerMarkerHit ( hit, dim ) if dim then if getElementType ( hit ) == "player" then suc = true for i = 1, 6 do if _G["pokerPlayer"..i] == hit then suc = false break end end -- Only proceed if the player isn't already playing and is not in a vehicle! if not getPedOccupiedVehicle ( hit ) and suc then -- If there is one more seat if pokerCurPlayers <= 5 then pokerCurPlayers = pokerCurPlayers + 1 for i = 1, 6 do if not _G["pokerPlayer"..i] then _G["pokerPlayer"..i] = hit _G["pokerPlayer"..i.."Money"] = 200 _G["pokerPlayer"..i.."In"] = false setPedFrozen ( hit, true ) setElementPosition ( hit, pokerPlayerPositions[i]["x"], pokerPlayerPositions[i]["y"], pokerPlayerPositions[i]["z"] ) setElementInterior ( hit, 12 ) setPedRotation ( hit, pokerPlayerPositions[i]["rot"] - 90 ) setCameraMatrix ( hit, 1119.8720703125, 11.228228569031, 1005.1077270508, 1119.1854248047, 11.514589309692, 1002.0599365234 ) toggleAllControls ( hit, false, true, false ) -- Sometimes the animations stops, don't ask me why for i = 1, 6 do if _G["pokerPlayer"..i] then setPedAnimation ( _G["pokerPlayer"..i], "FOOD", "FF_Sit_Loop", -1, true, false, false ) setPedRotation ( _G["pokerPlayer"..i], pokerPlayerPositions[i]["rot"] - 90 ) end end showCursor ( hit, true ) setElementData ( hit, "ElementClicked", true ) triggerClientEvent ( hit, "showPokerHand", hit, 0, 0 ) triggerClientEvent ( hit, "setVarbs", getRootElement(), "pokerCurOwnChips", 200 ) -- Refresh the Values for the new player for k = 1, 6 do if _G["pokerPlayer"..k] then _G["p"..k] = "(".._G["pokerPlayer"..k.."Money"]..") "..getPlayerName ( _G["pokerPlayer"..k] ) if _G["pokerPlayer"..k.."In"] then _G["p"..k.."s"] = true else _G["p"..k.."s"] = false end else _G["p"..k] = "" _G["p"..k.."s"] = false end end sendMessageToAllPokerPlayers ( getPlayerName(hit).." joined the game!", 200, 200, 0 ) triggerClientEvent ( _G["pokerPlayer"..i], "refreshPokerVarbs", getRootElement(), _G["pokerPlayer"..i.."Bet"], curPokerPot, getHighestCall(), _G["pokerPlayer"..i.."Money"], p1, p1s, p2, p2s, p3, p3s, p4, p4s, p5, p5s, p6, p6s ) if not pokerRoundStarted then _G["pokerPlayer"..i.."In"] = true else _G["pokerPlayer"..i.."In"] = false end break end end else outputChatBox ( "Please wait, all seats are currently in use!", hit, 125, 0, 0 ) end end end end end addEventHandler ( "onMarkerHit", pokerEntranceMarker, pokerMarkerHit ) function takePlayerChips ( player, amount ) _G["pokerPlayer"..player.."Money"] = _G["pokerPlayer"..player.."Money"] - amount curPokerPot = curPokerPot + amount if _G["pokerPlayer"..player.."Money"] < 0 then _G["pokerPlayer"..player.."Money"] = 0 sendMessageToAllPokerPlayers ( getPlayerName(_G["pokerPlayer"..player]).." is all in!", 0, 0, 170 ) end end function roundCheck() -- Check if enough players are there - -- if there are enough, proceed pokerCurPlayers = 0 for i = 1, 6 do if _G["pokerPlayer"..i] ~= false then pokerCurPlayers = pokerCurPlayers + 1 if _G["pokerPlayer"..i.."Money"] <= 0 then setPlayerLeavingPoker_func ( _G["pokerPlayer"..i] ) end end end if pokerCurPlayers > 1 then curPokerPot = 0 sendMessageToAllPokerPlayers ( "Dealer: New round!", 200, 200, 0 ) pokerRoundStarted = true curPokerRound = 0 if not curPokerBlindPlayer then curPokerBlindPlayer = 0 end pokerFirstLoop = false for i = 1, 6 do _G["pokerPlayer"..i.."Bet"] = 0 end i = getNextPlayerAtPoker ( curPokerBlindPlayer ) i = getPrevPlayerAtPoker ( i ) curPokerBlindPlayer = i _G["pokerPlayer"..i.."Bet"] = bigBlind takePlayerChips ( i, bigBlind ) _G["pokerPlayer"..i.."Bet"] = _G["pokerPlayer"..i.."Bet"] smallBlindPlayer = getNextPlayerAtPoker (curPokerBlindPlayer) _G["pokerPlayer"..smallBlindPlayer.."Bet"] = smallBlind takePlayerChips ( smallBlindPlayer, smallBlind ) sendMessageToAllPokerPlayers ( "Dealer: Bigblind: "..getPlayerName(_G["pokerPlayer"..curPokerBlindPlayer])..", Smallblind: "..getPlayerName(_G["pokerPlayer"..smallBlindPlayer]).."!", 200, 200, 0 ) cardsInUse = nil cardsInUse = {} pokerFirstLoop = false -- Give out the hand cards for the players & some other things for i = 1, 6 do _G["pokerPlayer"..i.."HandValue"] = 0 if _G["pokerPlayer"..i] then card1 = getNewCard() card2 = getNewCard() _G["pokerPlayer"..i.."In"] = true _G["pokerPlayer"..i.."card1"] = card1 _G["pokerPlayer"..i.."card2"] = card2 triggerClientEvent ( _G["pokerPlayer"..i], "showPokerHand", getRootElement(), card1, card2 ) triggerClientEvent ( _G["pokerPlayer"..i], "setVarbs", _G["pokerPlayer"..i], "pokerCurBets", bigBlind ) end end setTimer ( nextRoundPlayer, 1000, 1 ) else if isTimer ( roundCheckTimer ) then killTimer ( roundCheckTimer ) end roundCheckTimer = setTimer ( roundCheck, 5000, 1 ) end end roundCheckTimer = setTimer ( roundCheck, 5000, 1 ) function playerTurnCheck_func ( player ) -- if the player decides to check local id = getPlayerPokerID ( player ) sendMessageToAllPokerPlayers ( getPlayerName(player).." checks!", 200, 0, 0 ) killTimer ( timeoutTimer ) nextRoundPlayer () end addEvent ( "playerTurnCheck", true ) addEventHandler ( "playerTurnCheck", getRootElement(), playerTurnCheck_func ) function playerTurnCall_func ( player ) -- if the player decides to call local id = getPlayerPokerID ( player ) sendMessageToAllPokerPlayers ( getPlayerName(player).." calls ( To "..getHighestCall().." )!", 200, 0, 0 ) local curAmount = getHighestCall () local amount = curAmount - _G["pokerPlayer"..id.."Bet"] -- Check if its an all in if amount >= _G["pokerPlayer"..id.."Money"] then _G["pokerPlayer"..id.."TotalBet"] = _G["pokerPlayer"..id.."TotalBet"] + amount sendMessageToAllPokerPlayers ( getPlayerName(_G["pokerPlayer"..id]).." is all in!", 0, 0, 170 ) else _G["pokerPlayer"..id.."TotalBet"] = _G["pokerPlayer"..id.."TotalBet"] + _G["pokerPlayer"..id.."Money"] end curPokerPot = curPokerPot + amount _G["pokerPlayer"..id.."Bet"] = getHighestCall () killTimer ( timeoutTimer ) nextRoundPlayer () end addEvent ( "playerTurnCall", true ) addEventHandler ( "playerTurnCall", getRootElement(), playerTurnCall_func ) function playerTurnRaise_func ( amount ) -- if the player decides to raise local player = source sendMessageToAllPokerPlayers ( getPlayerName(player).." raises ( To: "..amount.." )!", 200, 0, 0 ) local id = getPlayerPokerID ( player ) takePlayerChips ( id, amount ) _G["pokerPlayer"..id.."Bet"] = _G["pokerPlayer"..id.."Bet"] + amount _G["pokerPlayer"..id.."TotalBet"] = _G["pokerPlayer"..id.."TotalBet"] + amount if isTimer ( timeoutTimer ) then killTimer ( timeoutTimer ) end nextRoundPlayer () end addEvent ( "playerTurnRaise", true ) addEventHandler ( "playerTurnRaise", getRootElement(), playerTurnRaise_func ) function playerTurnFold_func () -- if the player decides to fold local player = source local id = getPlayerPokerID ( player ) sendMessageToAllPokerPlayers ( getPlayerName(player).." folds!", 200, 0, 0 ) _G["pokerPlayer"..id.."Bet"] = 0 _G["pokerPlayer"..id.."In"] = false if isTimer ( timeoutTimer ) then killTimer ( timeoutTimer ) end nextRoundPlayer () end addEvent ( "playerTurnFold", true ) addEventHandler ( "playerTurnFold", getRootElement(), playerTurnFold_func ) function getPlayerPokerID ( player ) -- get the poker-ID of the player, responsible for his money / seat / ect. for i = 1, 6 do if _G["pokerPlayer"..i] == player then return i end end end function getHighestCall () -- get the highest call local highest = 0 for i = 1, 6 do if _G["pokerPlayer"..i.."Bet"] > highest then highest = _G["pokerPlayer"..i.."Bet"] end end return highest end function nextRoundPlayer () -- After a player decides to call / raise / whatever if isTimer ( timeoutTimer ) then killTimer ( timeoutTimer ) end sucess = true p1, p2, p3, p4, p5, p6, p1s, p2s, p3s, p4s, p5s, p6s = getPokerPlayerStats() for i = 1, 6 do if _G["pokerPlayer"..i] then triggerClientEvent ( _G["pokerPlayer"..i], "refreshPokerVarbs", getRootElement(), _G["pokerPlayer"..i.."Bet"], curPokerPot, getHighestCall(), _G["pokerPlayer"..i.."Money"], p1, p2, p3, p4, p5, p6, p1s, p2s, p3s, p4s, p5s, p6s ) end end counter = 0 for i = 1, 6 do if _G["pokerPlayer"..i.."In"] then counter = counter + 1 pokerCPlayerFolder = i if _G["pokerPlayer"..i.."Bet"] ~= getHighestCall () and _G["pokerPlayer"..i.."Money"] ~= 0 then sucess = false end end end if counter == 0 then sendMessageToAllPokerPlayers ( "Runde beendet!", 0, 125, 0 ) resetPokerValues() elseif counter == 1 then sendMessageToAllPokerPlayers ( "Runde beendet - Durch Fold gewonnen hat: "..getPlayerName(_G["pokerPlayer"..pokerCPlayerFolder]).."!", 0, 125, 0 ) _G["pokerPlayer"..pokerCPlayerFolder.."Money"] = _G["pokerPlayer"..pokerCPlayerFolder.."Money"] + curPokerPot for i = 1, 6 do if _G["pokerPlayer"..i] then triggerClientEvent ( _G["pokerPlayer"..i], "hidePokerPlayerBtns", getRootElement() ) end end resetPokerValues() else if curPokerPlayer == curPokerBlindPlayer then pokerFirstLoop = true elseif not _G["pokerPlayer"..curPokerBlindPlayer.."In"] then if curPokerPlayer == getPrevPlayerAtPoker ( curPokerBlindPlayer ) then pokerFirstLoop = true end end if not sucess or not pokerFirstLoop then nextPlayer() pokerFirstLoop = false elseif curPokerRound == 0 then showFlop() pokerFirstLoop = false elseif curPokerRound == 1 then showTurn() pokerFirstLoop = false elseif curPokerRound == 2 then showRiver() pokerFirstLoop = false elseif curPokerRound == 3 then getWinner() pokerFirstLoop = false end end end function setPlayerLeavingPoker_func ( player, id ) -- If someone leaves the game, for e.g. by disconnect -- or "timeout" triggerEvent ( "playerTurnFold", player ) if not id then id = getPlayerPokerID ( player ) end if isElement ( player ) then setPedFrozen ( player, false ) setElementPosition ( player, -2504.489, 2362.214, 4.634 ) setElementInterior ( player, 0 ) setCameraTarget ( player, player ) toggleAllControls ( player, true, true, true ) setPedAnimation ( player ) showCursor ( player, false ) setElementData ( player, "ElementClicked", false ) sendMessageToAllPokerPlayers ( getPlayerName(player).." left the game!", 200, 200, 0 ) triggerClientEvent ( player, "hidePokerDisplay", getRootElement() ) end _G["pokerPlayer"..id] = false _G["pokerPlayer"..id.."HandValue"] = 11 _G["pokerPlayer"..id.."Bet"] = 0 _G["pokerPlayer"..id.."Money"] = 0 _G["pokerPlayer"..id.."In"] = false pokerCurPlayers = pokerCurPlayers - 1 if curPokerPlayer == id then nextPlayer () end end addEvent ( "setPlayerLeavingPoker", true ) addEventHandler ( "setPlayerLeavingPoker", getRootElement(), setPlayerLeavingPoker_func ) -- If a player quits whos playing at the moment function pokerPlayerQuit () for i = 1, 6 do if _G["pokerPlayer"..i] == source then setPlayerLeavingPoker_func ( source ) end end end addEventHandler ( "onPlayerQuit", getRootElement(), pokerPlayerQuit ) -- start the turn of the next player function nextPlayer () if not curPokerPlayer then curPokerPlayer = getNextPlayerAtPoker ( getNextPlayerAtPoker ( getNextPlayerAtPoker ( 0 ) ) ) end curPokerPlayer = getNextPlayerAtPoker ( curPokerPlayer ) sendMessageToAllPokerPlayers ( getPlayerName(_G["pokerPlayer"..curPokerPlayer]).."'s turn!", 0, 0, 170 ) outputChatBox ( "Current call: "..getHighestCall()..", your call: ".._G["pokerPlayer"..curPokerPlayer.."Bet"], _G["pokerPlayer"..curPokerPlayer], 150, 150, 25 ) if isTimer ( timeoutTimer ) then killTimer ( timeoutTimer ) end local player = _G["pokerPlayer"..curPokerPlayer] timeoutTimer = setTimer ( setPlayerLeavingPoker_func, 30000, 1, player, curPokerPlayer ) triggerClientEvent ( _G["pokerPlayer"..curPokerPlayer], "turnBegin", getRootElement() ) end -- show the flop to the players function showFlop() communityCard1 = getNewCard() communityCard2 = getNewCard() communityCard3 = getNewCard() for i = 1, 6 do _G["pokerPlayer"..i.."Bet"] = 0 end for i = 1, 6 do if _G["pokerPlayer"..i] then triggerClientEvent ( _G["pokerPlayer"..i], "refreshPokerCommunityCards", getRootElement(), communityCard1, communityCard2, communityCard3 ) end end curPokerRound = curPokerRound + 1 nextPlayer () end -- show the turn to the players function showTurn() communityCard4 = getNewCard() for i = 1, 6 do _G["pokerPlayer"..i.."Bet"] = 0 end for i = 1, 6 do if _G["pokerPlayer"..i] then triggerClientEvent ( _G["pokerPlayer"..i], "refreshPokerCommunityCards", getRootElement(), communityCard1, communityCard2, communityCard3, communityCard4 ) end end curPokerRound = curPokerRound + 1 nextPlayer () end -- show the river to the players function showRiver() communityCard5 = getNewCard() for i = 1, 6 do _G["pokerPlayer"..i.."Bet"] = 0 end for i = 1, 6 do if _G["pokerPlayer"..i] then triggerClientEvent ( _G["pokerPlayer"..i], "refreshPokerCommunityCards", getRootElement(), communityCard1, communityCard2, communityCard3, communityCard4, communityCard5 ) end end curPokerRound = curPokerRound + 1 nextPlayer () end -- force the clients to "tell" their hand-values function getWinner() for i = 1, 6 do if _G["pokerPlayer"..i] and _G["pokerPlayer"..i.."In"] then triggerClientEvent ( _G["pokerPlayer"..i], "getPlayerBestHand", getRootElement(), communityCard1, communityCard2, communityCard3, communityCard4, communityCard5, _G["pokerPlayer"..i.."card1"], _G["pokerPlayer"..i.."card2"] ) else _G["pokerPlayer"..i.."HandValue"] = 11 end end setTimer ( finalCheck, 2000, 1 ) end function finalCheck () curWinnerValue = 11 pokerPlayer0HandSecValue = 0 curWinner = 0 curWinners = 0 curWinnersList = nil curWinnersList = {} for i = 1, 6 do if _G["pokerPlayer"..i.."In"] then val = _G["pokerPlayer"..i.."HandValue"] -- If a player has a better hand than the current "winner" -- "<" instead ">", because smaller values are better hands if _G["pokerPlayer"..i.."HandValue"] < curWinnerValue then curWinnerValue = _G["pokerPlayer"..i.."HandValue"] curWinner = i curWinners = 1 curWinnersList = nil curWinnersList = {} table.insert ( curWinnersList, curWinner ) -- if the current "winner" has the same hand as a player elseif _G["pokerPlayer"..i.."HandValue"] == curWinnerValue then if val == 3 or val == 6 or val == 7 or val == 9 then if _G["pokerPlayer"..i.."HandSecValue"] and _G["pokerPlayer"..curWinner.."HandSecValue"] then if _G["pokerPlayer"..i.."HandSecValue"] > _G["pokerPlayer"..curWinner.."HandSecValue"] then curWinner = i curWinners = 1 curWinnersList = nil curWinnersList = {} table.insert ( curWinnersList, i ) -- if they've got the same "hand value" elseif _G["pokerPlayer"..i.."HandSecValue"] ==_G["pokerPlayer"..curWinner.."HandSecValue"] then curWinners = curWinners + 1 table.insert ( curWinnersList, i ) end end else -- choose the highcard if getPlayerHighCard ( i ) > getPlayerHighCard ( curWinner ) then curWinner = i curWinners = 1 curWinnersList = nil curWinnersList = {} table.insert ( curWinnersList, i ) -- if they've got the same highcard elseif getPlayerHighCard ( i ) == getPlayerHighCard ( curWinner ) then curWinners = curWinners + 1 table.insert ( curWinnersList, i ) end end end end end if curWinners == 1 then local winnername = getPlayerName(_G["pokerPlayer"..curWinner]) local value = handValueNames[_G["pokerPlayer"..curWinner.."HandValue"]] local h1 = pokerColorOutNames[getCardColor(_G["pokerPlayer"..curWinner.."card1"])].." "..cardIDTypeOutName[getCardType(_G["pokerPlayer"..curWinner.."card1"])] local h2 = pokerColorOutNames[getCardColor(_G["pokerPlayer"..curWinner.."card2"])].." "..cardIDTypeOutName[getCardType(_G["pokerPlayer"..curWinner.."card2"])] -- if the winner was "all in" -- if the winner was "all in" if _G["pokerPlayer"..curWinner.."Money"] <= 0 then _G["pokerPlayer"..curWinner.."Money"] = curPokerPot - _G["pokerPlayer"..curWinner.."TotalBet"] * 2 curPokerPot = curPokerPot - _G["pokerPlayer"..curWinner.."TotalBet"] * 2 sendMessageToAllPokerPlayers ( winnername.." winns with "..value..". ( Hand: "..h1..", "..h2.." ), "..(_G["pokerPlayer"..curWinner.."TotalBet"] * 2).." chips", 0, 125, 0 ) if curPokerPot > 0 then counter = 0 for i = 1, 6 do if _G["pokerPlayer"..i.."In"] then if i == curWinner then else counter = counter + 1 end end end local amount = math.floor ( curPokerPot / counter ) sendMessageToAllPokerPlayers ( "The remaining "..curPokerPot.." chips will be split!", 0, 125, 0 ) for i = 1, 6 do if _G["pokerPlayer"..i.."In"] then if i == curWinner then else _G["pokerPlayer"..i.."Money"] = _G["pokerPlayer"..i.."Money"] + amount end end end resetPokerValues() end else sendMessageToAllPokerPlayers ( winnername.." winns with a "..value..". ( Hand: "..h1..", "..h2.." ), "..curPokerPot.." chips", 0, 125, 0 ) _G["pokerPlayer"..curWinner.."Money"] = _G["pokerPlayer"..curWinner.."Money"] + curPokerPot resetPokerValues() end else winnernames = nil counter = 0 for i, key in ipairs ( curWinnersList ) do counter = counter + 1 if winnernames then local h1 = pokerColorOutNames[getCardColor(_G["pokerPlayer"..i.."card1"])].." "..cardIDTypeOutName[getCardType(_G["pokerPlayer"..i.."card1"])] local h2 = pokerColorOutNames[getCardColor(_G["pokerPlayer"..i.."card2"])].." "..cardIDTypeOutName[getCardType(_G["pokerPlayer"..i.."card2"])] winnernames = winnernames..", "..getPlayerName(_G["pokerPlayer"..i]).." ("..h1..", "..h2..")" else local h1 = pokerColorOutNames[getCardColor(_G["pokerPlayer"..i.."card1"])].." "..cardIDTypeOutName[getCardType(_G["pokerPlayer"..i.."card1"])] local h2 = pokerColorOutNames[getCardColor(_G["pokerPlayer"..i.."card2"])].." "..cardIDTypeOutName[getCardType(_G["pokerPlayer"..i.."card2"])] winnernames = getPlayerName(_G["pokerPlayer"..i]).." ("..h1..","..h2..")" end end local splot = math.floor ( curPokerPot / counter ) sendMessageToAllPokerPlayers ( "Split pot between: "..winnernames..", "..splot.." chips ( each )!", 0, 125, 0 ) for i, key in ipairs ( curWinnersList ) do _G["pokerPlayer"..i.."Money"] = _G["pokerPlayer"..i.."Money"] + splot end resetPokerValues() end end function resetPokerValues () -- Reset the values when a round is finished pokerRoundStarted = false pokerFirstLoop = false curPokerRound = 0 curPokerPlayer = false curPokerPot = 0 curPokerBlindPlayer = getNextPlayerAtPoker ( curPokerBlindPlayer ) for i = 1, 6 do if _G["pokerPlayer"..i] then _G["pokerPlayer"..i.."In"] = true else _G["pokerPlayer"..i.."In"] = false end _G["pokerPlayer"..i.."TotalBet"] = 0 _G["pokerPlayer"..i.."Bet"] = 0 _G["pokerPlayer"..i.."HandValue"] = 0 _G["communityCard"..i] = 0 end p1, p2, p3, p4, p5, p6, p1s, p2s, p3s, p4s, p5s, p6s = getPokerPlayerStats() for i = 1, 6 do if _G["pokerPlayer"..i] then setTimer ( triggerClientEvent, 3000, 1, _G["pokerPlayer"..i], "refreshPokerCommunityCards", getRootElement() ) setTimer ( triggerClientEvent, 3000, 1, _G["pokerPlayer"..i], "refreshPokerVarbs", getRootElement(), _G["pokerPlayer"..i.."Bet"], curPokerPot, getHighestCall(), _G["pokerPlayer"..i.."Money"], p1, p2, p3, p4, p5, p6, p1s, p2s, p3s, p4s, p5s, p6s ) end end if isTimer ( roundCheckTimer ) then killTimer ( roundCheckTimer ) end roundCheckTimer = setTimer ( roundCheck, 7500, 1 ) end function getNextPlayerAtPoker ( id ) -- get the next player ( clockwise ) if id then for i = id, 6 do if _G["pokerPlayer"..i] and _G["pokerPlayer"..i.."In"] and i ~= id then return i end end for i = 1, 6 do if _G["pokerPlayer"..i] and _G["pokerPlayer"..i.."In"] and i ~= id then return i end end end return false end function getPrevPlayerAtPoker ( id ) -- get the next player ( counter-clockwise ) if id then for i = id, 0, -1 do if _G["pokerPlayer"..i] and _G["pokerPlayer"..i.."In"] and i ~= id then return i end end for i = 6, 0, -1 do if _G["pokerPlayer"..i] and _G["pokerPlayer"..i.."In"] and i ~= id then return i end end end return false end function getPlayerHighCard ( id ) if id > 0 then local card1 = getCardType ( _G["pokerPlayer"..id.."card1"] ) local card2 = getCardType ( _G["pokerPlayer"..id.."card2"] ) for i = 1, 5 do _G["card"..(i+2)] = _G["communityCard"..i] end curBest = card1 for i = 2, 7 do if curBest < _G["card"..i] then curBest = _G["card"..i] end end return curBest end return -1 end function handRecieveFromClient_func ( value, sec ) -- retrieve the hand-value from the client local id = getPlayerPokerID ( source ) _G["pokerPlayer"..id.."HandValue"] = value if sec then _G["pokerPlayer"..id.."HandSecValue"] = sec end end addEvent ( "handRecieveFromClient", true ) addEventHandler ( "handRecieveFromClient", getRootElement(), handRecieveFromClient_func ) function sendMessageToAllPokerPlayers ( text, r, g, b ) -- send a message to all current players for i = 1, 6 do local player = _G["pokerPlayer"..i] if player then if isElement ( player ) then outputChatBox ( text, player, r, g, b ) end end end end function getNewCard() -- get a new card from the "stack" while true do local card = math.random ( 1, 52 ) if not cardsInUse[card] then table.insert ( cardsInUse, card ) cardsInUse[card] = true return card end end end function getPokerPlayerStats () -- get the stats for the client for i = 1, 6 do if _G["pokerPlayer"..i.."In"] then _G["p"..i.."s"] = true else _G["p"..i.."s"] = false end if _G["pokerPlayer"..i] then _G["p"..i] = "(".._G["pokerPlayer"..i.."Money"]..") "..getPlayerName ( _G["pokerPlayer"..i] ) else _G["p"..i] = "" end end return p1, p2, p3, p4, p5, p6, p1s, p2s, p3s, p4s, p5s, p6s end Link to comment
ARYDER Posted June 13 Share Posted June 13 Find this code: pokerEntranceMarker = createMarker ( 1119.03, 9.81, 1002.07, "cylinder", 1.5, 125, 0, 0, 125, 1620, 12 ) Then add functions like this: setElementDimension (pokerEntranceMarker, YOUR_DIMENSION_INTEGER_NUMBER) setElementInterior (pokerEntranceMarker, YOUR_INTERIOR_INTEGER_NUMBER) setElementInterior setElementDimension Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now