Ir para conteúdo
  • 0

[Vip] Ao Lado Do Nome


lucas502

Pergunta

Ae galera blza

 

Então, preciso de um script que adicione a tag [VIP] ao lado do nome dos vip's, e quando acabar a vip, remover a tag [VIP]

Já usei a pesquisa do forum mas não achei nenhum que me sirva:

Eu uso o sistema de vip por "premdays" na DB, e consequentemente o Shop Online do Gesior, vendendo a VIP (adicionando premdays)

 

Acho que não preciso modificar nada no site certo?

 

Bom, aguardo, muito obrigado!

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Em data/creaturescripts/scripts, duplica um arquivo e nomeia para "vipname" sem as aspas e nele cole:

function pegarNome(name)
return string.sub(name, 7)
end

function onLogin(cid)
local name = getCreatureName(cid)
local nome = getPlayerGUID(cid)

if isPremium(cid) then
if string.sub(name, 1,6) == "[VIP] " then
return true
else
db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..name.."' WHERE `id`= " .. nome .. ";")
doPlayerSendTextMessage(cid,19,"You go kicked in 10 seconds for update you name.")
addEvent(doRemoveCreature,10000,cid)
end
else
if string.sub(name, 1,6) == "[VIP] " then
db.executeQuery("UPDATE `players` SET `name` = '"..pegarNome(getCreatureName(cid)).."' WHERE `id`= " .. nome .. ";")
doPlayerSendTextMessage(cid,19,"You go kicked in 10 seconds for update you name.")

addEvent(doRemoveCreature,10000,cid)
end

end
return true
end

 

Após em data/creaturescripts/creaturescripts.xml cole a tag:

<event type="login" name="vipname" event="script" value="vipname.lua"/>

 

Créditos: @SkyDangerous.

 

Caso seja solucionado seu pedido, clique em denunciar abaixo para reportar o tópico a um moderador. Sendo assim movido para pedidos atendidos.

Link para o comentário
Compartilhar em outros sites

  • 0

Vixi, acho q bugou os players tudo aki..

 

Eu não queria que simplesmente modificasse o nome para [VIP] Lucas, eu queria fosse adicionado apenas uma tag.

 

Desse jeito que tá, se algum outro cara quiser criar um char com o nome de Lucas, ele vai conseguir, pq o outro está como [VIP] Lucas, isso vai bugar tudo entende?

Link para o comentário
Compartilhar em outros sites

  • 0

Ok valeu, fico no aguardo então.

 

E mais uma coisa:

Quando for procurar pelo char no site, desse jeito que tá no script, tem q procurar assim: [VIP] Lucas, se eu simplesmente colocar só Lucas, não vai achar pq o mudou o nome (e ainda possibilitando de alguem criar outro char com o mesmo nome...)

 

Vlw , no aguardo ;)

 

poxa, ninguem pra ajudar quanto a isso?

Link para o comentário
Compartilhar em outros sites

  • 0

Eu vou ajudar s. kk

 

Olha com oque eu vou te passar provavelmente removera a criação de char com o mesmo nome, mais não resolvera em nada a busca no site.

Primeiro vou te passar os scripts e depois digo como funciona!

 

Em data/creaturescripts/scripts, crie um arquivo chamando "loginName" sem as aspas e nele cole:

function onLogin(cid)
local name = db.getResult("SELECT `name` FROM `players` WHERE `group_id` <= 2;")
local change_minutes = 3 -- quantos minutos para o nome ser trocado, antes que seja trocado altomaticamente.
repeat
   if name:getID() == -1 then
       break
   end
   name_now = name:getDataString("name")
   if getCreatureName(cid) == string.sub(name_now, 7) then
       if getPlayerStorageValue(cid, 59831) <= 0 then
           setPlayerStorageValue(cid, 59832, 60*change_minutes+os.time())
           setPlayerStorageValue(cid, 59831, 1)
       end
       if ((getPlayerStorageValue(cid, 59832)-os.time())/60) > 0 then
           addEvent(changeName, 1000*(getPlayerStorageValue(cid, 59832)-os.time()))
           local str = "Perigo, seu nome ja existe. Troque ele usando o comando: !name NomeQueVoceQuiser".."\n"
           str = str.."Você tem ".. ((getPlayerStorageValue(cid, 59832)-os.time())/60) .." minutos para trocar, caso não troque o nome sera trocado altomaticamente."
           doPlayerPopupFYI(cid,str)
       else
           changeName(cid)
       end
   end
until name:next() == false
return true
end

function changeName(cid)
if isPlayer(cid) and getPlayerStorageValue(cid, 59831) > 0 then
   local param = {"Sir ","Warrior ","Guadiator ","Mister "} -- nome que ira para frente do jogador, caso ele não o troque.
   local name = getCreatureName(cid)
   local nome = getPlayerGUID(cid)
   local new_name = param[math.random(1,#param)]..name
   local name = db.getResult("SELECT `name` FROM `players` WHERE `group_id` <= 2;")
   local cont = 0
   repeat
       if name:getID() == -1 then
           break
       end
       name_now = name:getDataString("name")
       if name_now == new_name then
           cont = cont+1        
           break        
       end
   until name:next() == false
   if cont > 0 then
       changeName(cid)
   else
       db.executeQuery("UPDATE `players` SET `name` = '"..new_name.."' WHERE `id`= " .. nome .. ";")
       setPlayerStorageValue(cid, 59831, 0)
       addEvent(doRemoveCreature, 100, cid)
   end
end
return true
end

 

No creaturescripts.xml cole a tag:

<event type="login" name="LoginName" script="loginName.lua"/>

 

Agora em data/talkactions/scripts, crie um arquivo chamado "changeName" sem as aspas e nele cole:

-- Creditos a Won Helder, apocarai, MatheusMkalo
function onSay(cid, words, param)
local maxLen = 25 -- tamanho maximo do nome
local proibido = {"%[", "%]", "%(", "%)", "%{", "%}"} -- simbolos proibidos

if getPlayerStorageValue(cid, 59831) > 0 then
   for i = 1, #proibido do
       if param:find(proibido[i]) then
           doPlayerSendCancel(cid,"Você não pode colocar isso no nome.")
           return true
       end
   end
   if tostring(param) == "" then -- checkar se não é nome vazio
       doPlayerSendCancel(cid, "Você deve informar um nome.")
       return true
   end
   if string.len(tostring(param)) > maxLen then
       doPlayerSendCancel(cid, "Você pode usar no máximo " .. maxLen .. " letras.")
       return TRUE
   end
   local result = db.getResult("SELECT `id` FROM `players` WHERE `name` = '".. db.escapeString(param) .."'")
   if result:getID() == 1 or getCreatureByNameWildcard(param) then
       return doPlayerSendCancel(cid, "Já existe alguém com esse nome.")
   end    
   local result = db.getResult("SELECT `id` FROM `players` WHERE `name` = '[VIP] ".. db.escapeString(param) .."'")
   if result:getID() == 1 or getCreatureByNameWildcard(param) then
       return doPlayerSendCancel(cid, "Um jogador vip ja possui este nome.")
   end    
   setPlayerStorageValue(cid, 59831, 0)
   db.executeQuery("UPDATE `players` SET `name` = '"..param.."' WHERE `id` = "..getPlayerGUID(cid)..";")
   doPlayerSendTextMessage(cid,25,"Você será deslogado em 3 segundos.")
   addEvent(doRemoveCreature, 3*1000, cid, true)
end
return TRUE
end

 

Na talkactions.xml poe a tag:

<talkaction words="!name" event="script" value="changeName.lua"/>

 

-------------------------------------------------------------------------------------------

 

Vai funcionar da seguinte maneira, você ainda vai poder criar o char com o mesmo nome do cara vip só que ao logar aparecera uma mensagem na tela dizendo que esse nome ja existe e que voce tem alguns minutos para trocalo usando o comando "!name NovoNome" e se não trocar o seu nome troca altomaticamente apos alguns minutos.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...