Bom dia/Boa tarde/Boa Noite
Estou usando no meu servidor 8.6 este sistema vip: http://www.xtibia.com/forum/topic/151189-vip-system-by-mock-100/
e eu gostaria de criar um item (no caso o id 8976) que usando ele é adicionado X dias VIP a conta e remove-se o item.
Já tentei fazer o script com base em alguns que achei por aqui, mas sou iniciante na area e já tentei diversas maneiras de fazer isso, todas sem sucesso.
Se facilitar e o mais simples for arrumar o meu (que esta uma bagunça):
na actions.xml:
<action itemid="8976" script="vip/itemvip.lua"/>
id do item que ira usar
no itemvip.lua do servidor:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local config={removeOnUse = "yes" -- remover quando usar ("yes" or "no")}local days = 1 -- dias que serão adicionadoslocal daysvalue = days * 24 * 60 * 60local storageplayer = getPlayerStorageValue(cid, 55555)local timenow = os.time()local dia = os.time() + daysvalueif getPlayerStorageValue(cid, 55555) - os.time() <= 0 thentime = timenow + dayselsetime = storageplayer + daysenddb.executeQuery("UPDATE `accounts` SET `vip_time` = "..dia.." WHERE `id` = ".. getAccountIdByName(getPlayerName(cid)) ..";")doPlayerPopupFYI(cid, "Foram adicionados ".. days .." dias de VIP no seu character.\nVoce tem "..tempo.." dias de VIP restantes.")doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))if (config.removeOnUse == "yes") thendoRemoveItem(item.uid, 1)endreturn TRUEend
dias que ira adicionar
storage utilizado
Aqui gostaria que informasse quanto tempo foi adicionado
Aqui gostaria que informasse o novo tempo da VIP
Eu acho que estou errando em utilizar esta função, porem não sei outra forma de fazer isto(a função do script original não funciona)
o tempo de vip se encontra na tabela accounts da database (nome da coluna: vip_time)
Script Original do itemvip.lua:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local config={
removeOnUse = "yes" -- remover quando usar ("yes" or "no")
}
local days = 30 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 55555)
local timenow = os.time()
if getPlayerStorageValue(cid, 55555) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(cid, 55555, time)
local quantity = math.floor((getPlayerStorageValue(cid, 55555) - timenow)/(24 * 60 * 60))
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
if (config.removeOnUse == "yes") then
doRemoveItem(item.uid, 1)
end
return TRUE
end
Eu sei que esta uma bagunça, como disse sou iniciante em script. se alguem conseguisse jogar uma luz pro meu problema...