diff --git a/games/GGSChat/calc.glade b/games/GGSChat/calc.glade deleted file mode 100644 index 720b7b4..0000000 --- a/games/GGSChat/calc.glade +++ /dev/null @@ -1,317 +0,0 @@ - - - - - - - - True - - - True - True - - - - False - 0 - - - - - True - 5 - 4 - - - True - True - True - - - - - / - True - True - True - - - - 1 - 2 - - - - - * - True - True - True - - - - 2 - 3 - - - - - - - True - True - True - - - - 3 - 4 - - - - - 7 - True - True - True - - - - 1 - 2 - - - - - 8 - True - True - True - - - - 1 - 2 - 1 - 2 - - - - - 9 - True - True - True - - - - 2 - 3 - 1 - 2 - - - - - + - True - True - True - - - - 3 - 4 - 1 - 2 - - - - - 4 - True - True - True - - - - 2 - 3 - - - - - 5 - True - True - True - - - - 1 - 2 - 2 - 3 - - - - - 6 - True - True - True - - - - 2 - 3 - 2 - 3 - - - - - - True - True - True - - - - 3 - 4 - 2 - 3 - - - - - 1 - True - True - True - - - - 3 - 4 - - - - - 2 - True - True - True - - - - 1 - 2 - 3 - 4 - - - - - 3 - True - True - True - - - - 2 - 3 - 3 - 4 - - - - - = - True - True - True - - - - 3 - 4 - 3 - 4 - - - - - 0 - True - True - True - - - - 4 - 5 - - - - - True - True - True - - - 1 - 2 - 4 - 5 - - - - - True - True - True - - - 2 - 3 - 4 - 5 - - - - - - True - True - True - - - - 3 - 4 - 4 - 5 - - - - - 1 - - - - - True - 2 - - - False - 2 - - - - - - diff --git a/games/GGSChat/chat.py b/games/GGSChat/chat.py index 17c30ea..0e2aeb7 100644 --- a/games/GGSChat/chat.py +++ b/games/GGSChat/chat.py @@ -26,6 +26,7 @@ class GGSChat: dic = {"on_window1_destroy_event" : gtk.main_quit , "on_sendButton_clicked" : lambda x: self.chat() , "on_entry_activate" : lambda x : self.chat() + , "on_nickBox_activate" : lambda x : self.changeNick() , "on_chatBox_focus" : lambda x, y: self.wTree.get_widget("entry").grab_focus() } @@ -34,10 +35,21 @@ class GGSChat: self.wTree.get_widget("nickBox").set_text(getpass.getuser()) self.wTree.get_widget("window1").show() self.wTree.get_widget("entry").grab_focus() + self.changeNick() def setStatus(self, msg): self.wTree.get_widget("statusbar").push(0, msg) + def changeNick(self): + params = self.wTree.get_widget("nickBox").get_text() + self.s.send("Game-Command: nick\n" + + "Token: %s\n" % self.token + + "Content-Type: text\n" + + "Content-Length: %s\n" % len(params)+ + "\n"+ + params) + + def chat(self): exp = self.wTree.get_widget("entry").get_text() nick = self.wTree.get_widget("nickBox").get_text() @@ -45,14 +57,13 @@ class GGSChat: cmdStr = exp[1:].split(" ") cmd = cmdStr[0] params = ' '.join(cmdStr[1:]) - self.s.send("Game-Command: %s\n" % exp[1:] + + self.s.send("Game-Command: %s\n" % cmd + "Token: %s\n" % self.token + "Content-Type: text\n" + "Content-Length: %s\n" % len(params)+ "\n"+ params) else: - exp = "<%s> %s" % (nick, exp) self.s.send("Game-Command: chat\n"+ "Token: %s\n" % self.token + "Content-Type: text\n"+ diff --git a/games/GGSChat/ggschat.glade b/games/GGSChat/ggschat.glade index ac4e9cb..e4482da 100644 --- a/games/GGSChat/ggschat.glade +++ b/games/GGSChat/ggschat.glade @@ -38,6 +38,7 @@ 10 Anonymous + False diff --git a/src/ggs_db.erl b/src/ggs_db.erl index 29665a3..4dcf5c1 100644 --- a/src/ggs_db.erl +++ b/src/ggs_db.erl @@ -1,9 +1,3 @@ -%%%%---------------------------------------------------- -%%% @author Mattias Pettersson -%%% @copyright 2011 Mattias Pettersson -%%% @doc Database for runtime game variable storage. -%%% @end - -module(ggs_db). -export([init/0,stop/0,setItem/4,getItem/3,removeItem/3,key/3,clear/2,clear/1,length/2]). %-include("ggs_db.hrl"). diff --git a/src/ggs_gamevm_e.erl b/src/ggs_gamevm_e.erl index 3cc6b17..c8c5f2a 100644 --- a/src/ggs_gamevm_e.erl +++ b/src/ggs_gamevm_e.erl @@ -46,14 +46,17 @@ do_stuff(Command, Args, Player, Table) -> "greet" -> ggs_player:notify(Player, server, "Hello there!\n"); "chat" -> - ggs_table:notify_all_players(Table, Args ++ "\n"); + Nick = ggs_db:getItem(Table, nicks, Player), + ggs_table:notify_all_players(Table, "<"++Nick++"> "++ Args ++ "\n"); "uname" -> Uname = os:cmd("uname -a"), ggs_player:notify(Player, server, Uname); "lusers" -> {ok, Players} = ggs_table:get_player_list(Table), - ggs_player:notify(Player, server,io_lib:format("~p\n",[Players])); + Nicks = lists:map(fun (P) -> ggs_db:getItem(Table, nicks, P) end, Players), + ggs_player:notify(Player, server,io_lib:format("~p\n",[Nicks])); "nick" -> + ggs_db:setItem(Table,nicks,Player,Args), io:format("Changing nickname of ~p to ~p.", [Player, Args]); _Other -> ggs_player:notify(Player, server, "I don't know that command..\n") diff --git a/src/start_ggs.erl b/src/start_ggs.erl index 3955715..3f2f23b 100644 --- a/src/start_ggs.erl +++ b/src/start_ggs.erl @@ -4,4 +4,5 @@ start() -> application:start(inets), application:start(erlang_js), + ggs_db:init(), application:start(ggs).