Ir para conteúdo
  • Cadastre-se

(Resolvido)Premium Scroll adicionar [VIP] no nick


Ir para solução Resolvido por Wakon,

Posts Recomendados

Boa noite, no meu servidor eu uso um sistema de scroll por action para colocar 30 dias de premium na conta dos jogadores e gostaria de saber se alguém conseguiria adicionar no script para adicionar [VIP] no nome do jogador e quando acabar os dias de premium remover o [VIP], segue o script:

function onUse(cid, item, frompos, item2, topos)
local dias = 30 -- quantos dias de premium ganhara

doPlayerAddPremiumDays(cid, dias)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce ganhou "..dias.." dias de premium account.")
local pos = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y+1, z=getPlayerPosition(cid).z}
doSendMagicEffect(pos, 36)
doRemoveItem(item.uid)
return TRUE
end

x1fCxnI.png

Link para o post
Compartilhar em outros sites

Ei... Estou preocurando um sistema de VIP por item, esse ai é por item? ( Ao eu usar tal item da 30 Days de VIP ) Eu sei que não estou te ajudando, mas se for poderia passar á tag?

 

Te dou 1 REP+  :)

​Obstaculo Impossível?

Impossível é existir algo Impossível ;) 

 

 

 

 

Confira os Meus Conteúdos ! 

Te ajudei ? REP + E Ficamos KIT ;)

Link para o post
Compartilhar em outros sites

Eu estava preocurando isso pode passar á tag?

​Obstaculo Impossível?

Impossível é existir algo Impossível ;) 

 

 

 

 

Confira os Meus Conteúdos ! 

Te ajudei ? REP + E Ficamos KIT ;)

Link para o post
Compartilhar em outros sites

Dei o rep+ mesmo antes de testar

 

Podia fazer um tutorial Completo desse Sistema Que Você usa?

 

Exemplo á tile do VIP e tals ^^


Uma outra pergunta é na pasta ACTIONS que adiciona á script?

​Obstaculo Impossível?

Impossível é existir algo Impossível ;) 

 

 

 

 

Confira os Meus Conteúdos ! 

Te ajudei ? REP + E Ficamos KIT ;)

Link para o post
Compartilhar em outros sites

Eu criei um tópico ensinando a adicionar o script, agora é só aguardar a moderação aprovar, eu uso o sistema normal de premium account, e um npc que teleporta para algumas cidades e hunts apenas jogadores premium account, eu só gostaria que algum scripter adiciona-se as linhas para adicionar [VIP] no nome e um script endvip.lua para quando acabar os dias de premium remover o [VIP] do nick do jogador.

x1fCxnI.png

Link para o post
Compartilhar em outros sites

Essa função modificada do Vodkart deve te ajudar.

Segue as intruções!!
------------------//------------------

Em creaturescript/script

Crie um arquivo.lua e renomeie para endvip.lua
 

--[[ by vodkart ]]--
function onLogin(cid)

local pos = {x = 157, y = 50, z = 7} -- posiçao do templo.

function Vodka(cid)
if isPlayer(cid) then
db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";")
doRemoveCreature(cid)
end
end

if getPlayerPremiumDays(cid) > 0 then
doTeleportThing(cid, pos)
doPlayerPopupFYI(cid, "Sua vip Account acabou.")
if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then
addEvent(Vodka, 3*1000, cid)
end
end
return TRUE
end

Em creaturescript.xml adicione a tag:

<event type="login" name="CheckVip" script="endvip.lua"/>
Link para o post
Compartilhar em outros sites

Premmy Scroll:

function onUse(cid, item, frompos, item2, topos)
local t = {
dias = 30, -- Dias para adicionar.
storage = 99983, -- Só mexa se essa estiver em uso!
tempo = 5, -- Tempo para kickar o personagem após usar o item.
pz = false, -- Só usar em protect zone [True/False].
}

if t.pz == true and getTilePzInfo(getPlayerPosition(cid)) == false then
return doPlayerSendTextMessage(cid, 25, "Você não pode usar esse item fora da protection zone.")
end

if getPlayerStorageValue(cid, t.storage) < 1 then
setPlayerStorageValue(cid, t.storage, 1)
doPlayerAddPremiumDays(cid, t.dias)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou "..t.dias.." dias de premium account e será kickado em "..t.tempo.." segundos para alterar o nome.")
doSendMagicEffect(getPlayerPosition(cid), 36)
db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
doRemoveItem(item.uid)
addEvent(doRemoveCreature, t.tempo*1000, cid, true)
else
doPlayerAddPremiumDays(cid, t.dias)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você adicionou mais "..t.dias.." dias de premium account.")
doSendMagicEffect(getPlayerPosition(cid), 36)
doRemoveItem(item.uid)
end
return true
end

Agora vai em "Data/creaturescripts/scripts" copie e cole 1 .lua e renomeie para checkvip.lua, apague tudo e cole:

--[[ by vodkart ]]--
function onLogin(cid)

local pos = {x = 160, y = 54, z = 7} -- Posição do templo.
local storage = 99983
local tempo = 5

if getPlayerStorageValue(cid, storage) <= 0 and getPlayerPremiumDays(cid) >= 1 then
setPlayerStorageValue(cid, storage, 1)
end

