Ir para conteúdo

[Npc] Vendedor De Vip


loucoint

Posts Recomendados

Bom dia.



Gostaria de pedir um NPC que vende VIP a preço de 1kk.

 

Por exemplo, se um player quiser comprar VIP, comece a conversação com o NPC da seguinte maneira:

 

Player : Hi
NPC : Olá, (PLAYERNAME). Deseja comprar {VIP}? O preço é 1kk.
Player : Yes
NPC : Vip adicionada com sucesso. Você comprou 30 dias de VIP.
Player : Bye
NPC : Adeus, (PLAYERNAME).



 

No meu servidor, a VIP é adicionada aos players por um comando em que 30 é o número de dias de VIP : /vip add 30 PLAYERNAME.

Vou postar abaixo as Scripts do comando para que alguma boa alma possa fazer o NPC.

Obs.: O Storage do player VIP é mudado para 13540 e a Movement do 'Tile VIP' é 13500.

 

 

 


Data/Talkactions/scripts/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

 

 

 


Data/Movements/Scripts/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/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/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/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

 

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
×
×
  • Criar Novo...