Soren Posted May 11, 2012 Share Posted May 11, 2012 Hola a todos, estuve buscando una funcion que cuando se haga un onClientPlayerWasted El jugador comienza a spectear. No encontre ninguna funcion que me ayuda. Tienen alguna idea? Link to comment
iFoReX Posted May 11, 2012 Share Posted May 11, 2012 set camera matrix ? getElementPosition ( killer ) ? a y timers Link to comment
JuliDiablo Posted May 11, 2012 Share Posted May 11, 2012 Recién estoy empezando en Lua, pero creo que no es necesario ningún timer. Según vi en la Wiki podrías utilizar sólo SetCameraTarget y lo seguiría. Podrías probar: function SetSpect(killer) -- killer si no me equivoco lo tomaría de onClientPlayerWasted. local user = getLocalPlayer() -- éste sería el usuario. setCameraTarget(user, killer) -- y acá seteas la cámara del user en la del killer. end addEventHandler ("onClientPlayerWasted", getLocalPlayer(), SetSpect) Como dije, recién estoy empezando y no se si éste código es correcto pero probando aprendo y ya veré cuando venga alguien que sepa si lo hice bien. Puede que sea cualquier cosa lo que dije, pero no lo se Un saludo, Julián. Link to comment
Castillo Posted May 11, 2012 Share Posted May 11, 2012 Si, eso estaria bien, igual no hay porque definir "user" . Ademas aconsejo verificar si el que lo mato al jugador existe y es un jugador. function SetSpect ( killer ) if ( killer and getElementType ( killer ) == "player" ) then setCameraTarget ( localPlayer, killer ) end end addEventHandler ( "onClientPlayerWasted", localPlayer, SetSpect ) Link to comment
JuliDiablo Posted May 11, 2012 Share Posted May 11, 2012 (edited) Gracias por corregir el código que puse, al menos algo me salió. La intención estuvo . No sabía que al poner la variable en el segundo argumento ya se podría utilizar en la función, pensé que era necesario definirse nuevamente. Un saludo! Edited May 11, 2012 by Guest Link to comment
iFoReX Posted May 11, 2012 Share Posted May 11, 2012 Deberas Juli , sabia algo del setCameraTarget Cuando returno las Camaras al jugador pero no sabia que tambien servian para eso ademas si hay que poner un timer para cuando termine de ver a ese player Link to comment
JuliDiablo Posted May 11, 2012 Share Posted May 11, 2012 Bueno, si. No había pensado en terminar de espiarlo, es que él no lo había comentado en su mensaje por eso . Pensé que con poner un timer te referías que se actualice constantemente a la posición nueva del killer, por eso puse que no era necesario. Un saludo! Link to comment
Soren Posted May 11, 2012 Author Share Posted May 11, 2012 Me refiero como el race, no hay funcion parecida como para el race? Link to comment
Castillo Posted May 11, 2012 Share Posted May 11, 2012 Vos decis asi con las flechitas para cambiar de jugador, etc? si es asi, eso lo tenes que crear vos como lo hizo el creador del "race". Link to comment
JuliDiablo Posted May 11, 2012 Share Posted May 11, 2012 Si hubieses si quiera entrado a la función setCameraTarget tendrías ahí un ejemplo (de lo que dice Solid). Cito: g_Players = getElementsByType("player") -- get a list of all players in the server for i,aPlayer in ipairs(g_Players) do -- find out what index the local player has in the list if aPlayer == getLocalPlayer() then g_CurrentSpectated = i break end end function spectatePrevious() -- decrement the spectate index and spectate the corresponding player if g_CurrentSpectated == 1 then g_CurrentSpectated = #g_Players else g_CurrentSpectated = g_CurrentSpectated - 1 end setCameraTarget(g_Players[g_CurrentSpectated]) end function spectateNext() -- increment the spectate index and spectate the corresponding player if g_CurrentSpectated == #g_Players then g_CurrentSpectated = 1 else g_CurrentSpectated = g_CurrentSpectated + 1 end setCameraTarget(g_Players[g_CurrentSpectated]) end -- Bind above functions to arrow keys bindKey("arrow_l", "down", spectatePrevious) bindKey("arrow_r", "down", spectateNext) Link to comment
Soren Posted May 11, 2012 Author Share Posted May 11, 2012 Si hubieses si quiera entrado a la función setCameraTarget tendrías ahí un ejemplo (de lo que dice Solid).Cito: g_Players = getElementsByType("player") -- get a list of all players in the server for i,aPlayer in ipairs(g_Players) do -- find out what index the local player has in the list if aPlayer == getLocalPlayer() then g_CurrentSpectated = i break end end function spectatePrevious() -- decrement the spectate index and spectate the corresponding player if g_CurrentSpectated == 1 then g_CurrentSpectated = #g_Players else g_CurrentSpectated = g_CurrentSpectated - 1 end setCameraTarget(g_Players[g_CurrentSpectated]) end function spectateNext() -- increment the spectate index and spectate the corresponding player if g_CurrentSpectated == #g_Players then g_CurrentSpectated = 1 else g_CurrentSpectated = g_CurrentSpectated + 1 end setCameraTarget(g_Players[g_CurrentSpectated]) end -- Bind above functions to arrow keys bindKey("arrow_l", "down", spectatePrevious) bindKey("arrow_r", "down", spectateNext) Despues testeo este gracias Juli, o se me olvido decirte. Bienvenido a la communidad Link to comment
JuliDiablo Posted May 11, 2012 Share Posted May 11, 2012 Gracias. De nada hombre, vine para intentar ayudar y a la vez aprender Link to comment
Castillo Posted May 12, 2012 Share Posted May 12, 2012 @Soren: Si usases mas la wiki hubieras encontrado el ejemplo que Julián posteo. Link to comment
Soren Posted May 12, 2012 Author Share Posted May 12, 2012 @Soren: Si usases mas la wiki hubieras encontrado el ejemplo que Julián posteo. Yo intento implementar mas mi mente e intento usar las funciones que yo ya conosco y si no encuentro ninguna busco en la wiki, si no encuentro algo parecido a lo que busco pues pregunto aqui Link to comment
Castillo Posted May 12, 2012 Share Posted May 12, 2012 Al parcer lo que Julián posteo era parecido a lo que buscabas, me parece que no sabes buscar . Link to comment
Soren Posted May 12, 2012 Author Share Posted May 12, 2012 Al parcer lo que Julián posteo era parecido a lo que buscabas, me parece que no sabes buscar . Hahahahahahahahahahahah me sacaste una risa, Si no se buscar ahora lo unico que me falta es crear las imagenes (flechitas) gracias Julian y Solid :3 Link to comment
Castillo Posted May 12, 2012 Share Posted May 12, 2012 guiCreateStaticImage onClientGUIClick Link to comment
Soren Posted May 12, 2012 Author Share Posted May 12, 2012 guiCreateStaticImage onClientGUIClick Mil gracias aunque ya sabia hacer ;D Link to comment
Recommended Posts