Jump to content

Ajuda com funcões no script


Recommended Posts

Posted

Eu procurei por funções.. mas não sei se estou a fazer certo ou que funções me faltam..

Vou deixar aqui o código:

function kick (thePed, KickedPlayer, reason) 
 if (isPedDead (thePlayer)) then 
    
   kickPlayer ( kicked, thePed, reason)   
    
    
  end 
  
end 
addCommandHandler ( "kick", kick ) 

OBS: estou a usar função kick para testar antes do ban

Obrigado.

Posted

- Escreva a função que irá kickar o player.

- Chame essa função usando o evento onPlayerWasted (addEventHandler()).

Software Engineer & Entrepreneur Running Lustrel and VilarikA • Highly engaged on open source community

Posted
- Escreva a função que irá kickar o player.

- Chame essa função usando o evento onPlayerWasted (addEventHandler()).

Mas estou a usar corretamente se o player morrer a função "isPedDead" ?

Queria saber o que está mal no código.

Muito Obrigado!

Posted

O código apenas não tem nada haver com o que você quer fazer e não faz o menor sentido porque você se limitou a copiar partes de outros códigos.

"[...] If you don’t love it, if you’re not having fun doing it, you don’t really love it, you’re going to give up." - Steve Jobs, 2007

Posted

banPlayer

Com o event: onPlayerWasted

Na função banPlayer, use:

banPlayer( source, banIP = true, banUsername = false, banSerial = false, nil, nil, segundos = 0 ) 

Please do not PM me with scripting related question nor support, use the forums instead.

Posted

Mas a função do player morto é esta "isPedDead" ?

Se o Player morrer é banido..

escrevi o seguinte código:

if(isPedDead (thePlayer)) then 
  
aqui ficaria a função do ban 
  
end 
  

A minha dúvida é: Se estou a usar a função correta se o Player morrer.. (isDeadPlayer) ?

Obrigado pelas respostas..

Posted

Boas outravez.. depois de entender mais algumas coisas.. cheguei a este código..

function Nomefuncao(thePlayer) 
  
morrer = isPedDead (thePlayer) 
  
if(morrer) then 
  
bannedPlayer (true, false,  false, nil, nil, 600)   
  
  
    end 
end 
addEventHandler ("onPlayerWasted", getRootElement(), Nomefuncao) 

Testei o código mas mesmo assim não funciona.. Gostaria realmente saber o que está errado nesse script..

Obrigado!

Posted

É melhor você começar a estudar Lua primeiro.

"[...] If you don’t love it, if you’re not having fun doing it, you don’t really love it, you’re going to give up." - Steve Jobs, 2007

Posted

É melhor você me ajudar..

Eu tou pedindo a função do Player morto..

Quero a função do Player se morrer..

As que conheço são:

- isDeadPed

- GetDeadPlayers

É de algumas destas funções para criar o meu script ou é outra? Caso for outra agradecia que coloca-se o nome da função..

Obrigado!

Posted

Já lhe falaram os eventos e funções necessárias acima. Se você não consegue entender como fazer, é porque não sabe nada sobre Lua.

"[...] If you don’t love it, if you’re not having fun doing it, you don’t really love it, you’re going to give up." - Steve Jobs, 2007

Posted

Não vamos fazer nada de graça, você tem algum interesse em aprender Lua?

Sei que é bem difícil quando não se tem nenhuma noção básica mas veja que o DNL291 já lhe ajudou muito.

ele se refere a função banPlayer e não bannedPlayer.

banPlayer( source, banIP = true, banUsername = false, banSerial = false, nil, nil, segundos = 0 ) 

quando você for escrever algo sobre lua use a tag. [lua] [ /lua]

porfavor evite fazer duplas postagens.

Community Profile MTA:SA = Click Here

Posted

Mas o que queria realmente saber era a função do player morto..

Para buscar o player que morrer.. para depois escrever a função do ban..

