Ir para conteúdo
  • 0

Mount Para Vip


DeCarvalho

Pergunta

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"

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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 :p

 

mas como fazer por storage pra liberar só para vip, a minha vip não é por storage, é na db.

Grato

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

  • 0

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

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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 :D

 

Muito obrigado !!!

 

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

  • 0

Não estou podendo dar mais likes, mas assim que tiver eu faço isso, muito obrigado :D #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!!!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...