Sergioks Posted December 21, 2013 Share Posted December 21, 2013 Hola! Tengo Un Problema con el KickPlayer. y es el siguiente. Ya Había Creado Un Post Anterior, Explicando Mi Problema con el hasObjectPremissionTo Ya Lo Solucione y Todo, Ya Coloque el Script en Permisos ACL 'Admin' y Todo. Ahora me Dice el Siguiente Problema: Server:26: Bad Argument @ 'kickPlayer' Cuando Presiono el Boton 'Kick'. Client-Side: function Kick() showCursor ( true ) local Kicked = guiGridListGetItemText ( GUIEditor.gridlist[1], guiGridListGetSelectedItem ( GUIEditor.gridlist[1] ), 1 ) local reason = guiGetText (GUIEditor.edit[1]) triggerServerEvent ("Kick1", localPlayer, Kicked, reason) end Server-Side: addEvent("Kick1", true) addEventHandler("Kick1", root, function ( reason, Kicked ) if ( hasObjectPermissionTo ( source, "function.kickPlayer" ) ) then kickPlayer ( Kicked, source, reason ) for _, player in ipairs ( getElementsByType ( "player" ) ) do outputChatBox ( "* " .. Kicked .. " Fue Kickeado (Razon: ".. reason ..") *", player, 255, 0, 0, true ) end end end ) - Gracias De Antemano Por Leer Mi Post Link to comment
MTA Team 0xCiBeR Posted December 21, 2013 MTA Team Share Posted December 21, 2013 Cambia esto: function Kick() showCursor ( true ) local Kicked = guiGridListGetItemText ( GUIEditor.gridlist[1], guiGridListGetSelectedItem ( GUIEditor.gridlist[1] ), 1 ) local reason = guiGetText (GUIEditor.edit[1]) triggerServerEvent ("Kick1", localPlayer, Kicked, reason) end Por esto: function Kick() showCursor ( true ) local Kicked = guiGridListGetItemText ( GUIEditor.gridlist[1], guiGridListGetSelectedItem ( GUIEditor.gridlist[1] ), 1 ) local reason = guiGetText (GUIEditor.edit[1]) local jugador = getPlayerFromName(Kicked) triggerServerEvent ("Kick1", localPlayer, reason, jugador) end Link to comment
Renkon Posted December 21, 2013 Share Posted December 21, 2013 En realidad, lo que debes ahcer es simplemente esto: (ignora lo de CiBeR pues como siempre está mal ._.. En este caso te tiraría error en la línea del outputChatBox, vah, no error, si no que mostraría userdata) Cambia en serverside, esta línea: kickPlayer ( Kicked, source, reason ) por kickPlayer ( getPlayerFromName(Kicked), source, reason ) Link to comment
Sasu Posted December 21, 2013 Share Posted December 21, 2013 En realidad, lo que debes ahcer es simplemente esto: (ignora lo de CiBeR pues como siempre está mal ._.. En este caso te tiraría error en la línea del outputChatBox, vah, no error, si no que mostraría userdata)Cambia en serverside, esta línea: kickPlayer ( Kicked, source, reason ) por kickPlayer ( getPlayerFromName(Kicked), source, reason ) ^True. Y tambien cambia el orden de los argumentos de la funcion de la linea 3 server side: function ( Kicked, reason ) Link to comment
Sergioks Posted December 21, 2013 Author Share Posted December 21, 2013 En realidad, lo que debes ahcer es simplemente esto: (ignora lo de CiBeR pues como siempre está mal ._.. En este caso te tiraría error en la línea del outputChatBox, vah, no error, si no que mostraría userdata)Cambia en serverside, esta línea: kickPlayer ( Kicked, source, reason ) por kickPlayer ( getPlayerFromName(Kicked), source, reason ) En realidad, lo que debes ahcer es simplemente esto: (ignora lo de CiBeR pues como siempre está mal ._.. En este caso te tiraría error en la línea del outputChatBox, vah, no error, si no que mostraría userdata)Cambia en serverside, esta línea: kickPlayer ( Kicked, source, reason ) por kickPlayer ( getPlayerFromName(Kicked), source, reason ) ^True. Y tambien cambia el orden de los argumentos de la funcion de la linea 3 server side: function ( Kicked, reason ) Muchas Gracias a Ambos y a CiBer~! Gracias Tambien, por intentar ayudar Link to comment
MTA Team 0xCiBeR Posted December 22, 2013 MTA Team Share Posted December 22, 2013 No estaria mal si agregas getPlayerName y listo..Por favor deja de decir que esta mal..Solo le faltaba una funcion.: @Sergio, de nada Client: function Kick() showCursor ( true ) local Kicked = guiGridListGetItemText ( GUIEditor.gridlist[1], guiGridListGetSelectedItem ( GUIEditor.gridlist[1] ), 1 ) local reason = guiGetText (GUIEditor.edit[1]) local jugador = getPlayerFromName(Kicked) triggerServerEvent ("Kick1", localPlayer, reason, jugador) end Server: addEvent("Kick1", true) addEventHandler("Kick1", root, function ( reason, Kicked ) if ( hasObjectPermissionTo ( source, "function.kickPlayer" ) ) then kickPlayer ( Kicked, source, reason ) local nombre = getPlayerName(Kicked) for _, player in ipairs ( getElementsByType ( "player" ) ) do outputChatBox ( "* " .. nombre .. " Fue Kickeado (Razon: ".. reason ..") *", player, 255, 0, 0, true ) end end end ) Link to comment
Recommended Posts