Ola, pois bem, eu adaptei ao meu ot sistema vip e eu achei neste forum um SISTEMA VIP com scripts e entao resolvi copia-lo... Deu certo, porem a um grande problema...
Os players que nao possuem vip, se eles chegam em frente ao piso que possui a actiontID para somente players vip parassarem... se ele andar na diagonal atraves desse piso, ele e teleportado para um piso que fica dentro da area vip... Ou seja, eu nao preciso adicionar vip a ele pois ele anda na diagonal e e teleportado para dentro da area vip, enquanto os players que eu adiciono vip, passam normalmente por cima do piso e aparece os dias de vip e tudo normal...
vou mostrar os dois scripts...
Talkaction(adiciona vip):
function onSay(cid, words, param)
-- configs
access = 1
days = 10
-- 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
Movement(faz o player passar pelo piso, que seria pra ser somente vip)
function onStepIn(cid, item, position, fromPosition)
timenow = os.time()
quantity = math.floor((getPlayerStorageValue(cid,29000) - timenow)/(3600*24))
if isPlayer(cid) then
if quantity > 0 then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você ainda tem ".. quantity .." dia(s) restante(s) de VIP.")
else
dir = getPlayerLookDir(cid)
pos = getCreaturePosition(cid)
if dir == 0 then
newpos = {x=pos.x, y=pos.y+1, z=pos.z}
elseif dir == 2 then
newpos = {x=pos.x, y=pos.y-1, z=pos.z}
elseif dir == 1 then
newpos = {x=pos.x-1, y=pos.y, z=pos.z}
elseif dir == 3 then
newpos = {x=pos.x+1, y=pos.y, z=pos.z}
end
doTeleportThing(cid, newpos, dir)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Somente jogadores VIPs podem entrar nesta área.")
end
end
end
Espero que possam me ajudar, obrigado.