Ir para conteúdo

Featured Replies

Postado

Bom gente, algum Scripter poderia por favor fazer uma simples edição nesse sistema?
 
No caso, esse sistema se tráta de um VIP System por item, e eu queria que quando o item acaba-se, o personagem seria teletransportado para um local configurável no mapa, X,Y,Z.

 

Script:

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, AQUI STORAGE DO SEU VIP SYSTEM)
local timenow = os.time()

if getPlayerStorageValue(cid, AQUI STORAGE DO SEU VIP SYSTEM) - 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, AQUI STORAGE DO SEU VIP SYSTEM, time)
local quantity = math.floor((getPlayerStorageValue(cid, AQUI STORAGE DO SEU VIP SYSTEM) - 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


Agradeço desde já.

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

Conlheça o projeto:

QtzGx2h.png

Resolvido por Wend

Ir para solução
  • Respostas 14
  • Visualizações 844
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Antes de Pergunta, só da para ser por creaturescripts porque vai verifica toda vez que o player entra no OT.   data\creaturescripts\scripts  endvip.lua   creaturescripts.xml   e no

Postado

data\actions\scripts

vipsystem.lua

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local name = getCreatureName(cid)
local days = 30 -- dias que serão adicionados
local strg = 33339 -- valor da sua storage
local strg_n = 12120 -- não precisa editar
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, strg)
local timenow = os.time()
 
 
    if getPlayerStorageValue(cid, strg) - 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, strg, time)
local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60))
        doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
        doPlayerAddPremiumDays(cid, 30)
doRemoveItem(item.uid, 1)
    if getPlayerStorageValue(cid, strg_n) < 1  then
        setPlayerStorageValue(cid, strg_n, 1) 
    else
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seus dias foram acrescentados e seu nome ja foi alterado.")
    end
return TRUE
end

 

actions.xml

<action itemid="ID DO ITEM" script="vipsystem.lua"/>

 

data\creaturescripts\scripts 

endvip.lua

local strg = 33339 -- valor da sua storage
local strg_n = 12120 -- não precisa editar
 
        function onLogin(cid)
    if getPlayerPremiumDays(cid) <= 0 and getPlayerStorageValue(cid, strg_n) == 1 then
        setPlayerStorageValue(cid, 9898, 1)
    end
    if getPlayerStorageValue(cid, 9898) == 1 and getPlayerPremiumDays(cid) <= 0 then
        local temple = getTownTemplePosition(getPlayerTown(cid))
        doTeleportThing(cid, temple)
        doPlayerPopupFYI(cid, "Sua vip Account acabou.")
        setPlayerStorageValue(cid, 9898, -1)
        setPlayerStorageValue(cid, strg_n, -1)    
        addEvent(EddyHavoc, 3*1000, cid)
    end
  end
 return TRUE
end

 

creaturescripts.xml

<event type="login" name="CheckVip" script="endvip.lua"/>

 

e no Login.lua adicione;

registerCreatureEvent(cid, "CheckVip")

 

no Script do endvip.lua está configurado para quando acabar os dias vips do player ele ser teleportado para o templo Principal ^^

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

Postado
  • Autor

Funcinou tudo cérto.

Mas só não curti isso de adicionar (VIP) no nome, porque lógo quando clica no item o cara é kikado, ai fica inútil ter as funções no script que mandam mensagens na tela, ai não tem como o jogador ser notificado que foi adicionado "x" dias de VIP.

 

Dúvida, é pra um personagem só ou pra Account toda?

Mas obrigado mesmo assim.

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

Conlheça o projeto:

QtzGx2h.png

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.7k

Informação Importante

Confirmação de Termo