Junto né, tu que fez mesmo?, pra começar esse é o script do mock, editado por min.. créditos não são nada seus, aliás uns 0,5% por traduzir as frases ![]()
info
Grupo: Campones
Registrado: 12/01/09
Posts: 87
Reputação: +22
Char no Tibia: Creepbreed

info
Grupo: Visconde
Registrado: 23/11/10
Posts: 272
Reputação: +37
Char no Tibia: N tenho

nem isso traduzir as frases mock mesmo podia ter traduzido POKSAPOKSAPOKSKPOSKPOApko
info
Grupo: Administrador
Registrado: 08/07/05
Posts: 5.8k
Reputação: +1.4k
Gênero: Outro

Amigo,
1- Parabéns pela iniciativa de postar conteúdo.
2- Use a tag
para formatar o código.
3- Coloque os créditos se não foi você que fez.
Aguardando, do contrário esse tópico será removido.
Cara orrivel sem organiza isso ai meu vlw
Merece um rep- mais essa passa
info
Grupo: Campones
Registrado: 12/01/09
Posts: 87
Reputação: +22
Char no Tibia: Creepbreed

Deviam fexar e vou dizer porque, no tópico ele fala que juntou sistemas e resultou nesse, o que é pura mentira já que o script original é do mock e toda a edição foi feita por min, coloque os devidos créditos cara.
info
Grupo: Campones
Registrado: 20/08/11
Posts: 43
Reputação: +2
Char no Tibia: miscellaneous

