Vá em data/actions/actions.xml e adicione a seguinte linha:
<action itemid="id do item" event="script" value="vipDays.lua"/>Agora em data/actions/scripts crie o arquivo vipDays.lua com o seguinte conteúdo:
local dias = 30 -- dias de VIP que o player irá ganhar ao usar o item
--[[ Não mexa em nada mais ]]
function onUse(cid, item, fromPosition, itemEx, toPosition)
if string.find(tostring(getCreatureName(cid)),"[[VIP]]") then
vip.addVipByAccount(getPlayerAccount(cid) , vip.getDays(dias))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados " .. dias .. " dias de VIP em sua account.")
doSendMagicEffect(fromPosition, 28)
doRemoveItem(item.uid)
return true
else
vip.addVipByAccount(getPlayerAccount(cid) , vip.getDays(dias))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados " .. dias .. " dias de VIP em sua account.")
doSendMagicEffect(fromPosition, 28)
doRemoveItem(item.uid)
local nome = getCreatureName(cid)
db.executeQuery("UPDATE `players` SET `name` = '[VIP] " .. nome .."' WHERE `id` = " .. getPlayerGUID(cid) .. ";")
doRemoveCreature(cid)
return true
end
end




info
Grupo: Artesão
Registrado: 29/12/13
Posts: 124
Reputação: +5
Char no Tibia: Leonardo Macedo
Boa noite galerinha do XTibia, tenho um script no meu otserver em Moveevents que da acesso area donate, vou colocar ele logo abaixo.
Queria Disponibilizar o item no shopping do meu site, quando o player da um Click no Item ele ganha 30 dias de area donate e quando ele ganhar area donate o nome fique [VIP] Player.
esse é o script que uso em meu ot, quando o player pisa no sqm selecionado ele é teleportado para a area donate.
TFS 0.4
data/moveevents/script:
<movevent type="StepIn" actionid="13930" event="script" value="donate/donatetile.lua"/>
function onStepIn(cid, item, position, fromPosition)
local tileConfig = {
kickPos = fromPosition, kickEffect = CONST_ME_POFF,
kickMsg = "Voce precisa ser Donate para acessar essa area.",
enterMsg = "Seja bem-vindo!",
enterEffect = CONST_ME_MAGIC_RED,
}
if isPlayer(cid) == true then
if vip.hasVip(cid) == FALSE then
doTeleportThing(cid, tileConfig.kickPos)
doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
doPlayerSendCancel(cid, tileConfig.kickMsg)
return
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg)
doSendMagicEffect(position, tileConfig.enterEffect)
return true
end
end
<movevent type="StepIn" actionid="13931" event="script" value="donate/donateacess.lua"/>
function onStepIn(cid, item, position, fromPosition)
local tileConfig = {
kickPos = fromPosition, kickEffect = CONST_ME_POFF,
kickMsg = "Voce precisa ser Donate para acessar essa area.",
enterEffect = CONST_ME_MAGIC_RED,
}
if isPlayer(cid) == true then
if vip.hasVip(cid) == FALSE then
doTeleportThing(cid, tileConfig.kickPos)
doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
doPlayerSendCancel(cid, tileConfig.kickMsg)
return
end
doTeleportThing(cid, {x = 1448, y = 659, z = 7})
doSendMagicEffect({x = 1448, y = 659, z = 7}, CONST_ME_TELEPORT)
return true
end
end
@up
Editado Junho 8 por Leonardo Macedo