Fusão De Items Avançada

duduzz
Por duduzz
em Actions e Talkactions

duduzz

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/10/05Posts: 4

Baseado no script de Dias Otonwer

 

Esse script faz com que 3 items sejam usados para formar um item final.

Nele há 2 tipos de combinações:

- Combinação Fraca: serão usados 3 items no qual o resultado será um item fraco

- Combinação Rara: serão usados 3 items no qual o resultado será um item raro

 

Ambas configuráveis, no meu script essas são as combinações:

- Combinação Fraca: piece of royal steel + gem + wooden trash

- Combinação Rara: piece of royal steel + gem + frozen starlight

 

Os resultados são configuráveis e randomizados.

 

Testado em: TFS Crying Damson 8.54

 

Script:

Crie um arquivo dentro da pasta actions/scripts com o nome fusion.lua e coloque:

 

--------------------------------------
--------- FUSION SYSTEM --------------
-- Ideia Original por: Dias Otonwer --
----- Melhorado por: Duduzz ----------
--------------------------------------           

function onUse(cid,item,fromPosition,itemEx,toPosition)

--------------------------------
-------- Configuração ----------
--------------------------------

-- Item 1 -> pedaco de ferro ; Item 2 -> gemas
local steel = 5889  -- id do pedaço de ferro ou a materia prima pra fusao. obs: APENAS 1 ID
local gems = {2153,2154,2155,2156}  -- id das gemas ou do segundo item para fusao. obs: 2 OU MAIS IDS

-- Item 3 -> frozen starlight ou wooden trash (configuravel)
local item3 = 2361 -- id do item para criar items raros (frozen starlight). obs: APENAS 1 ID
local item4 = 2250 -- id do item para criar items fracos (wooden trash). obs: APENAS 1 ID

-- Premios
local premios = {2392,2393,2414,7748,2407} -- premios fracos. obs: 2 OU MAIS IDS
local premiosraros = {2431,2447,8925,2400,7382}  -- premios raros. obs: 2 OU MAIS IDS

-- Posicoes
local pos1 = {x=207,y=348,z=7,stackpos=255} -- posicao do item 1
local pos2 = {x=209,y=348,z=7,stackpos=255} -- posicao do item 2
local pos3 = {x=211,y=348,z=7,stackpos=255} -- posicao do item 3
local pos4 = {x=213,y=348,z=7,stackpos=255} -- posicao do item criado

--------------------------------
-- Não mexa em nada abaixo!!! --
--------------------------------

local getpos = {getThingFromPos(pos1),getThingFromPos(pos2),getThingFromPos(pos3)} 
local randfacil = math.random(1,table.getn(premios))
local resultado = premios[randfacil]
local randdificil = math.random(1,table.getn(premiosraros))
local resultado1 = premiosraros[randdificil]                      

if itemEx.itemid == 1945 then
  if getpos[1].itemid == steel then
     if isInArray(gems,getpos[2].itemid) == TRUE and getpos[3].itemid == item4 then
        doCreateItem(resultado,1,pos4)
        doRemoveItem(getpos[1].uid,1)
        doRemoveItem(getpos[2].uid,1)
        doRemoveItem(getpos[3].uid,1)
        doSendMagicEffect(pos4,13)
        doSendMagicEffect(pos3,13)
        doSendMagicEffect(pos2,13)
        doSendMagicEffect(pos1,13)
        doPlayerSendTextMessage(cid,20,"Voce criou uma arma!")
        doTransformItem(itemEx.uid,itemEx.itemid+1)
     elseif isInArray(gems,getpos[2].itemid) == TRUE and getpos[3].itemid == item3 then
        doCreateItem(resultado1,1,pos4)
        doRemoveItem(getpos[1].uid,1)
        doRemoveItem(getpos[2].uid,1)
        doRemoveItem(getpos[3].uid,1)
        doSendMagicEffect(pos4,13)
        doSendMagicEffect(pos2,13)
        doSendMagicEffect(pos3,13)
        doSendMagicEffect(pos1,13)
        doPlayerSendTextMessage(cid,20,"Voce criou uma arma rara!")
        doTransformItem(itemEx.uid,itemEx.itemid+1)
    else
doPlayerSendCancel(cid,"Os items estao errados ou sua ordem esta incorreta.")
     end
else
doPlayerSendCancel(cid,"Voce precisa primeiramente da materia prima.")
end

elseif itemEx.uid == 5396 and itemEx.itemid == 1946 then
    doTransformItem(itemEx.uid,1945)
else
   doPlayerSendCancel(cid,"Impossivel")
end
return 1
end  

 

Posições dos items: pos1,pos2,pos3, são as posições dos items que serão usados e pos4 é a posição do item formado.

 

Agora no actions.xml:

<action uniqueid="5396" event="script" value="fusion.lua"/>

 

E no mapeditor crie uma área com 4 espaços, 3 pra colocar os items e outro para o item formado (olhe as ss's) e coloque uma alavanca com o uniqueid 5396

 

 

Para adicionar novas gemas ou novos premios apenas adicione uma vírgula e o ID nas tabelas, por exemplo:

Adicionando gemas:

local gems = {2153,2154,2155,2156,2157}

Adicionando premios:

local premios = {2392,2393,2414,7748,2407,2400}

 

Lembrando que os prêmios nunca serão fixos e serão randomizados de acordo com os ids que você colocar na configuração.

 

 

SS's:

 

 

Quaisquer dúvidas ou ideias me avise pelo tópico ou por PM.

Serão lançadas futuras versões com mais funções.

Designer Fireworks

Last Sign
signwarvn5.png

guedes100

Cren Luci e nuk
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 03/04/10Posts: 211

gostei da script

ela é facil de configurar e facil de o pessoal entender tbm

bem explicado ta de parabens

 

aprovado.

abraços

Usuário Banido por atitude destrutiva.

 

Atenciosamente,

Equipe XTibia.

lucasatak

Egoísmo?... Nunca!
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 07/05/08Posts: 120

também gostei,muito bom,aprovado.

 

uma duvida,foi você que fez?

 

se foi,parabéns,gostei mesmo.

 

abçs!

porco.gif

 

 

voltando aos poucos.

 

 

hsb.gif

 

É CAMPEÃO CARIOCA 2010 PORRA !

duduzz

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/10/05Posts: 4

Sim eu que fiz :) só peguei a ideia do Dias Otonwer cujo topico está fixado nessa seção

Designer Fireworks

Last Sign
signwarvn5.png

DXtibiaXD

Att: Amem
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/12/09Posts: 57Char no Tibia: Pao Melado

Aew espera por essa fusao vo coloca no kratos serv 0.6 vlw mermo

 

tipo n tem como escolher qual quer intem n?

Msn: Hudson_hen31@hotmail.com

Orkut:

 

Att: Amem

 

 

jasonmraz.png

 

 

 

 

av261799.gif

luisfe23

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 31/10/08Posts: 871Char no Tibia: Luis Felipe Knight

Otimo script, obrigado por trazer ao XTibia.

 

Aprovado :button_ok:

 

Abraços.

luisfe23 here