Vivalavido Posted November 30, 2009 Share Posted November 30, 2009 Alright, I have created an usersystem wich works with MySql. Now im having problems with adding a tag to a user as in: [ADMIN] User Script: function onJoin() if( not connect_mysql ) then outputChatBox( "Could not connect to MySQL server [sqlnames]" ) else colour = mysql_query( connect_mysql, "SELECT class FROM clanusers WHERE serial='" .. getPlayerSerial( source ) .. "'" ) if( colour ) then while true do local row = mysql_fetch_assoc(colour) if (not row) then break end if( row['name'] == "") then name = getPlayerName( source ) class = "Guest" else name = row['name'] class = row['class'] end end end mysql_free_result( colour ) end end function onChat( message ) cancelEvent() if( class == "Admin" ) then outputChatBox("#FF0000[Admin] " .. getPlayerName(source) .. ': ' .. "#FFFFFF" .. message:gsub('#%x%x%x%x%x%x', ''), getRootElement(), 0, 0, 0, true) elseif ( class == "Member" ) then outputChatBox("#7FFF00[MP] " .. getPlayerName(source) .. ': ' .. "#FFFFFF" .. message:gsub('#%x%x%x%x%x%x', ''), getRootElement(), 0, 0, 0, true) elseif( class == "Mod" ) then outputChatBox("#246119[Mod] " .. getPlayerName(source) .. ': ' .. "#FFFFFF" .. message:gsub('#%x%x%x%x%x%x', ''), getRootElement(), 0, 0, 0, true) elseif( class == "Mapper" ) then outputChatBox("#000000[Mapper] " .. getPlayerName(source) .. ': ' .. "#FFFFFF" .. message:gsub('#%x%x%x%x%x%x', ''), getRootElement(), 0, 0, 0, true) elseif( class == "Guest" ) then outputChatBox("#F96B09[Mod] " .. getPlayerName (source) .. ': ' .. "#FFFFFF" .. message:gsub('#%x%x%x%x%x%x', ''), getRootElement(), 0, 0, 0, true) end end addEventHandler ( "onPlayerJoin", getRootElement(), onJoin) addEventHandler ( "onPlayerChat", getRootElement(), onChat ) It adds the tags, like a charm! Problem is, im stated as Admin in the database. So it adds a [ADMIN] tag infront of my name.. That works fine.. Once another user joins, with the class Member, it adds the [MP] tags for everyone! What would be best to make the function call only for the player that joines? Link to comment
AcidbRain Posted November 30, 2009 Share Posted November 30, 2009 Since you use 'class' as a global variable, it will retain the value from the last user that has joined. What you should probably do is to associate the 'class' to a player, either using a global table or using the player's element data. Link to comment
Vivalavido Posted November 30, 2009 Author Share Posted November 30, 2009 Well I have never done tables. But I supose, doing it that way, would be best? Any suggestions? Link to comment
Xalphox Posted November 30, 2009 Share Posted November 30, 2009 It's because you set class globally; not localized- bitch stole my thunder. :V 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