Jump to content

Tommy.

Members
  • Posts

    226
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Tommy.

  1. Ta na mão, rs groupeName = "Blitz" function dxMsg(source, text, type) exports.dxmessages:outputDx(source, text, type) end function openRender(source) local accName = getAccountName(getPlayerAccount(source)) if isObjectInACLGroup("user."..accName, aclGetGroup("BOPE")) or isObjectInACLGroup("user."..accName, aclGetGroup("PMRJ")) then triggerClientEvent(source, "renderBlitz", root) end end addCommandHandler("blitz", openRender) function createCone() local rx, ry, rz = getElementRotation(source) local x, y, z = getElementPosition(source) createObject(1237, x, y, z - 1.2) end addEvent("createCone",true) addEventHandler("createCone", root, createCone) function createBarrier() local rx, ry, rz = getElementRotation(source) local x, y, z = getElementPosition(source) createObject(1228, x, y, z - 0.6, 0, 0, rz + 90) end addEvent("createBarrier",true) addEventHandler("createBarrier", root, createBarrier) colShape = { byObject = {} } function createStinger(source) local rx, ry, rz = getElementRotation(source) local x, y, z = getElementPosition(source) createObject(2899, x, y, z - 0.9, 0, 0, rz + 90) colShape.byObject["stinger"] = createColRectangle(x - 2, y - 2, 4.0, 4.0 ) end addEvent("createStinger",true) addEventHandler("createStinger", root, createStinger) addEventHandler("onElementColShapeHit", root, function(colShapeHit) if colShapeHit == colShape.byObject["stinger"] then if getElementType(source) == "vehicle" then setVehicleWheelStates(source, 1, 1, 1, 1) end end end) function createBarrier2() local rx, ry, rz = getElementRotation(source) local x, y, z = getElementPosition(source) createObject(1427, x, y, z - 0.6) end addEvent("createBarrier2",true) addEventHandler("createBarrier2", root, createBarrier2) function destroyBlitz() restartResource(getThisResource()) end addEvent("destroyBlitz",true) addEventHandler("destroyBlitz", root, destroyBlitz) EDIT: Testado.
  2. Vou fazer essa caridade pra você, kk groupeName = "Blitz" function dxMsg(source, text, type) exports.dxmessages:outputDx(source, text, type) end function openRender(source) local accName = getAccountName(getPlayerAccount(source)) if isObjectInACLGroup("user."..accName, aclGetGroup("BOPE")) or isObjectInACLGroup("user."..accName, aclGetGroup("PMRJ")) then triggerClientEvent(source, "renderBlitz", root) end end addCommandHandler("blitz", openRender) function createCone() local rx, ry, rz = getElementRotation(source) local x, y, z = getElementPosition(source) createObject(1237, x, y, z - 1.2) end addEvent("createCone",true) addEventHandler("createCone", root, createCone) function createBarrier() local rx, ry, rz = getElementRotation(source) local x, y, z = getElementPosition(source) createObject(1228, x, y, z - 0.6, 0, 0, rz + 90) end addEvent("createBarrier",true) addEventHandler("createBarrier", root, createBarrier) colShape = {} function createStinger() local rx, ry, rz = getElementRotation(source) local x, y, z = getElementPosition(source) createObject(2899, x, y, z - 0.9, 0, 0, rz + 90) colShape[source] = createColRectangle(x - 2, y - 2, 4.0, 4.0 ) end addEvent("createStinger",true) addEventHandler("createStinger", root, createStinger) addEventHandler( "onClientColShapeHit", resourceRoot, function(theElement, matchingDimension) if getElementType(theElement) == "vehicle" then setVehicleWheelStates(theElement, 1, 1, 1, 1) end end) function createBarrier2() local rx, ry, rz = getElementRotation(source) local x, y, z = getElementPosition(source) createObject(1427, x, y, z - 0.6) end addEvent("createBarrier2",true) addEventHandler("createBarrier2", root, createBarrier2) function destroyBlitz() restartResource(getThisResource()) end addEvent("destroyBlitz",true) addEventHandler("destroyBlitz", root, destroyBlitz) EDIT: Não testei.
  3. Aonde cria o objeto Stinger, você cria junto uma colisão: createColRectangle Ai você abre uma nova função sendo chamada pelo o evento onClientColShapeHit (quando o cara passar pela a colisão) Dai nessa função você usa setVehicleWheelStates para furar os pneus.
  4. Cria um createColRectangle junto com o objeto e com o evento onClientColShapeHit você usa a função setVehicleWheelStates para furar os pneus. Parâmetros para furar o pneu: bool setVehicleWheelStates(vehicle theVehicle, 1, 1, 1, 1)
  5. addEventHandler("onElementDataChange", getRootElement(), function (ElementData) if ElementData == "Drift" then givePlayerMoney(source, getElementData(source, ElementData)) end end) EDIT: Não testei!
  6. Server-Side function vehicleHanding(veh) if veh then vehicle = veh else vehicle = source end if getElementModel(veh) == 560 then setVehicleHandling(veh, "mass", 1600) setVehicleHandling(veh, "turnMass", 3000) setVehicleHandling(veh, "dragCoeff", 1.8) setVehicleHandling(veh, "centerOfMass", { 0, 0.15, -0.3 } ) setVehicleHandling(veh, "percentSubmerged", 75) setVehicleHandling(veh, "tractionLoss", 0.9) setVehicleHandling(veh, "tractionMultiplier", 0.9) setVehicleHandling(veh, "tractionBias", 0.497) setVehicleHandling(veh, "numberOfGears", 5) setVehicleHandling(veh, "maxVelocity", 211) setVehicleHandling(veh, "engineAcceleration", 15) setVehicleHandling(veh, "engineInertia", 50) setVehicleHandling(veh, "driveType", "awd") setVehicleHandling(veh, "engineType", "petrol") setVehicleHandling(veh, "brakeDeceleration", 50) setVehicleHandling(veh, "ABS", false) setVehicleHandling(veh, "steeringLock", 35) setVehicleHandling(veh, "headLight", 0) setVehicleHandling(veh, "tailLight", 1) setVehicleHandling(veh, "animGroup", 0) setVehicleHandling(veh, "suspensionUpperLimit", 0.0) setVehicleHandling(veh, "suspensionLowerLimit", -0.04) end end addEventHandler("onVehicleEnter", root, vehicleHanding) addEventHandler("onResourceStart", resourceRoot, function() for index, veh in ipairs(getElementsByType("vehicle")) do vehicleHanding(veh) end end) EDIT: Não testei.
  7. Sem problemas amigo, até peço perdão por toda a confusão com alguns erros banais que cometi kkk
  8. Você está errando em algo, eu testei o código e estava funcionando.
  9. isObjectInACLGroup onVehicleStartEnter cancelEvent
  10. se for isso, retire toda a função "entrar_na_zona" e da uma testada.
  11. os ColShape estão criado no lugar certo? quando o player morrer o onColShapeLeave será acionado e irá voltar pro team antigo. (Se por algum motivo o Team antigo foi deletado, ele não conseguirá voltar.)
  12. Com o "OR" funciona, mas fiz por tabela caso queira adicionar mais Grupos futuramente. Os grupos estão criados na ACL? se não tiverem é normal da erro. Grupos = { "BOPE", "PMRJ", "EB", } rRoot = getResourceRootElement(getThisResource()) anims = { "F_smklean_loop", "M_smklean_loop", "M_smkstnd_loop", "M_smk_drag", "M_smk_in", "M_smk_loop", "M_smk_out", "M_smk_tap" , } Cadeias = { {6, 264.1315612793, 78.142135620117, 1001.0390625}, {5, 318.66549682617, 317.41366577148, 999.1484375}, {3, 199, 161.66580200195, 1003.0299682617} } function prisao(Policial, cmd, Jogador) local accName = getAccountName(getPlayerAccount(Policial)) for i = 1, #Grupos do if isObjectInACLGroup("user."..accName, aclGetGroup(Grupos[i])) then if cmd == "prender" then if Jogador then Jogador = getPlayerFromPartialName(Jogador) estrelasdeprocurado = getPlayerWantedLevel(Jogador) local jX, jY, jZ = getElementPosition (Jogador) local pX, pY, pZ = getElementPosition (Policial) local dist = getDistanceBetweenPoints3D ( pX, pY, pZ, jX, jY, jZ) if Jogador == Policial then return outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E Voce nao pode prender voce mesmo!", Policial, 255, 255, 255, true) elseif ( estrelasdeprocurado == 0 ) then return outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E Este jogador não possui nivel de procurado!", Policial, 255, 255, 255, true ) elseif dist >= 3 then return outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E Chegue perto do Jogador para prender!", Policial, 255, 255, 255, true ) end Prender(Jogador) outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E Voce ganhou #00ff00R$15,000#A09E9E por prender o jogador #ffffff"..getPlayerName(Jogador).." #c1c1c1!", Policial, 255 , 255, 255, true) givePlayerMoney(Policial, 15000) else outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E Digite o nome do Jogador!", Policial, 255, 255, 255, true) end elseif cmd == "liberar" then if Jogador then Jogador = getPlayerFromPartialName(Jogador) estrelasdeprocurado = getPlayerWantedLevel(Jogador) if Jogador == Policial then return outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E Voce nao pode liberar voce mesmo!", Policial, 255, 255, 255, true) elseif not getElementData(Jogador, "preso") or not getElementData(rRoot,""..getPlayerSerial(Jogador).."-j") then return outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E Este jogador nao esta preso!", Policial, 255, 255, 255, true ) end Liberar(Jogador) else outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E Digite o nome do Jogador!", Policial, 255, 255, 255, true) end end end end end addCommandHandler("prender", prisao) addCommandHandler("liberar", prisao) function Prender(Jogador) if isPedInVehicle(Jogador) then removePedFromVehicle(Jogador) end setElementDimension(Jogador, math.random(1, 255)) setElementInterior(Jogador, unpack(Cadeias[math.random(#Cadeias)]) ) setElementData(Jogador, "preso", true) setElementData(rRoot,""..getPlayerSerial(Jogador).."-j",true) setPedAnimation(Jogador,"SMOKING", anims[math.random(#anims)]) outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E Voce foi preso!", Jogador, 255, 255, 255, true) outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E O Jogador "..getPlayerName(Jogador).."#A09E9E foi preso!", root, 255, 255, 255, true) end function Liberar(Jogador) setElementDimension(Jogador, 0) setElementInterior(Jogador, 0, 1552.9320068359-math.random(3), -1676.1313476563, 16.1953125) setPedAnimation(Jogador, nil, nil) setPlayerWantedLevel(Jogador, 0) outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E Voce foi solto", Jogador, 255, 255, 255, true) outputChatBox("#000000[#FC0303PRENDER#000000]#A09E9E O Jogador "..getPlayerName(Jogador).."#A09E9E foi liberado da cadeia!", root, 255, 255, 255, true) removeElementData(Jogador, "preso") takeAllWeapons(Jogador) takePlayerMoney(Jogador, 15000) removeElementData(rRoot,""..getPlayerSerial(Jogador).."-j") end function onPlayerSpawn() if getElementData(source, "preso") then setElementDimension(source, math.random(1, 255)) setElementInterior(source, unpack(Cadeias[math.random(#Cadeias)]) ) setPedAnimation(source,"SMOKING",anims[math.random(#anims)]) end end addEventHandler("onPlayerSpawn", root, onPlayerSpawn) function onPlayerJoin() if getElementData(rRoot,""..getPlayerSerial(source).."-j") then setElementDimension(source, math.random(1, 255)) setElementInterior(source, unpack(Cadeias[math.random(#Cadeias)])) setPedAnimation(source,"SMOKING",anims[math.random(#anims)]) setPlayerWantedLevel(source, 6) end end addEventHandler("onPlayerJoin", root, onPlayerJoin) function onSetTime() for _, v in pairs(getElementsByType("player")) do if ( getElementData(rRoot,""..getPlayerSerial(v).."-j") or ( getElementData(v, "preso") ) ) then setPlayerWantedLevel(v, getPlayerWantedLevel(v)-1) if ( getPlayerWantedLevel(v) == 0 ) then Liberar(v) end end end end setTimer(onSetTime, 60000, 0) function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end EDIT: Testado.
  13. No caso o script está funcionando apenas para o BOPE e você quer colocar as outras ACL? se não for isso ta dando algum erro no debugscript ?
  14. Da uma arrumada no seu tópico e use a função "Code" para que fique mais fácil de nós entender.
  15. @kevincouto6 Eu testei aqui e está funcionando só achei dois probleminha, vou enviar a correção logo a baixo, eu tirei algumas linhas desnecessárias. @Jonas^ Eu não sei muito o motivo de quando eu colo o script do vscode aqui no forum a indentação fica toda zoada, ksks CORREÇÃO zonapvp = createColRectangle ( 5441.9, -1926.4, 119.5, 133 ) event_iniciado = 1 verificarOne = 0 local spawns = { {5460.70264, -1825.30945, 10.97057}, {5454.74805, -1884.13953, 10.29621}, {5537.57373, -1887.13306, 11.04092}, {5545.14746, -1829.44873, 10.29401}, {5501.95557, -1861.66174, 10.29621} } oldTeam = {} -- Tabela para salvar o Team antigo. function start_admin_event (player) if event_iniciado == 1 then local accName = getAccountName(getPlayerAccount(player)) if isObjectInACLGroup("user."..accName, aclGetGroup("Owner")) then outputDebugString ("Evento Iniciado") event_iniciado = event_iniciado + 1 i = 0 pvp_1 = createTeam("PVP-Red [use /pvp]", 255, 0, 0) pvp_2 = createTeam("PVP-Green [use /pvp]", 0, 255, 0) pvp_3 = createTeam("PVP-Blue [use /pvp]", 0, 0, 255) pvp_4 = createTeam("PVP-Yellow [use /pvp]", 255, 255, 0) addCommandHandler ( "pvp", tele ) end end end addCommandHandler ( "eventStart", start_admin_event ) function entrar_na_zona( thePlayer, matchingDimension ) if getElementType ( thePlayer ) == "player" then redirecionar_team (thePlayer ) end end addEventHandler("onColShapeHit", zonapvp, entrar_na_zona) function sair_da_zona( thePlayer, matchingDimension ) if getElementType ( thePlayer ) == "player" then retirar_team (thePlayer ) end end addEventHandler("onColShapeLeave", zonapvp, sair_da_zona) function tele(player) local teles = math.random ( #spawns ) if ( teles ) then local isTeamPlayer = getPlayerTeam ( player ) verificarOne = verificarOne +1 setElementData(player,"inPVP",true) redirecionar_team(player) setElementPosition(player, unpack ( spawns [ teles ] )) end end function redirecionar_team (thePlayer) playerTeam = getPlayerTeam(thePlayer) i = i + 1 if i > 4 then i = 1 end if pvp_1 and pvp_2 and pvp_3 and pvp_4 then if playerTeam then --/// Verifica se o player já estava em um Team oldTeam[thePlayer] = getTeamName(playerTeam) --/// Salva o Team na tabela oldTeam end if i == 1 then setPlayerTeam ( thePlayer, pvp_1 ) end if i == 2 then setPlayerTeam ( thePlayer, pvp_2 ) end if i == 3 then setPlayerTeam ( thePlayer, pvp_3 ) end if i == 4 then setPlayerTeam ( thePlayer, pvp_4 ) end end end function retirar_team (player) if getTeamFromName(oldTeam[player]) then --/// Verifica se o Team antigo ainda existe setPlayerTeam(player, getTeamFromName(oldTeam[player])) --/// Seta o player no Team que está na tabela oldTeam end end addCommandHandler("stop123", function (player) local accName = getAccountName ( getPlayerAccount ( player ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then if event_iniciado >= 2 then for k , v in ipairs(getElementsByType("player")) do if getElementData(v,"inPVP") then retirar_team(v) end end destroyElement(pvp_1) destroyElement(pvp_2) destroyElement(pvp_3) destroyElement(pvp_4) removeCommandHandler("pvp") event_iniciado = 1 end end end) EDIT: Testado.
  16. napvp = createColRectangle ( 5441.9, -1926.4, 119.5, 133 ) event_iniciado = 1 verificarOne = 0 local spawns = { { 5460.70264, -1825.30945, 10.97057 }, { 5454.74805, -1884.13953, 10.29621 }, { 5537.57373, -1887.13306, 11.04092 }, { 5545.14746, -1829.44873, 10.29401 }, { 5501.95557, -1861.66174, 10.29621 } } oldTeam = {} -- Tabela para salvar o Team antigo. function start_admin_event (player) if event_iniciado == 1 then local accName = getAccountName ( getPlayerAccount ( player ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then outputDebugString ("Evento Iniciado") event_iniciado = event_iniciado +1 i = 0 pvp_1 = createTeam("PVP-Red [use /pvp]", 255, 0, 0) pvp_2 = createTeam("PVP-Green [use /pvp]", 0, 255, 0) pvp_3 = createTeam("PVP-Blue [use /pvp]", 0, 0, 255) pvp_4 = createTeam("PVP-Yellow [use /pvp]", 255, 255, 0) addCommandHandler ( "pvp", tele ) end else outputChatBox("The event is already activated", player, 255, 0, 0) end end addCommandHandler ( "eventStart", start_admin_event ) function entrar_na_zona( thePlayer, matchingDimension ) if getElementType ( thePlayer ) == "player" then --outputChatBox( "Working One" ) redirecionar_team (thePlayer ) end end addEventHandler("onColShapeHit", zonapvp, entrar_na_zona) function sair_da_zona( thePlayer, matchingDimension ) if getElementType ( thePlayer ) == "player" then --outputChatBox( "Working Two" ) retirar_team (thePlayer ) end end addEventHandler("onColShapeLeave", zonapvp, sair_da_zona) function tele(player) local teles = math.random ( #spawns ) if ( teles ) then local isTeamPlayer = getPlayerTeam ( player ) if getElementData(player,"SavedTeam") then setElementData(player,"inPVP",true) else --outputDebugString ("Esse playe foi pro pvp mas não tem team") verificarOne = verificarOne +1 end setElementPosition(player, unpack ( spawns [ teles ] )) end end function redirecionar_team (thePlayer) playerTeam = getPlayerTeam(thePlayer) i = i + 1 if i > 4 then i = 1 end if pvp_1 and pvp_2 and pvp_3 and pvp_4 then if playerTeam then --/// Verifica se o player já estava em um Team oldTeam[thePlayer] = getTeamName(playerTeam) --/// Salva o Team na tabela oldTeam end if i == 1 then setPlayerTeam ( thePlayer, pvp_1 ) end if i == 2 then setPlayerTeam ( thePlayer, pvp_2 ) end if i == 3 then setPlayerTeam ( thePlayer, pvp_3 ) end if i == 4 then setPlayerTeam ( thePlayer, pvp_4 ) end end end function retirar_team (player) if getElementData(player,"SavedTeam") then if getTeamFromName(oldTeam[player]) then --/// Verifica se o Team antigo ainda existe setPlayerTeam(player, getTeamFromName(oldTeam[player])) --/// Seta o player no Team que está na tabela oldTeam end local t = getElementData ( player, "SavedTeam" ) setElementData(player,"SavedTeam",false) end end addCommandHandler("stop123", function (player) local accName = getAccountName ( getPlayerAccount ( player ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then if event_iniciado >= 2 then for k , v in ipairs(getElementsByType("player")) do if getElementData(v,"inPVP") then retirar_team (v) end end for i, team in ipairs(getElementsByType("team")) do destroyElement(team) end removeCommandHandler ( "pvp" ) event_iniciado = 1 else outputChatBox("Unable to stop because it was not started", player, 255, 0, 0) end end end) Tenta isso. EDIT: Não testei.
  17. Sry ksks, Eu ainda suspeitei de ter entendido errado.
  18. Um exemplo simples e prático: element1 = 5 -- 5 reais element2 = 4.08 -- 1 dólar element3 = element1/element2 -- element3 vai ser igual o element1 dividido por 4.08 outputChatBox(element1.." dividido por "..element2.." = "..element3) (Não sei se era essa a sua dúvida)
  19. Tem uns elementData que eu não entendi o motivo de sua existência, então deixei eles ai, kk. As linhas que acrescentei/ editei eu comentei com --/// explicando ela napvp = createColRectangle ( 5441.9, -1926.4, 119.5, 133 ) event_iniciado = 1 verificarOne = 0 local spawns = { { 5460.70264, -1825.30945, 10.97057 }, { 5454.74805, -1884.13953, 10.29621 }, { 5537.57373, -1887.13306, 11.04092 }, { 5545.14746, -1829.44873, 10.29401 }, { 5501.95557, -1861.66174, 10.29621 } } oldTeam = {} -- Tabela para salvar o Team antigo. function start_admin_event (player) if event_iniciado == 1 then local accName = getAccountName ( getPlayerAccount ( player ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then outputDebugString ("Evento Iniciado") event_iniciado = event_iniciado +1 i = 0 pvp_1 = createTeam("PVP-Red [use /pvp]", 255, 0, 0) pvp_2 = createTeam("PVP-Green [use /pvp]", 0, 255, 0) pvp_3 = createTeam("PVP-Blue [use /pvp]", 0, 0, 255) pvp_4 = createTeam("PVP-Yellow [use /pvp]", 255, 255, 0) addCommandHandler ( "pvp", tele ) end else outputChatBox("The event is already activated", player, 255, 0, 0) end end addCommandHandler ( "eventStart", start_admin_event ) function entrar_na_zona( thePlayer, matchingDimension ) if getElementType ( thePlayer ) == "player" then --outputChatBox( "Working One" ) redirecionar_team (thePlayer ) end end addEventHandler("onColShapeHit", zonapvp, entrar_na_zona) function sair_da_zona( thePlayer, matchingDimension ) if getElementType ( thePlayer ) == "player" then --outputChatBox( "Working Two" ) retirar_team (thePlayer ) end end addEventHandler("onColShapeLeave", zonapvp, sair_da_zona) function tele(player) local teles = math.random ( #spawns ) if ( teles ) then local isTeamPlayer = getPlayerTeam ( player ) if getElementData(player,"SavedTeam") then setElementData(player,"inPVP",true) else --outputDebugString ("Esse playe foi pro pvp mas não tem team") verificarOne = verificarOne +1 end setElementPosition(player, unpack ( spawns [ teles ] )) end end function redirecionar_team (thePlayer) playerTeam = getPlayerTeam(thePlayer) i = i + 1 if i > 4 then i = 1 end if pvp_1 and pvp_2 and pvp_3 and pvp_4 then if playerTeam then --/// Verifica se o player já estava em um Team oldTeam[thePlayer] = getTeamName(playerTeam) --/// Salva o Team na tabela oldTeam end if i == 1 then setPlayerTeam ( thePlayer, pvp_1 ) end if i == 2 then setPlayerTeam ( thePlayer, pvp_2 ) end if i == 3 then setPlayerTeam ( thePlayer, pvp_3 ) end if i == 4 then setPlayerTeam ( thePlayer, pvp_4 ) end end end function retirar_team (player) if getElementData(player,"SavedTeam") then if getTeamFromName(oldTeam[playerTeam]) then --/// Verifica se o Team antigo ainda existe setPlayerTeam(player, getTeamFromName(oldTeam[playerTeam])) --/// Seta o player no Team que está na tabela oldTeam end local t = getElementData ( player, "SavedTeam" ) setElementData(player,"SavedTeam",false) end end addCommandHandler("stop123", function (player) local accName = getAccountName ( getPlayerAccount ( player ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Owner" ) ) then if event_iniciado >= 2 then for k , v in ipairs(getElementsByType("player")) do if getElementData(v,"inPVP") then retirar_team (v) end end for i, team in ipairs(getElementsByType("team")) do destroyElement(team) end removeCommandHandler ( "pvp" ) event_iniciado = 1 else outputChatBox("Unable to stop because it was not started", player, 255, 0, 0) end end end) EDIT: Não testei.
  20. function MensagemFRP(source, cmd, ...) local MessagemFRP = table.concat ( { ... }, " " ); local getName = getElementData(source, "Nome") or "n.a" local getLastName = getElementData(source, "Sobrenome") or "n.a" local getID = getElementData(source, "ID") or "n.a" for _,v in ipairs(getElementsByType("player")) do outputChatBox("#Fora Do RP ➠: #FFFFFF["..getID.."] "..getName.." "..getLastName.." #ffffff"..MessagemFRP,v, 255, 255, 255, true) end end addCommandHandler("rp", MensagemFRP) EDIT: Não testei.
  21. Poderia dar um Thanks no meu comentário que ajudei? Para que eu possa lhe ajudar nessa outra questão, você conseguiria me informar os elementData que fica o Nome e o Sobrenome?
  22. function MensagemFRP(source, cmd, ...) local MessagemFRP = table.concat ( { ... }, " " ); local name = getPlayerName(source); local getID = getElementData(source, "ID") or "n.a" -- Caso o elementData do seu sistema de id não for "ID" só alterar aqui. for _,v in ipairs(getElementsByType("player")) do outputChatBox("#Fora Do RP ➠: #FFFFFF["..getID.."] "..name.." #ffffff"..MessagemFRP,v, 255, 255, 255, true) end end addCommandHandler("rp", MensagemFRP) EDIT: Não testei.
  23. As linha que editei eu comentei. Dai quando o cara sentar você seta o inUse como true para outra pessoa não conseguir sentar. Dai você vai precisar fazer os bindKey local posChairs = { [1] = {1579.4000244141,-1675.8000488281 ,15.199999809265}, -- cadeira interrogado (suspeito) 1 [2] = {1580, -1677.5, 15.199999809265}, -- cadeira interrogado (suspeito) 2 [3] = {1582.0999755859, -1676.3000488281, 15.199999809265}, -- -- cadeira interrogador (policial) } local chairDatas = { -- Tabela com algumas "config" da cadeira. ID = {}, -- ID da cadeira. inUse = {}, -- Se a cadeira está em uso. } local chairTable = {} function resStart() for i, chair in ipairs(posChairs) do chairTable[i] = createMarker(chair[1], chair[2], chair[3], "cylinder", 1.2, 255,0, 0, 100) chairDatas.ID[chairTable[i]] = i -- Seta o ID na tabela chairDatas chairDatas.inUse[chairTable[i]] = false -- Seta o inUse como false na tabela chairDatas outputChatBox(tostring(chairTable[i])) addEventHandler("onMarkerHit", chairTable[i], hittingMk) addEventHandler("onMarkerLeave", chairTable[i], leavingMk) end end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), resStart) function resStopCircle() if chairTable[i] then destroyElement(chairTable[i]) chairTable[i] = nil destroyElement(chairDatas.ID) destroyElement(chairDatas.inUse) chairDatas.ID = nil chairDatas.inUse = nil outputChatBox(tostring(chairTable[i])) end end addEventHandler("onResourceStop", getResourceRootElement(getThisResource()), resStopCircle) function hittingMk (element) if getElementType(element) == "player" and getElementType(source) == "marker" then if chairDatas.inUse[source] == false then outputChatBox("Hitting Chair ID: "..chairDatas.ID[source]..".") -- Retorna o ID da cadeira. exports.inMarkerMsg:create(element, "pressione E para sentar") else outputChatBox("Chair in use.") -- Se a cadeira está em uso. end end end function leavingMk (element) if getElementType(element) == "player" and getElementType(source) == "marker" then outputChatBox("Leaving Chair ID: "..chairDatas.ID[source]..".") -- Retorna o ID da cadeira. exports.inMarkerMsg:delete(element) end end EDIT: Não testei.
×
×
  • Create New...