MA
pedido

Preciso de um Bau que vende VIP atravez de Premium Points.

Por MathhCunha, 20 de out. de 2013 em Scripts

resolvido
otserv
tibia
script
9
1.4k
MathhCunhaM
20 de outubro de 2013 às 12:45

Eu Uso Premium Points do Vodkart aqui do Xtibia.

 

Então, eu gostaria que quando eu desse USE no Baú ele adiciona-se dias de PREMIUM (Sistema VIP do meu Server), e Remove-se x Points

 

Tipo :

 

1 Dia = 2 Points

7 Dias = 5 Points

30 Dias = 15 Points

 

Tudo Isso Em Baus separados mais tudo no mesmo script.

 

Obrigado.

RoksasR
20 de outubro de 2013 às 13:14

Vá em data/actions/scripts, crie um arquivo chamado chest_vip.lua e adicione dentro:

 

 

function onUse(cid, item)

    local chests = {
        [13001] = {p = 2, d = 1}, -- P = points, d = dias ganhos.
        [13002] = {p = 5, d = 7},
        [13003] = {p = 15, d = 30},
        [13004] = {p = 25, d = 45},
    }  
    local uid = chests[item.uniqueid]

    if not uid then
        return true
    end

    if getAccountPoints(cid) < uid.p then
        return doPlayerSendCancel(cid, "[Premium Account] Você não possui points o suficiente.")
    end

    doAccountRemovePoints(cid, uid.p)
    doPlayerSendCancel(cid, "Relogue sua conta para fazer efeito.")
    doPlayerSendTextMessage(cid, 20, "[Premium Account] Você recebeu ("..uid.d..") dias com benefícios, foram gastos ("..uid.p..") points.")
    return true
end   

 

Em actions.xml adicione a seguinte tag:

 

 

<action uniqueid="13001-13004" event="script" value="chest_vip.lua"/>

 

OBS: Na tabela se encontram entre [ e ] os uniqueIDS que devem ser colocados na tag também. O p representa os points que serão retirados e o d representa os dias ganhos.

 

#GoodLuck.

MathhCunhaM
20 de outubro de 2013 às 13:40

Vá em data/actions/scripts, crie um arquivo chamado chest_vip.lua e adicione dentro:

function onUse(cid, item)

    local chests = {
        [13001] = {p = 2, d = 1}, -- P = points, d = dias ganhos.
        [13002] = {p = 5, d = 7},
        [13003] = {p = 15, d = 30},
        [13004] = {p = 25, d = 45},
    }  
    local uid = chests[item.uniqueid]

    if not uid then
        return true
    end

    if getAccountPoints(cid) < uid.p then
        return doPlayerSendCancel(cid, "[Premium Account] Você não possui points o suficiente.")
    end

    doAccountRemovePoints(cid, uid.p)
    doPlayerSendCancel(cid, "Relogue sua conta para fazer efeito.")
    doPlayerSendTextMessage(cid, 20, "[Premium Account] Você recebeu ("..uid.d..") dias com benefícios, foram gastos ("..uid.p..") points.")
    return true
end   

Em actions.xml adicione a seguinte tag:

<action uniqueid="13001-13004" event="script" value="chest_vip.lua"/>

OBS: Na tabela se encontram entre [ e ] os uniqueIDS que devem ser colocados na tag também. O p representa os points que serão retirados e o d representa os dias ganhos.

 

#GoodLuck.

Roksas Não ta funcionando não. Não aconteceu nada.

Editado Outubro 20 por MathhCunha

RoksasR
20 de outubro de 2013 às 13:55

Colocou o uniqueid no bau?

fitaisolanteF
20 de outubro de 2013 às 15:27

Ou ele não tem o sistema de gerenciar pontos in-game... Tem que adicionar.

LumusL
20 de outubro de 2013 às 16:18

Ou ele não tem o sistema de gerenciar pontos in-game... Tem que adicionar.

Ele usa este sistema amigo: http://www.xtibia.com/forum/topic/183310-premium-points-in-game/ resumindo a função está ali presente.

MathhCunhaM
22 de outubro de 2013 às 19:39

Colocou o uniqueid no bau?

Hey eu mexi aqui e conseguir arrumar, so tem uma coisa ele NÃO da a premium.

 

 

Ou ele não tem o sistema de gerenciar pontos in-game... Tem que adicionar.

Tenho Sim. Já faz um tempão que eu coloquei o pontos in-game.

Editado Outubro 22 por MathhCunha

KilluaK
22 de outubro de 2013 às 22:28

Roksas acho que vc esqueceu de por pra adicionar a vip rsrs

function onUse(cid, item)

    local chests = {
        [13001] = {p = 2, d = 1}, -- P = points, d = dias ganhos.
        [13002] = {p = 5, d = 7},
        [13003] = {p = 15, d = 30},
        [13004] = {p = 25, d = 45},
    }  
    local uid = chests[item.uniqueid]

    if not uid then
        return true
    end

    if getAccountPoints(cid) < uid.p then
        return doPlayerSendCancel(cid, "[Premium Account] Você não possui points o suficiente.")
    end

    doAccountRemovePoints(cid, uid.p)
    doPlayerSendCancel(cid, "Relogue sua conta para fazer efeito.")
    doPlayerSendTextMessage(cid, 20, "[Premium Account] Você recebeu ("..uid.d..") dias com benefícios, foram gastos ("..uid.p..") points.")
    return true
end   
2 meses depois...
OmegaO
05 de dezembro de 2013 às 23:01

Tópico movido para a seção de dúvidas e pedidos resolvidos.