Postado Fevereiro 20, 2015 10 anos Estou um pouco ocupado, trabalhos à entregar ainda hoje.. Aí não posso garantir, mas vou pensar com carinho se faço. Editado Fevereiro 20, 2015 10 anos por Adriano SwaTT (veja o histórico de edições) Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Fevereiro 20, 2015 10 anos O lobão e sua osadia... kkkkk Nas configurações de SurvivalStatues.lua, na pasta Movements/scripts: local estatuas = { [id] = 0, --ID DA ESTÁTUA VIRADA AO NORTE [id] = 2, --ID DA ESTÁTUA VIRADA AO SUL [id] = 1, --ID DA ESTÁTUA VIRADA AO LESTE [id] = 3 --ID DA ESTÁTUA VIRADA AO OESTE } Agora, aí vai a função: function RotateStatues() local mtab = {} for xx = posarea[1].x, posarea[2].x do for yy = posarea[1].y, posarea[2].y do get_top = getTopCreature({x=xx, y=yy, z=7}).uid if get_top > 0 then if isMonster(get_top) and not isPlayer(getCreatureMaster(get_top)) then addEvent(doCreatureSetLookDirection, 200, get_top, estatuas[get_top]) end end end end return estatuas[get_top] --CASO QUEIRA SABER O LADO QUE A ESTÁTUA VAI VIRAR FORA DA FUNÇÃO end (Não testei) Editado Fevereiro 20, 2015 10 anos por david0703 (veja o histórico de edições) Atenciosamente, David Araujo Meu Conteúdo Fui útil? Gostou? Faça uma doação. "É errando que se erra." "Gambiarras resolvem instantemente, porém podem complicar em problemas futuros." "Cada dia vivido é um aprendizado."
Postado Fevereiro 20, 2015 10 anos muito bom amigo, mas se me permite comentar: vc está usando posarea sem ter colocado isso como parametro e isso limita a função a ficar dentro do callback; Outra coisa, a graça de um algoritmo é a matemática haha, olha só: NORTH = 0 EAST = 1 SOUTH = 2 WEST = 3 3705 (Virada para o \/ Sul ) 3706 ( Leste >) 3707 ( Norte /\) 3708 ( Oeste <) É isso que a gente tá querendo juntar, oque dá pra gente tirar de informação dessas duas coisas? Bem, a gente sabe que um numero X - 3707 tem que dar 0 pra retornar o norte, logo usaremos 3707 como número X; Com isso temos o seguinte: 3707 - 3705 = sul (deu certo) 3707 - 3706 = leste (deu certo) 3707 - 3707 = norte (deu certo) 3707 - 3708 = -1 (deu errado). Então pra arrumar isso a gente pode dizer pro código que a partir de agora -1 vai significar 3, e aí corrigimos o problema x). Uma forma bem simples de fazer isso é usando if ou operador ternário; local dir = (3707 - id) >= 0 and (3707 - id) or 3 Sendo id a variavel que vai me indicar o id da estátua que eu to pegando, tendo em vista que eu já tenho esse valor na tabela do adriano e poderia facilmente pegá-lo tb dentro do for que roda as estátuas. Seu método iria funcionar, mas é bom ver outros modos e pontos de vista pra gente aprender mais Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Fevereiro 20, 2015 10 anos Sim, o código que vc colocou deixa o script bem menor e profissional.... sem falar que dá aquele toquinho de dificuldade pra ser editado por leigos Atenciosamente, David Araujo Meu Conteúdo Fui útil? Gostou? Faça uma doação. "É errando que se erra." "Gambiarras resolvem instantemente, porém podem complicar em problemas futuros." "Cada dia vivido é um aprendizado."
Postado Fevereiro 20, 2015 10 anos não precisa necessariamente fazer do meu jeito auheuha aqui não tem certo e errado (contanto que funcione), são apenas versões diferentes de como solucionar um mesmo problema. Mas é sempre bom exercitar lógica Dependendo da situação, seu jeito seria bem melhor que o meu (pra caso o cara queira editar o sistema e usar algo que tenha estátuas com ids que não sigam esse padrão das versões mais antigas) mas pra esse caso em específico, da maneira que eu coloquei economizaria linhas e facilitaria pra quem iria ler o script. Os leigos não teriam mais que mexer ali, viraria uma parte central do sistema (Core) e as edições necessárias seriam feitas num config externo. Foi só uma idéia, mas gostei que vc participou do desafio haha Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
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.