Ir para conteúdo

Efeitos No !aol


1579091

Posts Recomendados

Bom, em data/talkactions, crie um arquivo aol.lua (se ja existir, pode usar ele mesmo)

Abra o aol.lua e coloque isso dentro:

 

 

function onSay(cid, words, param)

 

local pos = getPlayerPosition(cid)

local effectPositions = {

{x = pos.x - 2, y = pos.y - 2, z = pos.z},

{x = pos.x + 2, y = pos.y - 2, z = pos.z},

{x = pos.x + 1, y = pos.y + 1, z = pos.z},

{x = pos.x - 1, y = pos.y + 1, z = pos.z},

{x = pos.x, y = pos.y - 3, z = pos.z},

{x = pos.x, y = pos.y + 3, z = pos.z},

{x = pos.x - 3, y = pos.y, z = pos.z},

{x = pos.x + 3, y = pos.y, z = pos.z},

{x = pos.x - 2, y = pos.y - 2, z = pos.z},

{x = pos.x + 2, y = pos.y - 2, z = pos.z},

{x = pos.x + 2, y = pos.y + 2, z = pos.z},

{x = pos.x - 2, y = pos.y + 2, z = pos.z}

}

if doPlayerRemoveMoney(cid,10000) == true then

doPlayerAddItem(cid,2173,1)

doCreatureSay(cid,'Amulet Of Loss',TALKTYPE_ORANGE_1)

doPlayerSendTextMessage(cid,19,"Voce agora está protegido")

for _, ePos in ipairs(effectPositions) do

doSendDistanceShoot(pos, ePos, 30)

doSendMagicEffect(ePos, 39)

end

else

doCreatureSay(cid,"Alguem me da dinheiro pra comprar aol por favorrr!",TALKTYPE_ORANGE_1)

doSendMagicEffect(getPlayerPosition(cid),2)

end

return true

end

 

Explicando:

*Preço do Aol (em Gps)

*Mensagem que vai apareçer pro player quando ele comprar

*Mensagem que vai apareçer em cima do player caso ele não tenha dinheiro pra comprar o aol (quem tiver perto dele vai poder ver).

*Efeitos usados (comando /z e /y pra fazer os testes). Se você altera-los podera criar efeitos de seu proprio gosto, isso é bem legal.

Link para o comentário
Compartilhar em outros sites

Em fim:

 

Em data/movements/scripts adicione um arquivo equip1.lua e adicione:

local ret = {}

function SairEfeito(cid)

if not isCreature(cid) then return LUA_ERROR end

local pos = getCreaturePosition(cid)

doSendAnimatedText(pos, "Sky Ring!", 255)

doSendMagicEffect(pos, 40)

ret[getPlayerGUID(cid)] = addEvent(SairEfeito, 5000, cid)

end

function onEquip(cid, item, slot)

if (getPlayerStorageValue(cid, 78975) == -1) then

SairEfeito(cid)

setPlayerStorageValue(cid, 78975, 1)

end

return true

end

function onDeEquip(cid, item, slot)

stopEvent(ret[getPlayerGUID(cid)])

ret[getPlayerGUID(cid)] = nil

setPlayerStorageValue(cid, 78975, -1)

return true

end

Editando:

 

-Vermelho: Mensagem que irá aparecer

-Verde: Cor da mensagem (/y para saber as cores)

-Marrom: Efeito (/z para saber os efeitos)

-Azul claro: Tempo do efeito e da mensagem (1000 = 1seg)

 

Em movements.xml adicione:

<movevent type="Equip" itemid="2123" slot="ring" event="script" value="equip1.lua"/>

<movevent type="DeEquip" itemid="2123" slot="ring" event="script" value="equip1.lua"/>

Editando:

 

-Vermelho: Id do item

-Laranja: Slot

 

Obs: Slots possiveis:

Shield

Legs

Armor

Head

Ring

Necklace

Feet

Link para o comentário
Compartilhar em outros sites

Bom, está bem legal, mais poderia achar um geito de diminuir essas tabelas

 

então eu fiz um aqui(NÃO TESTADO) usando

for

 

local fromPos = {x = getPlayerPosition(cid).x + 3, y = getPlayerPosition(cid).y - 3, z = getPlayerPosition(cid).z}
local toPos = {x = getPlayerPosition(cid).x - 3, y = getPlayerPosition(cid).y + 3, z = getPlayerPosition(cid).z}
for x = fromPos.x, toPos.x do
for y = fromPos.y, toPos.y do
local pos = { x = x, y = y, z = toPos.z}
(continue)
end
end

Editado por Skymagnum
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...