Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,991
  • Joined

  • Last visited

  • Days Won

    183

Everything posted by Lord Henry

  1. Vale lembrar que não damos suporte para scripts roubados/vazados.
  2. Se o script for pego da internet, não tem motivo para protegê-lo, uma vez que qualquer um poderia pegá-lo de lá. Mas se você comprou o script (e ele não é vazado de outro lugar) ou você mesmo desenvolveu, você pode mandá-lo via mensagem privada, em vez de publicá-lo aqui.
  3. Falta o evento "onClientBuyVehicle" no script server-side. Mostre como estão os scripts client.Lua e server.Lua do seu resource de concessionária.
  4. Abra os logs, pegue o serial e IP dele (que pode não ser este aí do nick) e BAN permanente nos dois. Resolvido.
  5. Ta ae tudo que você precisa: Template:Drawing_functions
  6. Só usar isso: guiSetInputEnabled (true) -- Todas as binds do MTA são desativadas. Para voltar ao normal, use false.
  7. Você precisa ter habilidade PRO na arma para que ela funcione com você. Experimente fazer o mesmo com outros níveis de habilidade: "poor" e "std"
  8. Sim. Essa função retorna a distância em metros.
  9. Salva a skin com um setAccountData e getElementModel, depois que ele logar no server, pega de volta com getAccountData e setElementModel. Vai precisar dos eventos onPlayerQuit, onPlayerLogout e onPlayerLogin.
  10. Se refere ao entrar no server ou se refere depois de morrer?
  11. Só chamar um amigo com notebook pra jogar na sua LAN.
  12. Tutorial de lógica de programação: Curso de Algoritmos #02 - YouTube
  13. Bom, dai teria que saber como está seu GM para ver onde está o evento e onde está faltando adicionar o lado server. Sobre o scr-Lib, não sei se ele é obrigatório para o correto funcionamento do resource, eu deixaria como comentário todas as linhas que chamam ele pra ver se continua funcionando.
  14. No onPlayerLogin. Quando o jogador logar, ele vai verificar se ele tem o status salvo na conta usando getAccountData. Se tiver, seta esses status no jogador com setPedStat.
  15. Sua lógica de criação do plantas e colP está errada. Você precisa colocá-los em uma table vazia antes de criá-los. Senão a variável sempre será substituída a cada execução do loop. Isso significa que ao final do loop, você criou vários plantas e vários colP, mas somente o último pode ser acessado pelo script, pois são os únicos que estão nas variáveis plantas e colP, os outros ficaram sem variável para serem chamados. Dessa forma, somente 1 planta e 1 colP funcionam. dff = engineLoadDFF("grassplant01.dff") engineReplaceModel(dff, 3409) addCommandHandler("devmode", function() setDevelopmentMode(true) end ) plantas = { {-1014, -1609.2, 75.36}, {-1010, -1609.242, 75.367}, {-1006, -1609.19, 75.36}, {-1002, -1609.104, 75.36}, {-998, -1609.082, 75.36}, {-994, -1609.037, 75.36}, {-990, -1609.037, 75.36}, {-1014, -1613, 75.36}, {-1010, -1613, 75.367}, {-1006, -1613, 75.36}, {-1002, -1613, 75.36}, {-998, -1613, 75.36}, {-994, -1613, 75.36}, {-990, -1613, 75.36}, {-1014, -1617, 75.36}, {-1010, -1617, 75.367}, {-1006, -1617, 75.36}, {-1002, -1617, 75.36}, {-998, -1617, 75.36}, {-994, -1617, 75.36}, {-990, -1617, 75.36}, {-1014, -1621, 75.36}, {-1010, -1621, 75.367}, {-1006, -1621, 75.36}, {-1002, -1621, 75.36}, {-998, -1621, 75.36}, {-994, -1621, 75.36}, {-990, -1621, 75.36}, } plant = {} colP = {} for i, v in ipairs (plantas) do plant[i] = createObject(3409, v[1],v[2],v[3]) colP[i] = createMarker(v[1],v[2],v[3],"cylinder",2.5,0,0,0,0) end function fcm1 () for i, col in ipairs (colP) do if isElementWithinMarker (localPlayer, col) then setPedAnimation (localPlayer, "INT_HOUSE", "wash_up", 10000, true, false, true, false, 10) setTimer(function () setPedAnimation (localPlayer) givePlayerMoney (math.random (500, 1000)) destroyElement (plant[i]) plant[i] = nil destroyElement (colP[i]) colP[i] = nil end, 10000, 1) break end end end addCommandHandler ("colher", fcm1) Outro problema que percebi, é que você estava criando as plantas na mesma variável da table plantas.
  16. Já tentou deixar essa linha 5 fora da função? Solta no script.
  17. No seu lugar eu evitaria de mexer no painel admin para não correr risco de ficar sem o painel Admin e destruir o servidor. Em vez disso você pode simplesmente desativar as funções de dar armas e veículos para todos os Staffs por meio da ACL Group e pegar somente com o Freeroam. Dai nas settings do Freeroam você pode bloquear os veículos e armas que não podem ser usados por ID. Se você não estiver usando o Freeroam, crie outro painel específico apenas para dar veículos e armas. Pode ser um painel bem simples onde o usuário digita o ID da arma ou veículo em um editbox e clica em um botão. Dai ao clicar o botão, verifica se o ID está numa table personalizada que você criou (table de armas/veículos permitidos), se não estiver, nada acontece. Se estiver, dá a arma ou veículo pro usuário. Mas caso você realmente queira arriscar, saiba que o painel admin coloca as armas e veículos no painel preenchendo de maneira automática com loop passando pelos IDs. Ele não preenche por meio de arquivo XML como os interiores. Ele faz isso no arquivo client/gui/admin_main.Lua. Mais ou menos na linha 122 (naquele for) e mais ou menos na linha 142 (também um loop for).
  18. Este erro está dizendo que não foi possível chamar uma função pois o resource no qual ele pertence (scr-Lib) não está ativado no seu servidor. Ative o resource scr-Lib para corrigir este problema. E o problema de cima é do seu Gamemode. O client está tentando ativar o evento "WarpMyVehicle" do servidor mas ele não foi adicionado lá. Acontece por exemplo quando você usa triggerServerEvent no client.Lua com um evento que não existe no server.Lua.
  19. Normalmente se coloca no onPlayerLogin e no onPlayerLogout.
  20. Neste caso, para otimizar daria pra fazer ele simplesmente cancelar tudo antes da parte que interessa, dessa forma: function onWasted (totalAmmo, killer, killerWeapon, bodypart, stealth) local ContaDoPlayer = getPlayerAccount (source) if (isGuestAccount (ContaDoPlayer)) then return end -- Se for guest, cancela a função e não passa daqui. local theWeapon = getPedWeapon (source) local weaponAmmo = getPedTotalAmmo (source) takeAllWeapons (source) setPlayerWantedLevel (source, 0) setTimer (spawnPlayer, 1000, 1, source, 1158.344, -1293.679, 16.445, 0, getElementModel (source), 0, 0, getPlayerTeam(source)) fadeCamera (source, false, 0, 0, 0, 0) setTimer (fadeCamera, 2000, 1, source , true, 0.5) setTimer (setCameraTarget, 1250, 1, source) end addEventHandler ("onPlayerWasted", root, onWasted)
  21. @kevincouto6 Vc interpretou errado. Você deve ter ouvido "evite condição de negação no if" isto é, evitar quando possível. Neste caso isolado, a diferença de processamento é irrelevante. Você deve manter do jeito que estava. Por exemplo: function isEvenNumber (thePlayer, cmd, number) local number = tonumber (number) local par = number/2 if (math.floor (par) == par) then outputChatBox ("Número par.", thePlayer) elseif not (math.floor (par) == par) then -- Poderia ser somente else, ou então usar ~= (diferente de) no lugar do == (igual a) outputChatBox ("Número ímpar.", thePlayer) end end addCommandHandler ("par", isEvenNumber)
×
×
  • Create New...