· 9 years ago · Jan 10, 2017, 10:36 AM
1QuerySQL( db, "CREATE TABLE IF NOT EXISTS AwayStatus ( Name TEXT, IsAway TEXT )" );
2
3
4function AddAwayStatus( player )
5{
6 local aw = QuerySQL( db, "SELECT * FROM AwayStatus WHERE Name='" + player.Name + "'" );
7 if ( GetSQLColumnData( aw, 0 ) == null )
8 {
9 QuerySQL(db, "INSERT INTO AwayStatus (Name, IsAway) VALUES ('"+ player.Name +"', 'false')");
10 }
11 FreeSQLQuery(aw);
12}
13function CheckAwayStatus( player )
14{
15 local aw = QuerySQL( db, "SELECT IsAway FROM AwayStatus WHERE Name='" + player.Name + "'" );
16 if ( GetSQLColumnData( aw, 0 ) == "true" )
17 {
18 Message(Announce - "+player.Name+" Has Been Kicked From Server ( Nick Already In Use )");
19 KickPlayer(player);
20 }
21 FreeSQLQuery(aw);
22 return;
23}
24
25function PartWhenAway( player )
26{
27if (status[player.ID].IsAway == true)
28{
29player.Name = ""+status[player.ID].oldname+"";
30status[player.ID].oldname = null;
31QuerySQL(db, "UPDATE AwayStatus SET IsAway='false' WHERE Name='" + player.Name + "'");
32status[player.ID].IsAway = false;
33}
34}
35
36classPlayerStats
37{
38IsAway = false;
39}
40
41
42function onPlayerJoin( player )
43{
44CheckAwayStatus( player );
45AddAwayStatus(player);
46}
47
48function onPlayerPart( player, reason )
49{
50PartWhenAway( player );
51}
52function onPlayerChat(player, text)
53{
54if ( text == "afk" || text == "AFK" )
55{
56if (status[player.ID].IsAway == true) MessagePlayer("Failure - You Have Already Used AFK, try BACK Instead",player);
57else{
58Message("+player+" Is Now AFK!");
59EchoMessage("+player+" Is Now AFK!");
60status[player.ID].oldname = player.Name;
61status[player.ID].IsAway = true;
62player.Name = ""+player.Name+"(AFK)";
63QuerySQL(db, "UPDATE AwayStatus SET IsAway='true' WHERE Name='" + status[player.ID].oldname + "'");
64}
65}
66else if ( text == "back" || text == "BACK" )
67{
68if (status[player.ID].IsAway == false) MessagePlayer(Failure - You Haven't Used AFK",player);
69else{
70Message(GREY+""+status[player.ID].oldname+" "+WHITE+"Is Now Back!");
71EchoMessage("+status[player.ID].oldname+" Is Now Back!");
72status[player.ID].IsAway = false;
73player.Name = ""+status[player.ID].oldname+"";
74status[player.ID].oldname = null;
75QuerySQL(db, "UPDATE AwayStatus SET IsAway='false' WHERE Name='" + player.Name + "'");
76}
77}
78}