sanleygfx Posted October 11, 2019 Share Posted October 11, 2019 (edited) ---------------------------------------->> -- Grand Theft International (GTI) -- Author: Mitch -- Date: 11 Feb 2015 -- Resource: storeRob_c.Lua -- Version: 1.0 ----------------------------------------->> addEvent("onClientInteriorExit",true) colShapeDerFix = createColCuboid ( 251.714, -81.700, 0.578, 12, 19, 10 ) local theRobbery = false local robCashRegister = false local robberyStarted = false local hasBag = false local cancelRobb = false local intLeave = false local peds = { --{createPed ( 179, 1370.286, -1292.434, 13.549, -90), 0, 0}, --{createPed ( 179, 1370.297, -1286.706, 18.002, -90), 0, 0}, {createPed ( 179, 2402.549, -1986.312, 13.546, 90), 0, 0}, {createPed ( 179, 1316.687, -896.606, 39.578, 360 ), 0, 0 }, {createPed ( 179, 1348.748046875, -1760.7326660156, 13.549824714661, 181.38510131836 ), 0, 0 }, {createPed ( 179, 2411.5866699219, -1505.5615234375, 24.002511978149, 270.54040527344 ), 0, 0 }, --{createPed ( 179, 2324.559, 57.402, 20.866, 90), 0, 0}, --[[ {createPed ( 179, 237.804, -167.235, -3.744, 180), 0, 0}, {createPed ( 179, 2170.868, 931.855, 10.096, 90), 0, 0}, {createPed ( 179, -2093.384, -2470.107, 30.625, 50), 0, 0}, {createPed ( 179, -318.559, 829.981, 14.245, 90), 0, 0}, {createPed ( 179, 2550.509, 2071.741, 10.107, 0), 0, 0}, --{createPed ( 59, -2235.597, 128.584, 1035.414, 0), 0, 6 }, --{createPed ( 59, 497.644, -77.471, 998.765, 0 ), 1, 11 }, --{createPed ( 59, -23.286, -57.334, 1003.547, 0 ), 1, 6 }, --{createPed ( 59, -28.066, -91.640, 1003.547, 0 ), 1, 18 }, --{createPed ( 59, -28.066, -91.640, 1003.547, 0 ), 0, 18 }, --{createPed ( 59, -23.409, -57.324, 1003.547, 0 ), 4, 6 }, --{createPed ( 59, -27.963, -91.640, 1003.547, 0 ), 2, 18 }, --{createPed ( 59, -23.409, -57.324, 1003.547, 0 ), 3, 6 }, {createPed ( 59, -1560.088, -2731.392, 48.748, 325 ), 0, 0 }, --{createPed ( 59, 1834.721, -1837.593, 13.595, 265 ), 0, 0 }, {createPed ( 59, 250.219, -54.828, 1.578, 180 ), 0, 0 }, {createPed ( 59, 2356.241, 68.039, 22.3, 90 ), 0, 0 }, {createPed ( 59, 2446.081, 2076.602, 10.826, 180 ), 0, 0 }, ]]-- } local cashRegister = { --[[ {createObject ( 1514, -2235.574, 129.407, 1035.700, 0, 0, 180 ), 0, 6, 180 }, {createObject ( 1514, 497.646, -76.722, 999.005, 0, 0, 180 ), 1, 11, 180}, {createObject ( 1514, -23.386, -56.597, 1003.706, 0, 0, 180 ), 1, 6, 0 }, {createObject ( 1514, -28.338, -90.706, 1003.706, 0, 0, 180 ), 1, 18, 0 }, {createObject ( 1514, -28.338, -90.706, 1003.706, 0, 0, 180 ), 0, 18, 0 }, {createObject ( 1514, -23.395, -56.484, 1003.706, 0, 0, 180 ), 4, 6, 0 }, {createObject ( 1514, -28.338, -90.706, 1003.706, 0, 0, 180 ), 2, 18, 0 }, {createObject ( 1514, -23.395, -56.484, 1003.706, 0, 0, 180 ), 3, 6, 0 }, ]]-- {createObject ( 1514, 2439.421, 2075.942, 11.061, 0, 0, 0 ), 0, 0, 0 }, {createObject ( 1514, -1559.773, -2730.774, 48.895, 0, 0, 140 ), 0, 0, 0 }, --{createObject ( 1514, 1836.306, -1837.925, 13.741, 0, 0, 90 ), 0, 0, 0 }, {createObject ( 1514, 1316.697, -895.876, 39.624, 0, 0, 180 ), 0, 0, 0 }, {createObject ( 1514, 251.762, -55.555, 1.679, 0, 0, 0 ), 0, 0, 0 }, } local markers = { {1353.1480712891, -1757.9229736328, 13.5078125}, {-1561.990, -2733.559, 47.743}, --{1832.750, -1842.396, 12.578}, {1313.498, -898.805, 38.578}, {244.183, -49.155, 0.578}, {254.637, -64.013, 0.578}, {2325.879, 74.452, 23.508}, {2437.921, 2065.402, 9.820}, {2420.3723144531, -1509.0484619141, 24}, } function respawnCashRegisters ( ) for k,v in ipairs ( cashRegister ) do setTimer (respawnObject, 7500, 1, ( v[1] ) ) end end addEventHandler ("onClientObjectBreak", root, respawnCashRegisters ) function secsToMin(seconds) local hours = 0 local minutes = 0 local secs = 0 local theseconds = seconds if theseconds >= 60*60 then hours = math.floor(theseconds / (60*60)) theseconds = theseconds - ((60*60)*hours) end if theseconds >= 60 then minutes = math.floor(theseconds / (60)) theseconds = theseconds - ((60)*minutes) end if theseconds >= 1 then secs = theseconds end if minutes < 10 then minutes = "0"..minutes end if secs < 10 then secs = "0"..secs end return minutes,secs end -- Marker and ped functions function createMarkers ( ) for k,v in ipairs(peds) do local x, y, z = getElementPosition(v[1]) -- createBlip ( x, y, z, 53, 1, 0, 0, 0, 0, 0, 1000 ) local ass = createBlip(x, y, z, 58) setElementData(ass ,"blipName", "Assaltos") end --[[ for i, v in ipairs ( markers ) do local x = v[1] local y = v[2] local z = v[3] safeMarker = createMarker ( x, y, z, "cylinder", 3, 0, 0, 0, 0 ) addEventHandler ("onClientMarkerHit", safeMarker, robberyCancelOnMarkerHit ) addEventHandler ("onClientMarkerLeave", safeMarker, robberyCancelOnMarkerHit ) end ]]-- end addEventHandler ("onClientResourceStart", resourceRoot, createMarkers ) function breakCashRegister ( player ) if ( player == localPlayer and robCashRegister == false and robberyStarted == true ) then triggerServerEvent ("GTIstoreRob_payOutForCashRegister", localPlayer ) robCashRegister = true timer = setTimer ( timeForCashRegister, 360000, 1 ) else cancelEvent() end end function cancelTheKill ( player ) cancelEvent () end for k,v in ipairs(peds) do addEventHandler ( "onClientPedDamage", v[1], cancelTheKill ) setElementFrozen ( v[1], true ) setElementInterior ( v[1], v[3] ) setElementDimension ( v[1], v[2] ) end for k,v in ipairs(cashRegister) do addEventHandler ("onClientObjectBreak", v[1], breakCashRegister ) setElementInterior ( v[1], v[3] ) setElementDimension ( v[1], v[2] ) setElementDoubleSided ( v[1], true ) end function isItAPedToRob( ped ) for k,v in ipairs(peds) do if v[1] == ped then return true end end end local teste1 = createColSphere(2402.549, -1986.312, 13.546,3) local teste2 = createColSphere(1316.687, -896.606, 39.578,3) local teste3 = createColSphere(1348.748046875, -1760.7326660156, 13.549824714661,3) local teste4 = createColSphere(2411.5866699219, -1505.5615234375, 24.002511978149,3) function detectAim( target ) --local job = exports.btc_employment:getPlayerJob(true) --if getPlayerTeam(localPlayer) == getTeamFromName("Policia") then return end if isElementWithinColShape(localPlayer, teste1) or isElementWithinColShape(localPlayer, teste2) or isElementWithinColShape(localPlayer, teste3) or isElementWithinColShape(localPlayer, teste4) then local pedSlot = getPedWeaponSlot ( localPlayer ) if (pedSlot == 0) then return end local arma = getPlayerWeapon ( localPlayer ) if (arma == 22) then return end if ( target ) and ( getElementType( target ) == "ped" ) and (source == localPlayer) and getControlState("aim_weapon") and isItAPedToRob(target) then if ( robberyStarted == true ) then if not isDX then exports.btc_hud:dm("Porfavor eu não tenho mais dinheiro me deixe em paz!.", 200, 0, 0 ) isDX = true setTimer(function() isDX = false end, 10000, 1) return end end if (not robberyStarted) then local policiaTeam = getTeamFromName ( "Policia" ) local groveCount = countPlayersInTeam ( policiaTeam ) -----[error]-------------[error]-------------------------[error]-----------------[error]---------- [error] [error] if groveCount >= 3 then setPedAnimation( target, "SHOP", "SHP_Rob_GiveCash", 3000, false, false, false, false) triggerServerEvent ("GTIstoreRob_WantedLevel", localPlayer ) theRobbery = true exports.btc_hud:dm("(fique dentro do local por 3 minutos!)", 200, 255, 0) exports.btc_hud:dm("Mãos pra cima isso é um assalto", 200, 0, 0) isDX = true setTimer(function() isDX = false end, 10000, 1) robberyStarted = true setElementData(localPlayer, "isPlayerRobbing", true) cancelRobb = true intLeave = true seconds = 180 countDown = setTimer ( cDown, 1000, 180 ) else outputChatBox("#dc143c[AVISO]:#ffffff Não tem policia na cidade ( minimo 3 policiais ), vaza daqui!", 255, 255, 255, true) end end end end end addEventHandler ( "onClientPlayerTarget", localPlayer, detectAim ) addEventHandler ( "onClientColShapeHit", root, detectAim ) function timeForCashRegister ( ) robCashRegister = false end function cDown ( ) seconds = seconds - 1 local mins,secds = secsToMin(seconds) if mins == "00" and secds == "00" then --time is up killTimer( countDown ) createMoneyBag() setElementData(localPlayer, "isPlayerRobbing", false) exports.btc_hud:drawStat("storeRobTimer", "", "", 200, 0, 0) else exports.btc_hud:drawStat("storeRobTimer", "Tempo restante: ", mins..":"..secds, 200, 0, 0) end end function createMoneyBag ( ) triggerServerEvent ("GTIstoreRob_moneyBag", localPlayer ) x, y, z = getElementPosition ( localPlayer ) colshape = createColCuboid ( x-200, y-200, z-50, 400, 400, 100 ) exports.btc_hud:dm("Assalto com sucesso saia da zona verde que apareceu no radar para receber o dinheiro!", 200, 0, 0) leaveAreaRadar = createRadarArea ( x-200, y-200, 400, 450, 0, 200, 0, 150 ) addEventHandler ("onClientColShapeLeave", colshape, payoutForSafe ) hasBag = true end function payoutForSafe ( player ) if ( player == localPlayer ) and not isTimer(payTimer) then payTimer = setTimer(function() if (getElementInterior(localPlayer) ~= 0) or (getElementDimension(localPlayer) ~= 0) then return end if ( robberyStarted == false ) then return end if ( hasBag == false ) then return end triggerServerEvent ("GTIstoreRob_payoutForSafe", localPlayer ) c = setTimer ( isRobberyFalseAgain, 180000, 1 ) destroyElement ( colshape ) destroyElement ( leaveAreaRadar ) end, 500, 1 ) end end -- Cancel the robbery functions --[[function createMarkers ( ) for i, a in ipairs ( cancelMarkers ) do local x = a[1] local y = a[2] local z = a[3] cancelMarker = createMarker ( x, y, z, "cylinder", 4, 0, 0, 0, 0 ) addEventHandler ("onClientMarkerHit", cancelMarker, robberyCancelOnMarkerHit ) end end addEventHandler ("onClientResourceStart", resourceRoot, createMarkers )--]] local recieved = {} function cancelRobbery ( jobName ) if ( source == localPlayer ) then if ( intLeave == false ) then return end if ( robberyStarted == false) then return end if ( theRobbery == false ) then return end triggerServerEvent ("GTIstoreRob_stopMission", localPlayer ) unbindKey ( "N", "down", startCrack ) exports.btc_hud:drawStat("storeRobTimer", "", "", 200, 0, 0) exports.btc_hud:drawNote ("StoreRobCrackSafeNote", "", 255, 0, 0, 0 ) if (not recieved[localPlayer]) then exports.btc_hud:dm("Você falhou no assalto!", 200, 0, 0) recieved[localPlayer] = true end robCashRegister = true theRobbery = false hasBag = false if isElement ( colshape ) then destroyElement ( colshape ) end if isElement ( leaveAreaRadar ) then destroyElement ( leaveAreaRadar ) end setElementData(localPlayer, "isPlayerRobbing", false) if isTimer ( countDown ) then killTimer ( countDown ) end if isTimer ( timer ) then killTimer ( timer ) end if isTimer ( c ) then killTimer ( c ) end c = setTimer ( isRobberyFalseAgain, 180000, 1 ) end end addEventHandler ("onClientPlayerQuitJob", root, function ( jobName ) if not jobName then return true else return cancelRobbery ( ) end end ) addEventHandler ("onClientPlayerGetJob", root, function ( jobName ) if jobName == "Criminal" then return true else return cancelRobbery ( ) end end ) addEventHandler ("onClientPlayerWasted", localPlayer, function ( ) cancelRobbery(localPlayer) end ) addEvent ("GTIstoreRob_CancelOnArrest", true ) addEventHandler ("GTIstoreRob_CancelOnArrest", root, function () cancelRobbery() end ) local zone = createColCuboid(2404.43433, -1511.25940, 20.30252, 15.187744140625, 19.721435546875, 6.6000484466553) local zone2 = createColCuboid(2388.13867, -1993.72693, 11.40695, 16.262451171875, 12.043823242188, 5.600008392334) local zone3 = createColCuboid(1342.31470, -1770.88306, 10.95000, 22.0830078125, 11.440673828125, 6.5000213623047) local zone4 = createColCuboid(1304.45557, -897.47839, 38.07304, 26.8134765625, 20.557800292969, 7.1000274658203) function robberyCancelOnMarkerHit ( player ) if ( player == localPlayer ) then if ( intLeave == false ) then return end if ( hasBag == true ) then return end unbindKey ( "N", "down", startCrack ) exports.btc_hud:drawNote ("StoreRobCrackSafeNote", "", 255, 0, 0, 0 ) if ( cancelRobb == false ) then return end if ( robberyStarted == false) then return end exports.btc_hud:drawStat("storeRobTimer", "", "", 200, 0, 0) if (not recieved[localPlayer]) then exports.btc_hud:dm("Você falhou no assalto!", 200, 0, 0) recieved[localPlayer] = true end setElementData(localPlayer, "isPlayerRobbing", false) theRobbery = false cancelRobb = false hasBag = false robCashRegister = true triggerServerEvent ("GTIstoreRob_stopMission", localPlayer ) if isElement ( colshape ) then destroyElement ( colshape ) end if isElement ( leaveAreaRadar ) then destroyElement ( leaveAreaRadar ) end if isTimer ( countDown ) then killTimer ( countDown ) end if isTimer ( timer ) then killTimer ( timer ) end if isTimer ( c ) then killTimer ( c ) end c = setTimer ( isRobberyFalseAgain, 180000, 1 ) end end addEventHandler ("onClientColShapeLeave", zone, robberyCancelOnMarkerHit ) addEventHandler ("onClientColShapeLeave", zone2, robberyCancelOnMarkerHit ) addEventHandler ("onClientColShapeLeave", zone3, robberyCancelOnMarkerHit ) addEventHandler ("onClientColShapeLeave", zone4, robberyCancelOnMarkerHit ) --addEventHandler ("onClientColShapeHit", colShapeDerFix, robberyCancelOnMarkerHit ) --addEventHandler ("onClientColShapeLeave", colShapeDerFix, robberyCancelOnMarkerHit ) --addEventHandler ("onClientInteriorExit", root, robberyCancelOnMarkerHit ) function isRobberyFalseAgain ( ) robberyStarted = false robCashRegister = false theRobbery = false cancelRobb = false intLeave = false hasBag = false if isTimer ( timer ) then killTimer ( timer ) end if isTimer ( c ) then killTimer ( c ) end end Edited October 11, 2019 by sanleygfx Link to comment
Other Languages Moderators Lord Henry Posted October 12, 2019 Other Languages Moderators Share Posted October 12, 2019 Utilize o botão <> do fórum para postar códigos. Não cole direto no texto. 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