TheCrazy17 Posted July 21, 2013 Share Posted July 21, 2013 Hola de nuevo Estaba haciendo un panel para los moderadores de mi servidor, y me quede trabado de nuevo en una parte, quiero que la información del jugador elegido en la lista se muestre en los label's que hice pero no muestra nada... Este es el panel Como ven, me seleccione a mi mismo, y no cambia nada donde dice la información del jugador Esto tengo en el client: function updatePlayerInfo(ip, serial, account, money, ping, skin) guiSetText(jugadorSerial, serial) guiSetText(jugadorIP, ip) guiSetText(jugadorCuenta, account) guiSetText(jugadorDinero, money) guiSetText(jugadorPing, ping) guiSetText(jugadorSkin, skin) end addEvent("actualizarGuis", true) addEventHandler("actualizarGuis", getRootElement(), updatePlayerInfo) function refreshInfoLabel() triggerServerEvent("actualizarGui", getRootElement(), getElementData(getLocalPlayer(),"selectedplayer"), getLocalPlayer()) end function whenClickPlayersList() if (source == playersList) then selectedPlayer = guiGridListGetItemText(playersList, guiGridListGetSelectedItem(playersList), 1) if (guiGridListGetSelectedItem(playersList) ~= -1) then guiSetText(playerNameEdit, selectedPlayer) setElementData(getLocalPlayer(),"selectedplayer",selectedPlayer) triggerServerEvent("updateGui", getLocalPlayer(), selectedPlayer, player) end end end function onUpdateplayersList() guiGridListClear(playersList) for id, playeritem in ipairs (getElementsByType("player")) do local row = guiGridListAddRow(playersList) guiGridListSetItemText(playersList, row, 1, getPlayerName(playeritem), false, false) end end addEventHandler("onClientPlayerJoin", getRootElement(), onUpdateplayersList) addEventHandler("onClientPlayerQuit", getRootElement(), onUpdateplayersList) addEventHandler("onClientPlayerChangeNick", getRootElement(), onUpdateplayersList) Y esto en server: function update(client) local who = getPlayerFromName (client); local account = getPlayerAccount( who ); local x, y, z = getElementPosition ( who ) triggerClientEvent ( "actualizarGuis", getRootElement(), getPlayerIP ( who ), getPlayerSerial ( who ), getAccountName ( account ), getPlayerMoney ( who ), getPlayerPing ( who ), x, y, z, getZoneName ( x, y, z, true ), getPedSkin( who ) ) end addEvent("actualizarGui", true) addEventHandler("actualizarGui", getRootElement(), update) Me podrían dar una manita? No me da ningún error en el debugscript, pero tampoco funciona No se que es lo que esta mal (me guió mas o menos de otro panel) Gracias de antemano u.u Link to comment
Alexs Posted July 21, 2013 Share Posted July 21, 2013 Cuando ejecutas la función 'refreshInfoLabel'? Link to comment
TheCrazy17 Posted July 22, 2013 Author Share Posted July 22, 2013 Cuando ejecutas la función 'refreshInfoLabel'? Mmm... no se bien u_u Es que soy medio novato en script y me estaba guiando de otro panel, aun no entiendo bien algunas funciones y eso Link to comment
AlvareZ_ Posted July 22, 2013 Share Posted July 22, 2013 Mira lo que debes usar para ese panel, Intenta crearlo por ti mismo deberas triggear algunas cosas, Si tienes alguna duda postealo te ayudare. getPlayerName -- Toma el nombre de el Jugador getPlayerAccount -- Toma la cuenta del Jugador getPlayerMoney -- Dinero del Jugador getPlayerIP -- IP Del jugador getPlayerPing -- Ping del Jugador getPlayerTeam -- Grupo de el jugador getPlayerSkin -- Skin del Jugador -- Es cuestión de definirlo y luego usar el nombre que le diste y cambiar la label con: guiSetText -- Para los botones kickPlayer -- Saca a el jugador de el Server setPedFrozen -- Congela a el jugador setPlayerMuted -- Mutea a el jugador o desmutea setElementPosition -- Para warpear y traer killPed -- Matarlo y creo que para spectatearlo: setCameraTarget -- Adicional triggerServerEvent triggerClientEvent outputChatBox Link to comment
TheCrazy17 Posted July 22, 2013 Author Share Posted July 22, 2013 Mira lo que debes usar para ese panel, Intenta crearlo por ti mismo deberas triggear algunas cosas, Si tienes alguna duda postealo te ayudare. getPlayerName -- Toma el nombre de el Jugador getPlayerAccount -- Toma la cuenta del Jugador getPlayerMoney -- Dinero del Jugador getPlayerIP -- IP Del jugador getPlayerPing -- Ping del Jugador getPlayerTeam -- Grupo de el jugador getPlayerSkin -- Skin del Jugador -- Es cuestión de definirlo y luego usar el nombre que le diste y cambiar la label con: guiSetText -- Para los botones kickPlayer -- Saca a el jugador de el Server setPedFrozen -- Congela a el jugador setPlayerMuted -- Mutea a el jugador o desmutea setElementPosition -- Para warpear y traer killPed -- Matarlo y creo que para spectatearlo: setCameraTarget -- Adicional triggerServerEvent triggerClientEvent outputChatBox Mmm... Hice esto, creo que esta bien, o no se, pero no funciona, creo que me falta un event ? No se bien function Informacion(ip, account, money, ping) local ip = getPlayerIP (thePlayer) local account = getPlayerAccount(thePlayer) local money = getPlayerMoney(thePlayer) local ping = getPlayerPing(thePlayer) guiSetText(jugadorIP, ip) guiSetText(jugadorCuenta, account) guiSetText(jugadorDinero, money) guiSetText(jugadorPing, ping) end addEvent("actualizarGui", true) addEventHandler("actualizarGui", getRootElement(), Informacion) Link to comment
Sasu Posted July 22, 2013 Share Posted July 22, 2013 getPlayerIP y getPlayerAccount son funciones de server. Link to comment
BorderLine Posted July 22, 2013 Share Posted July 22, 2013 usa getElementData y setElementData. Es mas facil Link to comment
TheCrazy17 Posted July 22, 2013 Author Share Posted July 22, 2013 usa getElementData y setElementData. Es mas facil Me darían un ejemplo? Es que no se bien que hacer para que ande Link to comment
AlvareZ_ Posted July 22, 2013 Share Posted July 22, 2013 Nunca e usado getElementData ni setElementData, Mira intente con esto, Tomara el Ping de el Player, dime si te sirve function joinTime ( ) local ping = getPlayerPing(source) if (setElementData ( source, "playerPing", ping)) then local tomarPing = getElementData(source, "playerPing") guiSetText (jugadorPing, Ping:"..tomarPing..") end end addEventHandler ( "onPlayerJoin", getRootElement(), joinTime ) Link to comment
Alexs Posted July 22, 2013 Share Posted July 22, 2013 Nunca e usado getElementData ni setElementData, Mira intente con esto, Tomara el Ping de el Player, dime si te sirve function joinTime ( ) local ping = getPlayerPing(source) if (setElementData ( source, "playerPing", ping)) then local tomarPing = getElementData(source, "playerPing") guiSetText (jugadorPing, Ping:"..tomarPing..") end end addEventHandler ( "onPlayerJoin", getRootElement(), joinTime ) 'onPlayerJoin' es server side y 'guiSetText' es client side, ademas de que si 'getPlayerPing' se puede usar en client side es innecesario usar elementData, y por ultimo, tienes un error en el concanate. Link to comment
AlvareZ_ Posted July 22, 2013 Share Posted July 22, 2013 Pues, el tiene que encontrar la manera de solucionarlo, No me fije en que era serverside el envento ps el debe de saber que usar Link to comment
Alexs Posted July 22, 2013 Share Posted July 22, 2013 Pues, el tiene que encontrar la manera de solucionarlo, No me fije en que era serverside el envento ps el debe de saber que usar Luego le pido a alguien que me interprete lo que dijiste; @Warrior17, ¿Por que no vuelves al primer panel que posteaste? No le veo tantos errores. Link to comment
Julian09123 Posted July 22, 2013 Share Posted July 22, 2013 Alexteel Y haci no? function joinTime ( ) local ping = getPlayerPing(source) if (setElementData ( source, "playerPing", ping)) then local tomarPing = getElementData(source, "playerPing") guiSetText (jugadorPing, Ping:"..tomarPing..") end end addEventHandler ( "onClientPlayerJoin", getRootElement(), joinTime ) Link to comment
Alexs Posted July 22, 2013 Share Posted July 22, 2013 Alexteel Y haci no? function joinTime ( ) local ping = getPlayerPing(source) if (setElementData ( source, "playerPing", ping)) then local tomarPing = getElementData(source, "playerPing") guiSetText (jugadorPing, Ping:"..tomarPing..") end end addEventHandler ( "onClientPlayerJoin", getRootElement(), joinTime ) Con eso solo resuelves uno de los puntos que mencione. Link to comment
Julian09123 Posted July 22, 2013 Share Posted July 22, 2013 La verdad que le combiene seguir con el que postio y repararlo seria mas facil que crear uno desde 0.Pero vale la pena empezar de nuevo y no copiar, aprendez mas. Link to comment
Sasu Posted July 23, 2013 Share Posted July 23, 2013 Es mejor reparar tu script como dice Alexs: --Client function updatePlayerInfo(ip, serial, account, money, ping, skin) guiSetText(jugadorSerial, serial) guiSetText(jugadorIP, ip) guiSetText(jugadorCuenta, account) guiSetText(jugadorDinero, money) guiSetText(jugadorPing, ping) guiSetText(jugadorSkin, skin) end addEvent("actualizarGuis", true) addEventHandler("actualizarGuis", getRootElement(), updatePlayerInfo) function refreshInfoLabel(name) triggerServerEvent("actualizarGui", localPlayer, name) end function whenClickPlayersList() if (source == playersList) then if (guiGridListGetSelectedItem(playersList) ~= -1) then selectedPlayer = guiGridListGetItemText(playersList, guiGridListGetSelectedItem(playersList), 1) guiSetText(playerNameEdit, selectedPlayer) refreshInfoLabel(selectedPlayer) end end end function onUpdateplayersList() guiGridListClear(playersList) for id, playeritem in ipairs (getElementsByType("player")) do local row = guiGridListAddRow(playersList) guiGridListSetItemText(playersList, row, 1, getPlayerName(playeritem), false, false) end end addEventHandler("onClientPlayerJoin", getRootElement(), onUpdateplayersList) addEventHandler("onClientPlayerQuit", getRootElement(), onUpdateplayersList) addEventHandler("onClientPlayerChangeNick", getRootElement(), onUpdateplayersList) --Server function update(name) local who = getPlayerFromName (name); local account = getPlayerAccount( who ); local x, y, z = getElementPosition ( who ) triggerClientEvent (source, "actualizarGuis", source, getPlayerIP ( who ), getPlayerSerial ( who ), getAccountName ( account ), getPlayerMoney ( who ), getPlayerPing ( who ), getElementModel ( who ) ) end addEvent("actualizarGui", true) addEventHandler("actualizarGui", getRootElement(), update) Link to comment
TheCrazy17 Posted July 23, 2013 Author Share Posted July 23, 2013 Es mejor reparar tu script como dice Alexs:--Client function updatePlayerInfo(ip, serial, account, money, ping, skin) guiSetText(jugadorSerial, serial) guiSetText(jugadorIP, ip) guiSetText(jugadorCuenta, account) guiSetText(jugadorDinero, money) guiSetText(jugadorPing, ping) guiSetText(jugadorSkin, skin) end addEvent("actualizarGuis", true) addEventHandler("actualizarGuis", getRootElement(), updatePlayerInfo) function refreshInfoLabel(name) triggerServerEvent("actualizarGui", localPlayer, name) end function whenClickPlayersList() if (source == playersList) then if (guiGridListGetSelectedItem(playersList) ~= -1) then selectedPlayer = guiGridListGetItemText(playersList, guiGridListGetSelectedItem(playersList), 1) guiSetText(playerNameEdit, selectedPlayer) refreshInfoLabel(selectedPlayer) end end end function onUpdateplayersList() guiGridListClear(playersList) for id, playeritem in ipairs (getElementsByType("player")) do local row = guiGridListAddRow(playersList) guiGridListSetItemText(playersList, row, 1, getPlayerName(playeritem), false, false) end end addEventHandler("onClientPlayerJoin", getRootElement(), onUpdateplayersList) addEventHandler("onClientPlayerQuit", getRootElement(), onUpdateplayersList) addEventHandler("onClientPlayerChangeNick", getRootElement(), onUpdateplayersList) --Server function update(name) local who = getPlayerFromName (name); local account = getPlayerAccount( who ); local x, y, z = getElementPosition ( who ) triggerClientEvent (source, "actualizarGuis", source, getPlayerIP ( who ), getPlayerSerial ( who ), getAccountName ( account ), getPlayerMoney ( who ), getPlayerPing ( who ), getElementModel ( who ) ) end addEvent("actualizarGui", true) addEventHandler("actualizarGui", getRootElement(), update) Perdón por no contestar antes Se me había ido el internet, probe eso y no funciona No se cual sea el problema, no da ningun error pero no me funciona Link to comment
Sasu Posted July 23, 2013 Share Posted July 23, 2013 Podrias colocar todo el codigo? O si quieres puedes mandarmelo por PM y yo lo arreglare. Link to comment
TheCrazy17 Posted July 23, 2013 Author Share Posted July 23, 2013 Podrias colocar todo el codigo? O si quieres puedes mandarmelo por PM y yo lo arreglare. Ok, ya te lo paso por PM Link to comment
Recommended Posts