Jump to content

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. 

Link to comment
  • 1 month later...

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.

Link to comment
  • 3 months later...

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.

Link to comment

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...