1LoL1 Posted October 11, 2015 Share Posted October 11, 2015 Hello, i copied and edited code from wiki but not work can anyone help me? Firewall = { [ 'PlayerName' ] = 'SerialPlayer', [ 'Name1' ] = 'Serial', [ 'Name2' ] = 'Serial', } addEventHandler ( 'onPlayerJoin', getRootElement ( ), function ( _, source ) local Serial = Firewall[getPlayerName(source)] if ( Serial ) then if Serial ~= getPlayerSerial ( source ) then kickPlayer ( source, "..." ) end end end ) Link to comment
ozulus Posted October 11, 2015 Share Posted October 11, 2015 Firewall = { [ 'PlayerName' ] = 'SerialPlayer', [ 'Name1' ] = 'Serial', [ 'Name2' ] = 'Serial', } addEventHandler ( 'onPlayerJoin', getRootElement ( ), function ( ) --no parameters!!! local Serial = Firewall[removeColorCode(getPlayerName(source))] if ( Serial ) then if Serial ~= getPlayerSerial ( source ) then kickPlayer ( source, "Reason: blabla" ) end end end ) function removeColorCode( s ) return s:gsub( '#%x%x%x%x%x%x', '' ) or s end Link to comment
1LoL1 Posted October 11, 2015 Author Share Posted October 11, 2015 thanks but not work ._. 0 errors 0 warnings Link to comment
iMr.SFA7 Posted October 11, 2015 Share Posted October 11, 2015 -- ' Server Side ' ; Firewall = { [ 'PlayerName' ] = 'SerialPlayer', [ 'Name1' ] = 'Serial', [ 'Name2' ] = 'Serial', } addEventHandler ( 'onPlayerJoin', root, function ( ) for Nick,Serial in ipairs ( Firewall ) do if getPlayerName ( source ) == Nick and getPlayerSerial ( source ) ~= Serial then kickPlayer ( source, "..." ) end end end ) Link to comment
Al3grab Posted October 11, 2015 Share Posted October 11, 2015 pairs is better than ipairs in this case Link to comment
ozulus Posted October 11, 2015 Share Posted October 11, 2015 ipairs work only with number indexes and number indexes should be order -- ' Server Side ' ; Firewall = { [ 'PlayerName' ] = 'SerialPlayer', [ 'Name1' ] = 'Serial', [ 'Name2' ] = 'Serial', } addEventHandler ( 'onPlayerJoin', root, function ( ) for Nick,Serial in pairs ( Firewall ) do if getPlayerName ( source ) == Nick and getPlayerSerial ( source ) ~= Serial then kickPlayer ( source, "..." ) end end end ) Link to comment
1LoL1 Posted October 11, 2015 Author Share Posted October 11, 2015 ipairs work only with number indexes and number indexes should be order -- ' Server Side ' ; Firewall = { [ 'PlayerName' ] = 'SerialPlayer', [ 'Name1' ] = 'Serial', [ 'Name2' ] = 'Serial', } addEventHandler ( 'onPlayerJoin', root, function ( ) for Nick,Serial in pairs ( Firewall ) do if getPlayerName ( source ) == Nick and getPlayerSerial ( source ) ~= Serial then kickPlayer ( source, "..." ) end end end ) Thanks works but when i added 2nd addEventHandler not work and when i have hex code in nick i'am not kicked Firewall = { [ 'PlayerName' ] = 'SerialPlayer', [ 'TEST' ] = '9C9F3B55D9D7BB7135FF274D3BF444E4', [ 'Name2' ] = 'Serial', } function kick ( ) for Nick,Serial in pairs ( Firewall ) do if getPlayerName ( source ) == Nick and getPlayerSerial ( source ) ~= Serial then kickPlayer ( source, "Reason: !" ) end end end addEventHandler ( 'onPlayerJoin', getRootElement(), kick) addEventHandler ( 'onPlayerChangeNick', getRootElement(), kick) Link to comment
ozulus Posted October 12, 2015 Share Posted October 12, 2015 Firewall = { [ 'PlayerName' ] = 'SerialPlayer', [ 'TEST' ] = '9C9F3B55D9D7BB7135FF274D3BF444E4', [ 'Name2' ] = 'Serial', } function onPlayerJoin_KickHandler ( ) for Nick,Serial in pairs ( Firewall ) do if removeColorCode( getPlayerName ( source ) ) == Nick and getPlayerSerial ( source ) ~= Serial then kickPlayer ( source, "Reason: !" ) end end end addEventHandler ( 'onPlayerJoin', getRootElement(), onPlayerJoin_KickHandler) function onPlayerChangeNick_KickHandler ( oldNick, newNick ) for Nick,Serial in pairs ( Firewall ) do if removeColorCode( newNick ) == Nick and getPlayerSerial ( source ) ~= Serial then kickPlayer ( source, "Reason: !" ) end end end addEventHandler ( 'onPlayerChangeNick', getRootElement(), onPlayerChangeNick_KickHandler) function removeColorCode( s ) return s:gsub( '#%x%x%x%x%x%x', '' ) or s end Link to comment
1LoL1 Posted October 12, 2015 Author Share Posted October 12, 2015 Firewall = { [ 'PlayerName' ] = 'SerialPlayer', [ 'TEST' ] = '9C9F3B55D9D7BB7135FF274D3BF444E4', [ 'Name2' ] = 'Serial', } function onPlayerJoin_KickHandler ( ) for Nick,Serial in pairs ( Firewall ) do if removeColorCode( getPlayerName ( source ) ) == Nick and getPlayerSerial ( source ) ~= Serial then kickPlayer ( source, "Reason: !" ) end end end addEventHandler ( 'onPlayerJoin', getRootElement(), onPlayerJoin_KickHandler) function onPlayerChangeNick_KickHandler ( oldNick, newNick ) for Nick,Serial in pairs ( Firewall ) do if removeColorCode( newNick ) == Nick and getPlayerSerial ( source ) ~= Serial then kickPlayer ( source, "Reason: !" ) end end end addEventHandler ( 'onPlayerChangeNick', getRootElement(), onPlayerChangeNick_KickHandler) function removeColorCode( s ) return s:gsub( '#%x%x%x%x%x%x', '' ) or s end Thanks works. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now