--[[ usr_nick_prefix.lua v0.06 by blastbeat - this script adds a prefix to the nick of an user - you can use the prefix table to define different prefixes for different user levels - TODO: onInf ( nick change, etc ) - changelog 0.06: - no white spaces anymore - changelog 0.05: - updated script api - changelog 0.04: - updated script api, fixed bugs ]]-- --// settings begin //-- local default = hub.escapeto "[UNKNOWN]" -- default nick prefix local prefix_table = { --// [ user_level ] = level_prefix, //-- [ 0 ] = "[UNREG]", [ 10 ] = "[GUEST]", [ 20 ] = "[REG]", [ 30 ] = "[VIP]", [ 40 ] = "[SVIP]", [ 60 ] = "[OPERATOR]", [ 80 ] = "[ADMIN]", [ 100 ] = "[HUBOWNER]", } --// settings end //-- local utf_len = utf.len local utf_sub = utf.sub hub.setlistener( "onStart", { }, -- add prefix to already connected users function( ) for sid, user in pairs( hub.getusers( ) ) do --if not user:isbot( ) then local prefix = prefix_table[ user:level( ) ] or default user:updatenick( prefix .. user:nick( ) ) --end end return nil end ) hub.setlistener( "onInf", { }, -- add prefix to already connected users function( user, cmd ) if cmd:getnp "NI" then local prefix = prefix_table[ user:level( ) ] or default user:updatenick( prefix .. user:nick( ) ) return PROCESSED end return nil end ) hub.setlistener( "onExit", { }, -- remove prefix on script exit function( ) for sid, user in pairs( hub.getusers( ) ) do --if not user:isbot( ) then local prefix = prefix_table[ user:level( ) ] or default local original_nick = utf_sub( user:nick( ), utf_len( prefix ) + 1, -1 ) user:updatenick( original_nick, false, true ) --end end return nil end ) hub.setlistener( "onConnect", { }, -- add prefix to connecting user function( user ) local prefix = prefix_table[ user:level( ) ] or default local bol, err = user:updatenick( prefix .. user:nick( ), true ) if not bol then user:kill( "ISTA 220 " .. hub.escapeto( err ) .. "\n" ) return PROCESSED end return nil end ) hub.debug( "** Loaded usr_nick_prefix.lua **" )