Ir para conteúdo
  • Cadastre-se

VIP NAME [Resolvido] Problemas com name vip


Posts Recomendados

coloquei um sistema de vip name em um baú, só que quando o player não tem mais dias vips ele continua com o nome...

como faço para deixar o vip no nome somente nos dias que o player tem vip, e quando a vip acabar tirar o VIP no nome do player.

 

o sistema de nome vip do bau é esse:

 

actions/scripts e crie um arquivo VIPNAME.LUA

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.uid == 35400 then
queststatus = getPlayerStorageValue(cid,35400)
if queststatus == -1 or queststatus == 0 then
                doCreatureSay(cid, "VOcê recebeu seu beneficio por ser vip!", TALKTYPE_ORANGE_1)
         db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")              
         doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos para mudança de nome.")   
doPlayerAddAddons(cid, 1)         
         addEvent(doRemoveCreature, 5*1000, cid, true)  
                setPlayerStorageValue(cid, 35400, 1)
                doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE)
        else
                doPlayerSendTextMessage(cid,22,"você ja tem o [vip] no nome.")
        end
        return true
end
end

actions.xml

 

<action actionid="35400" event="script" value="vipname.lua"/>

 

STORAGE DA VIP : 29000

Link para o post
Compartilhar em outros sites

coloquei um sistema de vip name em um baú, só que quando o player não tem mais dias vips ele continua com o nome...

como faço para deixar o vip no nome somente nos dias que o player tem vip, e quando a vip acabar tirar o VIP no nome do player.

 

o sistema de nome vip do bau é esse:

 

actions/scripts e crie um arquivo VIPNAME.LUA

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.uid == 35400 then
queststatus = getPlayerStorageValue(cid,35400)
if queststatus == -1 or queststatus == 0 then
                doCreatureSay(cid, "VOcê recebeu seu beneficio por ser vip!", TALKTYPE_ORANGE_1)
         db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")              
         doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos para mudança de nome.")   
doPlayerAddAddons(cid, 1)         
         addEvent(doRemoveCreature, 5*1000, cid, true)  
                setPlayerStorageValue(cid, 35400, 1)
                doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE)
        else
                doPlayerSendTextMessage(cid,22,"você ja tem o [vip] no nome.")
        end
        return true
end
end

actions.xml

 

<action actionid="35400" event="script" value="vipname.lua"/>

 

STORAGE DA VIP : 29000

Qual distro você usa?

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

8.6

Mais informações.

Qual REV?

Versão que eu disse se é 0.4 ou 0.3.6.

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

Desculpe amigo, é 0.4

Poste todos os scripts envolvidos na sua vip por favor.

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

Poste todos os scripts envolvidos na sua vip por favor.

 

Data/lib 050 function

 

function getCharacterAcess(cid)
local query = db.getResult("SELECT `vipacess` FROM `players` WHERE `id` = "..getPlayerGUID(cid))
if query:getID() ~= -1 then return query:getDataInt("vipacess") end
end
function getCharacterDays(cid)
local acess = math.ceil((getCharacterAcess(cid) - os.time())/(86400))
return acess <= 0 and 0 or acess
end
function HaveCharaterAcess(cid)
return getCharacterDays(cid) > 0 and true or false
end
function setAcessTime(cid, time)
return db.executeQuery("UPDATE `players` SET `vipacess` = "..time.." WHERE `id` = "..getPlayerGUID(cid))
end
function addCharacterAcess(cid, days)
local add = (days <= 0 and 1 or days)*86400
local time = getCharacterDays(cid) == 0 and (os.time() + add) or (getCharacterAcess(cid) + add)
return setAcessTime(cid, time)
end
function doRemoveCharacterAcess(cid, days)
local remove = days*86400
local time = getCharacterAcess(cid) - remove
return setAcessTime(cid, (time <= 0 and 1 or time))
end
function getVipAcessDate(cid)
if HaveCharaterAcess(cid) then return os.date("%d/%m/%y %X", getCharacterAcess(cid)) end
return false
end

 

talkactions/scripts

 

vipsystemplayer.lua

 

function onSay(cid, words, param)  
if(words == "!buyvip") then
local days = 10
local price = 50000  
if not doPlayerRemoveMoney(cid, price) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") return true
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.")  
addCharacterAcess(cid, days)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP, ela acaba em "..getVipAcessDate(cid))     
elseif(words == "!vipdays") then
return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP. "..(getCharacterDays(cid) > 0 and "ela acaba em "..getVipAcessDate(cid).."." or ""))  
end
return true
end

vipsystemgod.lua

 

function onSay(cid, words, param)  
if(words == "/checkvip") then  
if(param == '') then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true
end
local player = getPlayerByName(param)  
if not isPlayer(player) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") return true
end
return doPlayerPopupFYI(cid, "O jogador tem "..getCharacterDays(player).." dias de VIP no character.")  
elseif(words == "/addvip") then  
local t = string.explode(param, ",")  
if not tonumber(t[2]) then  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true
end  
                local player = getPlayerByNameWildcard(t[1])
                if(not player)then
                                return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.")
                end
addCharacterAcess(player, tonumber(t[2]))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você adicionou "..tonumber(t[2]).." dias de VIP no player "..getCreatureName(player)) 
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..tonumber(t[2]).." dias de VIP no seu character.")     
elseif(words == "/delvip") then
        local t = string.explode(param, ",")  