function Vodka(cid)
if isPlayer(cid) then
db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";")
doRemoveCreature(cid)
end
end

if getPlayerStorageValue(cid, storage) == 1 and getPlayerPremiumDays(cid) < 1 then
doTeleportThing(cid, pos)
doPlayerSendTextMessage(cid, 25, "Sua premium account acabou, você será kickado em "..tempo.." segundos para alterar o nome.")
setPlayerStorageValue(cid, storage, -1)
if string.find(tostring(getCreatureName(cid)),"[[VIP]]") then
addEvent(Vodka, tempo*1000, cid)
end
end
return TRUE
end

Depois em "Data/creaturescripts" abra o creaturescripts.xml e adicione:

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

Testei aqui e tá funcional em TFS 0.4, se estiver faltando algo me fale :).

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

Premmy Scroll:

function onUse(cid, item, frompos, item2, topos)
local t = {
dias = 30, -- Dias para adicionar.
storage = 99983, -- Só mexa se essa estiver em uso!
tempo = 5, -- Tempo para kickar o personagem após usar o item.
pz = false, -- Só usar em protect zone [True/False].
}

if t.pz == true and getTilePzInfo(getPlayerPosition(cid)) == false then
return doPlayerSendTextMessage(cid, 25, "Você não pode usar esse item fora da protection zone.")
end

if getPlayerStorageValue(cid, t.storage) < 1 then
setPlayerStorageValue(cid, t.storage, 1)
doPlayerAddPremiumDays(cid, t.dias)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou "..t.dias.." dias de premium account e será kickado em "..t.tempo.." segundos para alterar o nome.")
doSendMagicEffect(getPlayerPosition(cid), 36)
db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
doRemoveItem(item.uid)
addEvent(doRemoveCreature, t.tempo*1000, cid, true)
else
doPlayerAddPremiumDays(cid, t.dias)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você adicionou mais "..t.dias.." dias de premium account.")
doSendMagicEffect(getPlayerPosition(cid), 36)
doRemoveItem(item.uid)
end
return true
end

Agora vai em "Data/creaturescripts/scripts" copie e cole 1 .lua e renomeie para checkvip.lua, apague tudo e cole:

--[[ by vodkart ]]--
function onLogin(cid)

local pos = {x = 160, y = 54, z = 7} -- Posição do templo.
local storage = 99983
local tempo = 5

if getPlayerStorageValue(cid, storage) <= 0 and getPlayerPremiumDays(cid) >= 1 then
setPlayerStorageValue(cid, storage, 1)
end

function Vodka(cid)
if isPlayer(cid) then
db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";")
doRemoveCreature(cid)
end
end

if getPlayerStorageValue(cid, storage) == 1 and getPlayerPremiumDays(cid) < 1 then
doTeleportThing(cid, pos)
doPlayerSendTextMessage(cid, 25, "Sua premium account acabou, você será kickado em "..tempo.." segundos para alterar o nome.")
setPlayerStorageValue(cid, storage, -1)
if string.find(tostring(getCreatureName(cid)),"[[VIP]]") then
addEvent(Vodka, tempo*1000, cid)
end
end
return TRUE
end

Depois em "Data/creaturescripts" abra o creaturescripts.xml e adicione:

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

Testei aqui e tá funcional em TFS 0.4, se estiver faltando algo me fale  :).

 

 

Wakon funcionou, só teria como fazer ele adicionar o [VIP] em todos os personagens da conta e remover de todos os personagens? porque ele está adicionando e tirando o [VIP] apenas do personagem que usa o scroll!

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

x1fCxnI.png

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

Tenta trocar o checkvip.lua por esse:

--[[ by vodkart ]]--
function onLogin(cid)

local pos = {x = 160, y = 54, z = 7} -- Posição do templo.
local storage = 99983
local tempo = 5

if getPlayerStorageValue(cid, storage) <= 0 and getPlayerPremiumDays(cid) >= 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Agora você é premium account, você será kickado em 5 segundos parar alterar seu nome!")
doSendMagicEffect(getPlayerPosition(cid), 36)
db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
setPlayerStorageValue(cid, storage, 1)
addEvent(doRemoveCreature, tempo*1000, cid, true)
end

function Vodka(cid)
if isPlayer(cid) then
db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";")
doRemoveCreature(cid)
end
end

if getPlayerStorageValue(cid, storage) == 1 and getPlayerPremiumDays(cid) < 1 then
doTeleportThing(cid, pos)
doPlayerSendTextMessage(cid, 25, "Sua premium account acabou, você será kickado em "..tempo.." segundos para alterar o nome.")
setPlayerStorageValue(cid, storage, -1)
if string.find(tostring(getCreatureName(cid)),"[[VIP]]") then
addEvent(Vodka, tempo*1000, cid)
end
end
return TRUE
end

Ai ele verifica se o player for premium e não tiver a storage ele muda o nome.

Link para o post
Compartilhar em outros sites
  • 5 months later...

Wa@Wakon,

 

 

Se eu criar um nick chamado "Master",ai eu clico nesse premium scroll fica "[VIP] Master" correto?

ai vem outro player e cria o nome "Master", ai teria 2 players, [VIP] Master e Master, se a vip do [VIP] Master acabar , terá 2 master no server? só queria que voce me explicasse isso, obgd

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