Search the Community
Showing results for tags 'sistema de interação'.
-
Iae rapaziada, seguinte fiz um code simples só para aprender melhor tabela, até agora estava tudo normal criando as markers, a mensagem na tela e tudo mais.... porém agora estou com o seguinte problema: São 3 markers cada uma tem uma cadeira do lado. O que tenho em mente é que quando o player hitar uma das markers binde a tecla E, ao pressiona-la ele é colocado sobre a cadeira em que ele esta próximo. Mas no sistema atual o problema é que ele não reconhece qual cadeira é! Quero saber como eu posso fazer uma verificação para saber se a marker é da cadeira [1], [2] ou [3]. Code: local posChairs = { [1] = {1579.4000244141,-1675.8000488281 ,15.199999809265}, -- cadeira interrogado (suspeito) 1 [2] = {1580, -1677.5, 15.199999809265}, -- cadeira interrogado (suspeito) 2 [3] = {1582.0999755859, -1676.3000488281, 15.199999809265}, -- -- cadeira interrogador (policial) } local chairTable = {} function resStart() for i, chair in ipairs(posChairs) do chairTable[i] = createMarker(chair[1], chair[2], chair[3], "cylinder", 1.2, 255,0, 0, 100) outputChatBox(tostring(chairTable[i])) addEventHandler("onMarkerHit", chairTable[i], hittingMk) addEventHandler("onMarkerLeave", chairTable[i], leavingMk) end end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), resStart) function resStopCircle() if chairTable[i] then destroyElement(chairTable[i]) chairTable[i] = nil outputChatBox(tostring(chairTable[i])) end end addEventHandler("onResourceStop", getResourceRootElement(getThisResource()), resStopCircle) function hittingMk (element, md) if (md) then if getElementType(element) == "player" then outputChatBox("hitou") exports.inMarkerMsg:create(element, "pressione E para sentar") end end end function leavingMk (element, md) if (md) then if getElementType(element) == "player" then outputChatBox("saiu") exports.inMarkerMsg:delete(element) end end end Obs: estou ciente que se eu criar 3 variáveis e 3 eventos uma para cada cadeira dará certo (já testei e consegui!), porém irei criar mais cadeiras além de utilizar esse sistema em outras coisas! fazendo um for com a tabela (chairTable), percebi que há uma edentação um "prefixo" e um "valor": for k,v in pairs(chairTable) do outputChatBox("chairTable "..tostring(k)..", "..tostring(v)) end Retorna: chairTable 1, userdata: 0x7289 chairTable 2, userdata: 0x728c chairTable 3, userdata: 0x728f Tentei fazer uma verificação com if dessa forma (porém sem exito) : if chairTable[1] then outputChatBox("hitou1") elseif chairTable[2] then outputChatBox("hitou2") elseif chairTable[3] then outputChatBox("hitou3") end Será que tem como eu especificar a cadeira sem ter que criar para cada cadeira(marker), um evento e uma variável?