Dark 3 #1 Postado 18 Abril, 2008 ------------------------------------------------------------ Autor: Kaotar Servidor Testado: The Forgotten Server 0.2.9 (WinGui) Versão: 8.1 ------------------------------------------------------------ Como Instalar: Adicione na pasta actions do seu servidor. Como funciona: Simplesmente no topo do script você seleciona a distancia(a diferença entre o telescope e o sqm desejado, ou seja, X.....Y, X=Telescope,Y=Sqm desejado,PONTO=Sqms) e o raio(O raio adotado equivale a Y-Raio/2,ou seja, .Y. neste caso raio é 2) e ele retornará o nome das criaturas encontradas na área. Oque ele faz: Já foi citado acima, ele retorna o nome das criaturas encontradas na area. Acho que nao tem mais o que citar. Script: [/font] function onUse(cid, item, frompos, item2, topos) local monsters = {} local A = 0 -- Variaveis raio = 4 distancia = 6 Z = 7 --nil é o mesmo andar do telescope ou ainda pode ser especifidado um andar(0 à 15) -- Script if Z == nil then Z = frompos.z elseif Z < 0 or Z > 15 then debugPrint("Andar invalido") end if item.itemid == 2582 then centery = math.ceil(frompos.y+distancia) X = math.ceil(frompos.x-(raio/2)) Y = math.ceil(centery-(raio/2)) frompos = {x=X,y=Y,z=Z,stackpos=253} topos = {x=frompos.x+raio,y=frompos.y+raio,z=Z,stackpos=253} check = {x=frompos.x,y=frompos.y,z=Z,stackpos=253} elseif item.itemid == 2581 then centery = math.ceil(frompos.y-distancia) X = math.ceil(frompos.x-(raio/2)) Y = math.ceil(centery-(raio/2)) frompos = {x=X,y=Y,z=Z,stackpos=253} topos = {x=frompos.x+raio,y=frompos.y+raio,z=Z,stackpos=253} check = {x=frompos.x,y=frompos.y,z=Z,stackpos=253} elseif item.itemid == 2583 then centerx = math.ceil(frompos.x-distancia) X = math.ceil(centerx-(raio/2)) Y = math.ceil(frompos.y-(raio/2)) frompos = {x=X,y=Y,z=Z,stackpos=253} topos = {x=frompos.x+raio,y=frompos.y+raio,z=Z,stackpos=253} check = {x=frompos.x,y=frompos.y,z=Z,stackpos=253} elseif item.itemid == 2584 then centerx = math.ceil(frompos.x+distancia) X = math.ceil(centerx-(raio/2)) Y = math.ceil(frompos.y-(raio/2)) frompos = {x=X,y=Y,z=Z,stackpos=253} topos = {x=frompos.x+raio,y=frompos.y+raio,z=Z,stackpos=253} check = {x=frompos.x,y=frompos.y,z=Z,stackpos=253} end repeat creat = getThingfromPos(check) if creat.itemid > 0 then name = getCreatureName(creat.uid) A = A+1 monsters[A]=name end check.x=check.x+1 if check.x>topos.x then check.x=frompos.x check.y=check.y+1 end until check.y>topos.y if #monsters > 0 then if #monsters == 1 then text = "A criatura vista foi a seguinte:" elseif #monsters > 1 then text = "As criaturas vistas foram as seguintes:" end repeat text = ""..text.." "..monsters[#monsters].."," table.remove(monsters, #monsters) until #monsters == 0 text = string.sub(""..text.."",1,-2) text = ""..text.."." doPlayerSendTextMessage(cid,22,text) elseif A == 0 then doPlayerSendTextMessage(cid,22,"Nao enxergou nada.") end end Tags: <action itemid="2584" script="telescope.lua" /> <action itemid="2583" script="telescope.lua" /> <action itemid="2582" script="telescope.lua" /> <action itemid="2581" script="telescope.lua" /> Compartilhar este post Link para o post
Kaotar 5 #2 Postado 18 Abril, 2008 Opa, alguma duvida, bugs poste no topico. O Dark esqueceu de falar sobre o Z Z = 7 --nil é o mesmo andar do telescope ou ainda pode ser especifidado um andar(0 à 15) Flws, Kaotar Compartilhar este post Link para o post
Forger 2 #3 Postado 18 Abril, 2008 Dá pra fazer esse script de uma maneira bem mais simples: local monsters = {} local A = 0 -- Variaveis local raio = 4 local distancia = 6 local Z = 7 --nil é o mesmo andar do telescope ou ainda pode ser especifidado um andar(0 à 15) -- Script function onUse(cid, item, frompos, item2, topos) if (Z == nil) then Z = frompos.z elseif Z < 0 or Z > 15 then debugPrint("Andar invalido") end if item.itemid == 2582 then centery = math.ceil(frompos.y+distancia) elseif item.itemid == 2581 then centery = math.ceil(frompos.y-distancia) elseif item.itemid == 2583 then centerx = math.ceil(frompos.x-distancia) elseif item.itemid == 2584 then centerx = math.ceil(frompos.x+distancia) end local X = math.ceil(frompos.x-(raio/2)) local Y = math.ceil(centery-(raio/2)) local frompos = {x=X,y=Y,z=Z,stackpos=253} local topos = {x=frompos.x+raio,y=frompos.y+raio,z=Z,stackpos=253} local check = {x=frompos.x,y=frompos.y,z=Z,stackpos=253} repeat creat = getThingfromPos(check) if creat.itemid > 0 then name = getCreatureName(creat.uid) A = A+1 monsters[A]=name end check.x=check.x+1 if check.x>topos.x then check.x=frompos.x check.y=check.y+1 end until (check.y> topos.y) if #monsters > 0 then if #monsters == 1 then text = "A criatura vista foi a seguinte:" elseif #monsters > 1 then text = "As criaturas vistas foram as seguintes:" end repeat text = text..' '..monsters[#monsters]..',' table.remove(monsters, #monsters) until #monsters == 0 text = string.sub(text,1,-2) text = text..'.' doPlayerSendTextMessage(cid,22,text) elseif A == 0 then doPlayerSendTextMessage(cid,22,"Nao enxergou nada.") end end Algo assim... Espero que esteja certo. Compartilhar este post Link para o post
Kaotar 5 #4 Postado 18 Abril, 2008 Claro que nao pois em if item.itemid == 2582 then centery = math.ceil(frompos.y+distancia) X = math.ceil(frompos.x-(raio/2)) Y = math.ceil(centery-(raio/2)) frompos = {x=X,y=Y,z=Z,stackpos=253} topos = {x=frompos.x+raio,y=frompos.y+raio,z=Z,stackpos=253} check = {x=frompos.x,y=frompos.y,z=Z,stackpos=253} e em: elseif item.itemid == 2583 then centerx = math.ceil(frompos.x-distancia) X = math.ceil(centerx-(raio/2)) Y = math.ceil(frompos.y-(raio/2)) frompos = {x=X,y=Y,z=Z,stackpos=253} topos = {x=frompos.x+raio,y=frompos.y+raio,z=Z,stackpos=253} check = {x=frompos.x,y=frompos.y,z=Z,stackpos=253} A verificação é diferente, de uma olhada melhor xD. Flws, Kaotar Edit: De uma olhada nas verificações todas tem algo de diferente, alguma é centerx e outras usa frompos.x e etc. Compartilhar este post Link para o post
GustavoMaster 0 #5 Postado 25 Abril, 2008 Script muito criativo, e é bom para OT's sérios ^^ E tipo poderia colocar aquele telescopio grandão, e ele pode achar as criaturas mais distantes Parabéns e obrigado Compartilhar este post Link para o post
Capuccino 0 #6 Postado 29 Abril, 2008 De mais cara ! obrigado.. Compartilhar este post Link para o post
niKer 0 #7 Postado 29 Abril, 2008 Parabens Como Sempre Otimo Parabens!! Compartilhar este post Link para o post
Mush 0 #9 Postado 4 Maio, 2008 Muito bom, gostei mesmo, garanto que vou usar So que tipo iria ser legal se desce para ver a longa distancia como se pudeçe ver a area oO //Frank Compartilhar este post Link para o post
Kaotar 5 #10 Postado 12 Maio, 2008 So que tipo iria ser legal se desce para ver a longa distancia como se pudeçe ver a area oO Como assim? Compartilhar este post Link para o post
BlueAvenger 0 #11 Postado 12 Maio, 2008 Tio Dark, mais um script seu como um dos melhores, sinceramente ficou muito bom, adorei ele. Meus parabens. Grato! Aprovado~ Compartilhar este post Link para o post
541320 0 #12 Postado 12 Maio, 2008 Ficou muito irado claro foi postado pelo Dark Aprovado Compartilhar este post Link para o post
Dark 3 #13 Postado 12 Maio, 2008 Bem, só lembrando esse script não foi feito bor min e sim pelo usuario Kaotar. Eu postei ele pois esse script foi o que ganhou a edição numero 1 do ScriptChallenger. So reforçando, o autor desse script é o Kaotar Compartilhar este post Link para o post