Night Wolf 285 Postado Outubro 5, 2015 Share Postado Outubro 5, 2015 Olá pessoal, antes de tudo gostaria de me apresentar.. me chamo Anderson mas alguns de vocês devem me conhecer pelo nick de xWhiteWolf; Bom, hoje eu venho propor um desafio para a equipe do xtibia, eu vou apresentar um pseudo-código em lua de um script que desenvolvi. Eu fiz o pseudo-código bem porcamente em mais ou menos uns 20 minutos, já o script em si demorou algumas horinhas :x porém eles estão bem parecidos. local dif = { [1] = {0,1,1,2,1,1,0,0,2,0,1}, [2] = {0,1,1,2,1,1,0,0,2,0,1}, [3] = {0,1,1,2,1,1,0,0,2,0,1} } local delay = { [1] = 200, [2] = 150, [3] = 100 } function isRoomEmpty() if getGlobalStorageValue(19281) < 1 then return true end end function startEvent() setGlobalStorageValue(19281, 1) callWave(difficult, delay) return true end function callWave(dif, delay) -- fazer recursão alfa = getDifficult() for i = 1, #dif[alfa] + 7 do -- fazer + 7 loops para acabar as notas if i <= #dif[alfa] then doRemoveObj(up) doCreateObj(down) end end return true end -- versao recursiva function callWave(n) n = n or 1 alfa, delay = getDifficult(), getDelay() doCreateObj(down) doRemoveObj(up) if n < dif[alfa] + 7 then addEvent(callWave, delay, n + 1) end return true end local pos = {x = 160, y = 54, z = 7} function onUse(cid, item, itemEx, fromPos, toPos) if isRoomEmpty() then startEvent() doTeleportThing(cid, pos) else doPlayerSendCancel(cid, "The room is busy right now, try again later.") end return true end O desafio é o seguinte: vocês tem que tentar adivinhar do que se trata esse código. Isso vale tanto para explicar partes do código quanto para explicar a idéia por trás dele.A cada dia irei postar uma dica para ajudá-los nesse desafio, podendo ser uma dica explicando partes do código ou dicas sobre a funcionalidade dele."Mas lobo, por que eu iria tentar descobrir do que se trata seu código estúpido?" Bem meu caro, será uma tarefa legal e esse script é uma idéia bem inovadora.. só o fato de você tentar ler irá ajudá-lo a treinar seu cérebro para a linguagem Lua. E também há uma recompensa!! aquele que acertar ou chegar mais perto verá e terá acesso ao código antes de todo mundo!!111Espero que vocês animem pra participar disso, se postei na seção errada peço que movam para a seção correta para que tenha melhor visibilidade. Dicas = { [1] = "Trata-se de um mini game no tibia" } Toda resposta certa irá receber um ponto de reputação minha (se a equipe permitir). Boa sorte e que os jogos comecem!!Edit: pro sistema funcionar precisaria também de um movements, eu fiz +- um modelo de como seria pra ajudar vcs a descobrirem: local itemid = 1679 local storage_point = 12721 function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if math.abs(fromPosition.x - toPosition) > 2 then limpar_sala() end if item_in_pos then removeItem(pos) doSendMagicEffect(toPosition, 3) setPlayerStorageValue(cid, storage_point, getPlayerStorageValue(cid, storage_point) + 1) else doSendMagicEffect(fromPosition, 2) end doTeleportThing(cid, fromPosition) return true end Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/ Compartilhar em outros sites More sharing options...
Administrador Administrador 1436 Postado Outubro 5, 2015 Administrador Share Postado Outubro 5, 2015 Gostei da ideia, espero que a galera tente mesmo ! A reputação está liberada, não tem contradições à isto. Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671174 Compartilhar em outros sites More sharing options...
RigBy 285 Postado Outubro 5, 2015 Share Postado Outubro 5, 2015 Eu ia da dois chute mas só vou da um... É um jogo da velha? Parabéns pela iniciativa Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671175 Compartilhar em outros sites More sharing options...
Caronte 446 Postado Outubro 5, 2015 Share Postado Outubro 5, 2015 Seria uma arena que faz o número de monstros aumentar de acordo com a ordem de dificuldade? Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671179 Compartilhar em outros sites More sharing options...
Night Wolf 285 Postado Outubro 5, 2015 Autor Share Postado Outubro 5, 2015 @@Daniel, thanks maninho. Vou tentar transformar esse tópico num desafio mensal e trazer novidades pra essa seção enquanto eu volto a scriptar *-*@, foi um bom palpite hahaha mas não é não.. tenta dar uma lida no código, mesmo quem não tá familiarizado com a linguagem pode achar dicas lá. Essa é a idéia do tópico@@Caronte, poderia ser.. mas em nenhum momento eu coloquei alguma função de criar monstros Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671184 Compartilhar em outros sites More sharing options...
Luga03 333 Postado Outubro 5, 2015 Share Postado Outubro 5, 2015 Na minha opinião creio que isso seja um evento de tanto em tanto tempo ele abra um caminho que apenas na sequencia certa possa entrar... Eu lê rapidinho, Acho que está errado o meu chute mais é oque ue achei então... quando puder responder fala ai Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671185 Compartilhar em outros sites More sharing options...
Night Wolf 285 Postado Outubro 5, 2015 Autor Share Postado Outubro 5, 2015 @, vou te dar um ponto de reputação porque você acertou o esquema da sequencia certa.. mas não é pra entrar em nada e não é de abrir um caminho Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671188 Compartilhar em outros sites More sharing options...
Lumus 254 Postado Outubro 5, 2015 Share Postado Outubro 5, 2015 Seria um jogo da memória? Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671189 Compartilhar em outros sites More sharing options...
Night Wolf 285 Postado Outubro 5, 2015 Autor Share Postado Outubro 5, 2015 @@Lumus, nops ahauhauhPS: to gostando de ver vcs tentando, continuem Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671191 Compartilhar em outros sites More sharing options...
Gabrieltxu 738 Postado Outubro 5, 2015 Share Postado Outubro 5, 2015 vou explicar aquilo que eu entendi , uma variavel chamada dif com 3 tabelas com numeros em sequencia uma outra variavel chamada delay com 3 tabelas e diminuindo 50 a cada tabela 1° função = tem uma sala e essa sala verifica se o evento começou se nao acontece nada 2° função = quando começar o evento vai setar uma storage global que ai com ela vai dar para abrir a sala ou entrar nela , e chamar uma wave , com uma dificuldade (sem valor setado) e um delay (acho que falta setar o delay) e pronto nada mais acontece , 3° função = chama uma Wave , com uma dificuldade e um delay , com uma variavel alfa com o valor getDifficult setada , e um loop de +7 para aumentar a dificuldade? (0-0) e um se for menor de 1 a diferença da dificuldade vai tirar o Objeto (UP) e vai criar o objeto (Down) e fim --- versao recursiva 1° função vai chamar uma wave n = 1 , vai ter dificuldade e um delay , vai criar o Objeto Down e vai retirar o Objeto Up , se o n for menor do que a diferença do alfa +7 vai fazer com que sempre chame uma wave aumenta a dificuldade e pronto 2° função vai ter uma variavel onde vai guardar posições x y z , a função vai funcionar ao você usar um item vai verificar se a sala estiver vazia, se sim começa o evento ai vai teleportar o Player para essa posição se a sala nao estiver vazia vai mandar uma mensagem para o player e fim auehuaheuae é isso que eu entendi do seu script se eu estiver errado me corrija Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671192 Compartilhar em outros sites More sharing options...
Night Wolf 285 Postado Outubro 5, 2015 Autor Share Postado Outubro 5, 2015 @@Gabrieltxu, isso que você falou está tudo correto, com excessão dessa parte aqui: 3° função = chama uma Wave , com uma dificuldade e um delay , com uma variavel alfa com o valor getDifficult setada , e um loop de +7 para aumentar a dificuldade? (0-0) e um se for menor de 1 a diferença da dificuldade vai tirar o Objeto (UP) e vai criar o objeto (Down) e fim --- versao recursiva 1° função vai chamar uma wave n = 1 , vai ter dificuldade e um delay , vai criar o Objeto Down e vai retirar o Objeto Up , se o n for menor do que a diferença do alfa +7 vai fazer com que sempre chame uma wave aumenta a dificuldade e pronto Tem dois números que são muito utilizados em códigos no tibia (7 e 5). Aquele +7 tem uma razão de estar ali e não tem a ver com dificuldade de wave e sim com uma razão estética. Não é a diferença que tem que ser menor que 1 porque dif ali está se referindo à tabela dif.Não é diferença e a wave não aumenta a dificuldade. Uma wave não chama outra, somente a si mesma (por isso o nome recursiva). Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671194 Compartilhar em outros sites More sharing options...
Caronte 446 Postado Outubro 5, 2015 Share Postado Outubro 5, 2015 é um piano ? kkkk Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671195 Compartilhar em outros sites More sharing options...
Gabrieltxu 738 Postado Outubro 5, 2015 Share Postado Outubro 5, 2015 @@Gabrieltxu, isso que você falou está tudo correto, com excessão dessa parte aqui: 3° função = chama uma Wave , com uma dificuldade e um delay , com uma variavel alfa com o valor getDifficult setada , e um loop de +7 para aumentar a dificuldade? (0-0) e um se for menor de 1 a diferença da dificuldade vai tirar o Objeto (UP) e vai criar o objeto (Down) e fim --- versao recursiva 1° função vai chamar uma wave n = 1 , vai ter dificuldade e um delay , vai criar o Objeto Down e vai retirar o Objeto Up , se o n for menor do que a diferença do alfa +7 vai fazer com que sempre chame uma wave aumenta a dificuldade e pronto Tem dois números que são muito utilizados em códigos no tibia (7 e 5). Aquele +7 tem uma razão de estar ali e não tem a ver com dificuldade de wave e sim com uma razão estética. Não é a diferença que tem que ser menor que 1 porque dif ali está se referindo à tabela dif. Não é diferença e a wave não aumenta a dificuldade. Uma wave não chama outra, somente a si mesma (por isso o nome recursiva). entao cara kk nunca tinha visto isso , era essa parte que eu nao estava entendendo muito , mas valeu pelo desafio aprendi mais alguma coisa é nois Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671196 Compartilhar em outros sites More sharing options...
Night Wolf 285 Postado Outubro 5, 2015 Autor Share Postado Outubro 5, 2015 @@Caronte, chegou perto uhauhauheuhauh Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671199 Compartilhar em outros sites More sharing options...
Caronte 446 Postado Outubro 5, 2015 Share Postado Outubro 5, 2015 @@Caronte, chegou perto uhauhauheuhauh É instrumento musical? Link para o comentário https://xtibia.com/forum/topic/237128-desafio-do-m%C3%AAs/#findComment-1671203 Compartilhar em outros sites More sharing options...
Posts Recomendados