Ir para conteúdo

Sistema De Refinamento..


Ystifler

Posts Recomendados

Sistema de Refinamento !

 

è um sistema de um otserv famoso = pbOT

 

é tpw assim ..

 

Exeplo:

You see a blue gem.It weighs 1.00 oz.

este item serve pra refina defesa .

 

ai eu cato um axe atk normal

 

You see a knight axe (Atk:33, Def:21).

It can only be wielded properly by players of level 25 or higher

.It weighs 59.00 oz.

 

ai tpw.. eu clico no axe e depois na Gem..

 

ai a gem some e eu recebo uma menssagem .. seu item foi

refinado com sucesso..

 

ai eu olho axe ta asim..

 

You see a knight axe (Atk:33, Def:22).

Refinado (def+1)

It can only be wielded properly by players of level 25 or higher

.It weighs 59.00 oz.

 

è issu aii.. quem poder me ajuda.. temo ae ;)

Link para o comentário
Compartilhar em outros sites

Rapaz, este é um sistema bem simples, eu acho que da pra adaptar até do própio sistema de encantamento (terra,gelo,raio,fogo).

Mudando o atributo de encantamento para um atk ou def adicional.

È bem fácil, porém exige paciência. Só não faço porquê estou sem nenhum otserv aqui e estou usando internet via discado.

Abraços,

Henrique.

Link para o comentário
Compartilhar em outros sites

Cara se vc qé assim, pde se fazer por DUAS actions, claro q tem varios jeitos, mas um jeito n mto dificel eh fazer por dois scripts de action e dai um q quando vc clica na gem te bota um storage e dai otro q quando tu clica no axe, se o player tive o storage da gem ai o axe fica do jeito refinado.Pde se assim, se vc quise ate posso faze dps pra ti.

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Outro jeito fácil de fazer é atraves de item.itemid e item2.itemid,

onde item2.item é a arma e item.itemid é a gem que voce usará com os crosshairs (se estiver errado alguem me corrige)

 

Se eu tiver tempo eu faço ele pra você...

Link para o comentário
Compartilhar em outros sites

Se eu ganha um doce akosOaSoaksoKSKaoskAOS. Ok. Vamos la:

 

Em data\actions\scripts copie e cole qualquer arquivo, renomei-o para upgrade.lua, abra-o, apague tudo oque tiver dentro e coloque:

 

local messagetype = MESSAGE_EVENT_ORANGE

local fetishs = {

[7800] = {chance = 100, amount = 10, set = setItemAttack, get = getItemAttack, name = "attack"},

[7801] = {chance = 100, amount = 10, set = setItemAttack, get = getItemAttack, name = "attack"},

[7802] = {chance = 100, amount = 10, set = setItemAttack, get = getItemAttack, name = "attack"},

[7803] = {chance = 100, amount = 10, set = setItemAttack, get = getItemAttack, name = "attack", destroy = TRUE},

[7804] = {chance = 100, amount = 10, set = setItemAttack, get = getItemAttack, name = "attack", destroy = TRUE},

[7805] = {chance = 100, amount = 10, set = setItemDefense, get = getItemDefense, name = "defense"},

[7806] = {chance = 100, amount = 10, set = setItemDefense, get = getItemDefense, name = "defense"},

[7807] = {chance = 100, amount = 10, set = setItemDefense, get = getItemDefense, name = "defense"},

[7808] = {chance = 100, amount = 10, set = setItemDefense, get = getItemDefense, name = "defense", destroy = TRUE},

[7809] = {chance = 100, amount = 10, set = setItemDefense, get = getItemDefense, name = "defense", destroy = TRUE},

[7810] = {chance = 100, amount = 10, set = setItemArmor, get = getItemArmor, name = "armor"},

[7811] = {chance = 100, amount = 10, set = setItemArmor, get = getItemArmor, name = "armor"},

[7812] = {chance = 100, amount = 10, set = setItemArmor, get = getItemArmor, name = "armor"},

[7813] = {chance = 100, amount = 10, set = setItemArmor, get = getItemArmor, name = "armor", destroy = TRUE},

[7814] = {chance = 100, amount = 10, set = setItemArmor, get = getItemArmor, name = "armor", destroy = TRUE},

[7815] = {chance = 100, amount = 10, set = setItemShootRange, get = getItemShootRange, name = "range"},

[7816] = {chance = 100, amount = 10, set = setItemShootRange, get = getItemShootRange, name = "range"},

[7817] = {chance = 100, amount = 10, set = setItemShootRange, get = getItemShootRange, name = "range"},

[7818] = {chance = 100, amount = 10, set = setItemShootRange, get = getItemShootRange, name = "range", destroy = TRUE}, [7819] = {chance = 20, amount = 10, set = setItemShootRange, get = getItemShootRange, name = "range", destroy = TRUE},

[7850] = {chance = 100, amount = 10, set = setItemAttack, get = getItemAttack, name = "attack"}, -- only given when access >= 5

[7851] = {chance = 100, amount = 10, set = setItemDefense, get = getItemDefense, name = "defense"}, -- only given when access >= 5

[7852] = {chance = 100, amount = 10, set = setItemArmor, get = getItemArmor, name = "armor"}, -- only given when access >= 5

[7853] = {chance = 100, amount = 10, set = setItemShootRange, get = getItemShootRange, name = "range"} -- only given when access >= 5

}

