Postado Setembro 21, 2013 11 anos Bem, não sei se vai funcionar, mas tenta ai : local config = { fromPos = {x=556,y=451,z=6}, -- posição superior esquerda do mapa, da area em que esta mapeado a area. toPos = {x=566,y=456,z=6}, -- posição inferior direita do mapa, da area em que esta mapeado a area. } local removeMobs = {"Fire Destroyer","Demon","Rat","Cave Rat"} -- monstros que serão removidos function onTime() removeMonsterInArea(fromPos, toPos) return true end function removeMonsterInArea() -- by Jamison local positionsCheck = {} for i = config.fromPos.x, config.toPos.x do positionsCheck[#positionsCheck+1] = {x=i, y = config.fromPos.y, z = config.fromPos.z, stackpos = 0} for j = config.fromPos.y+1, config.toPos.y do positionsCheck[#positionsCheck+1] = {x=i, y = j, z = config.fromPos.z, stackpos = 0} end end for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i local tile = getTileThingByPos(positionsCheck[j]) if isMonster(tile.uid) then if isInArray(removeMobs, getCreatureName(tile.uid)) then doRemoveCreature(tile.uid) end end end end end Você precisa de configurar o "removeMobs" com o nome dos monstros que você quer que remova. 愛"A alma permanece em suas criações" 平(Não dou suporte por mensagem privada.)
Postado Setembro 21, 2013 11 anos Autor Funcionou não Jamison, olha o script que eu editei deixei dessa forma para que funcionasse apenas em um determinado dia.. Segue o script local config = { day = "Saturday", fromPos = {x=556,y=451,z=6}, -- posição superior esquerda do mapa, da area em que esta mapeado a area. toPos = {x=566,y=456,z=6}, -- posição inferior direita do mapa, da area em que esta mapeado a area. } local removeMobs = {"Torre Defesa","Torre Ataque"} -- monstros que serão removidos function onTime() if (os.date("%A") == config.day) then removeMonsterInArea(fromPos, toPos) return true end end function removeMonsterInArea() -- by Jamison local positionsCheck = {} for i = config.fromPos.x, config.toPos.x do positionsCheck[#positionsCheck+1] = {x=i, y = config.fromPos.y, z = config.fromPos.z, stackpos = 0} for j = config.fromPos.y+1, config.toPos.y do positionsCheck[#positionsCheck+1] = {x=i, y = j, z = config.fromPos.z, stackpos = 0} end end for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i local tile = getTileThingByPos(positionsCheck[j]) if isMonster(tile.uid) then if isInArray(removeMobs, getCreatureName(tile.uid)) then doRemoveCreature(tile.uid) end end end end return true end Ver ai o problema, porque no distro não aparece nada, está tudo ok, mais não funciona!
Postado Setembro 21, 2013 11 anos Minha ultima tentativa : local config = { day = "Saturday", fromPos = {x=556,y=451,z=6}, -- posição superior esquerda do mapa, da area em que esta mapeado a area. toPos = {x=566,y=456,z=6}, -- posição inferior direita do mapa, da area em que esta mapeado a area. } function onTime() if (os.date("%A") == config.day) then removeMonsterInArea(fromPos, toPos) return true end end function removeMonsterInArea() -- by Jamison local positionsCheck = {} for i = config.fromPos.x, config.toPos.x do positionsCheck[#positionsCheck+1] = {x=i, y = config.fromPos.y, z = config.fromPos.z, stackpos = 0} for j = config.fromPos.y+1, config.toPos.y do positionsCheck[#positionsCheck+1] = {x=i, y = j, z = config.fromPos.z, stackpos = 0} end end for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i local tile = getTileThingByPos(positionsCheck[j]) if isMonster(tile.uid) then if getCreatureName(tile.uid) == "Torre Defesa" then doRemoveCreature(tile.uid) end if getCreatureName(tile.uid) == "Torre Ataque" then doRemoveCreature(tile.uid) end end end end return true end Bem, eu fiz uma nubada de script, mas talvez funcione... para cada monstro que você quiser tirar, depois de if isMonster... você adicionará isso : if getCreatureName(tile.uid) == "Torre Defesa" then doRemoveCreature(tile.uid) end Com o nome do monstro desejado. 愛"A alma permanece em suas criações" 平(Não dou suporte por mensagem privada.)
Postado Setembro 22, 2013 11 anos Autor Jamison, o que tá acontecendo aqui é muito estranho, só remove 1 e o que acontece é que só está removendo a Torre Ataque, mais o interessante de tudo é que mesmo que eu não configure para remover o Torre Ataque ele some e os outros não. Exp: Configurei assim: if getCreatureName(tile.uid) == "Torre Defesa" then doRemoveCreature(tile.uid) end Mais a Torre Defesa não desaparece, quem desaparece é a Torre Ataque, mesmo sem ta configurado. Pensando nisso eu fiz um teste mudei a configuração para remover um demon mais não retirou o demon, retirou a Torre Ataque novamente, não intendi isso sinceramente e teste o outro script ali em cima novamente prestei atenção que acontece o mesmo. Sei que você tentou pela última vez ai mais se puder fazer esse script remover qualquer tipo de monstro não importa o nome qualquer um que esteja na coordenada configurada já serve também. Todo jeito vou lhe da rep pelas tentativas.
Postado Setembro 22, 2013 11 anos Para remover todos os tipos de monstro é mais fácil : local config = { day = "Saturday", fromPos = {x=556,y=451,z=6}, -- posição superior esquerda do mapa, da area em que esta mapeado a area. toPos = {x=566,y=456,z=6}, -- posição inferior direita do mapa, da area em que esta mapeado a area. } function onTime() if (os.date("%A") == config.day) then removeMonsterInArea(fromPos, toPos) return true end end function removeMonsterInArea() -- by Jamison local positionsCheck = {} for i = config.fromPos.x, config.toPos.x do positionsCheck[#positionsCheck+1] = {x=i, y = config.fromPos.y, z = config.fromPos.z, stackpos = 0} for j = config.fromPos.y+1, config.toPos.y do positionsCheck[#positionsCheck+1] = {x=i, y = j, z = config.fromPos.z, stackpos = 0} end end for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i local tile = getTileThingByPos(positionsCheck[j]) if isMonster(tile.uid) then doRemoveCreature(tile.uid) end end end return true end Bem, tente isso. 愛"A alma permanece em suas criações" 平(Não dou suporte por mensagem privada.)
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.