Ir para conteúdo

Ajuda Com Server Reset E Refinamento!


levy1233

Posts Recomendados

1º Como faço para resetar todas as casas do ot? tpw... deletar todos items e ela ficar como "Nobody" de novo...

 

2º colokei akele sistema de refinamento do "Azi" e deu algum problema aki:

 

local conf = {}

 

 

-- // config // --

conf.maxItemLevel = 10 -- max item level

conf.successChance = 50 -- succes upgrade chance

 

conf["upgrade"] = { -- how many parcent attributes are rised?

attack = 5, -- attack %

extraAttack = 10, -- extra Attack %

defence = 5, -- defence %

extraDefence = 10, -- extra defence %

armor = 5, -- armor %

attackSpeed = 3, -- attack speed %

hitChance = 5, -- hit chance %

shootRange = 2, -- shoot range %

}

 

--// end // --

 

function getItemInfo(item)

 

local attr = {}

local name = string.explode(getItemName(item), '+');

if #name == 1 then

attr.name = name[1]

attr.level = math.abs(0)

else

attr.level = math.abs(name[2])

attr.name = name[1]

end

attr.attack = (getItemAttack(item) > 0) and getItemAttack(item) or 0

attr.extraAttack = (getItemExtraAttack(item) > 0) and getItemExtraAttack(item) or 0

attr.defence = (getItemDefense(item) > 0) and getItemDefense(item) or 0

attr.extraDefence = (getItemExtraDefense(item) > 0) and getItemExtraDefense(item) or 0

attr.armor = (getItemArmor(item) > 0) and getItemArmor(item) or 0

attr.attackSpeed = (getItemAttackSpeed(item) > 0) and getItemAttackSpeed(item) or 0

attr.hitChance = (getItemHitChance(item) > 0) and getItemHitChance(item) or 0

attr.shootRange = (getItemShootRange(item) > 0) and getItemShootRange(item) or 0

attr.weight = (getItemWeight(item) > 0) and getItemWeight(item) or 0

 

return attr

end

 

function upgradeValue(value, parcent)

local newValue = math.ceil(((value/100)*parcent)+value)

return (newValue > 0) and newValue or 0

end

 

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

 

if toPosition.x == 65535 then

local upgradingItem = getItemInfo(itemEx.uid)

if (upgradingItem.attack > 0 or upgradingItem.defence > 0 or upgradingItem.armor > 0 or upgradingItem.shootRange > 1) then

if (upgradingItem.level < conf.maxItemLevel) then

if conf.successChance >= math.random(1,100) then

setItemName(itemEx.uid, upgradingItem.name.." + "..(upgradingItem.level+1))

setItemAttack(itemEx.uid, upgradeValue(upgradingItem.attack, conf["upgrade"].attack))

setItemExtraAttack(itemEx.uid, upgradeValue(upgradingItem.extraAttack, conf["upgrade"].extraAttack))

setItemDefense(itemEx.uid, upgradeValue(upgradingItem.defence, conf["upgrade"].defence))

setItemExtraDefense(itemEx.uid, upgradeValue(upgradingItem.extraDefence, conf["upgrade"].extraDefence))

setItemArmor(itemEx.uid, upgradeValue(upgradingItem.armor, conf["upgrade"].armor))

setItemAttackSpeed(itemEx.uid, upgradeValue(upgradingItem.attackSpeed, conf["upgrade"].attackSpeed))

setItemHitChance(itemEx.uid, upgradeValue(upgradingItem.hitChance, conf["upgrade"].hitChance))

setItemShootRange(itemEx.uid, upgradeValue(upgradingItem.shootRange, conf["upgrade"].shootRange))

doSendMagicEffect(toPosition, 30)

doPlayerSendTextMessage(cid, 22, "Upgraded was successful, your item has become stronger!")

else

doRemoveItem(itemEx.uid, itemEx.type)

doSendMagicEffect(toPosition, 2)

doPlayerSendTextMessage(cid, 22, "Upgrading fail... you lost upgraded item!")

end

doRemoveItem(item.uid, 1)

else

doPlayerSendCancel(cid, "This item is on max level!")

end

else

doPlayerSendCancel(cid, "You cannot upgrade this item!")

end

else

doPlayerSendCancel(cid, "You can upgrading items only in inventory!")

end

return TRUE;

end

 

 

E esse foi o erro:

 

uso o servidor 8.54 alissow 3.9.0

 

Error - Action Interface]
data/actions/scripts/upgrade.lua:onUse
Description:
data/lib/050-function.lua:234: attempt to index a boolean value
stack traceback:
data/lib/050-function.lua:234: in function 'getItemName'
data/actions/scripts/upgrade.lua:24: in function 'getItemInfo'
data/lib/050-function.lua:527: in function 'getItemDescriptions'
data/lib/050-function.lua:234: in function 'getItemName'
data/actions/scripts/upgrade.lua:24: in function 'getItemInfo'
data/actions/scripts/upgrade.lua:53: in function  <data/actions/scripts/upgrade.lua:50>

 

oque eu faço para arrumar?

 

obrigado desde já :smile_positivo:

Link para o comentário
Compartilhar em outros sites

na vrs. 8.50 eu dei reload nas houses pelo tfs, depois fui dando !leavehouse em todas =x

 

nem demoro muito, e todas ficarãm nobody! mas ae vai de você.

Link para o comentário
Compartilhar em outros sites

- Olá,

 

Sobre a dúvida 2, referente a Refine, os servidores baseados no distro Forgotten Server 0.3.6pl1 não podem rodar esse sistema, porque as funções getItemAttack, getItemDefense, getItemExtraAttack e etc, foram retiradas do sistema, logo se você roda esse script em um servidor baseado nessa distribuição, ocorrerá o não-reconhecimento da função, retornando valores nulos, ocasionando o erro que você passou.

 

Se você quer resetar TODO seu servidor, porque não pegar uma database Sqlite nova, sem contas e sem dados nas houses, e substituir pela velha?

 

Abraços.

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

Olá amigos, primeiramente obrigado pela ajuda...

 

tpw... são umas 400 casas ou mais... (mapa global + area vip)...

 

foda dar leave em todas até pq tem house escondida pra td q é lado...

 

e tpw... tbm n kero resetar todo o ot... saca? só as house...

 

teria como? oq devo fazer?

 

e quanto ao erro do refinamento, não da pra substituir os commands retirados por algum outro? obrigado :smile_positivo:

Link para o comentário
Compartilhar em outros sites

Dá sim para substituir os comandos por outro,

O problema é que o pessoal que desenvolve o TheForgotten Server, fez alguma coisa errada, e a

função que eles colocaram, só retorna valores nulos.

Link para o comentário
Compartilhar em outros sites

Olá, me falaram pra mudar no meu banco de dados pras casas ficarem nobody... deu certo...

 

porém os items, na hora que o novo jogador compra a casa, ganha os items dentro dela --'...

 

alguem sabe como deletar?

 

PS: quanto ao refinamento, ja resolvi :D

 

obrigado :smile_positivo:

Link para o comentário
Compartilhar em outros sites

  • 6 months later...
×
×
  • Criar Novo...