Hola a todos les traigo un post mio para que puedan utilizarlo ustedes es un sistema vip totalmente original en revScript
Este script fue testeado en un otserverbr.
Empecemos
primero que nada te vas a a player.lua y buscas estas lineas
debajo de esta linea agregas lo siguiente:
esta es una condicion para que cuando el player sea vip pueda tener mas exp
Despues nos iremos a data/script/actions/vipaction.lua --- el nombre que deseen agregarle
y agregas este codigo
Después te vas a data/script/movement y agregas otro archivo con el nombre que gustes
Despues el talktion este es para que los usuarios puedan ver su vip time
Att: God Mazatlan - Marcuz
Este script fue testeado en un otserverbr.
Empecemos
primero que nada te vas a a player.lua y buscas estas lineas
-- Stamina Bonus
if configManager.getBoolean(configKeys.STAMINA_SYSTEM) then
useStamina(self)
local staminaMinutes = self:getStamina()
if staminaMinutes > 2340 and self:isPremium() then
exp = exp * 1.5
self:setStaminaXpBoost(150)
elseif staminaMinutes <= 840 then
exp = exp * 0.5 --TODO destroy loot of people with 840- stamina
self:setStaminaXpBoost(50)
else
self:setStaminaXpBoost(100)
end
end
Click to expand...
debajo de esta linea agregas lo siguiente:
esta es una condicion para que cuando el player sea vip pueda tener mas exp
if self:getStorageValue(3000) - os.time() > 0 then ---- el storage a dar al jugador
exp = exp * 1.5 -- exp extra que te gustaria que gane el player vip
end
Despues nos iremos a data/script/actions/vipaction.lua --- el nombre que deseen agregarle
y agregas este codigo
local vip = Action()
function vip.onUse(player, item, fromPosition, target, toPosition, isHotkey)
local days = 30 -- dias que seran adicionados
local daysvalue = days * 24 * 60 * 60
local storageplayer = player:getStorageValue(3000)
local timenow = os.time()
doPlayerRemoveItem(cid, 7634, 100)
if player:getStorageValue(3000) - os.time() <= 0 then --- storage lo puedes modificar si ya lo tienes en uso
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end
player:sendTextMessage(TALKTYPE_ORANGE_1, "Fueron adicionados ".. days .." dias de VIP en su character.")
player:setStorageValue(3000, time)
local quantity = math.floor((player:getStorageValue(3000) - timenow)/(24 * 60 * 60))
player:sendTextMessage(TALKTYPE_ORANGE_1, "Usted Tiene ".. quantity .." dias de VIP restantes.") --- mensaje
item:remove(1) --- le removera el item
addEvent(function(cid)
local player = Player(cid)
if player then
player:remove()
end
end, 2000, player.uid)
return TRUE
end
vip:id(16101) --- itemq que deseas que te haga vip es por 30 dias
vip:register()
Click to expand...
Después te vas a data/script/movement y agregas otro archivo con el nombre que gustes
local vipp = MoveEvent()
function vipp.onStepIn(creature, item, position, fromPosition)
local player = creature:getPlayer()
if player == nil then return false end
if player:getStorageValue(3000) - os.time() <= 0 then
player:sendTextMessage(MESSAGE_INFO_DESCR, "solo player vips - Only Vip Players")
player:teleportTo(fromPosition)
else
local back = {x = 1112, y = 651, z = 7} --- posicion de la zona vip o teleport es un pisol.
player:teleportTo(back)
player:sendTextMessage(MESSAGE_INFO_DESCR, "Bienvenido Al Area Vip. - Welcome Vip Are")
end
return true
end
vipp:type("stepin")
vipp:aid(16101)
vipp:register()
Click to expand...
Despues el talktion este es para que los usuarios puedan ver su vip time
local vip = TalkAction("!vip")
function vip.onSay(player, words, param)
local left, d, h, m, s = (player:getStorageValue(3000) - os.time()), 0, 0, 0, 0
while left >= 86400 do
left = left - 86400
d = d+1
end
while left >= 3600 do
left = left - 3600
h = h + 1
end
while left >= 60 do
left = left - 60
m = m + 1
end
while left >= 1 do
left = left - 1
s = s+1
end
player:sendTextMessage(22, "VIP Player Informations:\n\nYour VIP time left:\nDays: "..d.."\nHours: "..h.."\nMinutes: "..m.."\nSeconds: "..s.."")
end
vip:separator(" ")
vip:register()
Att: God Mazatlan - Marcuz