Ir para conteúdo

Sistema De Refinamento Em Português


nono182

Posts Recomendados

E aew pessoal hoje to fazendo mais um post aki no xtbia

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:

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 

 

Agora salve ele como upgrade.lua na pasta scripts

agora em actions.xml adicione essa linha

<action itemid="8306" script="upgrade.lua"/>

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

 

espero que vocês gostem do novo script

 

créditos 98% para Mock(criador do script) e 2 % para min pelas mudanças.

atualizado

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

Será que tudo isso de créditos?

qualquer um faz isso(que saiba escrever é claro, huaheuehue)

e... eu mudaria algumas frases dali pra fica melhor ainda...

Link para o comentário
Compartilhar em outros sites

Cara, eu axo que você merece apenas 5% da parte dos creditos.

Pois você apenas mudou as frases, isso é ridiculo qualquer um muda :ouch: :ouch: :ouch: :ouch: .

LOL Nao mudei só o idioma :| se vc tivesse prestado atenção nu script original i nesse ia ve q nao é só o idioma mudado :Z

cuidado antes de fala coisas

 

Além de coloca 30% dos créditos para você, tem alguns erros de português no script.

os unicos erros de portugês que tem nesse script é os acentos '--

Link para o comentário
Compartilhar em outros sites

LOL Nao mudei só o idioma :| se vc tivesse prestado atenção nu script original i nesse ia ve q nao é só o idioma mudado :Z

cuidado antes de fala coisas

 

Lol , Percebi bem o Script tu nao mudo nada nele!! e o Original ta Melhor tu so mudo as Frases!!

 

nem 1% Para ti cara! Qalquer 1 sabe fazer isso!

 

Abraços..

Link para o comentário
Compartilhar em outros sites

Amigo,

 

Você recebeu autorização de Mock para editar o script?

Creio ainda que você não fez nenhuma modificação na programação original, se o fez, mostre-me.

 

Um abraço

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

Amigo,

 

Você recebeu autorização de Mock para editar o script?

Creio ainda que você não fez nenhuma modificação na programação original, se o fez, mostre-me.

 

Um abraço

Almentei o lvl maximo de upgrade dos iten,a chance de falha,e a quantidade do upgrade se vcs kerem mudanças drasticas estou editando otro aki

Link para o comentário
Compartilhar em outros sites

É isso que espero quando alguém fala que fez modificações em um script.

 

Criou novas funções na programação

Melhorou o funcionamento da programação

Melhorou a estrutura da programação

 

No caso desse Sistema de Refinamento, mudar o nível máximo de refinamento, as chances e a quantidade de atributos são coisas muito simples de se fazer e não se enquadram em nada.

 

Abraços

Link para o comentário
Compartilhar em outros sites

Almentei o lvl maximo de upgrade dos iten,a chance de falha,e a quantidade do upgrade se vcs kerem mudanças drasticas estou editando otro aki

 

Cara isso Nao é Modificar :D so para tua Informaçao qualquer um que quer colocar o Sistema no Seu Otserv, Qualquer um Mesmo que nao sabe de script vai la e almenta, isso é o basico do Script e ta bem destacado!! Tu So Traduziu e Quer receber Tudo isso De Creditos? Lol Ta Muinto Enganado!!

Link para o comentário
Compartilhar em outros sites

  • 3 months later...
  • 2 months later...
×
×
  • Criar Novo...