Jump to content
Close
greeneyzer

Action Bug sistema de refinamento de item

Recommended Posts

Estou com um problema que já tentei de diversas maneiras corrigir, antes de tudo é bom dizer que no ot que estou desenvolvendo possuo uma classe que usa apenas itens de fist fighting, as garras, e quando tento refinar alguns itens ele refina alguns itens e outros não. O grande problema é que ele não retorna o valor do atributo attack de itens como espadas ou machados, e as proprias garras eu consigo refinar algumas e outras não, por exemplo tenho uma garra que foi refinada, mas se eu tentar refinar o mesmo modelo de garra o script retorna o valor do attack como nil, gostaria de saber onde posso estar errando para melhorar, fora que ainda esta no inicio o script ainda nao fiz o reforço de itens de defesa nem itens magicos. Grato desde já.

Obs.: para refinar um item é necessário usar uma anvil(bigorna) e colocar o item a ser melhorado no lado direito dela.

function onUse(cid, item, frompos, item2, topos)
	if getPlayerItemCount(cid, 2160) < 5 then
	doPlayerSendTextMessage(cid, 25, "Para que seja possivel o refinamento e necessario 5 cristal coins")
	doSendMagicEffect(getCreaturePosition(cid), 2)
	return true
	end
	
	local itemRefine = getThingFromPos({x=4928, y=4957, z=7, stackpos=2})
	chance = math.random(0,100)
	local tipo = getItemWeaponType(itemRefine.uid)
	

	
	if getPlayerItemCount(cid, 2155) >= 1 then
	chance = chance+25
	doPlayerRemoveItem(cid, 2155, 1)
	end
	
	local function isWeapon(uid)
	uid = uid or 0
		if tipo == 1 or tipo == 2 or tipo == 3 or tipo == 8 then
		return true
		end
	return false
	end
	
	
	
	function setItemAttack(uid,name)
	return doItemSetAttribute(uid,'attack',name)
	end
	
	function getItemAttack(uid)
	return getItemAttribute(uid,'attack')
	end
	
	function getItemArmor(uid)
	return getItemAttribute(uid,'attack')
	end
	
	function doItemAddAttack(uid, count)
	if uid > 0 and tonumber(count) > 0 then
		return doItemSetAttribute(uid, "attack", getItemAttack(uid) + count)
		end
    return false
	end
	
	function doItemRemoveAttack(uid, count)
	if uid > 0 and tonumber(count) > 0 then
		return doItemSetAttribute(uid, "attack", getItemAttack(uid) - count)
		end
    return false
	end
	
	function getItemLevel(uid)
		if uid > 0 then
		return getItemAttribute(uid, "lvl") or 0
		end
	return false
	end
 
	function doItemAddLevel(uid, count)
		if uid > 0 and tonumber(count) > 0 then
		return doItemSetAttribute(uid, "lvl", getItemLevel(uid) + count)
		end
    return false
	end
	
	function doItemRemoveLevel(uid, count)
    if uid > 0 and tonumber(count) >= 0 then
    return doItemSetAttribute(uid, "lvl", getItemLevel(uid) - count)
    end
    return false
	end
	
	function setItemLevel(uid)
    if uid > 0 and tonumber(count) >= 0 then
    return doItemSetAttribute(uid, "lvl",count)
    end
    return false
	end

	function setItemDesc(uid, lvl)
		if uid > 0 then
		return doItemSetAttribute(uid, "description", lvl)
		end
	end
	
	if isWeapon(itemRefine.uid) then
	
		if chance > 75 then
		doPlayerRemoveItem(cid, 2160, 5)
		doSendMagicEffect(getCreaturePosition(cid), 12)
		doItemAddAttack(itemRefine.uid, 1)
		doItemAddLevel(itemRefine.uid, 1)
		setItemDesc(itemRefine.uid,"Upgraded +"..getItemLevel(itemRefine.uid))
		doPlayerSendTextMessage(cid, 25, "Parabens, seu item foi melhorado com sucesso para o nivel: +"..getItemLevel(itemRefine.uid))
		return true
		end
	
		if chance > 25 and chance <=75 then
		--doPlayerRemoveItem(cid, 2160, 5)
		doPlayerSendTextMessage(cid, 25, "Que pena, o refinamento nao obteve sucesso +"..getItemLevel(itemRefine.uid))
		doSendMagicEffect(getCreaturePosition(cid), 2)
		return true
		end
	
		if chance <=25 then
		--doPlayerRemoveItem(cid, 2160, 5)
		doSendMagicEffect(getCreaturePosition(cid), 2)
		doItemRemoveAttack(itemRefine.uid, 1)
		doItemRemoveLevel(itemRefine.uid, 1)
		doPlayerSendTextMessage(cid, 25, "Que pena, seu refinamento falhou! Retornou ao nivel +"..getItemLevel(itemRefine.uid))
		return true
		end
	
	
	end
end

 


Share this post


Link to post
Share on other sites

Este tópico foi movido para a área correta. Esta é uma mensagem automática!
Pedimos que leia as regras do fórum!

Spoiler

This topic has been moved to the correct area. This is an automated message!
Please read the forum rules.

 



"Eu não luto por que acho que vou vencer, eu luto por que tenho que vencer!"

ichigo.gif
https://github.com/Eternal-Scripts/<

  , _ ,
 ( o o )
/'` ' `'\                     ESTOU TE OBSERVANDO O_O
|'''''''|
|\\'''//|
   """

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...