NO
bug

Fusion system ( 8.60)

Por Nosifero, 24 de nov. de 2015 em Scripts

duvida
tristeza
5
1.5k
NosiferoN
24 de novembro de 2015 às 21:13

Olá amigos não sei que aconteceu com meu script, pois parece está tudo certinho mas ele fica apenas dando a mensagem que os itens não estão na ordem certa ou que não há itens! segue o script usado pessoal!

--------------------------------------
--------- 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 = {2154,2153,2155,2156,2158}  -- 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 = 2253-- id do item para criar items fracos (wooden trash). obs: APENAS 1 ID

-- Premios
local premios = {2542,11301,11302,2645,2124,2173,2195,2466,5803,2414,7402,2498,2498,2520} -- premios fracos. obs: 2 OU MAIS IDS
local premiosraros = {6529,8851,8926,8924,2646,8928,2470,2502,2503,2504,2453,2453,7423,6391,2522,2342,2494,2494,11240,11240,2472,2472,2123,2123,2171,2171,2496,2469,2495,2495,8932,2415,2408,2390,8885,8886,8887,8877,8878,8879}  -- premios raros. obs: 2 OU MAIS IDS

-- Posicoes
local pos1 = {x=186,y=39,z=8,stackpos=255} -- posicao do item 1
local pos2 = {x=187,y=39,z=8,stackpos=255} -- posicao do item 2
local pos3 = {x=188,y=39,z=8,stackpos=255} -- posicao do item 3
local pos4 = {x=187,y=39,z=8,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 um Item!")
         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 um Item Raro!")
         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  
MatheusGladM
24 de novembro de 2015 às 21:36
Melhor resposta

Retire o == TRUE depois das funçoes isInArray:

--------------------------------------
--------- 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 = {2154,2153,2155,2156,2158}  -- 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 = 2253-- id do item para criar items fracos (wooden trash). obs: APENAS 1 ID

-- Premios
local premios = {2542,11301,11302,2645,2124,2173,2195,2466,5803,2414,7402,2498,2498,2520} -- premios fracos. obs: 2 OU MAIS IDS
local premiosraros = {6529,8851,8926,8924,2646,8928,2470,2502,2503,2504,2453,2453,7423,6391,2522,2342,2494,2494,11240,11240,2472,2472,2123,2123,2171,2171,2496,2469,2495,2495,8932,2415,2408,2390,8885,8886,8887,8877,8878,8879}  -- premios raros. obs: 2 OU MAIS IDS

-- Posicoes
local pos1 = {x=186,y=39,z=8,stackpos=255} -- posicao do item 1
local pos2 = {x=187,y=39,z=8,stackpos=255} -- posicao do item 2
local pos3 = {x=188,y=39,z=8,stackpos=255} -- posicao do item 3
local pos4 = {x=187,y=39,z=8,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) 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 um Item!")
         doTransformItem(itemEx.uid,itemEx.itemid+1)
      elseif isInArray(gems,getpos[2].itemid) 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 um Item Raro!")
         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

NosiferoN
24 de novembro de 2015 às 22:02

Continua aparecendo a mensagem os itens Os items estao errados ou sua ordem esta incorreta

1 mês depois...
NosiferoN
02 de dezembro de 2015 às 13:08

Foi resolvido como amigo falo encima podem fixar! wink_smile.gif

3 semanas depois...
LumusL
21 de dezembro de 2015 às 11:33

Tópico Movido
Este tópico foi movido de "OTServSuporte OTServSuporte Scripting"
para "OTServSuporte OTServSuporte ScriptingPedidos e dúvidas resolvidos - Scripting".