Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Olá galerinha, tudo bom ?
Então eu tava sofrendo para conseguir fazer uma porta que fosse compatível com o sistema Vip-System-By-Mock-100, pois não queria que fosse por piso (movements) e sim por porta (action) portanto eu procurei mais a fundos e achei a solução.

OBS¹: Esse sistema de VIP não utiliza STORAGE e sim VIP_TIME no MYSQL.

OBS²: Testado apenas em TFS 0.4 não sei se funciona nas demais.

OBS³: Não testei em todas as portas, mas creio que funcionará normal (apenas as normal que não)

1º Em data/action/action.xml adicione está tag:

<action actionid="2117" event="script" value="vip/vipdoor.lua"/>

2º Abra a pasta data/action/scripts/vip e crie um arquivo chamado vipdoor.lua, dentro dele adicione:

function onUse(cid, item, frompos, item2, topos)
if vip.hasVip(cid) >= 1 then
pos = getPlayerPosition(cid)
if pos.x == topos.x then
if pos.y < topos.y then
pos.y = topos.y + 1
else
pos.y = topos.y - 1
end
elseif pos.y == topos.y then
if pos.x < topos.x then
pos.x = topos.x + 1
else
pos.x = topos.x - 1
end
else
doPlayerSendTextMessage(cid,22,"Fique de frente com a porta.")
return true
end
doTeleportThing(cid,pos)
doSendMagicEffect(topos,12)
else
doPlayerSendTextMessage(cid,22,'Precisar ser VIP Account para passar por aqui.')
end
return true
end
Para fazer funcionar é fácil basta abrir seu map, clica com o botão direito em cima da porta ir em Properties.
Logo em seguida, aonde está escrito Action ID adicione o número 2117 e de OK.
Só salvar e reiniciar o OTSERV, pois não tem como da /reload em world (mapa)
 
OBS¹: Caso der esse erro, só mudar a linha
if vip.hasVip(cid) >= 1 then
para 
if vip.hasVip(cid) == TRUE then
- Resolução feita pelo @Drafenous
 
Aproveitando vou deixar o script do piso (Movements) utilizando o script do mesmo.
1º Em data/movements/movements.xml adicione está tag:
<movevent type="StepIn" actionid="13500" event="script" value="vip/viptile.lua"/>
2º Abra a pasta data/movements/scripts/vip e crie um arquivo chamado viptile.lua, dentro dele adicione:
function onStepIn(cid, item, position, fromPosition)
local tileConfig = {
    kickPos = fromPosition, kickEffect = CONST_ME_POFF,
    kickMsg = "You need to be a vip player to access this area.",
    enterMsg = "Welcome to vip area!",
    enterEffect = CONST_ME_MAGIC_RED,
}
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, MESSAGE_INFO_DESCR, tileConfig.enterMsg)
        doSendMagicEffect(position, tileConfig.enterEffect)
        return true
end
end

Para fazer funcionar é o mesmo procedimento, clica com o botão direito do mouse e vai em Proprieties. (No caso eu usei o item de ID: 6299 Some Cracks, mais no piso é a mesma coisa)

 

Logo em seguida, aonde está escrito Action ID adicione o número 13500 e de OK.

Só salvar e reiniciar o OTSERV, pois não tem como da /reload em world (mapa)

 

Legenda

1º Aonde está em azul é as fala que vai aparecer no seu Local Chat e Server Log.

2º Aonde está em violet e contornado de vermelho é aonde os Action ID deve conhecidir.

 

Créditos: Totalmente meu (tirando o script que é do mock rs) Te ajudei ? REP +

Até mais Tkianos :)

Editado por AlekysRocha. (veja o histórico de edições)

  • Respostas 5
  • Visualizações 2.3k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Legal, vai ajudar muita gente, reputado.

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo