Perigoso Posted April 11, 2021 Share Posted April 11, 2021 Preciso de um evento tipo a acl Admin da um comando ai vai aparecer um blip em cima dele e quando algum jogador matar ele ganha uma recompensa e some o blip e aparece no chat avisando quem foi o ganhador do premio porfavor ajuda ai meus mano tipo esse do link https://imgur.com/a/FNrRoO2 Link to comment
Administrators Tut Posted April 11, 2021 Administrators Share Posted April 11, 2021 Your thread has been moved to the Portuguese scripting section. Link to comment
KronoS Lettify Posted April 12, 2021 Share Posted April 12, 2021 On 10/04/2021 at 22:08, Perigoso said: Preciso de um evento tipo a acl Admin da um comando ai vai aparecer um blip em cima dele e quando algum jogador matar ele ganha uma recompensa e some o blip e aparece no chat avisando quem foi o ganhador do premio porfavor ajuda ai meus mano tipo esse do link https://imgur.com/a/FNrRoO2 Isso não seria um evento, mas sim um script. Abaixo está um código que simularia o quê você precisa: Spoiler local alvos = {} addCommandHandler('memate', function (player, cmd) if (isObjectInACLGroup('user.'..getAccountName(getPlayerAccount(player)), aclGetGroup('Admin'))) then if (not alvos[player]) then alvos[player] = createBlipAttachedTo(player, 0, 4, 255, 0, 0, -1, 65535) print('Mate o ADMIN e ganhe recompensas!') else print('Você já está marcado!') end end end ) addEventHandler('onPlayerWasted', root, function (_, killer) if (alvos[source] and killer) then destroyElement(alvos[source]) alvos[source] = nil print('O ADMIN foi morto por *killer') --DÊ A RECOMPENSA AQUI! end end ) 1 Link to comment
Perigoso Posted April 13, 2021 Author Share Posted April 13, 2021 7 hours ago, KronoS Lettify said: Isso não seria um evento, mas sim um script. Abaixo está um código que simularia o quê você precisa: Hide contents local alvos = {} addCommandHandler('memate', function (player, cmd) if (isObjectInACLGroup('user.'..getAccountName(getPlayerAccount(player)), aclGetGroup('Admin'))) then if (not alvos[player]) then alvos[player] = createBlipAttachedTo(player, 0, 4, 255, 0, 0, -1, 65535) print('Mate o ADMIN e ganhe recompensas!') else print('Você já está marcado!') end end end ) addEventHandler('onPlayerWasted', root, function (_, killer) if (alvos[source] and killer) then destroyElement(alvos[source]) alvos[source] = nil print('O ADMIN foi morto por *killer') --DÊ A RECOMPENSA AQUI! end end ) Como eu poderia adicionar tambem o nome do player no mapa EX: o cifrao e o nome do jogador que deu o comando aparece no 'f11' mapa. Link to comment
KronoS Lettify Posted April 13, 2021 Share Posted April 13, 2021 12 hours ago, Perigoso said: Como eu poderia adicionar tambem o nome do player no mapa EX: o cifrao e o nome do jogador que deu o comando aparece no 'f11' mapa. Isso vai depender do sistema de mapa que você usa no seu servidor. Alguns são criados para aparecer nicks de jogadores no mapa, outros não. Link to comment
Jonas^ Posted April 14, 2021 Share Posted April 14, 2021 On 12/04/2021 at 14:55, KronoS Lettify said: Isso não seria um evento, mas sim um script. Abaixo está um código que simularia o quê você precisa: Hide contents local alvos = {} addCommandHandler('memate', function (player, cmd) if (isObjectInACLGroup('user.'..getAccountName(getPlayerAccount(player)), aclGetGroup('Admin'))) then if (not alvos[player]) then alvos[player] = createBlipAttachedTo(player, 0, 4, 255, 0, 0, -1, 65535) print('Mate o ADMIN e ganhe recompensas!') else print('Você já está marcado!') end end end ) addEventHandler('onPlayerWasted', root, function (_, killer) if (alvos[source] and killer) then destroyElement(alvos[source]) alvos[source] = nil print('O ADMIN foi morto por *killer') --DÊ A RECOMPENSA AQUI! end end ) Não esqueça que você esta lidando com o lado servidor, por tanto muita atenção, prevejo problemas nesse seu código. @Perigoso Não se acostume: server-side local eventoAtivado = false -- Variável que vai informar se o evento esta ou não ativo (atualmente desativado). local saveAdmin -- Variável que vai guardar o admin que ativar o evento. function eventoStart (thePlayer, cmd) if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount (thePlayer)), aclGetGroup ("Admin")) then -- Se o player que usar o comando for admin, então: if (eventoAtivado == false) then -- Se o evento não estiver ativado, então: blipEvento = createBlipAttachedTo (thePlayer, 0, 2, 0, 0, 255) -- Seta o blip no admin visível para todos (pois estamos no server então não precisa declarar visibleTo) saveAdmin = thePlayer -- Salva o playerSource na variável saveAdmin para poder cancelar o evento. eventoAtivado = true -- Seta a variável como true (evento ativado). setElementData (saveAdmin, "adminEventoStarted", true) -- Seta a data informando se o admin esta com evento ativo. clearChatBox () -- Limpa o chat pra ser bem visível para todos. outputChatBox ("[INFO] #FFFFFFO(A) admin '#00FF00"..string.gsub(getPlayerName (thePlayer), "#%x%x%x%x%x%x", "").."#FFFFFF' começou o evento mate o admin.", root, 0, 255, 0, true) outputChatBox ("[INFO] #FFFFFFPara ver a localização do admin aperte a tecla #00FF00'F11' #FFFFFFo ponto azul representa a localização exata do admin.", root, 0, 255, 0, true) outputChatBox ("[OBS] #FFFFFFLembrando que o admin tem a opção de revidar a agressão.", root, 255, 50, 50, true) else -- senão: outputChatBox ("[INFO] #FFFFFFO evento já esta ativo para cancelar use #FF3232/estop", thePlayer, 255, 50, 50, true) end end end addCommandHandler ("estart", eventoStart) function eventoStop (thePlayer, cmd) if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount (thePlayer)), aclGetGroup ("Admin")) then -- Se o player que usar o comando for admin, então: if (eventoAtivado == true) then -- Se o evento já estiver ativado, então: removeElementData (saveAdmin, "adminEventoStarted") -- Remove a data informando se o admin esta com evento ativo. if isElement (blipEvento) then -- Se existir o elemento blipEvento, então: destroyElement (blipEvento) -- Retira o blip do admin. end saveAdmin = nil -- Seta a variável como nil ficando inexistente. eventoAtivado = false -- Seta a variável como false (evento desativado). clearChatBox () -- Limpa o chat pra ser bem visível para todos. outputChatBox ("[INFO] #FFFFFFO(A) admin '#FF3232"..string.gsub(getPlayerName (thePlayer), "#%x%x%x%x%x%x", "").."#FFFFFF' cancelou o evento.", root, 255, 50, 50, true) else outputChatBox ("[INFO] #FFFFFFO evento já esta desativado para ativar use #FF3232/estart", thePlayer, 255, 50, 50, true) end end end addCommandHandler ("estop", eventoStop) addEventHandler ("onPlayerWasted", root, function (ammo, attacker, damageType) if (attacker and attacker ~= source) and getElementData (source, "adminEventoStarted") then local killer = getKiller (attacker) -- Variável que chama a função que verifica se elemento é um veículo/player. if killer then -- Se o jogador matou o admin, então: clearChatBox () -- Limpa o chat pra ser bem visível para todos. outputChatBox ("[EVENTO] #FFFFFFO(A) jogador '#FF3232"..string.gsub(getPlayerName (killer), "#%x%x%x%x%x%x", "").."#FFFFFF' matou o admin '#FF3232"..string.gsub(getPlayerName (source), "#%x%x%x%x%x%x", "").."#FFFFFF' e ganhou o evento.", root, 255, 50, 50, true) clearChatBox (killer) -- Limpa o chat somente pra quem matou o admin. outputChatBox ("[EVENTO] #FFFFFFVocê matou o admin '#00FF00"..string.gsub(getPlayerName (source), "#%x%x%x%x%x%x", "").."#FFFFFF' e ganhou o evento.", killer, 0, 255, 0, true) removeElementData (source, "adminEventoStarted") -- Remove a data informando se o admin esta com evento ativo. if isElement (blipEvento) then -- Se o elemento blipEvento existir, então: destroyElement (blipEvento) -- Retira o blip do jogador. end eventoAtivado = false -- Seta a variável como false (evento desativado). end end end) addEventHandler ("onPlayerQuit", root, function () if getElementData (source, "adminEventoStarted") then -- Se o admin estiver com o evento ativo, então: clearChatBox () -- Limpa o chat pra ser bem visível para todos. outputChatBox ("[INFO] #FFFFFFO(A) admin '#FF3232"..string.gsub(getPlayerName (source), "#%x%x%x%x%x%x", "").."#FFFFFF' saiu do servidor e o evento foi cancelado.", root, 255, 50, 50, true) removeElementData (source, "adminEventoStarted") -- Remove a data informando se o admin esta com evento ativo. if isElement (blipEvento) then -- Se o elemento blipEvento existir, então: destroyElement (blipEvento) -- Retira o blip do jogador. end eventoAtivado = false -- Seta a variável como false (evento desativado). end end) addEventHandler ("onResouceStop", root, function () if getElementData (source, "adminEventoStarted") then -- Se o admin estiver com o evento ativo, então: removeElementData (source, "adminEventoStarted") -- Remove a data informando se o admin esta com evento ativo. end end) function getKiller (v) local player if getElementType (v) == "vehicle" then -- Se o elemento for um veículo, então: player = getVehicleController (v) -- Verifica o motorista do veículo. elseif getElementType(v) == "player" then -- Se o elemento for um jogador, então: player = v end return getElementType(player) == "player" and player or false -- Validar se é um jogador e retorna-lo. end 1 Link to comment
KronoS Lettify Posted April 15, 2021 Share Posted April 15, 2021 50 minutes ago, Jonas^ said: Não esqueça que você esta lidando com o lado servidor, por tanto muita atenção, prevejo problemas nesse seu código. Eu só indiquei o quê ele precisava entender para que fizesse a versão dele, por isso não me submeti a preencher com todos os detalhes. Mas já foi suficiente você ter feito isso 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