Postado Agosto 7, 2016 8 anos 20 horas atrás, Gabriel Netto disse: Então brother, não sou ele mas acho que posso te ajudar, apesar de ser iniciante ;p Toda função exerce uma série de comandos qnd é chamada. Junto com isso, ela retorna um valor. Em C++ nós dizemos se o retorno vai ser um número inteiro, um quebrado, um quebrado com vários números após virgula, uma string, e uma variável (desse último não tenho ctz). Isso tmb vale pro que as variáveis vão alocar em C++. Já em lua nós n precisamos declarar o tipo da função antes de chamá-las, ent tu pode por o que quiser dps do return sem nenhum problema, apesar do mais comum ser um booleano. Na maioria das funções não vai mudar muito o return, mas em algumas como onKill (creatureevent). se tu por return false, o target não vai morrer, só vai zerar a vida e vai poder recuperar com qlqr magia de regeneração. Se for uma onLogout com return false o player não vai conseguir deslogar, mas se for uma onLogin não muda nd heauehau. Pra saber o que cada booleano faz em cada retorno tu vai ter que estudar as funções nas sources ou lib Você fez uma explica +- ashahs Tipo, quando é creatureevent o return true/false fazem bastante diferença, por exemplo, se por return false ele cancela o evento e ele não ocorre, caso for em uma function por exempl function ehSummon(cid) if isMonster(cid) and not getCreatureMaster(cid) then return true end return false end Essa função é para verificar se é um summon, se for summon, retorna verdadeiro se não retorna false Então, se eu por assim: print(tostring(ehSummon(cid))) ele vai printar true ou false, dependendo do cid Ou se eu por assim: if ehSummon(cid) then executeBlock(...) end Ele vai retornar verdadeira e executar o bloco dentro dele Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Postado Agosto 7, 2016 8 anos 8 hours ago, Drazyn1291 said: Você fez uma explica +- ashahs Tipo, quando é creatureevent o return true/false fazem bastante diferença, por exemplo, se por return false ele cancela o evento e ele não ocorre, caso for em uma function por exempl function ehSummon(cid) if isMonster(cid) and not getCreatureMaster(cid) then return true end return false end Essa função é para verificar se é um summon, se for summon, retorna verdadeiro se não retorna false Então, se eu por assim: print(tostring(ehSummon(cid))) ele vai printar true ou false, dependendo do cid Ou se eu por assim: if ehSummon(cid) then executeBlock(...) end Ele vai retornar verdadeira e executar o bloco dentro dele Pode crer, tava com sono, falei merdinha no "não importar muito". É bom se lembrar também que dá para por funções em retornos tmb, como um playerSendCancel(cid, string) em checagens. Mas, na minha opinião, retorno em scripts de otserv fica meio ambíguo, já que muitas vezes tu não tem que pôr "manualmente", digamos assim. Editado Agosto 7, 2016 8 anos por Gabriel Netto (veja o histórico de edições) De onde eu venho se dizia, que o chorar não é do homem, e o homem o que sente guarda bem no coração...
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.