Ir para conteúdo

Ajudaaaaaaaaaa Action Urgenteeeee


Limoones

Posts Recomendados

Tipo do script:Action

Protocolo (versão do Tibia):8.60

Servidor utilizado:Alissow

Nível de experiência:médio

Adicionais/Informações:script de blessar armas

É o seguinte preciso de um script de blessar armas que troca o Item 6550 pelo item 7758 e tipo o do RadBR.Preciso urgente desse script por favor.Dêem uma olhada nesse outro pedido

 

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

Tipo do script:Action

Protocolo (versão do Tibia):8.60

Servidor utilizado:Alissow

Nível de experiência:médio

Adicionais/Informações:script de blessar armas

É o seguinte preciso de um script de blessar armas que troca o Item 6550 pelo item 7758 e tipo o do RadBR.Preciso urgente desse script por favor.Dêem uma olhada nesse outro pedido

 

 

 

Explica melhor qe faço '-'

Link para o comentário
Compartilhar em outros sites

É o seguinte o player tem que por o item 6550 de um lado e o 2391 do outro e no meio tem uma alavanca que so "transforma" o war hammer se tiver na pos certa.

A pos do luky e 1045,1024,7

A pos do hammer e 1046,1024,7

A pos do novo war hammer nivel 1 ID 7758 é a mesma do luky tenta ai e me fala quanquer coisa se nao tiver entendido!!

Link para o comentário
Compartilhar em outros sites

Na verdade tem esse script aqi e so você procurar =/

 

Data/Actions/Actions.xml adicione

 

<action actionid="9565" event="script" value="Nome_do_arquivo.lua"/>

 

Data/Actions/Script/Crie um arquivo lua e adicione

 

local formulas = {

{{5911,30},0,0,id=8473,count=1}, --- red piece of cloth + nd + nd = Great health potion

{5922,{6500,2},0,id=2391,count=1}, -- holy orchid + 2 demoniac esscence = war hammer

{6500,6500,6500,id=2391,count=1}, -- demoniac esscence + demoniac esscence + demoniac esscence = war hammer

}

function isInArraya(a, v,i1,i2)--- script By mock

i1 = i1 or 0

i2 = i2 or 0

for i=1,#a do

if i ~= i1 and i ~= i2 then

if a == v then

return a, i

elseif type(a) == 'table' and a[1] == v then

return a[1], i

end

end

end

return false

end

function getForm(n1,n2,n3,n1cnt,n2cnt,n3cnt)--- script By mock

n1 = n1 or 0

n2 = n2 or 0

n3 = n3 or 0

n2cnt = n2cnt or 1

n1cnt = n1cnt or 1

n3cnt = n3cnt or 1

if not n1 then

return 'nil'

end

local fnd = {}

local ret = {}

for i=1,#formulas do

local find1, p1 = isInArraya(formulas, n1,0)

local find2, p2 = isInArraya(formulas, n2,p1)

local find3, p3 = isInArraya(formulas, n3,p1,p2)

if (find1 == formulas[p1] or (type(formulas[p1]) == 'table' and formulas[p1][1] == find1 )) and

(find2 == formulas[p2] or (type(formulas[p2]) == 'table' and formulas[p2][1] == find2 )) and

(find3 == formulas[p3] or (type(formulas[p3]) == 'table' and formulas[p3][1] == find3 )) then

if (type(formulas[1]) ~= 'table' or formulas[1][2] <= n1cnt) and (type(formulas[2]) ~= 'table' or formulas[2][2] <= n2cnt) and (type(formulas[3]) ~= 'table' or formulas[3][2] <= n3cnt) then

 

if type(formulas[1]) == 'table' then

n1 = formulas[1][1]

n1cnt = formulas[1][2]

end

if type(formulas[2]) == 'table' then

n2 = formulas[2][1]

n2cnt = formulas[2][2]

end

if type(formulas[3]) == 'table' then

n3 = formulas[3][1]

n3cnt = formulas[3][2]

end

return {id=formulas.id,{n1,n1cnt},{n2,n2cnt},{n3,n3cnt},count=formulas.count,form=formulas}

end

end

end

return n1..'-'..n2..'-'..n3

end

function onUse(cid, item, frompos, item2, topos)

--- script By mock

if getPlayerStorageValue(cid, 10906) < os.time() then

setPlayerStorageValue(cid,10906, os.time()+5)

doTransformItem(item.uid, 9562)

addEvent(function()

for stackpos=1,255 do

topos.stackpos = stackpos

item = getThingfromPos(topos)

if item.itemid == 9562 then

doTransformItem(item.uid, 9563)

break

end

end

end,1500)

