Vic_RattleHead Posted May 30, 2016 Share Posted May 30, 2016 Hola, estuve buscando una forma de que cuando el jugador se conecte al servidor automaticamente le salga diferentes lugares de San Andreas mientras le carga los archivos, así que encontré isTransferBoxActive con un ejemplo, pero me aparece la imagen luego de cargar por completo, quiero que suceda en la descarga: resourceRoot = getResourceRootElement(getThisResource()) function checkTransfer() if isTransferBoxActive() == true then fadeCamera( true, 5) setCameraMatrix( 1468.8785400391, -919.25317382813, 100.153465271, 1468.388671875, -918.42474365234, 99.881813049316) end end addEventHandler("onClientResourceStart",resourceRoot,checkTransfer) Link to comment
Tomas Posted May 30, 2016 Share Posted May 30, 2016 Tienes que hacerlo desde el servidor utilizando onPlayerJoin. onClientResourceStart se triggea cuando el recurso se termina de descargar. Link to comment
Vic_RattleHead Posted May 30, 2016 Author Share Posted May 30, 2016 Tienes que hacerlo desde el servidor utilizando onPlayerJoin.onClientResourceStart se triggea cuando el recurso se termina de descargar. No sirve, también aparece luego de que carga completo: function CAMERA() fadeCamera(source, true, 2) setCameraMatrix(source, 1468.8785400391, -919.25317382813, 100.153465271, 1468.388671875, -918.42474365234, 99.881813049316) end addEventHandler("onPlayerJoin", getRootElement(), CAMERA) Link to comment
Tomas Posted May 30, 2016 Share Posted May 30, 2016 Cargar y descargar no es lo mismo, a los recursos los tiene que leer antes de ejecutarlos. Link to comment
aka Blue Posted May 30, 2016 Share Posted May 30, 2016 Acabo de ver el ejemplo que tiene la wiki de isTransferBoxActive y se me ocurrió una idea algo turbia. Podrías realizar tal vez un par de eventos, uno que sea al entrar, hacer un loop de todos los recursos, comprobar si se están descargando y entonces hacer lo de los lugares. resourceRoot = getResourceRootElement(getThisResource()) function checkTransfer() if isTransferBoxActive() == true then setTimer(checkTransfer,2000,1) -- Check again after 2 seconds else fadeCamera(true) -- TransferBox isnt active, fade in camera end end addEventHandler("onClientResourceStart",resourceRoot,checkTransfer) Link to comment
Vic_RattleHead Posted May 30, 2016 Author Share Posted May 30, 2016 Acabo de ver el ejemplo que tiene la wiki de isTransferBoxActive y se me ocurrió una idea algo turbia. Podrías realizar tal vez un par de eventos, uno que sea al entrar, hacer un loop de todos los recursos, comprobar si se están descargando y entonces hacer lo de los lugares. resourceRoot = getResourceRootElement(getThisResource()) function checkTransfer() if isTransferBoxActive() == true then setTimer(checkTransfer,2000,1) -- Check again after 2 seconds else fadeCamera(true) -- TransferBox isnt active, fade in camera end end addEventHandler("onClientResourceStart",resourceRoot,checkTransfer) No entendí muy bien lo de los loops, me darías un ejemplo? ademas hice lo siguiente pero no me dio resultado, al entrar la pantalla es negra, pero sale el letrero de donde esta ubicada la cámara , por lo que quiere decir que la camara si esta ubicada en el lugar desde que entro pero la pantalla es negra, y justo cuando termina de descargar aparece la imagen de la cámara: SERVER: function camera () fadeCamera(source, true, 1) setCameraMatrix(source, 2003, -881, 130, 1832, -1249, 64) end addEvent("onPlayerJoin", true) addEventHandler("onPlayerJoin", getRootElement(), camera) CLIENT: function () if isTransferBoxActive() == true then triggerServerEvent("onPlayerJoin", getLocalPlayer() ) end end Link to comment
Tomas Posted May 30, 2016 Share Posted May 30, 2016 Acabo de ver el ejemplo que tiene la wiki de isTransferBoxActive y se me ocurrió una idea algo turbia. Podrías realizar tal vez un par de eventos, uno que sea al entrar, hacer un loop de todos los recursos, comprobar si se están descargando y entonces hacer lo de los lugares. resourceRoot = getResourceRootElement(getThisResource()) function checkTransfer() if isTransferBoxActive() == true then setTimer(checkTransfer,2000,1) -- Check again after 2 seconds else fadeCamera(true) -- TransferBox isnt active, fade in camera end end addEventHandler("onClientResourceStart",resourceRoot,checkTransfer) No entendí muy bien lo de los loops, me darías un ejemplo? ademas hice lo siguiente pero no me dio resultado, al entrar la pantalla es negra, pero sale el letrero de donde esta ubicada la cámara , por lo que quiere decir que la camara si esta ubicada en el lugar desde que entro pero la pantalla es negra, y justo cuando termina de descargar aparece la imagen de la cámara: SERVER: function camera () fadeCamera(source, true, 1) setCameraMatrix(source, 2003, -881, 130, 1832, -1249, 64) end addEvent("onPlayerJoin", true) addEventHandler("onPlayerJoin", getRootElement(), camera) CLIENT: function () if isTransferBoxActive() == true then triggerServerEvent("onPlayerJoin", getLocalPlayer() ) end end Lo negro es por el fadeCamera. Link to comment
aka Blue Posted May 30, 2016 Share Posted May 30, 2016 El loop básicamente es un bucle que devuelve todo lo que hayas asignado. En este caso, los recursos. Tienes la función getResources, que te devuelve una tabla con absolutamente todos los recursos que tienes en el servidor. Simplemente usa tu lógica y realiza el script. function displayResources() outputConsole("List of resources:") local resourceTable = getResources() -- get a table of resources for resourceKey, resourceValue in ipairs(resourceTable) do -- iterate through the table and output each resource's name local name = getResourceName(resourceValue) outputConsole(" " .. name) end end Link to comment
Tomas Posted May 30, 2016 Share Posted May 30, 2016 El loop básicamente es un bucle que devuelve todo lo que hayas asignado. En este caso, los recursos. Tienes la función getResources, que te devuelve una tabla con absolutamente todos los recursos que tienes en el servidor. Simplemente usa tu lógica y realiza el script. function displayResources() outputConsole("List of resources:") local resourceTable = getResources() -- get a table of resources for resourceKey, resourceValue in ipairs(resourceTable) do -- iterate through the table and output each resource's name local name = getResourceName(resourceValue) outputConsole(" " .. name) end end Pero no te dice si están descargados al 100%, isTransferBoxActive te dice si hay algo descargando. Link to comment
Vic_RattleHead Posted May 30, 2016 Author Share Posted May 30, 2016 Pero no te dice si están descargados al 100%, isTransferBoxActive te dice si hay algo descargando. Eso pensé yo, y lo del fadeCamera se lo que es intente dejando solo el setCameraMatrix pero la pantalla se quedo en negro incluso después de descargar por completo ,ya no se como hacer que se vea el setCameraMatrix mientras se descargan los archivos, lo he visto en otros servidores y la verdad es una buena idea. Link to comment
Recommended Posts