Sparta Posted November 27, 2020 Share Posted November 27, 2020 (edited) --Função no SERVER addEvent ("DS: Pegar_armas", true) addEventHandler ("DS: Pegar_armas", root, function (jogador, plano) if plano == "Bronze" then for _, v in ipairs (armas_bronze) do if not exports.inventario: hasItemS (jogador, v) then extensions.inventario: giveItem (jogador, v, 1, 1, 1, 1) end end elseif plano == "Prata" then for _, v in ipairs (armas_prata) do if not exports.inventario : hasItemS (jogador, v) depois exporta.inventario: giveItem (jogador, v, 1, 1, 1, 1) end end elseif plano == "Ouro" então triggerEvent ("TS: giveItem", source, source, 28, 1) - Arma elseif plano == "Diamante" then for _, v in ipairs (armas_diamante) do if not extensions.inventario: hasItemS (jogador, v) depois exportações.inventario: giveItem (jogador, v, 1, 1, 1, 1) end end end end) Spoiler --FUNÇAO NO CLIENT local Marcador = dxCreateTexture ("Imagens / marker.png") local backg = dxCreateTexture ("Imagens / backg.jpg") local tick = getTickCount () local screenW, screenH = guiGetScreenSize () local resW, resH = 1366.768 local x, y = (screenW / resW), (screenH / resH) fonte local = dxCreateFont ("fonte.ttf", x * 22) DGS local = exports.dgs --------------- - ------------------------------ Função personalizada do Marcador image_marcadores () Op1 local, Op2 = interpolateBetween (0.4, 1.4, 0, 0,7, 1,7, 0, ((getTickCount () - tick) / 1500), "SineCurve") Op3 local, Op4, Op5 = Entre interpolar (1.21, 1.2, 2.5, 1.22, 1.3, 2.6, ((getTickCount () - tick) / 1500), "SineCurve") local px, py, pz, l1, l2, l3, dist local px, py, pz = getCameraMatrix () para _, h em ipairs (getElementsByType 'marcador') faça se getElementData (h, "DS: Marker") então local l1, l2, l3 = getElementPosition (h) local r, g, b, a = getMarkerColor (h) local dist = math.sqrt ((px + l1) ^ 0 + (py + l2) ^ 0 + (pz + l3) ^ 0) se dist <20 então se isLineOfSightClear (px , py, pz, l1, l2, l3, falso, falso, verdadeiro, verdadeiro, falso, falso, falso, localPlayer) then local x, y = getScreenFromWorldPosition (l1, l2, l3) se x, então dxDrawMaterialLine3D (L1, L2 - OP3, L3 + 0,03, L1, L2 + OP4, L3 + 0,03, Marcador, Op5, toColor (r , g, b, 255), 0,0, -1730900) definitiva extremidade final de extremidade finais extremidade AddEventHandler ( "onClientRender", raiz, image_marcadores) ------------------- ------------------- ativar vip função centralizar (centralizar) local sx, sy = DGS: dgsGetScreenSize () janela localW, janelaH = DGS: dgsGetSize (centralizar, falso) local x, y = (sx - janelaW) / 2, (sy - janelaH) / 2 DGS: dgsSetPosition (centralizar, x, y, false) end painel_ativar locais = SGD: dgsCreateWindow (0, 0, x * 200, Y * 190, "Painel de ativação", falso) DGS: dgsSetVisible (painel_ativar, falso) DGS: dgsWindowSetSizable (painel_ativar, falso) DGS: dgsWindowSetCloseButtonEnabled (painel_ativar) centralizar (painel_ativar) local ativar = DGS: dgsCreateButton (x * 0, y * 120, x * 90, y * 20, "Ativar", false, painel_ativar) remover local = DGS: dgsCreateButton (x * 0, y * 145, x * 90, y * 20, "Remover", falso, painel_ativar) combinação local = DGS: dgsCreateComboBox (x * 0, y * 0, x * 200, y * 20, "Selecione o vip", falso, painel_ativar) DGS: dgsComboBoxAddItem (combo, "Bronze") DGS: dgsComboBoxAddItem (combo, "Prata") DGS:dgsComboBoxAddItem (combo, "Ouro") DGS: dgsComboBoxAddItem (combo, "Diamante") ID local = DGS: dgsCreateEdit (x * 0, y * 30, x * 90, y * 30, "ID", falso, painel_ativar) Tempo local = DGS: dgsCreateEdit (x * 0, y * 80, x * 90, y * 30, "Tempo", falso, painel_ativar) local segundo = DGS: dgsCreateRadioButton (x * 100, y * 22, x * 30, y * 30, "Segundos", falso , painel_ativar) minutos locais = DGS: dgsCreateRadioButton (x * 100, y * 40, x * 30, y * 30, "Minutos", falso, painel_ativar) local horas = DGS: dgsCreateRadioButton (x * 100, y * 58, x * 30, y * 30, "Horas", falso, painel_ativar) dias locais = DGS: dgsCreateRadioButton (x * 100, y * 76, x * 30, y * 30, "Dias", falso painel_ativar) meses locais = DGS: dgsCreateRadioButton (x * 100, y * 94, x * 30, y * 30, "Meses", falso, painel_ativar) anos locais = DGS: dgsCreateRadioButton (x * 100, y * 112, x * 30, y * 30, "Anos", falso, painel_ativar) jogador = "N / A" plano = "N / A" AddEventHandler ( "onDgsMouseClickDown", painel_ativar, função () se fonte == ativar seguida locais seg = SGD: dgsRadioButtonGetSelected (Segundo) mínimo local = SGD: dgsRadioButtonGetSelected (Minutos) hor locais = SGD: dgsRadioButtonSelected : dgsRadioButtonGetSelected: dgsRadioButtonGet (Dias) mes locais = DGS: dgsRadioButtonGetSelected (meses) local ano = DGS: dgsRadioButtonGetSelected (anos) local tipo = DGS: dgsComboBoxGetSelectedItem (combo) se tipo == -1 então retornar fim se DGS: dgsGetText (ID) == nulo para retornar se DGS: dgsGetText (Tempo) == nil então retornar fim se seg == falso e min == falso e hor == falso e dia == falso e mes == falso e ano == falso então retorna fim se musica_bronze ~ = nil ou musica_prata ~ = nil ou musica_ouro ~ = nil ou musica_diamante ~ = nil então retorna fim local tempinho = tonumber (DGS: dgsGetText (Tempo)) local vip = DGS: dgsComboBoxGetItemText (combo,) local player_plano = checar_player tipo (tonumber (DGS : dgsGetText (ID))) se jogador_plano == nil então retornar end local plano = vip if seg then triggerServerEvent ("DS: Ativacao", localPlayer, jogador_plano, plano, tempinho * 1) elseif min then triggerServerEvent ("DS: Ativacao", localPlayer, jogador_plano, plano, tempinho * 60) elseif hor then triggerServerEvent ("DS: Ativacao", localPlayer, jogador_plano, plano, tempinho * 3600) elseif dia then triggerServerEvent ("DS: Ativacao", localPlayer, jogador_plano, plano, tempinho * 86400) elseif mes then triggerServerEvent ("DS: Ativacao", localPlayer, jogador_plano, plano, tempinho * 2592000) elseif ano depois triggerServerEvent ("DS: Ativacao", localPlayer, jogador_plano, plano, tempinho * 946080000) fim se seg ~ = nil ou min ~ = nil ou hor ~ = nil ou dia ~ = nil ou mes ~ = nil ou ano ~ = nil então triggerServerEvent ("DS: Ativacaodasmusic", localPlayer, vip) local Novo_Nome = getPlayerName (jogador_plano): gsub ("#% x% x% x% x% x% x", "") setElementData (root, "Ultimo_Ativador", Novo_Nome ) setElementData (root, "VIP_do_Ultimo_Ativador", vip) end end if source == remover then local jogador_plano = checar_player (tonumber (DGS: dgsGetText (ID))) local tipo = DGS: dgsComboBoxGetSelectedItem (combo) if tipo ~ = -1 then local vip = DGS: dgsComboBoxGetItemText (combo, tipo) triggerServerEvent ("DS: Remover_", localPlayer, localPlayer, jogador_plano, vip) end end end) setElementData (localPlayer, "DS: Mostrar_mensagem", "Não") function mensagem_na_tela () if getElementData (localPlayer, "DS: Mostrar_mensagem") == "Sim" then dxDrawText ("O (A) Jogador (a)" ..getElementData (localPlayer, "Ultimo_Ativador") .. "\ nAtivou um Plano VIP" ..getElementData (localPlayer, "VIP_do_Ultimo_Ativador") .. "com Sucesso!", x * 0 + 1, y * 0 + 1, x * 1366 + 1, y * 768 + 1, tocolor (255, 255, 255, 255), x * 1.00, fonte, "center", "center", false, false, false, true, false) end end addEventHandler ("onClientRender" , getRootElement (), mensagem_na_tela) addEvent ("DS: Tocar_musica", true) addEventHandler ("DS: Tocar_musica", root, function (VIP) setElementData (localPlayer, "DS: Mostrar_mensagem", "Sim") setTimer (function () setElementData (localPlayer, "DS: Mostrar_mensagem "," Não ") end, 7000, 1) if VIP ==" Bronze "then musica_bronze = playSound (" musicas / bronze.mp3 ") setTimer (function () stopSound (musica_bronze) musica_bronze = nil end, 7000, 1 ) elseif VIP == "Prata" then musica_prata = playSound ("musicas / prata.mp3") setTimer (function () stopSound (musica_prata) musica_prata = nil end, 7000, 1) elseif VIP == "Ouro" then musica_ouro = playSound ("musicas / ouro.mp3") setTimer (function () stopSound (musica_ouro) musica_ouro = nil end, 7000, 1 ) elseif VIP = = "Diamante" then musica_diamante = playSound ("musicas / diamante.mp3") setTimer (function () stopSound (musica_diamante) musica_diamante = nil end, 7000, 1) end end) função checar_player (ID) para _, k em ipairs (getElementsByType ("player")) faz se getElementData (k, "ID") == ID então retorna k end end end addEvent ("DS: Abrir_painel_ativacao", true) addEventHandler ( "DS: Abrir_painel_ativacao", root, function () if DGS: dgsGetVisible (painel_ativar) then DGS: dgsSetVisible (painel_ativar, false) else DGS: dgsSetVisible (painel_ativar, true) end end) addEvent ("DS: Abrir_pronto", true) addEventHandler ("DS: Abrir_pronto", root, função (jogador) triggerEvent ("DS: Abrir_painel_ativacao", jogador) end) function abrir_painel () triggerServerEvent ("DS: Abrir_painel_ativacao_", localPlayer, localPlayer) end bindKey ("f6", "down", abrir_painel) --------------------- ----------------------------------- Abrir painel vip local painel_pegar_itens = DGS: dgsCreateWindow (0, 0, x * 450, y * 300, "Painel de vip", false, nil, 25, nil, 0xFF000000, nil, 0xFF000000) DGS: dgsSetVisible (painel_pegar_itens, false) DGS: dgsWindowSetSizable (painel_pegar_itens, false) DGS: dgsWindowSetCloseButton local ) tabPanel = DGS: dgsCreateTabPanel (0, 0, x * 1, y * 1, verdadeiro, painel_pegar_itens) centralizar (painel_pegar_itens) local arma = dxCreateTexture ("Imagens / armas.png") local avatar1 = dxCreateTexture ("Imagens / avatar1.png") local avatar2 = dxCreateTexture ("Imagens / avatar2.png") local carro = dxCreateTexture ("Imagens / carro.png") local colete = dxCreateTexture ("Imagens / colete.png ") local heli = dxCreateTexture (" Imagens / heli.png ") local moto = dxCreateTexture (" Imagens / moto.png ") addEvent ("DS: Abrir_painel_vipzin", true) addEventHandler ("DS: Abrir_painel_vipzin", root, função (jogador) se isPedInVehicle (jogador), em, retornar fim local vip_bronze = getElementData (jogador_prata Bronze, "DS: vip_prata Bronze ") local jogador, "DS: Prata") local vip_ouro = getElementData (jogador, "DS: Ouro") local vip_diamante = getElementData (jogador, "DS: Diamante") if vip_bronze == false and vip_prata == false and vip_ouro == false and vip_diamante == false then return end if getElementData (jogador, "DS: Bronze") then Bronze = DGS: dgsCreateTab ("Bronze", tabPanel, 1, 1, nil,backg) armasb = DGS: dgsCreateButton (x * 150, y * 50, x * 130, y * 60, "", falso, Bronze, nulo, 1, 1, arma, arma, arma, 0xFFFFFFFF) motob = DGS: dgsCreateButton (x * 150, y * 170, x * 130, y * 80, "", false, Bronze, nil, 1, 1, moto, moto, moto, 0xFFFFFFFF) end if getElementData (jogador, "DS: Prata") então Prata = DGS: dgsCreateTab ("Prata", tabPanel, 1, 1, nil, backg) armasp = DGS: dgsCreateButton (x * 150, y * 50, x * 130, y * 60, "", false, Prata, nil, 1, 1, arma, arma, arma, 0xFFFFFFFF) carrosp = DGS: dgsCreateButton (x * 150, y * 170, x * 130, y * 60, "", false, Prata, nil, 1, 1, carro, carro , carro,0xFFFFFFFF) fim se getElementData (jogador, "DS: Ouro") então Ouro = DGS: dgsCreateTab ("Ouro", tabPanel, 1, 1, nil, backg) armaso = DGS: dgsCreateButton (x * 50, y * 50, x * 130, y * 60, "", falso, Ouro, nulo , 1, 1, arma, arma, arma, 0xFFFFFFFF) carroso = DGS: dgsCreateButton (x * 50, y * 170, x * 130, y * 60, "", false, Ouro, nil, 1, 1, carro, carro, carro, 0xFFFFFFFF) coleteo = DGS: dgsCreateButton (x * 280, y * 50, x * 100, y * 60, "", falso, Ouro, nulo, 1, 1, colete, colete, colete, 0xFFFFFFFF) skino = DGS: dgsCreateButton (x * 280, y * 170, x * 100, y * 60, "", false, Ouro, nil, 1, 1, avatar1, avatar1, avatar1, 0xFFFFFFFF) end if getElementData (jogador, "DS : Diamante ") então Diamante = DGS: dgsCreateTab ("Diamante", tabPanel, 1, 1, nil, backg) armasd = DGS: dgsCreateButton (x * 10, y * 50, x * 130, y * 60, "", falso, Diamante, nil , 1, 1, arma, arma, arma, 0xFFFFFFFF) carrosd = DGS: dgsCreateButton (x * 10, y * 170, x * 130, y * 60, "", falso, Diamante, nil, 1, 1, carro, carro, carro, 0xFFFFFFFF) coleted = DGS: dgsCreateButton (x * 180, y * 50, x * 100, y * 60, "", falso, Diamante, nil, 1, 1, colete, colete, colete, 0xFFFFFFFF) helicd = DGS: dgsCreateButton (x * 180, y * 170, x * 100, y * 60, "", falso, Diamante, nil, 1, 1, heli, heli, heli, 0xFFFFFFFF) skin1d = DGS: dgsCreateButton (x * 340, y * 50, x * 100, y * 60, "", falso, Diamante, nil, 1, 1,avatar1, avatar1, avatar1, 0xFFFFFFFF) skin2d = DGS: dgsCreateButton (x * 340, y * 170, x * 100, y * 60, "", false, Diamante, nil, 1,1, avatar2, avatar2, avatar2, 0xFFFFFFFF) end DGS: dgsSetVisible (painel_pegar_itens, true) addEventHandler ("onDgsMouseClickDown", painel_pegar_itens, function () if source == armasb then triggerServerEvent ("DS: Pegar_armas", localPlayer, localPlayer, "Bronze ClickDown") end end) addEvent, painel_pegar_itens, function () if source == armasp then triggerServerEvent ("DS: Pegar_armas", localPlayer, localPlayer, "Prata") fim end) AddEventHandler ( "onDgsMouseClickDown", painel_pegar_itens, Função () se a fonte == armaso então triggerServerEvent ( "DS: Pegar_armas", localPlayer, localPlayer, "Ouro") end end) AddEventHandler ( "onDgsMouseClickDown", painel_pegar_itens, function () se source == armasd then triggerServerEvent ("DS: Pegar_armas", localPlayer, localPlayer, "Diamante") end end) addEventHandler ("onDgsMouseClickDown", painel_pegar_itens, function () if source == motob then triggerServerEvent ("DS: Pegar_veiculo", localPlayer, localPlayer, "Bronze") triggerEvent ("DS: Fechar_painel_vip", localPlayer) end end) AddEventHandler ( "onDgsMouseClickDown", painel_pegar_itens, function () se uma fonte == carrosp ENTÃO triggerServerEvent ( "DS: Pegar_veiculo", localPlayer, localPlayer, "Prata") triggerEvent ( "DS: Fechar_painel_vip", localPlayer) end end) AddEventHandler ( " onDgsMouseClickDown ", painel_pegar_itens, function () if source == carroso then triggerServerEvent (" DS: Pegar_veiculo ", localPlayer, localPlayer," Ouro ") triggerEvent (" DS: Fechar_painel_vip ",localPlayer) end end) AddEventHandler ( "onDgsMouseClickDown", painel_pegar_itens, function () se uma fonte == carrosd ENTÃO triggerServerEvent ( "DS: Pegar_veiculo", localPlayer, localPlayer, "Diamantes") triggerEvent ( "DS: Fechar_painel_vip", localPlayer) end end) AddEventHandler ( " onDgsMouseClickDown ", painel_pegar_itens, function () if source == helicd then triggerServerEvent (" DS: Pegar_veiculo ", localPlayer, localPlayer," Diamantess ") triggerEvent (" DS: Fechar_painel_vip ",localPlayer) end end) addEventHandler ("onDgsMouseClickDown", painel_pegar_itens, function () if source == coleteo then triggerServerEvent ("DS: Pegar_colete", localPlayer, localPlayer, "Ouro") end end) AddEventHandler ( "onDgsMouseClickDown", painel_pegar_itens, função () se fonte == coleted então triggerServerEvent ( "DS: Pegar_colete", localPlayer, localPlayer, "Diamond") extremidade final) AddEventHandler ( "onDgsMouseClickDown", Fonte = painel_pegar_itens, função = Skino então triggerServerEvent ("DS: Pegar_skin", localPlayer, localPlayer, "Ouro") end end) addEventHandler ("onDgsMouseClickDown", painel_pegar_itens, function () if source == skin1d then triggerServerEvent ("DS: Pegar_skin", localPlayer, localPlayer, "Diamante") end end) addEventHandler ("onDgsMouseClickDown", painel_pegar_itens, function () if source == skin2d then triggerServerEvent ("DS: Pegar_skin", localPlayer, localPlayer, "Diamantes") end end) fim) addEvent ("DS: Fechar_painel_vip", true) addEventHandler ("DS: Fechar_painel_vip", root, função () DGS: dgsSetVisible (painel_pegar_itens, false) se Bronze ~ = nulo então DGS: dgsDeleteTab (Bronze) = nulo se fimTab (Bronze) = nulo se ~ = Prata fim nulo então DGS: dgsDeleteTab (Prata) Prata = fim nulo se Ouro ~ = nulo então DGS: dgsDeleteTab (Ouro) Ouro = fim nulo se Diamante ~ = nulo então DGS: dgsDeleteTab (Diamante) Diamante = fim nulo ) -------------------------------------------------- ------- Essa função funciona da seguinte maneira, o jogador abre o painel e ao clicar para pegar armas esse elemento 'triggerEvent ("TS: giveItem", source, source, 28, 1)' seta no invetario do mesmo a arma com id 28 e 1 quantidade, na primeira vez funciona normalmente mas na segunda ele incrementa automaticamente 2 quantiade e assim sucessivamnete, o erro pode estar nesta parte? Edited November 27, 2020 by Sparta 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