Ir para conteúdo
  • 0

felipeomatad

Pergunta

Preciso de um script de VIP TILE assim:

 

Que você só passa nessa tile 9198 se você tiver vip, se você não tiver você será teletransportado para esse Pos: 1000 1000 7

Eu tentei vários scripts daqui nenhum funcionou no meu Servidor 8.6

Obrigado

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Tenta:

 


function onStepIn(cid, item, pos)

teleport1 ={x=1000, y=1000, z=7}



if isPlayer(cid) then

if item.actionid == 9198 then

vip = getPlayerStorageValue(cid,9198)
if vip == -1 then
doPlayerSendCancel(cid,"So players Vip podem ter acesso aos Teleports vip.")


doTeleportThing(cid,teleport1)


else
end
end
end
end

Link para o comentário
Compartilhar em outros sites

  • 0
-- Script SYtem vip 1.0 --
function onSay(cid, words, param)
if(words == "!comprarvip10") then
local price = 30
if doPlayerRemoveItem(cid, 6527, 30) == TRUE then
local days = 10
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
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ê compro 10 dias de VIP e agora você têm ".. quantity .." dias de VIP.")
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem "..price.." Moedas VIP.")
end
elseif(words == "!vipdays") 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.")
elseif(words == "/checkvip") then
if getPlayerAccess(cid) == 5 then
if not param then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end
local player = getPlayerByName(param)
local pid = getPlayerByNameWildcard(param)
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 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 == "/addvip") 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 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)
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP.")
setPlayerStorageValue(player, 13540, time)
local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24))
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você comprou "..quantity.." dias de VIP.")
end
elseif(words == "/delvip") 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.
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
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
end

Poderia deixar explicado, tipo

 

if item.actionid : server pra q?

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta dessa maneira,

data/movements/scripts, crie um arquivo com extensão .lua, nomeie-o viptile, e coloque neste o seguinte conteúdo:

function onStepIn(cid, item, position, fromPosition)
 
local to_no = {x = 1000, y = 1000, z = 7}
local to_yes = {x = xxx, y = yyy, z = zzz}    --Para onde será teleportado na área VIP.
local timenow = os.time()
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
 
    if quantity > 0 then
        doPlayerSendTextMessage(cid, 27, "Bem vindo à área VIP!")
        doTeleportThing(cid, to_yes)
    else
        doPlayerSendCancel(cid, "Você não é VIP...")
        doTeleportThing(cid, to_no)
    end
    return true
end
Agora, em data/movements, abra o arquivo movements.xml, e coloque a seguinte tag:
<movevent type="StepIn" actionid="401921" event="script" value="viptile.lua"/>
Depois, basta configurar no seu map editor o tile desejado com o actionid configurado na tag. (não se esqueça de verificar se esse actionid já está em uso no seu servidor; caso já esteja, basta colocar, então, um outro actionid na tag.)
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0

 

Tenta dessa maneira,

data/movements/scripts, crie um arquivo com extensão .lua, nomeie-o viptile, e coloque neste o seguinte conteúdo:

function onStepIn(cid, item, position, fromPosition)
 
local to_no = {x = 1000, y = 1000, z = 7}
local to_yes = {x = xxx, y = yyy, z = zzz}    --Para onde será teleportado na área VIP.
local timenow = os.time()
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
 
    if quantity > 0 then
        doPlayerSendTextMessage(cid, 27, "Bem vindo à área VIP!")
        doTeleportThing(cid, to_yes)
    else
        doPlayerSendCancel(cid, "Você não é VIP...")
        doTeleportThing(cid, to_no)
    end
    return true
end
Agora, em data/movements, abra o arquivo movements.xml, e coloque a seguinte tag:
<movevent type="StepIn" actionid="401921" event="script" value="viptile.lua"/>
Depois, basta configurar no seu map editor o tile desejado com o actionid configurado na tag. (não se esqueça de verificar se esse actionid já está em uso no seu servidor; caso já esteja, basta colocar, então, um outro actionid na tag.)

 

Obrigado ^^

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...