Ir para conteúdo
  • 0

Npc Vendedor De Vip ~


loucoint

Pergunta

Tipo do script:NPC Script



Protocolo (versão do Tibia):8.57

Servidor utilizado:Styller Yourots

Nível de experiência:Simples

 

Pessoal, preciso de um script de NPC para Tibia 8.57 com mais ou menos o seguinte diálogo :

NPC : Olá, PLAYERNAME. Eu vendo {VIP}.

Player : vip

NPC : Você quer comprar VIP por 2kk?

Player : yes

NPC : /vip add DIAS Player. Parabéns, você comprou VIP por 30 dias!

 

--- Explicando a cor vermelha : Meu servidor tem um sistema de VIP em que o player depende do GOD para conseguir VIP. Para tal ato, o GOD usa o comando /vip add 'DIAS EM NUMERO' 'NOME DO PLAYER' (sem aspas). Gostaria de pedir um Script de NPC para quando um player ter o diálogo acima com o NPC, ele consiga comprar a VIP.

 

OBRIGADO.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

TalkAction : addvip.lua



 

 

function onSay(cid, words, param)

-- configs
access = 3
days = 30
-- end configs

player = getPlayerByName(param)
daysvalue = days*3600*24
storageplayer = getPlayerStorageValue(player,13540)
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 adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(player,13540,time)
quantity = math.floor((getPlayerStorageValue(player,13540) - 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 adicionar vips.")
end

end

end

 

 

Comando para adicionar VIP : /vip add DIAS PLAYER. Exemplo : /vip add 30 Drash.

Link para o comentário
Compartilhar em outros sites

  • 0

Ainda não deu certo ...

Vou adicionar mais arquivos relacionados à VIP para melhor entendimento.

 

OBS.: A ActionID do Azulejo VIP (Piso, Tile, como preferirem) é 13500

 

data\movements\scripts

Arquivo : vip.lua

 

 

local pos = {x=818, y=373, z=7}

pos = {x=818, y=373, z=7}

function onLogin(cid)
if vip.hasVip(cid) == true then
	if getPlayerStorageValue(cid,55555) ~= 1 then
		setPlayerStorageValue(cid,55555,1)
	end
   elseif vip.hasVip(cid) ~= true and vip.getVip(cid) ~= 0 then
	if getPlayerStorageValue(cid,55555) == 1 then
		doTeleportThing(cid, pos, true)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua Vip ACABOU!")
		doPlayerSendTextMessage(cid,22,"Sua Vip ACABOU!")
		setPlayerPromotionLevel(cid, 1)
		setPlayerStorageValue(cid,55555,2)
	elseif getPlayerStorageValue(cid,55555) == -1 then
		setPlayerStorageValue(cid,55555,2)
	end

end

   return true
end

 

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

 

data\movements\scripts

Arquivo : vipp.lua

 

 

function onStepIn(cid, item, pos)

novapos1 = {x=295, y=24, z=7}
backpos = {x=295, y=24, z=7}
msg = ""

if isPlayer(cid) then actionid == 5955 then
doSendMagicEffect(cid,2)
doTeleportThing(cid,novapos1)
doSendMagicEffect(novapos1,10)
else
doTeleportThing(cid,backpos)
doPlayerSendTextMessage(cid, 22, msg)
end

end

 

 

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

 

data\movements\scripts

Arquivo : vipTilee.lua

 

 

--- Script by dark billie
--- Edited by mock to ##### vip system
function onStepIn(cid, item, position, fromPosition)

local tileConfig = {
       kickPos = fromPosition,
       kickEffect = CONST_ME_POFF,
       kickMsg = "Você precisa ser um Player VIP para acessar essa área.",
       enterMsg = "Bem-vindo à Área VIP! Divirta-se!",
       enterEffect = CONST_ME_MAGIC_BLUE,
}
if isPlayer(cid) == true then   
if vip.hasVip(cid) == FALSE then 
       doTeleportThing(cid, tileConfig.kickPos)
       doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
       doPlayerSendCancel(cid, tileConfig.kickMsg)
       return
   end

       doPlayerSendTextMessage(cid, 25, tileConfig.enterMsg)
       doSendMagicEffect(position, tileConfig.enterEffect)
       return true
end
end

 

 

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

 

data\movements\scripts

Arquivo : vipTileee.lua

 

 

function onStepIn(cid, item, position, fromPosition)

local tileConfig = {
kickPos = fromPosition,
kickEffect = CONST_ME_POFF,
kickMsg = "You need to be a vip to access this area.",
enterMsg = "Welcome to vip area. Enjoy!",
enterEffect = CONST_ME_MAGIC_BLUE,
vipStorage = 13540,
}

if(getPlayerStorageValue(cid, tileConfig.vipStorage) <= 0) then
doTeleportThing(cid, tileConfig.kickPos)
doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
doPlayerSendCancel(cid, tileConfig.kickMsg)
return
end

doPlayerSendTextMessage(cid, 25, tileConfig.enterMsg)
doSendMagicEffect(position, tileConfig.enterEffect)
return true
end

 

 

Upando.

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

×
×
  • Criar Novo...