BL
resolvido

[Encerrado] Script de area vip que funcione no PDA

Por blackdreams, 23 de nov. de 2013 em Tópicos Sem Resposta

script
10
768
blackdreamsB
23 de novembro de 2013 às 14:46

eaew galera alguem sabe de um script de area vip que funfe no PDA? se funfar dou rep+ :D

zipter98Z
23 de novembro de 2013 às 15:30

Script de área vip que você se refere, é um tile que só passa quem for premium?

 

Se for,

function onStepIn(cid, item, position, fromPosition)
 
local pos = {x = xxx, y = yyy, z = zzz}     --Para onde o player será teleportado.
 
    if not isPremium(cid) then
        doPlayerSendCancel(cid, "Você só pode passar por aqui se for VIP!")
        doTeleportThing(cid, fromPosition)
    end
    
    doPlayerSendTextMessage(cid, 27, "Bem vindo à área VIP!")
    doTeleportThing(cid, pos)
    return true
end

Editado Novembro 23 por zipter98

blackdreamsB
23 de novembro de 2013 às 19:35

vlw ae manow, vc poderia mandar a tag desse script para adicionar no movements.xml?

Editado Novembro 23 por blackdreams

zipter98Z
23 de novembro de 2013 às 19:44

Claro. Tenta assim:

 

<movevent type="StepIn" actionid="coloque aqui um action id que não esteja em uso no seu servidor" event="script" value="nome do arquivo com o script que passei.lua"/>
blackdreamsB
23 de novembro de 2013 às 20:42

eaew mano, fiz tudo certinho porem aparece uma mensagem no log de duplicate unique id, e qualquer player passa no piso, só que eu ja procurei aki no ot e n tem nenhum script com esse unique, oq eu faço?

zipter98Z
24 de novembro de 2013 às 11:36

Registre normalmente a tag e o script. Na tag, coloque o actionid 12345. Depois, in game, digite /attr set aid 12345 em frente ao tile da área vip. Veja se mesmo assim os players continuam podendo passar por ele (eu testei aqui o script, e está funcionando perfeitamente).

 

Ah, havia esquecido de umas coisas no script, aqui está ele editado:

function onStepIn(cid, item, position, fromPosition)
 
local pos = {x = xxx, y = yyy, z = zzz}     --Para onde o player será teleportado.
 
    if not isPlayer(cid) then return true end
    
    if not isPremium(cid) then
        doPlayerSendCancel(cid, "Você só pode passar por aqui se for VIP!")
        doTeleportThing(cid, fromPosition)
    end
    
    if isPremium(cid) then
        doPlayerSendTextMessage(cid, 27, "Bem vindo à área VIP!")
        doTeleportThing(cid, pos)
    end
    return true
end

Testado, funcionando.

 

EDIT: Vá no seu map editor, e procure por todos os unique IDs repetidos. Substitua por outros, que ainda não estejam em uso.

Editado Novembro 24 por zipter98

AnjoCelestialA
24 de novembro de 2013 às 12:24

zpiter aproveitando o tópico meu lindo eu tenho a mesma dúvida que ele só que quero pedir que você faça um Tutorial,dizendo como adcionar esse sytem vip pfv!!!Do Rep por 1 semana!!

zipter98Z
24 de novembro de 2013 às 15:17

Você se refere à adicionar esse vip tile? É muito básico. Basta ir em data/movements/scripts, criar um arquivo com extensão .lua, e neste colocar o script que passei acima. Depois, em data/movements, abra o arquivo XML, e coloque a tag que também passei acima.

Aí, no seu map editor, você configura o tile com o action id que configurou na tag.

Se quiser testar o script antes de configurar no map editor, basta, in game, ficar de frente ao tile desejado, e digitar /attr set aid actionid que você configurou na tag. Seguindo como exemplo o action id que mencionei logo acima (12345), /attr set aid 12345.

GabrieltxuG
01 de dezembro de 2013 às 12:24

Tópico movido para a seção de dúvidas e pedidos resolvidos.

4 anos depois...
StigalS
21 de abril de 2018 às 03:14
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.