Jump to content

Jonas^

Members
  • Posts

    1,016
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Jonas^

  1. Código devidamente indentado é assim: local Minicio4 = createMarker (1038.02332, -1337.93970, 12.8, "cylinder", 1, 16, 102, 231, 100) local Mfim4 = createMarker ( 2801.29663, -1088.36243, 30.72142 -1, "cylinder", 2, 0 ,255 ,0, 255 ) local Bfim4 = createBlipAttachedTo ( Mfim4, 19 ) setElementVisibleTo ( Bfim4, root, false ) local veh = {} function incio4 (source) if isElementWithinMarker(source, Minicio4) then if veh[source] and isElement( veh[source] ) then destroyElement ( veh[source] ) veh[source] = nil end x,y,z = getElementPosition(source) Trabalho = true veh[source] = createVehicle(498,1009.50598, -1355.16431, 13.34428) setElementVisibleTo ( Bfim4, source, true ) warpPedIntoVehicle ( source, veh[source] ) dxMsg(source, "Leve as rosquinhas ate a bandeira no radar!", "info") end end addEventHandler( "onMarkerHit", Minicio4, incio4 ) function fim4 (source) if veh[source] and isElement(veh[source]) then destroyElement (veh[source]) givePlayerMoney(source,2500) -------------- Caso queira mudar o dinheiro que o player vai ganhar ao finalizar o trabalho setElementVisibleTo ( Bfim4, source, false ) setElementVisibleTo ( entregafinalizar, source, false ) dxMsg(source, "Você entregou as rosquinhas a fabrica e ganhou R$2500!", "sucess") -- else Por que esse else aqui? ... end end addEventHandler("onMarkerHit",Mfim4 ,fim4) function sair4 (source) if (veh[source]) and isElement(veh[source]) then setElementVisibleTo ( Bfim4, source, false ) destroyElement (veh[source]) dxMsg(source, "Você saiu do veiculo e perdeu o trabalho!", "error") -- else Por que esse else aqui de novo? ... end end addEventHandler ( "onVehicleExit", getRootElement(), sair4 ) function dxMsg(source, text, type) exports.dxmessages:outputDx(source, text, type) end  Agora me responda as perguntas que lhe fiz no script, deixei 2 linhas comentadas queria sua explicação. Outra coisa não vi nada declarado relacionado a 'entregafinalizar' e no script você usa setElementVisibleTo ( entregafinalizar, source, false )
  2. Se poder deixar likes nos comentarios que te ajudei.. agradecerei muito. Só clicar no icone de coração.
  3. Enfim, ficar chutando posições não da, iniciei meu servidor de testes e posicionei pra você. Código: local Minicio4 = createMarker (1038.02332, -1337.93970, 12.8, "cylinder", 1, 16, 102, 231, 100)
  4. Tente assim: Lembrando, posição Z é altura. então: local Minicio4 = createMarker (1038.02332, -1337.93970, 13.5, "cylinder", 1, 16 ,102 ,231, 100)
  5. Isso você arruma na posição mano kkk
  6. local Minicio4 = createMarker (1038.02332, -1337.93970, 13.72656, "cylinder", 1, 16 ,102 ,231, 100) Não entendi o por que desse -1 aí, até onde eu sei depois da posição z, é o tipo do marker, depois o tamanho.
  7. 1. Não se usa cache false em server-side até porque ele não é mostrado após o jogador baixar. 2. Você esta fazendo errado, a maneira certa é essa que irei mostrar. 3. Você deve arrumar o código, colocar nas posições certinhas para encontrar os erros facilmente, ou até mesmo evitar possíveis warnings ou até mesmo erro, fiz isso por você. OBS: Coloque o nome da pasta aonde esta sendo executado os arquivos client e server como fortnitedances ------------------- Código: CLIENT-SIDE local customIfp = nil function setPedFortniteAnimation (ped,animation,tiempo,repetir,mover,interrumpible) if (type(animation) ~= "string" or type(tiempo) ~= "number" or type(repetir) ~= "boolean" or type(mover) ~= "boolean" or type(interrumpible) ~= "boolean") then return false end if isElement(ped) then if animation == "baile 1" or animation == "baile 2" or animation == "baile 3" or animation == "baile 4" or animation == "baile 5" or animation == "baile 6" or animation == "baile 7" or animation == "baile 8" or animation == "baile 9" or animation == "baile 10" or animation == "baile 11" or animation == "baile 12" or animation == "baile 13" then for i = 1,3 do setPedAnimation(ped, "Fortnite_"..i.."", animation, tiempo, true, false, false) if tiempo > 1 then setTimer(setPedAnimation,tiempo,1,ped,false) setTimer(setPedAnimation,tiempo+100,1,ped,false) end end end end end addEvent("setPedFortniteAnimation",true) addEventHandler("setPedFortniteAnimation",getRootElement(),setPedFortniteAnimation) addEventHandler("onClientResourceStart", resourceRoot, function ( startedRes ) customIfp = engineLoadIFP ("Fortnite pt1.ifp", "Fortnite_1") customIfp2 = engineLoadIFP ("Fortnite pt2.ifp", "Fortnite_2") customIfp3 = engineLoadIFP ("Fortnite pt3.ifp", "Fortnite_3") if customIfp and customIfp2 and customIfp3 then outputDebugString ("Animaciones de Fortnite cargadas") else outputDebugString ("Las animaciones de Fortnite no fueron cargadas") end end ) SERVER-SIDE local totalDances = 13; function setPedFortniteAnimation (ped,animation,tiempo,repetir,mover,interrumpible) if (type(animation) ~= "string" or type(tiempo) ~= "number" or type(repetir) ~= "boolean" or type(mover) ~= "boolean" or type(interrumpible) ~= "boolean") then return false end if isElement(ped) then if animation == "baile 1" or animation == "baile 2" or animation == "baile 3" or animation == "baile 4" or animation == "baile 5" or animation == "baile 6" or animation == "baile 7" or animation == "baile 8" or animation == "baile 9" or animation == "baile 10" or animation == "baile 11" or animation == "baile 12" or animation == "baile 13" then for i = 1,3 do triggerClientEvent ( root, "setPedFortniteAnimation", root, ped,animation,tiempo,repetir,mover,interrumpible ) if tiempo > 1 then setTimer(setPedAnimation,tiempo,1,ped,false) setTimer(setPedAnimation,tiempo+100,1,ped,false) end end end end end addCommandHandler ( "dance", function ( player, _, ... ) local _ARG = { ... }; local DANCE_ID = tonumber( _ARG[1] ); if ( not DANCE_ID ) then return false; end if (tonumber(DANCE_ID) > totalDances) then return outputChatBox ( "* ERRO: Há apenas " .. totalDances .. " animações. Use /dance [1-" .. totalDances .. "].", player, 255, 0, 0 ); end exports.fortnitedances:setPedFortniteAnimation ( player, "baile " .. DANCE_ID, -1, true, false, false, false ); end)
  8. Nem sabia que dava pra fazer desta forma rsrs
  9. Não sei se é isso que você quer, não entendi muito bem mas se for por + de uma acl no comando ta ae: local veh = {} local vehQuebrado = {} function inicio (hitElement) -- Função do primeiro marker if getElementType (hitElement) == "player" and not getPedOccupiedVehicle (hitElement) then local accName = getAccountName (getPlayerAccount(hitElement)) if isObjectInACLGroup ("user."..accName, aclGetGroup ("ACL1")) or isObjectInACLGroup ("user."..accName, aclGetGroup ("ACL2")) or isObjectInACLGroup ("user."..accName, aclGetGroup ("ACL3")) then if veh[hitElement] and isElement (veh[hitElement]) then destroyElement (veh[hitElement]) veh[hitElement] = nil end if vehQuebrado[hitElement] and isElement (vehQuebrado[hitElement]) then destroyElement (vehQuebrado[hitElement]) vehQuebrado[hitElement] = nil end x, y, z = getElementPosition (hitElement) Trabalho = true FBlip = createBlipAttachedTo (FMarker, 19) -- Bandeira veh[hitElement] = createVehicle (578, 2533.0673828125, -1465.904296875, 23.977584838867, 0, 0, 270) -- Caminhão warpPedIntoVehicle (hitElement, veh[hitElement]) -- Transporta o jogador para dentro do caminhão vehQuebrado[hitElement] = createVehicle (411, 2533.0673828125, -1465.904296875, 23.977584838867, 0, 0,270) -- Caminhonete attachElements (vehQuebrado[hitElement], veh[hitElement], 0, -2, 0.7) setElementVisibleTo (FMarker, hitElement, true) outputChatBox ("#00ccff[Emprego] #ffffffBem-Vindo ao emprego #00ccff[Reboque]", hitElement, 255, 255, 255, true) setElementFrozen( vehQuebrado[hitElement], true ) else outputChatBox ("[#ff0000AVISO#00ccff] #ff0000Gangues não pode trabalha!!!", hitElement, 0, 204, 255, true) end end end addEventHandler ("onMarkerHit", PMarker, inicio)
  10. Você pode fazer com gridlist dessa forma também, olhe o exemplo...
  11. No Server-side tente isso: function animStart ( id1, id2) setPedAnimation(client, id1, id2 ,-1, true, false, false, true) end addEvent( "startAnim", true ) addEventHandler ("startAnim", root, animStart) Eu fiz um teste aqui e funcionou, mas usei outra animação, a sua eu não consegui reproduzir. Código de exemplo: GUIEditor = { button = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.button[1] = guiCreateButton(564, 364, 170, 37, "Animacao", false) guiSetFont(GUIEditor.button[1], "default-bold-small") guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFAAAAAA") end ) addEventHandler("onClientGUIClick", root, function() if source == GUIEditor.button[1] then triggerServerEvent("startAnim", localPlayer ) end end ) SERVER-SIDE function animStart () -- Procure não usar nome de função com o mesmo nome do trigger. setPedAnimation (client, "FOOD", "EAT_Burger", -1, false, false, nil, false) end addEvent( "startAnim", true ) addEventHandler ("startAnim", root, animStart) -- Procure não usar nome de função com o mesmo nome do trigger.
  12. askoaspsa, eu tava tentando ajudar, mas o código é fácil de entender, acho que agora ele não terá mais dúvida com esse tipo de coisa.
  13. Sim, clique no icone de coração no comentario do Lord como uma forma de agradecimento por te dar 100% do código pronto.
  14. Agora você deve fazer uma verificação ex: if not pornStarted then e em baixo adicionar o trigger do client e aclGroupAddObject
  15. Inicie um lado server-side, lá você inicia o comando, AddCommandHandler
  16. Ok, vamos lá, faça por partes, faça os passos que citei acima e poste aqui.
  17. Então, você pode definir um grupo Punheta por exemplo, e adicionar os jogadores ' punheteiros ' lá, assim iriam ter a tag pra sempre e todos iriam ver, as vezes o jogador digita o comando /punheta e nem fala no chat, dai você só vai processar uma coisa que nem iria precisar.
  18. Pra colocar permissão, você tem que fazer um trigger no lado client e puxar ele no server para usar o comando ' punheta ' lá. Ou você pode usar data ( que não aconselho ) Não entendi por que você esta tentando usar aclGroupRemoveObject e aclGroupAddObject -- Não tinha lido ali em cima sua pergunta desculpe rsrs ignore isso. OBS: Não acho viável fazer isso, aconselho você deixar esse comando livre para todos usar, ou até mesmo privar numa acl ex: Punheta é mais fácil. Vamos por partes, faça primeiro as modificações no client e coloque aqui para nos ajudarmos você. 1 - Adicione um evento no client e permita que ele possa ser chamado por outros recursos. 2- Dentro desse escopo do evento, você deve adicionar a parte que começa renderizar e o timer pra ele detectar e parar, você deve retirar a função startRender você vai usar essa parte dentro do escopo do evento que vai ser puxado pelo server pra iniciar a renderização. 3- Quando terminar esses 2 passos poste aqui para nós verificar, se tiver alguma dúvida pergunte. Não adianta a gente te dar o código todo pronto, Lordin já deu mais que 90% agora você tem que aprender fazer o resto com a nossa ajuda claro.
  19. function showClan() local player = getLocalPlayer() local everybody = getElementsByType("player") for _, thePlayer in ipairs(everybody) do if getElementData(everybody, "gang") ~= "None" then if everybody ~= getLocalPlayer() then if getElementData(everybody, "gang") == getElementData(player, "gang") then local x, y, z = getElementPosition(thePlayer) local cx, cy, cz = getElementPosition(getLocalPlayer()) local namePlayer = string.gsub(getPlayerName(thePlayer),"#%x%x%x%x%x%x","") if getDistanceBetweenPoints3D(x, y, z, cx, cy, cz) <= 300 and localPlayer ~= thePlayer then local sX, sY, sZ = getScreenFromWorldPosition(x, y, z) if(sX and sY and sZ)then local color = tocolor(255, 255, 255) local size = 1 dxDrawText(namePlayer, sX+25, sY-40, 25, 20, color, size,"default-bold") dxDrawText(math.floor(getDistanceBetweenPoints3D(x,y,z, cx,cy,cz)).." m", sX+25, sY-20, 25, 20, color, size,"default-bold") end end end end end end end addEventHandler("onClientRender", getRootElement(), showClan) test.
  20. Tentei isso ( não testei ) . SERVER-SIDE local tempoMensagem = 30 -- 30 MINUTOS local enviarMensagem = { " Teste 1", " Teste 2" } setTimer(function() outputChatBox (..enviarMensagem[ math.random( 1, #enviarMensagem ) ], root ) end, 60000 * tempoMensagem, 0 ) Defini uma variável pra você não precisar ficar mexendo em milesegundos.
  21. Sim, passei despercebido, tinha a função pronta, só usei um trigger no client puxando para o server quando o jogador registrar ele seta a tab01 no caso login.
  22. Exatamente isso que eu precisava obrigado.
  23. Olá pessoal, bom eu andei dando uma olhadinha na wiki em relação a GUI, procurei algo relacionado com tabpanel e não achei o que eu precisava, na realidade provavelmente não existe essa função mas vamos lá, oque eu queria encontrar era uma função que quando o jogador por exemplo clicasse no tab2 vamo supor que é um painel de login, quando o jogador registrar ele automaticamente ir para o tab1 no caso o login, se alguém souber de algo que possa simular isso agradeço !
×
×
  • Create New...