Doongogar Posted March 24, 2023 Share Posted March 24, 2023 (edited) -- client function BlipPolicia(players) local blip = createBlipAttachedTo(players, 0) end addEvent("BlipPM", true) addEventHandler("BlipPM", root, BlipPolicia) -- server function start(playerSource, qntd) if exports.BVNInventario:GiveAndTakeAndGetItem("get", playerSource, "maconhaembalada") >= qntd then local random = math.random(6, 6) if random == 6 then exports._infobox:addNotification(playerSource, "O Comprador Recusou e Chamou as Autoridades!", "error") for i, players in ipairs(getElementsByType("player")) do if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(players)), aclGetGroup("Policie")) then exports._infobox:addNotification(players, "Denuncia de Traficante Vendendo Ilegais, o Traficante Foi Marcado no Mapa", "info") triggerClientEvent("BlipPM", players, playerSource) end end else exports.BVNInventario:GiveAndTakeAndGetItem("take", playerSource, "maconhaembalada", qntd) exports.BVNInventario:GiveAndTakeAndGetItem("give", playerSource, "dinheirosujo", qntd * 2000) local time = qntd * 2 if time > 5000 * 5 then time = 5000 * 5 elseif time < 5000 then time = 5000 end setElementFrozen(playerSource, true) toggleAllControls(playerSource, false, true, false) setPedAnimation(playerSource, "CASINO", "dealone", -1, true, false, false, false, _, true) triggerClientEvent(playerSource, "progressBar", playerSource, time) exports._infobox:addNotification(playerSource, "Vendendo a Droga...", "info") setTimer(function() setElementFrozen(playerSource, false) toggleAllControls(playerSource, true) setPedAnimation(playerSource, nil) exports._infobox:addNotification(playerSource, "Você Vendeu " .. tonumber(qntd) .. "x 'Maconha' e recebeu " .. tonumber(qntd * 2000) .. " de Dinheiro Sujo", "money") end, time, 1) end else exports._infobox:addNotification(playerSource, "Você não possui " .. tonumber(qntd) .. "x 'Maconha' na sua mochila", "error") end end addEvent("Start", true) addEventHandler("Start", resourceRoot, start) esse código faz com que crie um blip para os policiais no vendedor caso o comprador recuse a venda, porém eu gostaria que quando o playersource morrer ou passar 10 minutos os blip suma, não to conseguindo de jeito nenhum não to conseguindo passar o blip do client para o server, ajuda ai pelo amor de deus OBS: deixei a chance em 100%, só porque eu tava testando Edited March 24, 2023 by SciptNovato Link to comment
Other Languages Moderators Lord Henry Posted March 25, 2023 Other Languages Moderators Share Posted March 25, 2023 (edited) Seu triggerClientEvent está incorreto, a indentação também tem que corrigir. Em vez de chamar vários triggers (1 para cada policial) é mais fácil vc primeiro obter todos os players policiais numa tabela e depois dar um único trigger para essa tabela de policiais. Sempre prefira fazer um trigger grande do que vários pequenos. Exemplo maroto: -- SERVER-SIDE function getCops() local cops = {} -- Tabela de policiais. for _, players in pairs(getElementsByType("player")) do if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(players)), aclGetGroup("Policie")) then -- Tem certeza que a ACL Group tem esse nome? table.insert(cops, players) -- Adiciona esse jogador na lista "cops" se ele estiver na ACL Group "Policie". end end return cops end addCommandHandler("eae", function(thePlayer, cmd) local policiais = getCops() -- Obtém uma lista de players policiais online. if #policiais > 0 then -- Se tem algum policial no server (tabela não está vazia), então: triggerClientEvent(policiais, "BlipPM", thePlayer) -- Ativa esse evento só pros policiais, usando thePlayer como source do evento. end end) -- CLIENT-SIDE function BlipPolicia() local blip = createBlipAttachedTo(source) -- Se o ícone for 0, não precisa declará-lo. setTimer(destroyElement, 5*1000, 1, blip) -- Destrói o blip após 5 segundos. end addEvent("BlipPM", true) addEventHandler("BlipPM", root, BlipPolicia) Edited March 25, 2023 by Lord Henry Link to comment
Doongogar Posted March 25, 2023 Author Share Posted March 25, 2023 e como eu implementaria o evento da morte nesse caso ? eu tentei usando getAttachedElements, verificando se o elemento é um blip e se o tipo do blip é 0, ai destruiaria se sim, o blip simplesmente não some function BlipMorte() local blips = getAttachedElements(source) for _, blip in ipairs(blips) do if getElementType(blip) == "blip" then if getBlipType(blip) == 0 then destroyElement(blip) end end end end addEventHandler("onPlayerWasted", root, BlipMorte) Link to comment
Other Languages Moderators Lord Henry Posted March 28, 2023 Other Languages Moderators Share Posted March 28, 2023 Não funciona pois os blips foram criados nos clientes dos policiais e não no servidor. OnPlayerWasted é server-side. Tente usar essa função client-side, mas usando o evento onClientPlayerWasted. 1 Link to comment
Doongogar Posted March 31, 2023 Author Share Posted March 31, 2023 funcionou valeu, também getBlipType não existe é getBlipIcon confundi, tmj brigado! Link to comment
Recommended Posts