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 adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 55555)
local timenow = os.time()
local dia = os.time() + daysvalue
if getPlayerStorageValue(cid, 55555) - os.time() <= 0 then
time = timenow + days
else
time = storageplayer + days
end
db.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.")
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()<=0then 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...
Pergunta
diguuinhoo 0
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:
id do item que ira usar
no itemvip.lua do servidor:
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:
Eu sei que esta uma bagunça, como disse sou iniciante em script. se alguem conseguisse jogar uma luz pro meu problema...
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados