Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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

 

Link para o post
Compartilhar em outros 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.

 

ichigo.gif
https://github.com/Cjaker/

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

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por BonasxD
      Bom galera primeiramente não sei se estou na area correta ou se nao estou, se nao por favor mover para area certa, grato!
      Estou com esse erro ao tenta instalar o gesior usando a tfs 0.4 não passa dessa parte ja tentei de tudo e nao sei oque fazer ;(
       
      Testei o mesmo procedimento no meu Windows e Funcionou corretamente agora no meu VM(Ubuntu22) não passa desse erro. 
       
      Ja pesquisei por tudo e não sei oque fazer

    • Por Imperius
      Olá, pessoal! Acabei encontrando um script que tinha feito a um tempo atrás. Estou compartilhando aqui para quem quiser usar ou melhorar.
       
      É bem parecido com os outros sistemas de roleta, igual deste tópico: https://tibiaking.com/forums/topic/101557-action-cassino-roleta-de-items/
       
      Como funciona?
       
      O "Treasure Chest" é um item custom, onde o jogador têm a possibilidade de ganhar itens raros ou bem meia boca. Tudo dependerá da sorte.
       
      O jogador precisa tacar o treasure chest na bancada e acionar a alavanca. O treasure chest irá se transformar em vários itens de forma randômica no qual o jogador poderá ou não ganhar. No final, apenas um item é entregue ao jogador.
       
      Para entender melhor o seu funcionamento, segue o GIF abaixo:
       

       
       
      em data > actions > actions.xml
       
       
      em data > actions > scripts > crie um arquivo chamado leverTreasureChest.lua
       
       
      no banco de dados do servidor, adicione o seguinte código em "SQL":
       
       
       

      Também estou disponibilizando uma página PHP, para quem quiser usar no site do servidor. Na página tem informações sobre o funcionamento, quais são os possíveis prêmios e a lista de jogadores que ganharam os itens raros.
       

       
       
      Espero ter ajudado de alguma forma! : )
       
      treasure_chest.php
    • Por amoxicilina
      Action: Remover skull
       
       
    • Por Kill of sumoners
      Boa noite, estou com um erro ao atacar um player em meu sv eu nao pego pk, nem sai magia, aparece a mensagem "voce so pode usar isso em criaturas"
      obs: magia em area acerta e pega pk, apenas as targets ou hits de arma nao vao 
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo