Jump to content

DNL291

Retired Staff
  • Posts

    3,875
  • Joined

  • Days Won

    67

Everything posted by DNL291

  1. onVehicleExit; setTimer; destroyElement (if I understood correctly what you meant). Type /debugscript 3 to see if it shows any erros. @dener189
  2. Sincroniza o interior do object com o mesmo do player; ou seta o interior do object quando o jogador mudar de interior.
  3. onClientClick é um evento do lado client apenas. Obs: quando for postar seu código, utilize o botão <>, cole o código e selecione a linguagem. Leia este tópico por favor. @ODutii
  4. Se você quer encontrar o resource você pode pesquisar pela community ou procurar por códigos pelo fórum. Se você quer aprender em como fazê-los, o primeiro passo é estudar programação, aqui está um tópico que irá te ajudar nisso:
  5. Movido para Portuguese / Português > Programação em Lua Lembre-se de postar no local correto @NeoGM
  6. Movido para Portuguese / Português > Programação em Lua @LucasDSNL
  7. Se você testar clicando em você mesmo tenho certeza que não vai mostrar false. Testei este código e o clickedElement funciona: function DeltaAbrir(button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedElement) if button == "left" and state == "down" then outputChatBox("clickedElement: "..tostring(clickedElement)) if clickedElement then if (getElementType(clickedElement) == "player") then local x, y, z = getElementPosition(localPlayer) local px, py, pz = getElementPosition(clickedElement) --local distance = getDistanceBetweenPoints3D(x, y, z, px, py, pz) --if not isEventHandlerAdded("onClientRender", root, DeltaDX) then --if (distance <= 3) then playerName = getPlayerName(clickedElement):gsub("#%x%x%x%x%x%x", "") outputChatBox("playerName: "..tostring(playerName)) --addEventHandler("onClientRender", root, DeltaDX) --DX = true --end -- end end end end addEventHandler("onClientClick", root, DeltaAbrir) addCommandHandler("cur", function() showCursor(true) end)
  8. Percebi que ambas as contas pertencem ao mesmo IP, Por que usar outra conta pra mesma pergunta sendo que já foi respondido no outro tópico?
  9. dxDrawText( getElementData(localPlayer, "banco:Saldo") or 0 ) Postar Portuguese / Português > Programação em Lua da próxima vez @EduardoMega
  10. onClientMarkerHit addEventHandler onClientRender showCursor @wilborn
  11. getPedOccupiedVehicle você está usando source nessa função, e source já é o veículo. Só trocar vehp por source.
  12. Se não tiver funcionando corretamente, baixe um sistema de ID funcional ou apenas use a função mencionada acima.
  13. Qual a dificuldade em fazer uma depuração no código: if clickedElement then outputChatBox("clickedElement " .. tostring(clickedElement)) if (getElementType(clickedElement) == "player") then for i = 1, 12 do local playerWeapon = getPedWeapon(clickedElement, i) outputChatBox( "playerWeapon (" .. tostring(i) .. ") : " .. tostring(playerWeapon) ) if i and i ~= 0 then theRow = guiGridListAddRow(gridWeapons) guiGridListSetItemText(gridWeapons, theRow, 1, playerWeapon, false, false) outputChatBox("theRow " .. tostring(theRow) .."; gridWeapons ".. tostring(gridWeapons)) end end end else outputChatBox("clickedElement = false") end guiSetVisible(gridWeapons, true)
  14. accountAdded é a conta a ser registrada, dai essa variável retorna ela. O if account then já era outra coisa, uma verificação pra saber se uma conta com o mesmo nome já existe. P.S: Lê o meu edit no post acima se ainda não viu.
  15. Normal kk, ninguém nasceu sabendo Isto deve funcionar: function registerPlayer(username,password,email) if username == "" then return triggerClientEvent(source,"login_text",source,"error","Digite o nome de usuário!") end if password == "" then return triggerClientEvent(source,"login_text",source,"error","Digite sua senha!") end if email == "" then return triggerClientEvent(source,"login_text",source,"error","Digite seu email!") end local account = getAccount (username,password) if account then return triggerClientEvent(source,"login_text",source,"error","Nome de usuário, senha ou email está errada!") end local accountAdded = addAccount(tostring(username),tostring(password)) if not accountAdded then return triggerClientEvent(source,"login_text",source,"error","Erro! Tente novamente com um novo nome de usuário ou senha!") end outputChatBox ("[User: #FFFFFF" .. username .. " #FF0000| Senha: #FFFFFF" .. password .. " | Email: " .. email .. "#00FF00 ]",source,255,255,255,true) setAccountData(accountAdded, "e-mail", tostring(email)) triggerClientEvent(source,"onRegister",source) triggerClientEvent(source,"login_text",source,"sucess","A conta foi criada com sucesso!") end addEvent("onRequestRegister",true) addEventHandler("onRequestRegister",getRootElement(),registerPlayer) Edit: te recomendo deixar true no terceiro argumento de addAccount, senão vai ter conflitos de contas mesmo se tiver com letras maiúsculas/minúsculas. Ou seja uma conta chamada "BOB" se existir, não poderá ter outra chamada "bob". Mas se optar por não ativar o case sensitive só deixar como está.
  16. Você tem que colocar isso dentro do if account then Mostre como está seu código.
  17. Tente isto: local acls = { "Admin", "RPC", "Console" } local allFrozen = false addCommandHandler("a", function(player) if isPlayerInACL(player, "Admin") or isPlayerInACL(player, "SuperModerator") or isPlayerInACL(player, "Moderator") then for i, v in ipairs(getElementsByType("player")) do if canFreezePlayer( v ) then setFrozen( v ) end end allFrozen = not allFrozen outputChatBox("[WARNING]: #FFFFFFTᴏᴅᴏs ᴏs ᴊᴏɢᴀᴅᴏʀᴇs ғᴏʀᴀᴍ ".. (allFrozen and "ᴄᴏɴɢᴇʟᴀᴅᴏs" or "ᴅᴇsᴄᴏɴɢᴇʟᴀᴅᴏs") .." ᴘᴏʀ: "..getPlayerName(player).."!",root,255,0,0,true) else outputChatBox("[WARNING]: #FFFFFFDesculpe,você não tem permisssão para congelar todos os jogadores!",player,255,0,0,true) end end ) function setFrozen( v ) if not isPedInVehicle(v) then if getElementData(v,"frozenped") == "false" or not getElementData(v,"frozenped") then setElementFrozen(v,true) toggleAllControls(v,false) setElementData(v,"frozenped","true") else setElementFrozen(v,false) toggleAllControls(v,true) setElementData(v,"frozenped","false") end else if getElementData(v,"frozenveh") == "false" or not getElementData(v,"frozenveh") then setElementFrozen(getPedOccupiedVehicle(v),true) setElementData(v,"frozenveh","true") elseif getElementData(v,"frozenveh") == "true" then setElementFrozen(getPedOccupiedVehicle(v),false) setElementData(v,"frozenveh","false") end end end addEventHandler( "onResourceStop", resourceRoot, function() for i, v in ipairs(getElementsByType("player")) do if getElementData(v,"frozenped") == "true" then setElementFrozen(v,false) toggleAllControls(v,true) setElementData(v,"frozenped","false") end if getElementData(v,"frozenveh") == "true" then setElementFrozen(getPedOccupiedVehicle(v),false) setElementData(v,"frozenveh","false") end end end ) function canFreezePlayer( player ) for i, group in ipairs(acls) do if isPlayerInACL(player, group) then return false end end return true end function isPlayerInACL(player, acl) if isElement(player) and getElementType(player) == "player" and aclGetGroup(acl or "") and not isGuestAccount(getPlayerAccount(player)) then local account = getPlayerAccount(player) return isObjectInACLGroup( "user.".. getAccountName(account), aclGetGroup(acl) ) end return false end
  18. Não é assim, você continua usando o 3º argumento em addAccount, e isso não faz sentido: local setAccountData = math.random(1, 5) Apenas use setAccountData(account, "e-mail", tostring(email))
  19. Não existe suporte para email em add/getAccount. E o 3º argumento deve ser uma boolean por isso você está tendo esse aviso. Use setAccountData para salvar o email.
  20. Sim, porém essa função não faz parte do MTA e você precisa copiar ela dentro do seu script. Tente: local acls = { "Admin", "RPC", "Console" } addCommandHandler("a", function(playerSource) if hasObjectPermissionTo(playerSource,"command.run",true) then for i, v in ipairs(getElementsByType("player")) do if canFreezePlayer( v ) then setFrozen( v, playerSource ) end end elseif hasObjectPermissionTo(playerSource,"command.run",false) then outputChatBox("[WARNING]: #FFFFFFDesculpe,você não tem permisssão para congelar todos os jogadores!",playerSource,255,0,0,true) end end ) function setFrozen( v, playerSource ) if not isPedInVehicle(v) then if getElementData(v,"frozenped") == "false" or not getElementData(v,"frozenped") then setElementFrozen(v,true) toggleAllControls(v,false) setElementData(v,"frozenped","true") outputChatBox("[WARNING]: #FFFFFFTᴏᴅᴏs ᴏs ᴊᴏɢᴀᴅᴏʀᴇs ғᴏʀᴀᴍ ᴄᴏɴɢᴇʟᴀᴅᴏs ᴘᴏʀ: "..getPlayerName(playerSource).."!",v,255,0,0,true) else setElementFrozen(v,false) toggleAllControls(v,true) setElementData(v,"frozenped","false") outputChatBox("[WARNING]: #FFFFFFTᴏᴅᴏs ᴏs ᴘʟᴀʏᴇʀs ғᴏʀᴀᴍ ᴅᴇsᴄᴏɴɢᴇʟᴀᴅᴏs ᴘᴏʀ: "..getPlayerName(playerSource).."!",v,0,255,0,true) end else if getElementData(v,"frozenveh") == "false" or not getElementData(v,"frozenveh") then setElementFrozen(getPedOccupiedVehicle(v),true) setElementData(v,"frozenveh","true") outputChatBox("[WARNING]: #FFFFFFTᴏᴅᴏs ᴏs ᴊᴏɢᴀᴅᴏʀᴇs ғᴏʀᴀᴍ ᴄᴏɴɢᴇʟᴀᴅᴏs ᴘᴏʀ: "..getPlayerName(playerSource).."!",v,255,0,0,true) elseif getElementData(v,"frozenveh") == "true" then setElementFrozen(getPedOccupiedVehicle(v),false) setElementData(v,"frozenveh","false") outputChatBox("[WARNING]: #FFFFFFTᴏᴅᴏs ᴏs ᴘʟᴀʏᴇʀs ғᴏʀᴀᴍ ᴅᴇsᴄᴏɴɢᴇʟᴀᴅᴏs ᴘᴏʀ: "..getPlayerName(playerSource).."!",v,0,255,0,true) end end end function canFreezePlayer( player ) for i, group in ipairs(acls) do if isPlayerInACL(player, group) then return false end end return true end function isPlayerInACL(player, acl) if isElement(player) and getElementType(player) == "player" and aclGetGroup(acl or "") and not isGuestAccount(getPlayerAccount(player)) then local account = getPlayerAccount(player) return isObjectInACLGroup( "user.".. getAccountName(account), aclGetGroup(acl) ) end return false end
  21. Leia: https://wiki.multitheftauto.com/wiki/PT-BR/Manual_do_Servidor https://wiki.multitheftauto.com/wiki/PT-BR/Recursos @Pedro mayeer
  22. By finding this text in the script and changing it's text? Show here your code if you have problems with that.
  23. Você precisa fazer um loop em todos os slots das armas com a função getPedWeapon Posts que irão responder sua dúvida melhor (te dando código): https://forum.multitheftauto.com/topic/117788-mudar-getplayerfrompartialname-para-id/?do=findComment&comment=957934 https://forum.multitheftauto.com/topic/113551-me-ajuda-aqui/?do=findComment&comment=939346
  24. É por causa da linha 17. Aqui está o código corrigido:
×
×
  • Create New...