-
Posts
3,991 -
Joined
-
Last visited
-
Days Won
183
Everything posted by Lord Henry
-
Vale lembrar que não damos suporte para scripts roubados/vazados.
-
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.
-
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.
-
Ajuda - Com Urgência! .
Lord Henry replied to Magno MTA's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Abra os logs, pegue o serial e IP dele (que pode não ser este aí do nick) e BAN permanente nos dois. Resolvido. -
Ta ae tudo que você precisa: Template:Drawing_functions
-
Só usar isso: guiSetInputEnabled (true) -- Todas as binds do MTA são desativadas. Para voltar ao normal, use false.
-
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"
-
Sim. Essa função retorna a distância em metros.
-
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.
-
Se refere ao entrar no server ou se refere depois de morrer?
-
Só chamar um amigo com notebook pra jogar na sua LAN.
-
Está funcionando agora?
-
Como está seu meta.xml?
-
Tutorial de lógica de programação: Curso de Algoritmos #02 - YouTube
-
[Ajude-Me] Teleporte do veiculo por painel
Lord Henry replied to dener189's topic in Programação em Lua
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. -
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.
-
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.
-
Já tentou deixar essa linha 5 fora da função? Solta no script.
-
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).
- 1 reply
-
- 1
-
-
[Ajude-Me] Teleporte do veiculo por painel
Lord Henry replied to dener189's topic in Programação em Lua
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. -
Normalmente se coloca no onPlayerLogin e no onPlayerLogout.
-
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)
-
@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)
-
Corrigido, valeu