Mexer com tags xml não entra apenas em scripting, isso vai para sources também.
info
Grupo: Herói
Registrado: 01/05/08
Posts: 2.6k
Reputação: +536
Gênero: Masculino

info
Grupo: Barão
Registrado: 28/10/10
Posts: 206
Reputação: +65
Char no Tibia: Mage Junkie

entendo.. obrigado por informar
sem ser por tags xml será que existe outro meio de fazê-lo?
Editado Julho 24 por DkAngel
Você pode simplesmente só liberar montarias pra quem for VIP. Montarias são habilitadas por storages.
info
Grupo: Barão
Registrado: 28/10/10
Posts: 206
Reputação: +65
Char no Tibia: Mage Junkie

Você pode simplesmente só liberar montarias pra quem for VIP. Montarias são habilitadas por storages.
Ola, eu sou ignorante com relação a essas cosias.. poderia dar um exemplo de como estar precedendo?
Eu não uso sistema de mount doll, estou usando sistema de taming, por isso imaginei que por tag seria o mais simples ![]()
mas como fazer por storage pra liberar só para vip, a minha vip não é por storage, é na db.
Grato
Editado Julho 24 por DkAngel
Posta seu sistema de mount
info
Grupo: Barão
Registrado: 28/10/10
Posts: 206
Reputação: +65
Char no Tibia: Mage Junkie