local minmax = {

min1 = 7800, -- minimum of the random fetishs for access < 5

max1 = 7819, -- maximum of the random fetishs for access < 5

min2 = 7850, -- minimum of the random fetishs for access >= 5

max2 = 7853, -- maximum of the random fetishs for access >= 5

}

-- WARNING: look further down and your eyes will burn. --

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

if item.actionid == 0 then

local new = getPlayerAccess(cid) >= 5 and math.random(minmax.min2, minmax.max2) or math.random(minmax.min1, minmax.max1)

local text = "You remove the dust and revealed that it is a "..fetishs[new].chance.."% fetish for "..fetishs[new].name.." +"..fetishs[new].amount.."."..(fetishs[new].destroy ~= nil and " It has a slight chance of breaking your item." or "")

doPlayerSendTextMessage(cid, messagetype, text)

doSetItemActionId(item.uid, new)

doSetItemSpecialDescription(item.uid, text)

setItemName(item.uid, fetishs[new].chance.."% fetish for "..fetishs[new].name.." +"..fetishs[new].amount)

elseif fetishs[item.actionid] ~= nil then

if fetishs[item.actionid].get(itemEx.uid) > 0 then

if itemEx.actionid < 110 then

local amount = math.max(0, itemEx.actionid - 100)

local chance = math.random(0, 100)

local text = fetishs[item.actionid].name.." upgrade on "..getItemNameById(itemEx.itemid).." failed."

if chance <= fetishs[item.actionid].chance then

fetishs[item.actionid].set(itemEx.uid, (fetishs[item.actionid].get(itemEx.uid)+fetishs[item.actionid].amount))

text = getItemNameById(itemEx.itemid).." "..fetishs[item.actionid].name.." +"..fetishs[item.actionid].amount.."."

elseif fetishs[item.actionid].destroy ~= nil or fetishs[item.actionid].destroy == TRUE then

if math.random(0, 1) == 1 then

doRemoveItem(itemEx.uid)

text = getItemNameById(itemEx.itemid).." has been destroyed."

end

end

doPlayerSendTextMessage(cid, messagetype, text)

doSetItemActionId(itemEx.uid, 100+(amount+1))

setItemName(itemEx.uid, getItemNameById(itemEx.itemid).." (Level "..(amount+1)..")")

doSendMagicEffect(toPosition, (chance <= fetishs[item.actionid].chance and 13 or 2))

doSendAnimatedText(toPosition, (chance <= fetishs[item.actionid].chance and "Success!" or "Failed!"),(chance <= fetishs[item.actionid].chance and TEXTCOLOR_WHITE or TEXTCOLOR_RED))

doRemoveItem(item.uid)

else

doPlayerSendCancel(cid, "This weapon has already been upgraded 10 times.")

end

else

doPlayerSendCancel(cid, "This item may not be upgraded.")

end

else

doPlayerSendCancel(cid, "Sorry, not possible.")

end

return TRUE

end

 

Salve e fexe. Agora em actions.xml adicione as linhas:

 

<!--Upgrade-->

<action fromid="9743" toid="9744" event="script" value="upgrade.lua"/>

 

Salve e fexe.

 

EXPLICANDO:

 

*chance = 100 : Chance de sucesso para refinar o equipamento ou arma.

 

*amount = 10 : O quanto aumentará se obtiver sucesso.

 

*set = setItemAttack : O tipo que ele aumenta.(defense,attack,Armor,Range e etc...)

 

*destroy = TRUE : O iten quebra e em FALSE nao

 

Creditos: 90% para jordanhenry (Otland) e modificado por jajajiji

10% para mim, por ter trazido ao xtibia e por ter modificado algumas coisas.

 

Quero que use minha fan bar em :p

Espero ter ajudado!

Editado por kakareco
Link para o comentário
Compartilhar em outros sites

Se eu ganha um doce akosOaSoaksoKSKaoskAOS. Ok. Vamos la:

 

Em data\actions\scripts copie e cole qualquer arquivo, renomei-o para upgrade.lua, abra-o, apague tudo oque tiver dentro e coloque:

 

 

 

Salve e fexe. Agora em actions.xml adicione as linhas:

 

<!--Upgrade-->

<action fromid="9743" toid="9744" event="script" value="upgrade.lua"/>

 

Salve e fexe.

 

EXPLICANDO:

 

*chance = 100 : Chance de sucesso para refinar o equipamento ou arma.

 

*amount = 10 : O quanto aumentará se obtiver sucesso.

 

*set = setItemAttack : O tipo que ele aumenta.(defense,attack,Armor,Range e etc...)

 

*destroy = TRUE : O iten quebra e em FALSE nao

 

Creditos: 90% para jordanhenry (Otland) e modificado por jajajiji

10% para mim, por ter trazido ao xtibia e por ter modificado algumas coisas.

 

Quero que use minha fan bar em :p

Espero ter ajudado!

 

Manow nao sei oque ta dando aqui, eu testei em um server 8.50, mais quando eu do use e clico no itens nao faz nada

o.O

 

sera que falta alguma coisa, ou e por causa da verçao?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...