Postado Março 24, 2020 5 anos Olá meu povo gaucho. Hoje venho aqui com um pedido: Em minha caminhada em otservers (2007-2008) teve algo que me chamou atenção e gostaria de adicionar em meu servidor. Uma alavanca que quando você puxa surge monsters na sala (no anexo) Quem tiver esse script ou puder me ajudar nessa eu agradeceria muito. Então vamos as especificações do que exatamente eu preciso: 1ª- O Player puxa a alavanca e aparecem monstros nas posições da sala (Position: [X: 251] [Y: 81] [Z: 10]. Position: [X: 250] [Y: 80] [Z: 10].) o resto edito depois 2ª- Os monstros podem ser Demons (edito os outros quando tiver o script) 3ª- Só poderá puxar novamente a hora que todos os bixos estiverem mortos. 4ª- Quando puxar deverá aparecer uma mensagem em vermelho para todo servidor "Tem um time upando nas ruínas." Observação 1- Não achei nada parecido no tibia king, por isso venho pedir aqui. Observação 2- Não sou preguiçoso, nunca criei uma script do 0, sempre editei as existentes. Citar Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
Postado Março 24, 2020 5 anos Solução @juvelino position_lobby = { -- Posição da sala no formato quadrado x1 = {x=174,y=61,z=7}, x2 = {x=180,y=67,z=7} } summons = { [1] = { monster= "Demon", pos= {x = 174 ,y = 61,z = 7}}, [2] = { monster= "Demon", pos={x = 180,y = 67,z = 7}}, --[3] = {monster = "Morgaroth", pos = {x= 181, y= 55, z= 7}}, } mensagemBroadcast = "Tem um time upando nas ruínas" function onUse(cid, item, fromPosition, itemEx, toPosition) local monsters_in_lobby = {} for posX=position_lobby.x1.x, position_lobby.x2.x do for posY=position_lobby.x1.y, position_lobby.x2.y do local newPos = {x=posX,y=posY,z=7, stackpos=253} local monsters = getTopCreature(newPos).uid if (isMonster(monsters)) then if (monsters > 0) then table.insert(monsters_in_lobby, monsters) end end end end if (#monsters_in_lobby == 0) then for i=1, #summons do doCreateMonster(summons[i].monster, summons[i].pos) end SetSwitch(item) doBroadcastMessage(mensagemBroadcast) else doPlayerSendCancel(cid, "Voce tem que matar todos os demons.") end return true end function SetSwitch(item) if (item.itemid == 1945) then doTransformItem(item.uid, item.itemid+1) end if (item.itemid == 1946) then doTransformItem(item.uid, item.itemid-1) end end
Postado Março 24, 2020 5 anos Autor @MatteusDeli Primeiramente muito obrigado por me ajudar nessa, serio, muito obrigado Certo amigo, o script esta funcionando de certa forma, algo que não estou me achando aqui. 1º eu fico puxando a alavanca e surgem cada vez mais monstros, deveria ser apenas os dois demons (segue anexo) acho que é porque editei errado a posição da sala que limita quais monstros devem morrer para puxar novamente. position_lobby = { -- Posição da sala no formato quadrado x1 = {x=240,y=80,z=10}, x2 = {x=252,y=92,z=10} 2º ta dando uns errinhos na distro, consegue me responder o que pode ser?
Postado Março 24, 2020 5 anos @juvelino Opa, estranho eu testei aqui e funcionou, tenta setar a área da sala denovo pegando as duas posições como ta na imagem e testa pra ver se vai. O erro na distro é pq acumulou muitos monstros na mesma posicao ai o quando voce puxa a alavanca ele nao consegue criar outro demon. Editado Março 24, 2020 5 anos por MatteusDeli (veja o histórico de edições)
Postado Março 24, 2020 5 anos Autor @MatteusDeli as posições x1 e x2 estão corretas como você me passou, agora eu acredito que tem algo errado que eu não editei nessa parte: Citar local monsters_in_lobby = {} for posX=position_lobby.x1.x, position_lobby.x2.x do for posY=position_lobby.x1.y, position_lobby.x2.y do local newPos = {x=posX,y=posY,z=7, stackpos=253} local monsters = getTopCreature(newPos).uid if (isMonster(monsters)) then if (monsters > 0) then table.insert(monsters_in_lobby, monsters) end end end end no meu .lua está assim, devo editar algo?
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.