Estou usando um que o Bruno Minervino passou em um outro post que fiz mas tive que desabilitar o addachievement e tirar WithRadius de doCreatureSay pois estava gerando erro..
local TYPE_ITEM, TYPE_MONSTER, TYPE_NPC = 0, 2, 3
local config = {
[5907] = { -- id do item
name = 'bear', -- nome da criatura a domar
id = 3, -- id da montaria
type = TYPE_MONSTER, -- tipo da montaria
chance = 40, -- chance de sucesso
fail = {
{run = true, text = 'The bear ran away.'}, -- mensagem se a criatura correr
{broke = true, text = 'Oh no! The slingshot broke.'}, -- mensagem se o item quebrar
{sound = 'GRRRRRRRRRRRR', text = 'The bear is trying to hit you with its claws.'} -- mensagem se nada acontecer
},
success = {sound = 'Grrrrrrr', text = 'You tamed the wild bear.'} -- mensagem se domar
},
[13247] = {
name = 'boar',
id = 10,
type = TYPE_MONSTER,
chance = 40,
fail = {
{run = true, text = 'The boar ran away'},
{broke = true, text = 'Oh no! The hunting horn broke!'},
{sound = 'Grunt! Grunt!', text = 'The boar is refusing to obey the hunting horn.'}
},
success = {sound = 'Oink', text = 'You tamed the wild boar.'}
},
[13939] = {
name = 'wild horse',
id = 17,
type = TYPE_MONSTER,
chance = 5,
fail = {
{run = true, text = 'With its last strength the horse the horse runs to safety.'},
{broke = true, sound = 'Weeeheeeehee', text = 'The wild horse happily munches the sugar oat and runs on.'},
{sound = 'Weeheheheehaaa!!', text = 'Weeeheeeehee.'}
},
success = {sound = '*snort*', text = 'The horse eats the sugar oat and accepts you as its new master.'}
}
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local mount = config[item.itemid]
if not mount then
return false
end
local targetName = target:getName():lower()
if mount.type ~= target.type
or (mount.lookType and mount.lookType ~= target:getOutfit().lookType)
or (mount.name and mount.name ~= targetName) then
return false
end
if player:hasMount(mount.id) then
player:say('You already tamed a ' .. (mount.mountName or targetName) .. '.', TALKTYPE_MONSTER_SAY)
return true
end
if target.type == TYPE_MONSTER then
if target:getMaster() then
return false
end
end
if math.random(100) > mount.chance then
local action = mount.fail[math.random(#mount.fail)]
if action.run then
target:remove()
elseif action.broke then
item:remove(1)
elseif action.destroyObject then
addEvent(Game.createItem, 60 * 60 * 1000, target.itemid, 1, toPosition)
target:remove()
elseif action.removeTransformation then
target:removeCondition(CONDITION_OUTFIT)
end
doCreatureSay(player, action.text, TALKTYPE_MONSTER_SAY, 2, 2)
if action.sound then
player:say(action.sound, TALKTYPE_MONSTER_SAY, false, 0, toPosition)
end
return true
end
-- player:addAchievement('Natural Born Cowboy')
player:addMount(mount.id)
doCreatureSay(player, mount.success.text, TALKTYPE_MONSTER_SAY, 2, 2)
player:say(mount.success.sound, TALKTYPE_MONSTER_SAY, false, 0, toPosition)
target:remove()
item:remove(1)
return true
end
Coloque essas linhas no seu sistema de taming:
https://gist.github.com/ranisalt/2c3332e329658caef43d#file-taming-lua-L320-L323
No lugar que elas tão aí.
Aí é só ir nas mounts só pra VIP e colocar vip = true:
https://gist.github.com/ranisalt/2c3332e329658caef43d#file-taming-lua-L15
info
Grupo: Barão
Registrado: 28/10/10
Posts: 206
Reputação: +65
Char no Tibia: Mage Junkie

Ola Alayen, só não marquei como resolvido pois me deparei com alguns problemas..
1 - Após remover os dias vip do jogador, ele continua podendo usar a montaria..
2 - quando não tem vip e tenta domar, ele não informa que não é vip.. o sistema simplesmente informa que não é possível usar o item.. e um erro aparece no console
Lua Script Error: [Action Interface]
data/actions/scripts/other/taming.lua:onUse
data/actions/scripts/other/taming.lua:321: attempt to concatenate global 'targetName' (a nil value)
stack traceback:
[C]: in function '__concat'
data/actions/scripts/other/taming.lua:321: in function <data/actions/scripts/other/taming.lua:314>
Só não marquei como resposta resolvida mais pelo motivo do erro n°2 o outro erro creio eu que não seja possível concertar.. mas vou esperar uma resposta sua ![]()
Muito obrigado !!!
Editado Julho 25 por DkAngel
Opa, verdade, errei a posição de uma linha, é só mover a linha do targetName logo abaixo do que eu te falei pra colocar pra acima do que é pra colocar:
https://gist.github.com/ranisalt/2c3332e329658caef43d#file-taming-lua-L320-L324
Quanto ao primeiro, acho que não dá não, porque o sistema de montaria é gerenciado pelas sources e não em Lua. Deve dar, mas é algo bem complicado que eu não sei fazer.
info
Grupo: Barão
Registrado: 28/10/10
Posts: 206
Reputação: +65
Char no Tibia: Mage Junkie

Não estou podendo dar mais likes, mas assim que tiver eu faço isso, muito obrigado
#SuperSatisfeito
estou tentando resolver o problema com achievements aqui mas não deve ser assustador.. vou tentar 'estudar' o caso e tentar algumas soluções caso não consiga irei postar pedido de ajuda, que só vim descobrir problema por conta do sistema..
Agradeço ao Bruno Minervino por ter dado a ideia de usar esse script e a você Alayen por ter modificado para se adaptar a minha necessidade!!!



info
Grupo: Barão
Registrado: 28/10/10
Posts: 206
Reputação: +65
Char no Tibia: Mage Junkie
Bem, eu uso esse sistema vip xtibia e gostaria de saber como faço para setar montarias para quem for vip. Esse sistema de vip não usa storage, é direto no db e não pretendo estar utilizando outro..
O sistema padrão pode-se somente setar se vai ser necessário premium ou não, é possível fazer com que além de setar premium ou não também usar vip em conjunto?
Assim eu poderia setar premium="no" vip ="yes" ou premium="yes" vip ="no" ou premium="yes" vip ="yes"