v6 tao falando mt merda o real do mock
--- Perfect refine system by Mock the bear (MTB).
--- Email: mock_#####@hotmail.com
local gain = {
gainArmor='&p+1',loseArmor='&p-1',
gainShield='&s+#',loseShield='&s-(#+1)',
gainAttack='&a+(1*(#))',loseAttack='&a-(2*(#+1))',
gainDefense='&d+(1*(#))',loseDefense='&d-(2*(#+1))',
chance='3000/((#*(1/(@/2)))*(@/2))', -- Eu fiz essa equação para variar de +0 a +7 o item
--- Essa equação deve retornar em % a chance do item se refinar (0-30) 30 = sempre, 0 = nunca
maxlvl = 9,
blocked_ids = {8881}
}
-- &a = weapon attack
-- &d = weapon defense
-- &s = shield defense
-- &p = armor defense
-- # = nivel do item
-- @ = max level
if not setItemName then
function setItemName(uid,name)
return doItemSetAttribute(uid,'name',name)
end
function setItemArmor(uid,name)
return doItemSetAttribute(uid,'armor',name)
end
function setItemDefense(uid,name)
return doItemSetAttribute(uid,'defense',name)
end
function setItemAttack(uid,name)
return doItemSetAttribute(uid,'attack',name)
end
function getItemAttack(uid)
return getItemAttribute(uid,'attack')
end
function getItemDefense(uid)
return getItemAttribute(uid,'defense')
end
function getItemArmor(uid)
if type(uid) == 'number' then
return getItemAttribute(uid,'armor')
else
return getItemInfo(uid.itemid).armor
end
end
end
function isArmor(uid)
if (getItemArmor(uid) and getItemArmor(uid) ~= 0 and not getItemInfo(uid.itemid,'attack') and not getItemInfo(uid.itemid,'defense') and getItemWeaponType(uid.uid) == 0) then
return true
end
return false
end
function isWeapon(uid)
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)
uid = uid or 0
if getItemWeaponType(uid) == 4 then
return TRUE
end
return FALSE
end
function getWeaponLevel(uid)
uid = uid or 0
local name = getItemName(uid)
local lvl = string.match(name,'+(%d)')
return tonumber(lvl) or 0
end
function doTransform(s,i)
local c = string.gsub(s,'@',gain.maxlvl)
local c = string.gsub(c,'&a',getItemAttack(i.uid) or getItemInfo(i.itemid).attack)
local c = string.gsub(c,'&d',getItemDefense(i.uid) or getItemInfo(i.itemid).defense)
local c = string.gsub(c,'&s',getItemDefense(i.uid) or getItemInfo(i.itemid).defense)
local c = string.gsub(c,'&p',getItemArmor(i.uid) or getItemInfo(i.itemid).armor)
local c = string.gsub(c,'#',getWeaponLevel(i.uid))
local q,err = loadstring('return '..c)
assert(q,err)
return assert(q())
end
local asdeflol = {0, 8, 12} -- vocações que refinam
function onUse(cid, item, fromPosition, itemEx, toPosition)
if not isInArray(asdeflol, getPlayerVocation(cid)) then
return doPlayerSendTextMessage(cid, 24,"apenas os elites Knight e os Chaos Knight podem refinar!")
end
toPosition.stackpos = 255
if isInArray(gain.blocked_ids, itemEx.itemid) == TRUE
or getItemWeaponType(itemEx.uid) > 4
or (getItemWeaponType(itemEx.uid) == 0
and isArmor(itemEx) == FALSE)
or itemEx.itemid == 0 then
doPlayerSendTextMessage(cid, 24,"Você Não Pode Refinar Este Item.")
return TRUE
end
if isCreature(itemEx.uid) == TRUE then
return FALSE
end
local level = getWeaponLevel(itemEx.uid)
local chance = doTransform(gain.chance,itemEx)
if chance >= math.random(0,50) or item.actionid >= 1000 or (item.actionid == 500 and math.random(0,100) <= 25) then
if level+1 > gain.maxlvl then
doSendMagicEffect(toPosition, 2)
return doPlayerSendTextMessage(cid, 24,"Voce Ja Refinou O Item O Maximo Q Ale Aguenta.")
else
setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level+1)..'. Foi Refinado Por '..getCreatureName(cid))
doPlayerSendTextMessage(cid, 24,"O Item Foi Refinado Com Susseso!.")
doSendMagicEffect(toPosition, 26)
if isArmor(itemEx) == TRUE then
local get = doTransform(gain.gainArmor,itemEx)
setItemArmor(itemEx.uid,get)
elseif isWeapon(itemEx.uid) == TRUE then
setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx))
setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx))
elseif isShield(itemEx.uid) == TRUE then
setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx))
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,"Voce Ja Refinou O Item O Maximo Q Ale Aguenta.")
elseif level > 0 then
if level >= 1 then
doTransformItem(itemEx.uid, 2256)
doPlayerSendTextMessage(cid, 24,"Voce Falhou.")
doSendMagicEffect(getThingPos(cid), 3)
end
if isArmor(itemEx) == TRUE then
setItemArmor(itemEx.uid,doTransform(gain.loseArmor ,itemEx))
elseif isWeapon(itemEx.uid) == TRUE then
setItemAttack(itemEx.uid, doTransform(gain.loseAttack,itemEx))
setItemDefense(itemEx.uid, doTransform(gain.loseDefense,itemEx))
elseif isShield(itemEx.uid) == TRUE then
setItemDefense(itemEx.uid, doTransform(gain.loseShield,itemEx))
end
end
doSendMagicEffect(toPosition, 9)
end
doRemoveItem(item.uid,1)
return TRUE
end
o meu
local gain = {
gainArmor='&p+1',loseArmor='&p-1',
gainShield='&s+1',loseShield='&s-1',
gainAttack='&a+1',loseAttack='&a-1',
gainDefense='&d+1',loseDefense='&d-1',
chance='150/((#*(1/(@/1)))*(@/1))',
maxlvl = 9,
reqvoc = {20, 21},
blocked_ids = {8881}
}
if not setItemName then
function setItemName(uid,name)
return doItemSetAttribute(uid,'name',name)
end
function setItemArmor(uid,name)
return doItemSetAttribute(uid,'armor',name)
end
function setItemDefense(uid,name)
return doItemSetAttribute(uid,'defense',name)
end
function setItemAttack(uid,name)
return doItemSetAttribute(uid,'attack',name)
end
function getItemAttack(uid)
return getItemAttribute(uid,'attack')
end
function getItemDefense(uid)
return getItemAttribute(uid,'defense')
end
function getItemArmor(uid)
if type(uid) == 'number' then
return getItemAttribute(uid,'armor')
else
return getItemInfo(uid.itemid).armor
end
end
end
function isArmor(uid)
if (getItemArmor(uid) and getItemArmor(uid) ~= 0 and not getItemInfo(uid.itemid,'attack') and not getItemInfo(uid.itemid,'defense') and getItemWeaponType(uid.uid) == 0) then
return true
end
return false
end
function isWeapon(uid)
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)
uid = uid or 0
if getItemWeaponType(uid) == 4 then
return TRUE
end
return FALSE
end
function getWeaponLevel(uid)
uid = uid or 0
local name = getItemName(uid)
local lvl = string.match(name,'+(%d)')
return tonumber(lvl) or 0
end
function doTransform(s,i)
local c = string.gsub(s,'@',gain.maxlvl)
local c = string.gsub(c,'&a',getItemAttack(i.uid) or getItemInfo(i.itemid).attack)
local c = string.gsub(c,'&d',getItemDefense(i.uid) or getItemInfo(i.itemid).defense)
local c = string.gsub(c,'&s',getItemDefense(i.uid) or getItemInfo(i.itemid).defense)
local c = string.gsub(c,'&p',getItemArmor(i.uid) or getItemInfo(i.itemid).armor)
local c = string.gsub(c,'#',getWeaponLevel(i.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) == FALSE)
or itemEx.itemid == 0 then
doPlayerSendTextMessage(cid, 24,"Esse item nao pode ser refinado.")
return TRUE
end
if isCreature(itemEx.uid) == TRUE then
return FALSE
end
local level = getWeaponLevel(itemEx.uid)
local chance = doTransform(gain.chance,itemEx)
if chance >= math.random(0,100) or item.actionid >= 1000 or (item.actionid == 500 and math.random(0,100) <= 25) then
if level+1 > gain.maxlvl then
doSendMagicEffect(toPosition, 2)
return doPlayerSendTextMessage(cid, 24,"Voce Ja Refinou O Maximo Q O Iten Aquenta! .")
else
setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level+1)..'. Foi Refinado Por '..getCreatureName(cid))
doPlayerSendTextMessage(cid, 24,"O Iten Foi Refinado com susesso.")
doSendMagicEffect(toPosition, 26)
if isArmor(itemEx) == TRUE then
local get = doTransform(gain.gainArmor,itemEx)
setItemArmor(itemEx.uid,get)
elseif isWeapon(itemEx.uid) == TRUE then
setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx))
setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx))
elseif isShield(itemEx.uid) == TRUE then
setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx))
end
end
else
if level == 0 then
doPlayerSendTextMessage(cid, 24,"Sem efeito.")
doSendMagicEffect(toPosition, 2)
elseif level == gain.maxlvl then
doSendMagicEffect(toPosition, 2)
return doPlayerSendTextMessage(cid, 24,"Voce Ja Refinou O Maximo Q O Iten Aquenta!.")
elseif level > 0 then
if level == 1 then
doTransformItem(itemEx.uid, 2256)
doPlayerSendTextMessage(cid, 24,"Voce Falhou.")
else
doTransformItem(itemEx.uid, 2256)
doPlayerSendTextMessage(cid, 24,"Voce Falhou.")
end
if isArmor(itemEx) == TRUE then
setItemArmor(itemEx.uid,doTransform(0,itemEx))
elseif isWeapon(itemEx.uid) == TRUE then
setItemAttack(itemEx.uid, doTransform(0,itemEx))
setItemDefense(itemEx.uid, doTransform(0,itemEx))
elseif isShield(itemEx.uid) == TRUE then
setItemDefense(itemEx.uid, doTransform(0,itemEx))
end
end
doSendMagicEffect(toPosition, 26)
end
doRemoveItem(item.uid,1)
return TRUE
end
info
Grupo: Visconde
Registrado: 23/11/10
Posts: 272
Reputação: +37
Char no Tibia: N tenho