PS: Eu em outros scripts feitos.. não vejo nenhum script com tag [lua].. vejo apenas funções e parâmetros (then, if , else). Eu tenho lógica de programação porque já programei em várias linguagens.. Poderia me dizer porque que devo aprender LUA? se nos scripts são apenas usados as funções do MTA?

Obrigado

Posted

Isso é só para rir, não? Um ficheiro não é mágico para escrever uma linha "isPedDead" e ele vai adivinhar o que você quer. MTA usa Lua e as funções todas estão inbutidas em Lua. Se você não sabe Lua, não pode fazer nada.

"[...] If you don’t love it, if you’re not having fun doing it, you don’t really love it, you’re going to give up." - Steve Jobs, 2007

Posted

O tópico n deve ser fechado ele pode ser utilizado novamente por outros usuários do fórum.

Intenda que há funções agindo em conjunto para facilitar o manuseio com a linguagem.

Só me pareceu que você não tinha nenhum interesse em aprender e sim resolver um pequeno projeto.

A proposito seja bem vindo e se precisar solicite nossa ajuda, eu ajudarei dentro do possível.

Community Profile MTA:SA = Click Here

Posted

Ups..

Estou com um problema.. o tempo do ban do jogador..

valor 20 = valor do tempo do ban. Queria colocar por exemplo 20 segundos de BAN..

Testei o código assim.. funcionou tudo menos o tempo de ban.. O que está de errado? Requer alguma função?

o código está assim:

addEventHandler( "onPlayerWasted", root, 
    function() 
 banPlayer (source, true, nil, nil, "Foste Morto!" , [color=#FF0000]20[/color]) 
 end  
) 

Obrigado

Posted

Não deveria ser assim?

addEventHandler( "onPlayerWasted", root, 
    function () 
        banPlayer( source, true, false, false, nil, "Você Morreu!", 20) 
    end 
) 

Community Profile MTA:SA = Click Here

Posted

Como Ninguem quis dizer, falta um argument na função. Mas outro problema, você quer que o tempo do Ban seja 20 segs. Então você deve usar o n° 20000, já que cada minuto corresponde a Mil (1000), então 1 min. é 60000.

addEventHandler( "onPlayerWasted", root, 
    function () 
        banPlayer( source, true, false, false, nil, "Foste Morto!", 20000) 
    end 
) 

Please do not PM me with scripting related question nor support, use the forums instead.

Posted

Boas..

Coloquei para 1 minuto.. Então entro lá no jogo, morro e sou banido.. Depois tento lá entrar diz que estou banido (1min) pronto até aí está tudo bem..

Depois passado 1min. tento entrar, consigo entrar e faço o LOGIN.. Depois diz que estou banido.. tento outravez entrar e diz que estou banido 1min..

Ou seja, o ban está a repetir.. penso que falta alguma função..

Mais uma vez, obrigado pela resposta DNL291

Posted
function onPlayerWasted() 
    local ban = banPlayer ( source, false, false, true, nil, "Foste Morto!", 0 ) 
    setTimer(function(ban) 
                 if (ban) then 
                     removeBan(ban) 
                 end 
             end, 20000, 1, ban) 
end 
addEventHandler ( "onPlayerWasted", root, onPlayerWasted ) 
  
function onResourceStart() 
    for i, v in ipairs(getBans()) do 
        local reason = getBanReason(v) 
        if (reason == "Foste Morto!") then 
            removeBan(v) 
        end 
    end 
end 
addEventHandler ( "onResourceStart", resourceRoot, onResourceStart ) 

Ingame nick: Cadu12

Posted

@Cadu12, that won't do the job, I guess.

I think that what is happening is that the gamemode is killing the ped when he enters and it calls onPlayerWasted then.

"[...] If you don’t love it, if you’re not having fun doing it, you don’t really love it, you’re going to give up." - Steve Jobs, 2007

Posted

@Anderl: Você está falando que? Aqui em Português, mas tudo bem.

I didn't tested what I did rewrite script.

Ingame nick: Cadu12

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...