Ir para conteúdo
Entre para seguir isso  
Conde2

Mirror Reflect v1.0

Recommended Posts

Conde2    0
Conde2

Mirror Reflect

Name:
Mirror Reflect

Version:
1.0

Crédits:
Conde2

TFS 0.3.6

concurso.png

 

 

 

 

Funcionamento:

Esse script é um script apenas para RPG e diversão....

O que ele faz é mandar raios para outro espelho, ele acha qualquer espelho que esteja em seu raio de alcance.

Eu fiz esse script para um concurso mas como não vou usar estou dando a vocês.

IDs

Espelhos: 1736 | 1737

Telescopio: 10533 | 10534

 

Tags:

 

<action itemid="10533" event="script" value="laser.lua"/>

<action itemid="10534" event="script" value="laser.lua"/>

Script

Em data/actions/script/ crie um arquivo chamado laser.lua

Em seguida ponha esse code nele:

 


function findItemInPos(items, position)-- by Nord
local found, pos, thing = 0, {x=position.x, y=position.y, z=position.z}
for i = 0, 255 do
pos.stackpos = i
thing = getTileThingByPos(pos)
if(thing.itemid == 0)then break end
if isInArray(items, thing.itemid) then
return thing
end
end
return false
end

function getSize(pos1, pos2) -- by Conde2
local x = math.abs(pos1.x-pos2.x)
local y = math.abs(pos1.y-pos2.y)
return x, y
end



function doSendEffectByMirror(mirror, pos1, pos2, stop, savedpos, shottype)

----------------------------------------------
local pos = 0
local pos3 = 0
local newpos = 0
local mtable = {mirror}
local change = {[1736]=1737, [1737]=1736}
local size1, size2 = getSize(pos1, pos2)
----------------------------------------------


for x = 0, size1 do
for y = 0, size2 do

if mirror == 1736 then
pos = {x=pos1.x+x, y=pos1.y-y, z=pos1.z}
elseif mirror == 1737 then
pos = {x=pos1.x-x, y=pos1.y+y, z=pos1.z}
end


if findItemInPos(mtable, pos) then
if pos1.x == pos.x and stop == 1 or pos1.y == pos.y and stop == 1 then
break
end

if mirror == 1736 then
_, sizey = getSize(pos, pos1)
newpos = {x=pos.x+7, y=pos.y+sizey, z=pos1.z}
elseif mirror == 1737 then
sizex = getSize(pos, pos1)
newpos = {x=pos.x+sizex, y=pos.y+5, z=pos1.z}
end

addEvent(doSendMagicEffect, 100, pos, 3)

for v = 1, 6 do
if savedpos ~= 0 then
addEvent(doSendDistanceShoot, v*100, savedpos[1], savedpos[2], shottype)
end
addEvent(doSendDistanceShoot, v*100, pos1, pos, shottype)
pos3 = {x=pos.x, y=pos.y, z=pos.z}
addEvent(doSendDistanceShoot, v*100, pos, getPosByDir(pos3, getDirectionTo(pos, newpos), sizex or sizey or 1), shottype) --- Necessário para correção de erros em posições (RETORNA DIAGNOAL PERFEITA)
end


if stop == 1 then
break
end

if savedpos == 0 then
savedpos = {pos1, pos}
end



addEvent(doSendEffectByMirror, 1, change[mirror], pos, newpos, stop+1, savedpos, shottype)
break

end
end
end
end


function onUse(cid, item, frompos, item2, topos)
local shottype = 37
local mirror = {[10533] = 1737, [10534] = 1736}
local position = {
[10533] = {x=frompos.x-7, y=frompos.y, z=frompos.z},
[10534] = {x=frompos.x, y=frompos.y-5, z=frompos.z},
}

doSendEffectByMirror(mirror[item.itemid], frompos, position[item.itemid], 0, 0, shottype)

end

 

Após ter feito isso reinicie seu otserver ou de /reload actions

 

Editado por Black Ice

Compartilhar este post


Link para o post
Mickfern    32
Mickfern

Muito legal mano !!! Mais é só para brincar mesmo ou eles servem para atacar alguem ?

Compartilhar este post


Link para o post
Conde2    0
Conde2

Não por enquanto eu fiz apenas para diversão....

Não é útil mais quem gosta de analisar codes esse é um bom code para analisar.

Posso dizer que não é nada fácil calcular posições em areas quaisquer...

 

Futuramente posso até melhorá-lo porém não agora.

Compartilhar este post


Link para o post
sonkis    4
sonkis

Funciona com TFS 0.3.4 Crying Damson?

Compartilhar este post


Link para o post
Conde2    0
Conde2

@sonkis

 

Sim muito provavelmente =)

Se não funcionar é por alguma função com o nome trocado.

Compartilhar este post


Link para o post
Chipp    0
Chipp

Meu d D+

 

Mto Show

Compartilhar este post


Link para o post
god_dreamer    1
god_dreamer

funciona para tfs 0.3.4 PL2?

Compartilhar este post


Link para o post
Mickfern    32
Mickfern

Ah que pena, posso modificar seu script ? Vo por para esses negocio ( parecidos com exori san ) atacar, acho que ficaria mais legal !

Compartilhar este post


Link para o post
Ramza    11
Ramza

Muito bom cara, e serve também como aprendizagem à quem tá aprendendo scripts!

Compartilhar este post


Link para o post
leolui    0
leolui

Poe Mais Tipos de Espelho para Fikar Mais Loko!

Compartilhar este post


Link para o post
kaiolokoxdlol    0
kaiolokoxdlol

Qui Massa ^^^aprovado !!!!

Compartilhar este post


Link para o post
Chipp    0
Chipp

Idea legal da pra brink bastante

Compartilhar este post


Link para o post
Raweng    0
Raweng

script ta muito foda mas...

a luz se propaga reto, ela nao faz curva, o espelho deveria refletir no telescopio, pois o angulo de incidencia tem que se igual ao angulo refletor -,-

mas o script ta foda, e se fosse como oque falei acima, nao daria porque nao da pra gira o telescopio 45 graus

Compartilhar este post


Link para o post
Le588    0
Le588

WoW, muito legal!

 

Vou instalar e brinca com isso ^^

Compartilhar este post


Link para o post
ViniciusLelis    0
ViniciusLelis

Nussa, que imaginação, ficou show, bem criativo, e bem feito o script.

Aprovado

Compartilhar este post


Link para o post
Flyther    0
Flyther

Aprovado ! Fico muito bacana esse script, da pra se diverti bastante hehe.

Compartilhar este post


Link para o post
All's    0
All's

APROVADO

 

gostei cara vou por no meu ot mas com a editação do mickfern mas próvavel pq o mickfern tá fazendo parte da equipe do meu server que ficará online brevemente.

Compartilhar este post


Link para o post
darkfa    0
darkfa

muito legal , vlw mesmo

Compartilhar este post


Link para o post
Hauntedy    0
Hauntedy

Uma otima ideia essa sua, seria bem legal se voce colocasse isso em algum tipo de puzzle para abrir alguma passagem para quests ou algo parecido xD

Compartilhar este post


Link para o post
joaovgodoi    0
joaovgodoi

Fico legal,mais se fosse pra atacar seria mais necessário,muito bom ! :D

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×