quem feis o script foi o mock a idea foi dele vc so pego e altero MIZERAS COISAS, no maximo vc recebe 0,2% do script, so por te trazido ao forum
info
Grupo: Campones
Registrado: 12/01/09
Posts: 87
Reputação: +22
Char no Tibia: Creepbreed

Ele não mudo nada quem edito a script foi eu e o Gabriel... quem dexo vc postar? foi o Nathan?
info
Grupo: Campones
Registrado: 10/07/11
Posts: 15
Reputação: 0
Char no Tibia: Second Hearbeat

BizaoOt
so responde oque foi que voce mudou mesmo sem ser a tradução ?
tem q ter nem credito mano tradução ate meu gato faz e nem por isso ele ganhara rep+ kkk
mas fala ai oque vc mudou msm eu n vi nada tirando a tradução
info
Grupo: Herói
Registrado: 22/04/11
Posts: 2.5k
Reputação: +293
Gênero: Masculino
Char no Tibia: Thyn Zare

Coloque os créditos dos antigos autores do servidor.
Você tem 48 horas para fazer isso, ou fecho o tópico.
Até.




info
Grupo: Campones
Registrado: 20/08/11
Posts: 43
Reputação: +2
Char no Tibia: miscellaneous
Ola tibianos peguei alguns scripts de refinar juntei tudo e fiko mt rox esta funfando perfecpois testei ele!...
~~maos a obra~~
abra a pasta do seu ot data/action.. abra o arquivo action xml
<action itemid="2422" event="script" value="tools/upgrade.lua"/>
agr fexe salve va na pasta action script procure a pasta tools crie um arkivo lua coloke o nome de upgrade <akele bloko q vc usa p fazer questes no seu ot> ~~cole isso aki la~~
local gain = {
gainArmor='&p+1',loseArmor='&p-1',
gainShield='&s+1',loseShield='&s-1',
gainAttack='&a+1',loseAttack='&a-1',
gainDefense='&d+1',loseDefense='&d-1',
chance='150/((#*(1/(@/1)))*(@/1))',
maxlvl = 9,
reqvoc = {20, 21},
blocked_ids = {8881}
}
if not setItemName then
function setItemName(uid,name)
return doItemSetAttribute(uid,'name',name)
end
function setItemArmor(uid,name)
return doItemSetAttribute(uid,'armor',name)
end
function setItemDefense(uid,name)
return doItemSetAttribute(uid,'defense',name)
end
function setItemAttack(uid,name)
return doItemSetAttribute(uid,'attack',name)
end
function getItemAttack(uid)
return getItemAttribute(uid,'attack')
end
function getItemDefense(uid)
return getItemAttribute(uid,'defense')
end
function getItemArmor(uid)
if type(uid) == 'number' then
return getItemAttribute(uid,'armor')
else
return getItemInfo(uid.itemid).armor
end
end
end
function isArmor(uid)
if (getItemArmor(uid) and getItemArmor(uid) ~= 0 and not getItemInfo(uid.itemid,'attack') and not getItemInfo(uid.itemid,'defense') and getItemWeaponType(uid.uid) == 0) then
return true
end
return false
end
function isWeapon(uid)
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)
uid = uid or 0
if getItemWeaponType(uid) == 4 then
return TRUE
end
return FALSE
end
function getWeaponLevel(uid)
uid = uid or 0
local name = getItemName(uid)
local lvl = string.match(name,'+(%d)')
return tonumber(lvl) or 0
end
function doTransform(s,i)
local c = string.gsub(s,'@',gain.maxlvl)
local c = string.gsub(c,'&a',getItemAttack(i.uid) or getItemInfo(i.itemid).attack)
local c = string.gsub(c,'&d',getItemDefense(i.uid) or getItemInfo(i.itemid).defense)
local c = string.gsub(c,'&s',getItemDefense(i.uid) or getItemInfo(i.itemid).defense)
local c = string.gsub(c,'&p',getItemArmor(i.uid) or getItemInfo(i.itemid).armor)
local c = string.gsub(c,'#',getWeaponLevel(i.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) == FALSE)
or itemEx.itemid == 0 then
doPlayerSendTextMessage(cid, 24,"Esse item nao pode ser refinado.")
return TRUE
end
if isCreature(itemEx.uid) == TRUE then
return FALSE
end
local level = getWeaponLevel(itemEx.uid)
local chance = doTransform(gain.chance,itemEx)
if chance >= math.random(0,100) or item.actionid >= 1000 or (item.actionid == 500 and math.random(0,100) <= 25) then
if level+1 > gain.maxlvl then
doSendMagicEffect(toPosition, 2)
return doPlayerSendTextMessage(cid, 24,"Voce Ja Refinou O Maximo Q O Iten Aquenta! .")
else
setItemName(itemEx.uid, getItemNameById(itemEx.itemid)..' +'..(level+1)..'. Foi Refinado Por '..getCreatureName(cid))
doPlayerSendTextMessage(cid, 24,"O Iten Foi Refinado com susesso.")
doSendMagicEffect(toPosition, 26)
if isArmor(itemEx) == TRUE then
local get = doTransform(gain.gainArmor,itemEx)
setItemArmor(itemEx.uid,get)
elseif isWeapon(itemEx.uid) == TRUE then
setItemAttack(itemEx.uid, doTransform(gain.gainAttack,itemEx))
setItemDefense(itemEx.uid, doTransform(gain.gainDefense,itemEx))
elseif isShield(itemEx.uid) == TRUE then
setItemDefense(itemEx.uid, doTransform(gain.gainShield,itemEx))
end
end
else
if level == 0 then
doPlayerSendTextMessage(cid, 24,"Sem efeito.")
doSendMagicEffect(toPosition, 2)
elseif level == gain.maxlvl then
doSendMagicEffect(toPosition, 2)
return doPlayerSendTextMessage(cid, 24,"Voce Ja Refinou O Maximo Q O Iten Aquenta!.")
elseif level > 0 then
if level == 1 then
doTransformItem(itemEx.uid, 2256)
doPlayerSendTextMessage(cid, 24,"Voce Falhou.")
else
doTransformItem(itemEx.uid, 2256)
doPlayerSendTextMessage(cid, 24,"Voce Falhou.")
end
if isArmor(itemEx) == TRUE then
setItemArmor(itemEx.uid,doTransform(0,itemEx))
elseif isWeapon(itemEx.uid) == TRUE then
setItemAttack(itemEx.uid, doTransform(0,itemEx))
setItemDefense(itemEx.uid, doTransform(0,itemEx))
elseif isShield(itemEx.uid) == TRUE then
setItemDefense(itemEx.uid, doTransform(0,itemEx))
end
end
doSendMagicEffect(toPosition, 26)
end
doRemoveItem(item.uid,1)
return TRUE
end
foi mal se n fiko direito mais acho q da p entender gosto so aki no :XTibia_smile:
se gosto msm da um + rep aew