2 // NOTE: This file contains lots of debugging stuff
\r
3 // it is not really used... can be seen as another sample...
\r
5 string STR_PLAYER = "player";
\r
6 #define FOR_EACH_PLAYER(v) for(v = world; (v = find(v, classname, STR_PLAYER)) != world; )
\r
13 menu_visible = false;
\r
14 menu_show = menu_show_error;
\r
15 menu_action = menu_sub_null;
\r
18 strunzone(ctf_temp_1);*/
\r
20 localcmd("\nin_bindmap 0 0;");
\r
23 void() order_menu_render =
\r
25 local vector ps, po;
\r
26 local float i, p, n;
\r
27 local string frags, color;
\r
31 color = getplayerkey(player_localentnum-1, "topcolor");
\r
33 if(getstati(STAT_CTF_STATE) == CTF_STATE_COMMANDER) {
\r
34 drawstring(ps, "\x1D\x1E\x1E\x1E\x1E Order Menu \x1E\x1E\x1E\x1E\x1F", '8 8 0', '1 1 0', 1, 0); ps += po;
\r
35 drawstring(ps, strcat("Order: ", ctf_temp_1), '8 8 0', '1 1 0', 1, 0); ps += po;
\r
36 drawcolorcodedstring(ps, "1) ^3previous page", '8 8 0', 1, 0); ps += po;
\r
37 drawcolorcodedstring(ps, "2) ^3next page", '8 8 0', 1, 0); ps += po;
\r
38 for((n = 2), (p = i = 0); i < maxclients && n > 0; ++i) {
\r
39 frags = getplayerkey(i, "frags");
\r
40 if(!frags || (i+1) == player_localentnum)
\r
42 if(frags == "-666" || getplayerkey(i, "topcolor") != color) // FIXME use GetPlayerTeam
\r
45 if(p > (8*order_page))
\r
47 // only render current page
\r
51 drawcolorcodedstring(ps, strcat(ftos(n), ") ", GetPlayerName(i), " : ", ftos(getstatf(STAT_CTF_STATE))), '8 8 0', 1, 0); ps += po;
\r
54 drawstring(ps, "ESC) Exit Menu", '8 8 0', '1 1 0', 1, 0); ps += po;
\r
60 float(float bInputType, float nPrimary, float nSecondary) order_menu_action =
\r
63 local float p, i, n, chose;
\r
64 local string frags, color;
\r
65 if(bInputType != 0) // key down wanted
\r
68 arg = chr2str(nSecondary);
\r
69 chose = stof(chr2str(nPrimary));
\r
72 color = getplayerkey(player_localentnum-1, "topcolor");
\r
74 for(p = i = 0; i < maxclients; ++i) {
\r
75 frags = getplayerkey(i, "frags");
\r
76 if(!frags || (i+1) == player_localentnum)
\r
78 if(frags == "-666" || getplayerkey(i, "topcolor") != color) // FIXME use GetPlayerTeam
\r
82 if(p <= (8*order_page)) // no ppl on page
\r
84 } else if(arg == "2") {
\r
85 color = getplayerkey(player_localentnum-1, "topcolor");
\r
87 if(order_page < 0) {
\r
88 for(p = i = 0; i < maxclients; ++i) {
\r
89 frags = getplayerkey(i, "frags");
\r
90 if(!frags || (i+1) == player_localentnum)
\r
92 if(frags == "-666" || getplayerkey(i, "topcolor") != color) // FIXME use GetPlayerTeam
\r
96 order_page = floor(p/8);
\r
98 } else if(chose >= 3 && chose <= 9 || arg == "0") { // the 10 needs extra checking, assuming that stof(astring) returns 0
\r
102 color = getplayerkey(player_localentnum-1, "topcolor");
\r
103 for(p = i = 0; i < maxclients && n > 0; ++i) {
\r
104 frags = getplayerkey(i, "frags");
\r
105 if(!frags || (i+1) == player_localentnum)
\r
107 if(frags == "-666" || getplayerkey(i, "topcolor") != color) // FIXME use GetPlayerTeam
\r
110 if(p > (8*order_page))
\r
112 // only render current page
\r
121 //print(strcat("Issuing order to: ", ftos(i+1), "\n"));
\r
122 //print(strcat("cmd order #", ftos(i+1), " ", ctf_temp_1, ";\n"));
\r
123 localcmd(strcat("\ncmd order #", ftos(i+1), " ", ctf_temp_1, ";"));
\r
125 print(strcat("Couldn't find player ", ftos(chose), "\n"));
\r
128 } else if(nSecondary == K_ESCAPE) {
\r
129 strunzone(ctf_temp_1);
\r
132 //print(strcat("Menu action ", arg, " does not exist.\n"));
\r
138 void() order_menu_show =
\r
141 menu_show = order_menu_render;
\r
142 menu_action = order_menu_action;
\r
146 void() ctf_menu_render =
\r
148 local vector ps, po;
\r
152 if(getstati(STAT_CTF_STATE) == CTF_STATE_COMMANDER) {
\r
153 drawstring(ps, "\x1D\x1E\x1E\x1E\x1E Command Menu \x1E\x1E\x1E\x1E\x1F", '8 8 0', '1 1 0', 1, 0); ps += po;
\r
154 drawstring(ps, "Issue orders:", '8 8 0', '1 1 0', 1, 0); ps += po;
\r
155 drawstring(ps, " 1) Attack ", '8 8 0', '1 1 0', 1, 0);
\r
156 drawstring(ps + '80 0 0', " \x0F", '8 8 0', '1 1 1', 1, 0); ps += po;
\r
157 drawstring(ps, " 2) Defend \x0E", '8 8 0', '1 1 0', 1, 0); ps += po;
\r
159 drawstring(ps, "3) Resign from command.", '8 8 0', '1 1 0', 1, 0); ps += po;
\r
160 drawstring(ps, "ESC) Exit Menu", '8 8 0', '1 1 0', 1, 0); ps += po;
\r
166 float(float bInputType, float nPrimary, float nSecondary) ctf_menu_action =
\r
169 if(bInputType != 0) // key down wanted
\r
172 arg = chr2str(nSecondary);
\r
175 ctf_temp_1 = strzone("attack");
\r
177 } else if(arg == "2") {
\r
178 ctf_temp_1 = strzone("defend");
\r
180 } else if(arg == "3") {
\r
181 localcmd("\ncmd order resign;");
\r
183 } else if(nSecondary == K_ESCAPE) {
\r
186 //print(strcat("Menu action ", arg, " does not exist.\n"));
\r
192 void() ctf_menu_show =
\r
194 if(getstati(STAT_CTF_STATE) < 0)
\r
196 menu_show = ctf_menu_render;
\r
197 menu_action = ctf_menu_action;
\r
198 menu_visible = TRUE;
\r
199 //menu_default_binds();
\r
205 stat = getstati(STAT_CTF_STATE);
\r
206 if(stat == CTF_STATE_ATTACK) {
\r
207 drawpic('0 0 0', "gfx/ctf_ic_atk.tga", '64 64 0', '1 1 1', 1, 0);
\r
208 } else if(stat == CTF_STATE_DEFEND) {
\r
209 drawpic('0 0 0', "gfx/ctf_ic_def.tga", '64 64 0', '1 1 1', 1, 0);
\r
210 } else if(stat == CTF_STATE_COMMANDER) {
\r
211 drawstring('0 0 0', "You're commander!", '8 8 0', '1 1 1', 1, 0);
\r
212 } else if(stat < 0) {
\r
214 drawstring('0 0 0', "Awaiting orders...", '8 8 0', '1 1 1', 0.5, 0);
\r