Ir para conteúdo
  • Cadastre-se

(Resolvido)Algum Scripter por favor?


Ir para solução Resolvido por Wend,

Posts Recomendados

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

Link para o post
Compartilhar em outros sites

Tem o endvip.lua? 

dar para fazer isso pelo creaturescripts ^^

 

Não, só venho o script.lua e a Tag que adiciona em actions.xml.

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

Conlheça o projeto:

QtzGx2h.png

Link para o post
Compartilhar em outros sites

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)
Link para o post
Compartilhar em outros sites

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

Link para o post
Compartilhar em outros sites

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.

os Dias VIPS são para a account mais o nome VIP é só para o player que usou o item.

Editado por AnnaFeeh (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Ae cara, mas não tem como você só editar o script que eu mandei? '--'

Só preciso que o player seja mandado para x,y,z assim que os dias de VIP acabarem.

Conlheça o projeto:

QtzGx2h.png

Link para o post
Compartilhar em outros sites

Pra tirar o kick é so remover o 
        doRemoveCreature(cid)  

embaixo de

        db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")

 

E se não quer o nome também, tira os 2 de cima ._.

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



 tumblr_mwfeg45FIV1qk4cb3o4_500.gif

Link para o post
Compartilhar em outros sites

Ae cara, mas não tem como você só editar o script que eu mandei? '--'

Só preciso que o player seja mandado para x,y,z assim que os dias de VIP acabarem.

Fiz como o @Danves falou, Editei lá em cima reveja tudo ^^

Link para o post
Compartilhar em outros sites

Ae cara, mas não tem como você só editar o script que eu mandei? '--'

Só preciso que o player seja mandado para x,y,z assim que os dias de VIP acabarem.

 

Ou se não, para Town ID configurável.

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

Conlheça o projeto:

QtzGx2h.png

Link para o post
Compartilhar em outros sites

dá mais pelo creaturescripts, qual a storage que você está usando no vip system?

Link para o post
Compartilhar em outros sites

dá mais pelo creaturescripts, qual a storage que você está usando no vip system?

 

33339

Conlheça o projeto:

QtzGx2h.png

Link para o post
Compartilhar em outros sites
  • Solução

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

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 = {x = 157, y = 50, z = 7}
        doTeleportThing(cid, temple)
        doPlayerPopupFYI(cid, "Sua vip Account acabou.")
        setPlayerStorageValue(cid, 9898, -1)
        setPlayerStorageValue(cid, strg_n, -1)    
  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 essa posição   local temple = {x = 157, y = 50, z = 7}

Editado por AnnaFeeh (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo