Ir para conteúdo
  • Cadastre-se

Posts Recomendados

eae pessoal vim trazer esse script pro Tibia king e nao sei se voces vao gosta mais nao custa nada tenta agrada

um sistema de refinamento usado em muitos ots,porém esse coloquei umas modificações e passei para portugês.

Vamos lah...

primeiro abra o bloco de notas e cole isso:

vai em Pastadoserv/data/actions/scripts/upgrade.lua

e cole isso



local gain = {

gainArmor='&p+5',loseArmor='&p-5',

gainShield='&s+#',loseShield='&s-(#+7)',

gainAttack='&a+#+1',loseAttack='&a-(#+4)-2',

gainDefense='&d+#+2',loseDefense='&d-(#+4)-2',

chance='75/((#*(1/(@/2)))*(@/2))',  -- Essa equação é boa para ficar perfeito seu refinamento

--- Se você colocar "chance=100" sempre irá funcionar o upgrade e se colocar chance=0 sempre ira falhar

maxlvl = 10,

blocked_ids = {2488,8881}

}

-- &a = weapon attack

-- &d = weapon defense

-- &s = shield defense

-- &p = armor defense

-- # = weapon curr level

-- @ = max level

function isArmor(uid) -- Function by Mock the bear.

		 uid = uid or 0

		 if getItemArmor(uid) > 0 and getItemAttack(uid) == 0 and getItemDefense(uid) == 0 and getItemWeaponType(uid) == 0 then

			 return TRUE

		 end

		 return FALSE

end

function isWeapon(uid) -- Function by Mock the bear.

		 uid = uid or 0

		 local f = getItemWeaponType(uid)

		 if f == 1 or f == 2 or f == 3 then

			 return TRUE

		 end

		 return FALSE	  

end

function isShield(uid) -- Function by Mock the bear.

		 uid = uid or 0

		 if getItemWeaponType(uid) == 4 then

			 return TRUE

		 end

		 return FALSE	  

end

function getWeaponLevel(uid) -- Function by Mock the bear.

   uid = uid or 0

   local name = getItemName(uid)

   local _,_,lvl = string.find(name,'+(%d+)')

   return tonumber(lvl) or 0

end

function doTransform(s,uid) -- Function by Mock the bear.

	local c = string.gsub(s,'@',gain.maxlvl)

	local c = string.gsub(c,'&a',getItemAttack(uid))

	local c = string.gsub(c,'&d',getItemDefense(uid))

	local c = string.gsub(c,'&s',getItemDefense(uid))

	local c = string.gsub(c,'&p',getItemArmor(uid))

	local c = string.gsub(c,'#',getWeaponLevel(uid))

	local q,err = loadstring('return '..c)

	assert(q,err)

	return assert(q())

end

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

		 toPosition.stackpos = 255

		 if isInArray(gain.blocked_ids, itemEx.itemid) == TRUE

		  or getItemWeaponType(itemEx.uid) > 4

		   or (getItemWeaponType(itemEx.uid) == 0

			and isArmor(itemEx.uid) == FALSE)

			 or itemEx.itemid == 0 then

				doPlayerSendTextMessage(cid, 24,"Você não pode refinar esse item.")

				return TRUE

		 end

		 if isCreature(itemEx.uid) == TRUE then

			return FALSE

		 end

		local level = getWeaponLevel(itemEx.uid)

		local chance = doTransform(gain.chance,itemEx.uid)

		if chance >= math.random(0,100) or item.actionid >= 1000 then

		   if level+1 > gain.maxlvl then

			  doSendMagicEffect(toPosition, 2)

			  return doPlayerSendTextMessage(cid, 24,"Seu Item esta no nivel maximo,nao pode mais fazer upgrade nele.")

		   else

			  setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level+1))

			  doPlayerSendTextMessage(cid, 24,"Seu item foi almentado para +"..(level+1)..".")

			  doSendMagicEffect(toPosition, 39)

			  if isArmor(itemEx.uid) == TRUE then

				 local get = doTransform(gain.gainArmor,itemEx.uid)

				 setItemArmor(itemEx.uid,get)

			  elseif isWeapon(itemEx.uid) == TRUE then

				  setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx.uid))

				  setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx.uid))			

			  elseif isShield(itemEx.uid) == TRUE then

				  setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx.uid))

			  end

		   end

		else


		   if level == 0 then

			   doPlayerSendTextMessage(cid, 24,"No effect.")

			   doSendMagicEffect(toPosition, 2)

		   elseif level == gain.maxlvl then

				  doSendMagicEffect(toPosition, 2)

				  return doPlayerSendTextMessage(cid, 24,"Seu Item esta no nivel maximo,nao pode mais ser feito upgrade.")

		   elseif level > 0 then

			   if level == 1 then

				   setItemName(itemEx.uid, getItemNameById(itemEx.itemid))

				   doPlayerSendTextMessage(cid, 24,"Seu item voltou ao normal.")

			   else

				   setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level-1))

				   doPlayerSendTextMessage(cid, 24,"Seu Item voltou para +"..(level-1)..".")

			   end

			  if isArmor(itemEx.uid) == TRUE then

				 setItemArmor(itemEx.uid,doTransform(gain.loseArmor,itemEx.uid))

			  elseif isWeapon(itemEx.uid) == TRUE then

				  setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx.uid))

				  setItemDefense(itemEx.uid, doTransform(gain.loseDefense,itemEx.uid))			

			  elseif isShield(itemEx.uid) == TRUE then

				  setItemDefense(itemEx.uid, doTransform(gain.loseShield,itemEx.uid))

			  end

		   end

		   doSendMagicEffect(toPosition, 15)

		end

	 doRemoveItem(item.uid,1)

	 return TRUE

end[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]
Agora salve ele como upgrade.lua na pasta scripts agora em actions.xml adicione essa linha


<action itemid="8306" script="upgrade.lua"/>[/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]

e pronto seu script esta feito!!!

mudanças:

* Script atualizado para português

* diminuido a chance de sucesso do upgrade(se nao todos no ot vai ter os itens fortes)

* almentado os pontos que ganha quando o upgrade tem sucesso

* almentado os pontos que perde quando o upgrade falha

* em maxlvl = 10 , coloque qualquer numero que voce quizer

espero que vocês gostem do novo script

créditos 98% para Mock

2 % para min pelas mudanças.

atualizado

e antes de posta aki pedi permissao do Mock

__________________________________________

Nao custa nada da +REP xD

Editado por Alberess (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Nao precisa de fontes grandes, Você poderia colocar o script em code.

São algumas dicas para o topico ficar bonito e bem visivel.

Sobre o script nao tem oque falar Mock é um grande programador, perfeito.

Link para o post
Compartilhar em outros sites

Você precisa por créditos e explicar como instalar.

Esse script é bem conhecido, e vou repitir as palavras da Kimoszin :

"- Sobre o script nao tem oque falar Mock é um grande programador, perfeito."

Att. Huziwara no Mokou

bXEB9.jpg
Link para o post
Compartilhar em outros sites
  • 3 years later...

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo