Interesante manin, eu mesmo acho desnessesario tanto vip's em baiks mais e os otadmins que sabe.
rep+
Por DuuhCarvalho, 18 de mar. de 2014 em Mods, funções e outros
info
Grupo: Infante
Registrado: 06/03/13
Posts: 1.6k
Reputação: +319
Gênero: Masculino
Char no Tibia: Lord Sorte

Interesante manin, eu mesmo acho desnessesario tanto vip's em baiks mais e os otadmins que sabe.
rep+
info
Grupo: Visconde
Registrado: 24/11/12
Posts: 474
Reputação: +98
Gênero: Masculino

Muito bom, assim fica mais organizado!
Editado Março 18 por AdilsonTsunami
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

Interesante manin, eu mesmo acho desnessesario tanto vip's em baiks mais e os otadmins que sabe.
rep+
verdade, também não gosto muito ! Mais como vejo muitos membros com dificuldade em criar novas vip's , decidir criar algo mais simples e fácil de ser configurado .
Agradeço ![]()
Muito bom, assim fica mais organizado!
Sim , agora ficou muito fácil, mas muito fácil mesmo de criar um nova vip ! Obrigado !
o que se faria em 3 script em talkactions e 3 em movements .. da pra fazer em 1 .
info
Grupo: Conde
Registrado: 30/11/11
Posts: 696
Reputação: +71
Gênero: Masculino
Char no Tibia: treinador de lobo

Boa
Sempre vejo os scripts de VIP gigantes, esse foi menor que eles, sendo mais fácil de instalar ![]()
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

Boa
Sempre vejo os scripts de VIP gigantes, esse foi menor que eles, sendo mais fácil de instalar
obrigado ><, Verdade, rs'
mais fácil e como falei no tópico diminui aqueles montes de arquivo.lua que tem nos serves que tem varias vips.

Bom , nada pra fazer resolvi fazer outra versão do system .
Com 2 scripts .
Editado Março 24 por DuuhCarvalho
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody
Bom com o system multi vip , você pode criar varias e varias vip em apenas um script !
esse script vem com o objetivo de facilitar a criação de vip's ! pois é muiiito fácil de editar !
Serve também para diminuir aquele monte de arquivos.lua que tem no seu serve por causa das vips .
Versão 1.0 : Comando por talkactions (ex = !buy..)
exemplo : ao falar "!buyvip1" compra vip 1
ao falar "!buyvip2" compra vip 2 ...
vamos lá :
vá em data / talkactions / scripts..
cria um arquivo.lua e cola isso dentro :
local vips = { [1] = {vip = "vip1", dias = 1, valor = 10, storage = 10001}, [2] = {vip = "vip2", dias = 2, valor = 50, storage = 10002}, [3] = {vip = "vip3", dias = 3, valor = 100, storage = 10003} } function onSay(cid, words, param) for i = 1, #vips do if(words == "!buy"..vips[i].vip.."") then if doPlayerRemoveItem(cid, 2160, vips[i].valor) == TRUE then if getPlayerStorageValue(cid, vips[i].storage) - os.time() <= 0 then setPlayerStorageValue(cid, vips[i].storage, os.time() + vips[i].dias * 24 * 60 * 60) doSendMagicEffect(getCreaturePosition(cid), 28) doPlayerSendTextMessage(cid, 22, "Parabéns você comprou "..vips[i].dias.." dia(s) de "..vips[i].vip.."!") else setPlayerStorageValue(cid, vips[i].storage, getPlayerStorageValue(cid, vips[i].storage) + vips[i].dias * 24 * 60 * 60) doSendMagicEffect(getCreaturePosition(cid), 28) local quant = math.floor((getPlayerStorageValue(cid, vips[i].storage) - os.time())/(24 * 60 * 60)) doPlayerSendTextMessage(cid, 22, "Você comprou mais "..vips[i].dias.." dia(s) de "..vips[i].vip..", agora você tem "..quant.." dias restantes.") end else doPlayerSendCancel(cid, "Você não tem dinheiro suficiente, você precisa de "..vips[i].valor.." crystal coins.") doSendMagicEffect(getCreaturePosition(cid), 2) end end end return true endAcho que de cara já deu para perceber onde você vai criar sua vip !
na parte :
vip = "vip1" é o nome que você vai falar para comprar a vip . Exemplo : se você falar "!buyvip1" você compra a vip 1, Se você falar "!buyvip2" você compra a vip 2 e se você falar "!buyvip3" você compra a vip 3.. e assim sucessivamente..
dias = 1 ... É a quantidade de dias de cada vip que o player vai comprar .. no caso ta 1 .
valor = 10 .. É o valor de cada vip , pago com crystal coins ! , se colocar 100 é 1 kk .
storage = .. É a storage de cada vip !
Tag que vai em talkaction.xml :
Bom claro que você vai ter que colocar a fala de cada vip na tag como está !
!buy + nome da vip , ficando assim : !buyvip4;!buyvip5 ( entre ponto e virgula ( ; ) ) .
Versão 2.0 : por Actions (ao dar use em X item)
Com Valor : além de dar use no item o player precisá ter X money.
--[[ ' vipName = Nome da Vip ' . ' itemId = item do item. ' Dias = dias de vip. ' Valor = preço em crystais coins '. storage = storage vip por tempo. ' ]]-- local vips = { [1] = {vipName = "Vip 1", itemId = 00, dias = 5, valor = 50, storage = 20001}, [2] = {vipName = "Vip 2", itemId = 00, dias = 10, valor = 100, storage = 20002}, [3] = {vipName = "Vip 3", itemId = 00, dias = 15, valor = 200, storage = 20003} } function onUse(cid, item, frompos, item2, topos) for i = 1, #vips do if item.itemid == vips[i].itemId then if doPlayerRemoveItem(cid, 2160, vips[i].valor) == TRUE then if getPlayerStorageValue(cid, vips[i].storage) - os.time() <= 0 then setPlayerStorageValue(cid, vips[i].storage, os.time() + vips[i].dias * 24 * 60 * 60) doSendMagicEffect(getCreaturePosition(cid), 28) doPlayerSendTextMessage(cid, 22, "Parabéns você comprou "..vips[i].dias.." dia(s) de "..vips[i].vipName.."!") else setPlayerStorageValue(cid, vips[i].storage, getPlayerStorageValue(cid, vips[i].storage) + vips[i].dias * 24 * 60 * 60) doSendMagicEffect(getCreaturePosition(cid), 28) local quant = math.floor((getPlayerStorageValue(cid, vips[i].storage) - os.time())/(24 * 60 * 60)) doPlayerSendTextMessage(cid, 22, "Você comprou mais "..vips[i].dias.." dia(s) de "..vips[i].vipName..", agora você tem "..quant.." dias restantes.") end else doPlayerSendCancel(cid, "Você não tem dinheiro suficiente, você precisa de "..vips[i].valor.." crystal coins.") doSendMagicEffect(getCreaturePosition(cid), 2) end end end return true endSem Valor : apenas dando use no item.
local vips = { [1] = {vipName = "Vip 1", itemId = 5786, dias = 5, storage = 20001}, [2] = {vipName = "Vip 2", itemId = 7489, dias = 10, storage = 20002}, [3] = {vipName = "Vip 3", itemId = 2173, dias = 15, storage = 20003} } function onUse(cid, item, frompos, item2, topos) for i = 1, #vips do if item.itemid == vips[i].itemId then if getPlayerStorageValue(cid, vips[i].storage) - os.time() <= 0 then setPlayerStorageValue(cid, vips[i].storage, os.time() + vips[i].dias * 24 * 60 * 60) doSendMagicEffect(getCreaturePosition(cid), 28) doPlayerSendTextMessage(cid, 22, "Parabéns você Ganhou "..vips[i].dias.." dia(s) de "..vips[i].vipName.."!") else setPlayerStorageValue(cid, vips[i].storage, getPlayerStorageValue(cid, vips[i].storage) + vips[i].dias * 24 * 60 * 60) doSendMagicEffect(getCreaturePosition(cid), 28) local quant = math.floor((getPlayerStorageValue(cid, vips[i].storage) - os.time())/(24 * 60 * 60)) doPlayerSendTextMessage(cid, 22, "Você Ganhou mais "..vips[i].dias.." dia(s) de "..vips[i].vipName..", agora você tem "..quant.." dias restantes.") end doRemoveItem(item.uid) end end return true endMOVEMENTS.
Agora Vá em data / movements / scripts...
crie um arquivo.lua e cole isso dentro :
function onStepIn(cid, item, position, fromPosition) local vips = { [1] = {vip = "Vip1", storage = 10001, uid = 2070}, [2] = {vip = "Vip2", storage = 10002, uid = 2080}, [3] = {vip = "Vip3", storage = 10003, uid = 2090} } if isPlayer(cid) then for i = 1, #vips do if item.uid == vips[i].uid then if getPlayerStorageValue(cid, vips[i].storage) - os.time() >= 1 then doPlayerSendCancel(cid, "Bem Vindo") else doTeleportThing(cid, fromPosition, true) doPlayerSendCancel(cid, "Para passar aqui você precisa ser "..vips[i].vip.."!") end end end end return true endna parte :
local vips = { [1] = {vip = "Vip1", storage = 10001, uid = 2070}, [2] = {vip = "Vip2", storage = 10002, uid = 2080}, [3] = {vip = "Vip3", storage = 10003, uid = 2090} }vip = É o nome da vip ..
storage = É a storage das vips ! a mesma que colocou no primeiro script .
uid = unique id de cada vip.
Exemplo : se você colocar a unique id da vip 1 no tile , será preciso ser vip1 para passar . se colocar a unique id da vip 2 será preciso ser vip 2 para passar ...
Na tag em movements.xml coloque todas as unique id das vip, como está..
obs : entre ponto e virgula ( ; )
Agora coloca o unique id desejado em cada tile !
É isso pessoal !

Editado Março 24 por DuuhCarvalho