if not tonumber(t[2]) then  
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true
end  
                local player = getPlayerByNameWildcard(t[1])
                if(not player)then
                                return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.")
                end
doRemoveCharacterAcess(player, tonumber(t[2]))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você removeu "..tonumber(t[2]).." dias de VIP do jogador "..getCreatureName(player)..".")  
end
return true
end

em talkactions.xml adicione as tags:

 

<talkaction words="!buyvip;!vipdays" event="script" value="vipsystemplayer.lua"/>
<talkaction words="/addvip;/delvip;/checkvip" access="4" event="script" value="vipsystemgod.lua"/>

item que adiciona vip no character

actions/script

 

addvipdays.lua

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local days = 15
addCharacterAcess(cid, (days <= 0 and 1 or days))
doRemoveItem(item.uid,1)
return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP, ela acaba em "..getVipAcessDate(cid))
end

Actions.xml

 

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

tile vip

 

em movements/scripts crie um arquivo.lua e renomeie para

 

vipe.lua

 

function onStepIn(cid, item, position, fromPosition)
if item.actionid == 13700 and not HaveCharaterAcess(cid) then
doTeleportThing(cid, fromPosition, true)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"você não é vip.")
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return true
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"bem vindo.")
return true
end

movements.xml

 

<movevent type="StepIn" actionid="13700" event="script" value="vipe.lua"/>

 

no seu piso coloque ACTIONID 13700

 

em creaturescript/script

 

endvip.lua

 

function onLogin(cid)
if getCharacterDays(cid) > 0 then
setPlayerStorageValue(cid, 9898, 1)
elseif getPlayerStorageValue(cid, 9898) == 1 and getCharacterDays(cid) <= 0 then
doPlayerSetTown(cid, 1)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doPlayerPopupFYI(cid, "Sua vip Account acabou.")
setPlayerStorageValue(cid, 9898, -1)
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

Troque o script do arquivo endvip.lua por esse

 

function onLogin(cid)
          if getCharacterDays(cid) > 0 then
                    setPlayerStorageValue(cid, 9898, 1)
          end

          function removeName(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, 9898) == 1 and getCharacterDays(cid) <= 0 then
                    doPlayerSetTown(cid, 1)
                    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
                    doPlayerPopupFYI(cid, "Sua vip Account acabou.")
                    setPlayerStorageValue(cid, 9898, -1)
                    if string.find(tostring(getCreatureName(cid)),"[Vip]") then   
                              addEvent(removeName, 3*1000, cid)
                    end
          end
          return TRUE
end

 

Não testado

Dúvidas? Me avise.

 

Créditos

Eu -- Editar e trazer pra você

Vodkart -- Criar

 

Att.

Giovani Rodrigo

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

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

Troque o script do arquivo endvip.lua por esse

 

function onLogin(cid)
          if getCharacterDays(cid) > 0 then
                    setPlayerStorageValue(cid, 9898, 1)
          end

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

          if getPlayerStorageValue(cid, 9898) == 1 and getCharacterDays(cid) <= 0 then
                    doPlayerSetTown(cid, 1)
                    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
                    doPlayerPopupFYI(cid, "Sua vip Account acabou.")
                    setPlayerStorageValue(cid, 9898, -1)
                    if string.find(tostring(getCreatureName(cid)),"[Vip]") then   
                              addEvent(removeName, 3*1000, cid)
                    end
          end
          return TRUE
end

 

Não testado

Dúvidas? Me avise.

 

Créditos

Eu -- Editar e trazer pra você

Vodkart -- Criar

 

Att.

Giovani Rodrigo

 

Deu certo, só que quando acaba a vip o player fica assim :

 

You see ] Teste

 

Fica com o ] no nome

Link para o post
Compartilhar em outros sites

Deu certo, só que quando acaba a vip o player fica assim :

 

You see ] Teste

 

Fica com o ] no nome

Recopie o código e teste novamente.

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

Continue o mesmo erro

Eu testei aqui e com o nome [VIP] Teste deu certo, quando reconectei ficou apenas Teste.

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

Cara, esse teu script de adicionar vip tá meio mal assombrado, onde você arrumou ele? Teria o post completo para postar aqui?

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

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.

  • Conteúdo Similar

    • Por mateusmoretti
      SE NAO ESTIVER AREA CORRETA! POR FAVOR MOVAM!!!!
       
      Olá Galera Tibiaking!
      Bom Estou com um problema no meu Sistema Vip!.
      so que no jogo esta acontecendo algo diferente!
      Eu uso o Scroll Vip 30 Dias Normal ele funciona. Dando [VIP] Nome!
      so que eu nao consigo Remover dias de vip! ate criei um scripts para poder Remover, mais creio eu que não esta removendo!!
       
      Uso Comando /pa remover, [VIP] Thoor, 40 dias! ele remove mais não remove na verdade!
      Creio eu que o /PA REMOVER nao tem a storage da vip. 13500
      Uso comando /vipdays, AI aparece que tenho 44 dia de vip!!!
       
      VEJA AS FOTOS
    • Por Hootszerah
      bom galera se estiver no topico errado espero que movao entao bom no meu ot tem um item que ao clicar ele da 30 dias de vip eo outro da 15 eu keria que esses items ao clicarem nele vc ficasse vip e com o nome [vip] fulano de tal alguem pode me ajudar Reep +
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo