Sign in to follow this  
manawydan

Portao

Recommended Posts

ola pessoal,

estou aqui para fazer um tutorial simples, mas aprofundado.

client

function sound() 
local sound = playSound3D ("open.mp3", 212.19999694824, 1875.3000488281, 12.39999961853, false)--vamos criar o som. open é o nome dele. .mp3 é o formato, esses numeros são x, y, z, o local onde vamos criar o som 
  
setSoundMaxDistance ( sound, 10 )-- define a distancia maxima do som. sound = nome do som criado anteriormente. 10 é um numero que representa a distancia 
end 
addEvent( "playsound", true )--"Na função para criar um evento customizado (addEvent), o segundo argumento, que no caso está definido como true, é para permitir que este evento [ou event] seja chamado remotamente com as funções triggerClientEvent e triggerServerEvent". 
  
addEventHandler( "playsound", getRootElement(),sound )-- criamos o manipulador de eventos. playsound é o nome dele. sound é a função que esta anexada a ele. resumindo quando chamarmos o evento playsound, o evento playsound vai chamar a função sound criado por nois-- 
  
--[[ 
funções usadas 
playSound3D ( soundPath, x,  y,  z, [ looped ] ) 
cria um som em um certo local. 
soundPath = nome do arquivo do som. exemplo "som.mp3" 
x, y, z = posição em que o som sera criado. 
[ looped ] não é obrigatorio. ele define se o som vai se repetir. false = nao, true = sim 
********** 
  
setSoundMaxDistance (  sound,  distance ) 
coloca uma distancia maxima que o som podera ser ouvido. 
sound = o som que temos que criar e colocar em uma variavel. 
distance = distancia maxima. é um numero, o padrão é 10 
******** 
  
addEvent ( eventName [,  allowRemoteTrigger  ] ) 
cria um evento personalizado. 
eventName = nome do evento. exemplo "MeuExemplo" 
allowRemoteTrigger  = define se o evento podera ser chamado remotamente com "triggerClientEvent" ou "triggerServerEvent". false = nao, true = sim 
****** 
  
 addEventHandler ( eventName,  attachedTo,  handlerFunction) 
cria um manipulador de evento. 
eventName = nome do evento. 
attachedTo = "O elemento que você deseja anexar o manipulador. O manipulador só será chamado quando o evento está ligado a é acionado para este elemento, ou um de seus filhos. Muitas vezes, isso pode ser o elemento raiz (ou seja, o manipulador será chamado quando o evento é acionado para qualquer elemento)." 
handlerFunction = função que ele vai executar. 
]]-- 
  

Server

gate = createObject(980, 212.19999694824, 1875.3000488281, 12.39999961853) -- 980 é o id do objeto, ja os outros numero sao as posicoes x y e z-- 
col = createColCuboid(205, 1870.3000488281, 9.39999961853, 14, 10,8) -- isso cria um cubo invisivel envolta do portao-- 
  
function hit(player) 
    if getElementType(player) == "player" then -- se o elemento é um jogador entao-- 
        moveObject(gate, 5900, 223.19999694824, 1875.3000488281, 12.39999961853) -- mover o portao, 5900 é o tempo em milisegundo para o portao se abrir-- 
        triggerClientEvent ( "playsound", getRootElement()) -- aq um evento do client é chamado, no caso ele faz um som depois q o portao se abre-- 
    end 
end 
  
addEventHandler("onColShapeHit", col, hit) -- ativa a função "hit" quando um elemento entra em um cubo. col = nome do cubo. 
  
function leave(player) 
    if getElementType(player) == "player" then -- se o elemento é um jogador entao-- 
        moveObject(gate, 5900, 212.19999694824, 1875.3000488281, 12.39999961853) -- depois q o jogador sai do cubo invisivel o portao volta a posicao inicial-- 
        triggerClientEvent ( "playsound", getRootElement())-- aq chamamos o mesmo evento do client que no nosso caso ativa nosso som-- 
    end 
end 
addEventHandler("onColShapeLeave", col, leave)-- ativa a função "leave" quando um elemento sai do cubo. col = nome do cubo. 

Share this post


Link to post

Olá, amigo creio que você não trabalhe com a função "portão", acho que ficaria melhor você colocar a função principal como titulo do tópico.

Seria interessante você adicionar algumas observações fora do script.

  • Thanks 1

Share this post


Link to post

Você não deve ter entendido o que o Ninguem quis dizer. O nome do tópico apenas com a palavra "Portao" não seria o correto para esse tutorial. Você poderia colocar um título mais formal. E colocar mais explicações fora do código.

Eu concordo com o que ele disse. Grande parte do tutorial se concentra dentro do código, seria melhor colocar as explicações mais importantes fora do código, e deixar breves comentários pelas funções do código.

Share this post


Link to post

Eu sinceramente não entendo esses tutoriais - a iniciativa é boa mas os tutoriais são muito básicos e não fazem sentido. Se você entender a linguagem, não tem nada específico em cada função que você tem que aprender, apenas usa de acordo com o que necessita. Se você não entender o uso da função - Google ou faz uma busca aqui nos fórums que você definitivamente vai encontrar.

Share this post


Link to post

desculpe cara, faço tutoriais simples porque eu sei pouca coisa de script e de lua.

Se você tiver tempo poderia fazer tutoriais avançados, poderia ajudar muitos inclusive eu

obrigado!

  • Thanks 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.