Ir para conteúdo

Featured Replies

Postado

Olá olhem o erro que está dando:

 

TGgppEF.png

 

 

 

Obs, não sei nem se com esses arquivos a VIP vai acabar normal ou ficar infinita (quero pra acabar).

 

Tentei colocar um sistema vip com esses arquivos:

 

Em movements.xml

<movevent event="StepIn" actionid="29859" script="viptile.lua"/>

Em actions.xml

<action itemid="16101" script="VIP Tile.lua"/>

Em movements>Scripts> viptile.lua

function onStepIn(cid, item, position, fromPosition)
local config = {
msgDenied = "This place is only for vip players,please buy a VIP Scroll.",
msgWelcome = "Welcome to VIP PLACE!!."
}
if getPlayerStorageValue(cid, 445577) - os.time() <= 0 then
doTeleportThing(cid, fromPosition, true)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return TRUE
end

end

Em actions>scripts> VIP tile.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, 445577)
local timenow = os.time()
if getPlayerStorageValue(cid, 445577) - 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, 445577, time)
local quantity = math.floor((getPlayerStorageValue(cid, 445577) - 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
Postado

Provavelmente é o valor da storage.

Troque o movement por esse:

local config = {
    msgDenied = "This place is only for vip players,please buy a VIP Scroll.",
    msgWelcome = "Welcome to VIP PLACE!!"
}
function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then
	return true
    end
	
    if getPlayerStorageValue(cid, 58787) - os.time() <= 0 then
        doTeleportThing(cid, fromPosition, true)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)
        doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
    end
   return true
end

E a action por essa:

function onUse(cid, item, fromPosition, itemEx, toPosition)
local config = {
    removeOnUse = "yes", -- remover quando usar ("yes" or "no")
    storage = 58787
}
local days = 30 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, config.storage)
local timenow = os.time()

    if getPlayerStorageValue(cid, config.storage) - 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, config.storage, time)
    local quantity = math.floor((getPlayerStorageValue(cid, config.storage) - 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

Não testei, se voltar a dar erro, avise.

Postado
  • Autor
  Em 23/09/2015 em 12:18, Wakon disse:

Provavelmente é o valor da storage.

Troque o movement por esse:

local config = {
    msgDenied = "This place is only for vip players,please buy a VIP Scroll.",
    msgWelcome = "Welcome to VIP PLACE!!"
}
function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then
	return true
    end
	
    if getPlayerStorageValue(cid, 58787) - os.time() <= 0 then
        doTeleportThing(cid, fromPosition, true)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied)
        doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
    end
   return true
end

E a action por essa:

function onUse(cid, item, fromPosition, itemEx, toPosition)
local config = {
    removeOnUse = "yes", -- remover quando usar ("yes" or "no")
    storage = 58787
}
local days = 30 -- dias que serão adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, config.storage)
local timenow = os.time()

    if getPlayerStorageValue(cid, config.storage) - 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, config.storage, time)
    local quantity = math.floor((getPlayerStorageValue(cid, config.storage) - 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

Não testei, se voltar a dar erro, avise.

 

 

 

Edited*: Usei só o seu movements com a action que já tinha, troquei o valor do storage e está tudo OK, até o momento não deu erro nenhum.

Olhando esse script, será que quando se passarem os 30 dias, o player vai perder sua VIP ? Se a resposta for sim, eu gostaria de adicionar uma script para teleportar o player até o templo assim que acabasse. Poderia ajudar? Obrigado 

Editado por vikingmu (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo