Ir para conteúdo
  • Cadastre-se

(Resolvido)[Duvida] Script para Players Vip


Ir para solução Resolvido por Wakon,

Posts Recomendados

Bom boa tarde, eu gostaria de saber o seguinte , eu criei uma area vip , mas gostaria que so pudesse passar ali os players com o [VIP] no nome , como faço isso? 

Link para o post
Compartilhar em outros sites
  • Respostas 42
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

vc usa Premium Account ou instalou algum sistema VIP?

Vá na pasta "Data/movements/scripts" copie e cole um arquivo.LUA, renomeie para tilevip.lua, apague tudo e cole isso: local t = { storage = 29000, effect = 13 } function onStepIn(cid, item, positio

Aff pode ser isso entao amigo ..hmmmmmmmmmmmmmmmmmmmm Deixe eu conferir entao o sistema vip ... Pronto ,achei o que eu realmente uso rsrs  , Quando baixei o serivdor tinha 3 tipos de vip , era baiak

vc usa Premium Account ou instalou algum sistema VIP?

wq3bBzt.png
Pokémon Dust Evolution
 
É aonde começa sua nova aventura!! 

 

Facebook

 
Verifique Atualizações

 

Link para o post
Compartilhar em outros sites

Passa o comando pra mim.

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

Bom , como eu disse la em cima , sou INCIANTE , como te passo o comando? kkkk'

 

Abre talkactions.xml que está na pasta talkactions da pasta DATA...

 

Procura por /addvip  , e veja o value='Arquivo.lua' ,

 

Procure por esse arquivo.lua em data/talkactions/scripts

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Eu uso esse aq

 

unction onSay(cid, words, param)
 
-- configs
access = 1
days = 30
-- end configs
 
player = getPlayerByName(param)
daysvalue = days*3600*24
storageplayer = getPlayerStorageValue(player,29000)
timenow = os.time()
if storageplayer == -1 or storageplayer == 0 then
time = timenow+daysvalue
else
time = storageplayer+daysvalue
end
 
 
if param ~= "" then
if getPlayerGroupId(cid) >= access then
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adcionados ".. days .." dias de VIP no seu character.") 
setPlayerStorageValue(player,29000,time)
quantity = math.floor((getPlayerStorageValue(player,29000) - timenow)/(3600*24))
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente jogadores com acesso maior que "..access.." podem adcionar vips.") 
end
 
end
 
end
Link para o post
Compartilhar em outros sites
  • Solução

Vá na pasta "Data/movements/scripts" copie e cole um arquivo.LUA, renomeie para tilevip.lua, apague tudo e cole isso:

local t = {
storage = 29000,
effect = 13
}

function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then
    return true
    end

    if getPlayerStorageValue(cid, t.storage) - os.time() <= 0 then
       doTeleportThing(cid, fromPosition, true)
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não é VIP.")
       doSendMagicEffect(getThingPos(cid), t.effect)
       return true
    end
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bem-vindo a área VIP.")
    return true
end

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

<movevent type="StepIn" actionid="39800" event="script" value="tilevip.lua"/>

Ai você coloca a actionID 39800 no piso da entrada da área VIP.

Se der algum erro avise.

Link para o post
Compartilhar em outros sites

Bom 2 duvidas , Primeiro quando eu abro movements  eu adiciono essa tag ai no finalzinho msm? 

 

e quando vc fala em adicionar o action id no piso. . é pelo remears?

Link para o post
Compartilhar em outros sites

Bom 2 duvidas , Primeiro quando eu abro movements  eu adiciono essa tag ai no finalzinho msm? 

 

e quando vc fala em adicionar o action id no piso. . é pelo remears?

Adicione depois de <movements> e a actionID é pelo RME mesmo.

Link para o post
Compartilhar em outros sites

Bom fiz do jeito que você falou , mais nao deu nada .. um player normal entra na area vip 

 

Vc disse que e pra por dps de <mOVMENTS> mais olha .. o meu é organizado assim

 

<?xml version="1.0" encoding="UTF-8"?>
<movements>
<!-- Decaying tiles -->
<movevent type="StepIn" itemid="293" event="script" value="decay.lua"/>
<movevent type="StepIn" itemid="461" event="script" value="decay.lua"/>
 
<!-- Swimming -->
<movevent type="StepIn" itemid="4828-4831" event="script" value="swimming.lua"/>
<movevent type="StepIn" itemid="7943-7954" event="script" value="swimming.lua"/>
 
<!-- Underwater drown -->
<movevent type="StepIn" fromid="5405" toid="5410" event="script" value="drown.lua"/>
<movevent type="StepOut" fromid="5405" toid="5410" event="script" value="drown.lua"/>
 
 
 
Teria que achar a sessão correta?
 
Exemplo : 
 
<!-- (Depot & Level) tiles -->
<!-- Traps -->
<!-- Citizen teleport -->
<!-- (Level & quest) doors -->
 
Link para o post
Compartilhar em outros sites

Não há necessidade de encontrar uma seção, essas partes que tem essas características <!-- Teste --> são apenas comentários dentro do script para manter organização mais não interfere em nada.

 

Sobre o tile, apresentou algum erro na distro(executável)?

Link para o post
Compartilhar em outros sites

Não , nao achei nenhum tipo de erro , servidor ligou normal , so que qualquer um passa pra area vip

Olha, acabei de testar aqui e está normal, outra coisa você tem certeza que seu sistema de VIP é esse que você passou?

Pois você disse que funciona assim: "/addvip Wakon, 30" e o comando funciona apenas assim: "/addvip Wakon", sem os dias.

Link para o post
Compartilhar em outros sites

Aff pode ser isso entao amigo ..hmmmmmmmmmmmmmmmmmmmm Deixe eu conferir entao o sistema vip ...


Pronto ,achei o que eu realmente uso rsrs  , Quando baixei o serivdor tinha 3 tipos de vip , era baiak .. entao eu criei um mapa novo , exclui agora mesmo os antigos .. e so deixei oq eu uso 

 

 

 

 

-- Script SYtem vip 2.0 --
 
function onSay(cid, words, param)
if(words == "!buydonate") then
local price = 5000000
if doPlayerRemoveMoney(cid, price) == TRUE then
local days = 30
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13540)
local timenow = os.time()
 
