Ir para conteúdo
  • 0

Action [vip 1], [vip2], etc...


danitero15

Pergunta

Amigos,

 

Eu estava dando uma olhada em algumas novidades pro meu server, e encontrei um script legal do "Subwat" http://www.xtibia.com/forum/topic/147361-action-vip-no-nome/...

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.uid == 13546 then
queststatus = getPlayerStorageValue(cid,13546)
if queststatus == -1 or queststatus == 0 then
doCreatureSay(cid, "Em Menos de 5 Segundos Seu Char ira Logar Automaticamente Para Receber (VIP) Na Frente do Nome.", TALKTYPE_ORANGE_1)
db.executeQuery("UPDATE `players` SET `name` = '(VIP) "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") 
doPlayerSendTextMessage(cid,25,"Relogue Seu Char e Faça Sua Acc Novamente!") 
doPlayerAddAddons(cid, 1) 
addEvent(doRemoveCreature, 5*1000, cid, true) 
setPlayerStorageValue(cid, 13546, 1)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE)
else
doPlayerSendTextMessage(cid,22,"Você Ja Tem (VIP) na Frente do Nome!")
end
return true
end
end

O que eu gostaria é que quando um player fizesse a quest vip1, ele ganhasse vip1 no nome, mas quando fizesse a vip2, fosse retirado o vip1 e adicionado o vip2...

 

Eu já fiz duas quests com o mesmo script mas aparece (Vip2) (Vip1) Name... Deve ter alguma função da db pra remover o nome, mas eu não faço a menor ideia de como seja feito isso.

 

Espero que possam me ajudar.

 

Abraços"

Editado por danitero15
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Veja se é isso mesmo que você quer:

VIP1:

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
    if getPlayerStorageValue(cid, 928461) >= 1 then
        return doPlayerSendCancel(cid, Você já é VIP1.")
    elseif getPlayerStorageValue(cid, 928462) >= 1 then
        return doPlayerSendCancel(cid, "Sorry, not possible.")
    end
    
    
    doCreatureSay(cid, "Em Menos de 5 Segundos Seu Char ira Logar Automaticamente Para Receber (VIP1) Na Frente do Nome.", TALKTYPE_ORANGE_1)
    db.executeQuery("UPDATE `players` SET `name` = '(VIP1) "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") 
    doPlayerSendTextMessage(cid,25,"Relogue Seu Char e Faça Sua Acc Novamente!") 
    setPlayerStorageValue(cid, 928461, 1)
    doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE)
    doPlayerAddAddons(cid, 1) 
    addEvent(function()
        if not isCreature(cid) then return true end
        doRemoveCreature(cid)
    end, 5*1000)
    return true
end
VIP2: OBS: Não se esqueça de alterar a variável addon.
function onUse(cid, item, fromPosition, itemEx, toPosition)
 
local addon = xxx      --Quantos addons o jogador irá receber ao se tornar vip2? Quando vip1, recebe-se 1. 
 
    if getPlayerStorageValue(cid, 928462) >= 1 then
        return doPlayerSendCancel(cid, Você já é VIP2.")
    elseif getPlayerStorageValue(cid, 928461) >= 1 then
        return doPlayerSendCancel(cid, "Sorry, not possible.")
    end
    
    local name = getCreatureName(cid)
    local new_name = name:gsub("VIP1", "")
    
    doCreatureSay(cid, "Em Menos de 5 Segundos Seu Char ira Logar Automaticamente Para Receber (VIP2) Na Frente do Nome.", TALKTYPE_ORANGE_1)
    db.executeQuery("UPDATE `players` SET `name` = '(VIP2) "..new_name.."' WHERE `id` = "..getPlayerGUID(cid)..";") 
    doPlayerSendTextMessage(cid, 25, "Relogue Seu Char e Faça Sua Acc Novamente!") 
    setPlayerStorageValue(cid, 928462, 1)
    doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE)
    doPlayerAddAddons(cid, addon) 
    addEvent(function()
        if not isCreature(cid) then return true end
        doRemoveCreature(cid)
    end, 5*1000)
    return true
end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0

Opa, mas é claro.

VIP1:

function onUse(cid, item, fromPosition, itemEx, toPosition)
 
    if getPlayerStorageValue(cid, 928461) >= 1 then
        return doPlayerSendCancel(cid, "Você já é VIP1.")
    elseif getPlayerStorageValue(cid, 928462) >= 1 then
        return doPlayerSendCancel(cid, "Sorry, not possible.")
    end
    
    
    doCreatureSay(cid, "Em Menos de 5 Segundos Seu Char ira Logar Automaticamente Para Receber (VIP1) Na Frente do Nome.", TALKTYPE_ORANGE_1)
    db.executeQuery("UPDATE `players` SET `name` = '(VIP1) "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") 
    doPlayerSendTextMessage(cid,25,"Relogue Seu Char e Faça Sua Acc Novamente!") 
    setPlayerStorageValue(cid, 928461, 1)
    doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE)
    addEvent(function()
        if not isCreature(cid) then return true end
        doRemoveCreature(cid)
    end, 5*1000)
    return true
end
VIP2:
function onUse(cid, item, fromPosition, itemEx, toPosition)
 
 
    if getPlayerStorageValue(cid, 928462) >= 1 then
        return doPlayerSendCancel(cid, Você já é VIP2.")
    elseif getPlayerStorageValue(cid, 928461) >= 1 then
        return doPlayerSendCancel(cid, "Sorry, not possible.")
    end
    
    local name = getCreatureName(cid)
    local new_name = name:gsub("(VIP1)", "")
    
    doCreatureSay(cid, "Em Menos de 5 Segundos Seu Char ira Logar Automaticamente Para Receber (VIP2) Na Frente do Nome.", TALKTYPE_ORANGE_1)
    db.executeQuery("UPDATE `players` SET `name` = '(VIP2) "..new_name.."' WHERE `id` = "..getPlayerGUID(cid)..";") 
    doPlayerSendTextMessage(cid, 25, "Relogue Seu Char e Faça Sua Acc Novamente!") 
    setPlayerStorageValue(cid, 928462, 1)
    doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE)
    addEvent(function()
        if not isCreature(cid) then return true end
        doRemoveCreature(cid)
    end, 5*1000)
    return true
end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0

obrigado pela ajuda!

 

funcionou tudo quase certinho... quando o player pega vip 2, ele remove vip1 mas deixa os parenteses ( ) assim: "(VIP2) () Roxy".

 

 

só acrescentei uma " que estava faltando em:

return doPlayerSendCancel(cid, Você já é VIP2.")

e já tentei alterar:

local new_name = name:gsub("VIP1", "")

por:

local new_name = name:gsub("(VIP1)", "")

mas não deu certo, se puderes me ajudar eu fico grato!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...