Jump to content

(Ayuda) Bad argument @ 'kickPlayer'


Sergioks

Recommended Posts

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 :mrgreen:

Link to comment
  • MTA Team

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

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
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
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 :mrgreen:

y a CiBer~! Gracias Tambien, por intentar ayudar :)

Link to comment
  • MTA Team

No estaria mal si agregas getPlayerName y listo..Por favor deja de decir que esta mal..Solo le faltaba una funcion.:

@Sergio, de nada :D

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...