if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end
 
if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(cid, 13540, time)
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(cid, 13540, time)
local name = getCreatureName(cid)
db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")
doRemoveCreature(cid)
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.")
end
 
elseif(words == "!donatedays") then
local timenow = os.time()
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.")
 
elseif(words == "/checkdonate") then
if getPlayerAccess(cid) == 5 then
if not param then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end
 
local player = getPlayerByName(param)
if not isPlayer(player) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.")
end
 
local timenow = os.time()
 
local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60))
doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.")
return TRUE
end
 
elseif(words == "/adddonate") then
if getPlayerAccess(cid) == 5 then
local t = string.explode(param, ",")
if not t[2] then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end
 
local player = getPlayerByName(t[1])
local name = getCreatureName(player)
local days = t[2]
local pid = getPlayerByNameWildcard(t[1])
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")
return TRUE
end
 
local daysvalue = days*3600*24
local storageplayer = getPlayerStorageValue(player, 13540)
local timenow = os.time()
local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue)
 
if string.find(tostring(getCreatureName(pid)),"[[Vip]]") then
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.")
setPlayerStorageValue(player, 13540, time)
local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24))
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.")
else
setPlayerStorageValue(player, 13540, time)
db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(player)..";")
doRemoveCreature(player)
end
end
 
elseif(words == "/deldonate") then
if getPlayerAccess(cid) == 5 then
local dec = MESSAGE_INFO_DESCR
if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end
local C,t = {},string.explode(param, ",")
C.pos = getPlayerPosition(cid)
C.uid = getCreatureByName(t[1])
C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia.
C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip.
 
if(getPlayerStorageValue(C.uid,13540) < C.time)then
doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.')
else
doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.')
setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time)
end
doSendMagicEffect(C.pos, math.random(28,30))
end
end
 
return TRUE
Link para o post
Compartilhar em outros sites

Troque o tilevip.lua por esse:

local t = {
storage = 13540,
effect = 13
}

function onStepIn(cid, item, position, fromPosition)
    if not isPlayer(cid) then
    return true
    end

    if getPlayerStorageValue(cid, t.storage) - os.time() <= 0 then
       doTeleportThing(cid, fromPosition, true)
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não é VIP.")
       doSendMagicEffect(getThingPos(cid), t.effect)
       return true
    end
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bem-vindo a área VIP.")
    return true
end

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