local posittions = {

{x=82,y=91,z=7,stackpos=255}, --- pos de um item

{x=83,y=91,z=7,stackpos=255}, --- pos de um item

{x=84,y=91,z=7,stackpos=255}, --- pos de um item

{x=82,y=93,z=7,stackpos=255}, --- pos do resultado.

}

local tb = {}

local k

for i=1,#posittions do

if i == 4 then break end;

k = getThingfromPos(posittions)

 

if k.itemid ~= 0 then

table.insert(tb,1,k)

doSendMagicEffect(posittions,14)

else

doSendMagicEffect(posittions,13)

end

end

local n1 = tb[1] or {temid=0,type=0}

local n2 = tb[2] or {temid=0,type=0}

local n3 = tb[3] or {temid=0,type=0}

doPlayerSendTextMessage(cid, 25,"Verificando.")

local ret = getForm(n1.itemid,n2.itemid,n3.itemid,n1.type,n2.type,n3.type)

if type(ret) == 'table' then

for i=1,#posittions do

if i == 4 then break end;

k = getThingfromPos(posittions)

for e=1,#ret do

if type(ret[e]) == 'table' then

if ret[e][1] == k.itemid and k.itemid ~= 0 then

local del = ret[e][2]

if del == 0 then del = 1 end

doRemoveItem(k.uid,del)

addEvent(doSendMagicEffect,3000,posittions, 0)

break

end

end

end

end

addEvent(function()

for stackpos=1,255 do

topos.stackpos = stackpos

item = getThingfromPos(topos)

if item.itemid == 9563 then

doTransformItem(item.uid, 9565)

break

end

end

doCreateItem(ret.id,ret.count, posittions[4])

doSendMagicEffect(posittions[4], 56)

if ret.count ~= 1 then

fnsh = 's'

end

fnsh = fnsh or ''

if getItemNameById == nil then

getItemNameById = getItemName

end

doPlayerSendTextMessage(cid, 25,"Você criou "..ret.count.." ".. getItemNameById(ret.id) ..fnsh..".")

end,3000)

else

addEvent(function()

for stackpos=1,255 do

topos.stackpos = stackpos

item = getThingfromPos(topos)

if item.itemid == 9563 then

doTransformItem(item.uid, 9565)

break

end

end

doPlayerSendTextMessage(cid, 25,"Não existe esta combinação.")

end,3000)

end

 

return TRUE

else

doPlayerSendCancel(cid,"Aguarde.")

doSendMagicEffect(topos, 2)

return FALSE

end

end

 

Nesse script você coloca os items em 3 lugares serão 3 items para criar 1 não sei se eh isso qe você qer se não for diz '-'

 

Aqi explica como editar

 

 

Isso é uma tabela e lembre-se deve se espaçar tudo com virgulas!

Vamos ver... o primeiro valor é a demoniac es entao o id dela é 6500 vamos por 6500

Código:

 

local formulas = {

{6500},

}

 

Certo, a backpack é 2003

Código:

 

local formulas = {

{6500,2003},

}

 

Ixe... e o terceiro item? basta por 0

Código:

 

local formulas = {

{6500,2003,0},

}

 

Agora vamos por o ID do que vai ser criado e a quantidade:

Código:

 

local formulas = {

{6500,2003,0,id=2365,count=1},

}

 

Pronto! criamos uma formula!

 

 

Bom agora eu quero 100 demoniac essence para criar 10 holy orchids, como fazer?

Assim!

Código:

 

local formulas = {

{{6500,10},0,0,id=5922,count=10},

}

 

Ou seja bastar por outra tabela sendo o primeiro valor o id e o segundo a quantidade:

{{ ID , QTD } , { ID , QTD } , { ID , QTD } , id = ID, count = QTD },

 

Script by: Mock

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

[18/05/2011 14:06:22] [Error - LuaScriptInterface::loadFile] data/actions/scripts/novas/luky.lua:3: unexpected symbol near '='

[18/05/2011 14:06:22] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/novas/luky.lua)

[18/05/2011 14:06:22] data/actions/scripts/novas/luky.lua:3: unexpected symbol near '='

 

Ajuda ae?

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

[18/05/2011 14:06:22] [Error - LuaScriptInterface::loadFile] data/actions/scripts/novas/luky.lua:3: unexpected symbol near '='

[18/05/2011 14:06:22] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/novas/luky.lua)

[18/05/2011 14:06:22] data/actions/scripts/novas/luky.lua:3: unexpected symbol near '='

 

Ajuda ae?

 

Já conseguiu arrumar?

 

:x

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...