#include <properties.h>#include <defines.h>#include "/secure/wizlevels.h"
gehe zum Quellcode dieser Datei
Funktionen | |
| static private void | SAY (string str) |
| void | create () |
| varargs string | name (int casus, int demon) |
| varargs string | Name (int casus, int demon) |
| public string | QueryPronoun (int casus) |
| string | short () |
| string | long () |
| mixed | Query (mixed param) |
| mixed | QueryProp (mixed param) |
| int | Set (mixed param) |
| int | SetProp (mixed param) |
| varargs int | id (string str, int lvl) |
| void | init () |
| void | save_me () |
| static int | waehle () |
| static private int | falsch () |
| static int | waehle_2 (string str) |
| static int | auswertung () |
| static int | wahlthema (string str) |
| static int | moeglichkeit (string str) |
| mixed | _internal () |
Variablen | |
| static string | in_use |
| string | thema |
| string * | moeglichkeiten |
| string * | ergebnis |
| mixed _internal | ( | ) |
Definiert in Zeile 248 der Datei wahlmaschine.c.
Benutzt ARCH_SECURITY und process_call().
00249 { 00250 if (!ARCH_SECURITY || process_call()) return 0; 00251 return ergebnis; 00252 }

| static int auswertung | ( | ) | [static] |
Definiert in Zeile 181 der Datei wahlmaschine.c.
Benutzt all, ARCH_SECURITY, break_string(), CountUp(), data, ergebnis, i, moeglichkeiten, process_call(), SAY und thema.
00182 { 00183 int i,j,max,all; 00184 mapping stimmen, data; 00185 mixed names; 00186 00187 if (!ARCH_SECURITY || process_call()) return 0; 00188 00189 rm("/log/WAHL"); 00190 00191 data = mkmapping(ergebnis[0], ergebnis[1]); 00192 names = m_indices(data); 00193 stimmen = ([]); 00194 00195 SAY("\n\n\nWahlergebnisse zum Thema: "+thema+"\n"); 00196 SAY("\nGewaehlt haben folgende Personen: \n"); 00197 SAY(break_string(CountUp(map(sort_array(names, #'>/*'*/), #'capitalize/*'*/)), 78)); 00198 SAY("\n"); 00199 00200 while(sizeof(names)) { 00201 stimmen[data[names[0]]]++; 00202 names[0..0] = ({}); 00203 all++; 00204 } 00205 00206 SAY("*****************************************\n"); 00207 SAY("Ergebnis:\n"); 00208 for (i=0;i<sizeof(moeglichkeiten);i++) 00209 SAY(sprintf(" -- %2d.) %20s: %3d (%' '3.2f%%)\n", i+1, moeglichkeiten[i], 00210 stimmen[moeglichkeiten[i]], 1.0 * stimmen[moeglichkeiten[i]] * 100.0 / (1.0 * all))); 00211 SAY(sprintf("Gesamtstimmen: %d\n", sizeof(m_indices(data)))); 00212 return 1; 00213 }

| void create | ( | ) |
Definiert in Zeile 23 der Datei wahlmaschine.c.
Benutzt destruct(), ergebnis, in_use, ME, moeglichkeiten, move_object() und restore_object().
00024 { 00025 if (clonep(ME)) destruct(ME); 00026 if (ergebnis) return; 00027 seteuid(getuid()); 00028 in_use=0; 00029 ergebnis=({({}),({})}); 00030 moeglichkeiten=({}); 00031 restore_object("wahl/wahl"); 00032 move_object(ME, "/gilden/abenteurer"); 00033 }

| static private int falsch | ( | ) | [static] |
Definiert in Zeile 148 der Datei wahlmaschine.c.
Benutzt in_use.
Wird benutzt von waehle_2().
00149 { 00150 write("Diese Auswahl ist ungueltig. Versuchs bitte gleich nochmal.\n"); 00151 say(in_use+" hat ausgewaehlt.\n"); 00152 in_use=0; 00153 return 1; 00154 }

| varargs int id | ( | string | str, | |
| int | lvl | |||
| ) |
Definiert in Zeile 97 der Datei wahlmaschine.c.
| void init | ( | ) |
Definiert in Zeile 102 der Datei wahlmaschine.c.
| string long | ( | ) |
Definiert in Zeile 71 der Datei wahlmaschine.c.
Benutzt thema.
| static int moeglichkeit | ( | string | str | ) | [static] |
Definiert in Zeile 231 der Datei wahlmaschine.c.
Benutzt ARCH_SECURITY, member_array(), moeglichkeiten, process_call(), RPL und save_me().
00232 { 00233 if (!ARCH_SECURITY || process_call()) { 00234 write("NOT allowed"); 00235 return 0; 00236 } 00237 if (!(str=RPL->_unparsed_args())) return 0; 00238 if (member_array(str, moeglichkeiten) != -1) { 00239 write("Schon drin.\n"); 00240 return 1; 00241 } 00242 moeglichkeiten+=({str}); 00243 write("Ok.\n"); 00244 save_me(); 00245 return 1; 00246 }

| varargs string Name | ( | int | casus, | |
| int | demon | |||
| ) |
Definiert in Zeile 51 der Datei wahlmaschine.c.
Benutzt name.
00052 { return capitalize(name(casus, demon)); }
| varargs string name | ( | int | casus, | |
| int | demon | |||
| ) |
Definiert in Zeile 35 der Datei wahlmaschine.c.
00036 { 00037 if (demon==RAW) return "Wahlmaschine"; 00038 switch(casus) { 00039 case WEM: 00040 case WESSEN: 00041 if (demon==1) 00042 return "der Wahlmaschine"; 00043 return "einer Wahlmaschine"; 00044 default: 00045 if (demon==1) 00046 return "die Wahlmaschine"; 00047 return "eine Wahlmaschine"; 00048 } 00049 }
| mixed Query | ( | mixed | param | ) |
Definiert in Zeile 77 der Datei wahlmaschine.c.
| public string QueryPronoun | ( | int | casus | ) |
| mixed QueryProp | ( | mixed | param | ) |
Definiert in Zeile 88 der Datei wahlmaschine.c.
Benutzt Query().
00089 { return Query(param); }

| void save_me | ( | ) |
Definiert in Zeile 110 der Datei wahlmaschine.c.
Benutzt save_object().
00111 { save_object("wahl/wahl"); }

| static private void SAY | ( | string | str | ) | [static] |
Definiert in Zeile 17 der Datei wahlmaschine.c.
| int Set | ( | mixed | param | ) |
Definiert in Zeile 91 der Datei wahlmaschine.c.
| int SetProp | ( | mixed | param | ) |
Definiert in Zeile 94 der Datei wahlmaschine.c.
| string short | ( | ) |
Definiert in Zeile 68 der Datei wahlmaschine.c.
| static int waehle | ( | ) | [static] |
Definiert in Zeile 113 der Datei wahlmaschine.c.
Benutzt i, in_use, input_to(), moeglichkeiten, notify_fail(), P_LEVEL, P_SECOND, P_TESTPLAYER und RPL.
00114 { 00115 int i; 00116 mixed second; 00117 00118 if (!RPL) return 0; 00119 if (RPL->QueryProp(P_LEVEL)<10) { 00120 notify_fail("Man kann erst ab Stufe 10 mitwaehlen :(\n"); 00121 return 0; 00122 } 00123 if (RPL->QueryProp(P_TESTPLAYER)) { 00124 notify_fail("Testspieler sind von der Wahl ausgeschlossen.\n"); 00125 return 0; 00126 } 00127 if ((second=RPL->QueryProp(P_SECOND)) && 00128 (!stringp(second) || (file_size("/save/"+lower_case(second[0..0])+"/"+lower_case(second)+".o")<=0))) { 00129 notify_fail("Nicht richtig markierte Zweities sind von der Wahl ausgeschlossen.\n"); 00130 return 0; 00131 } 00132 if (in_use) 00133 { 00134 write(in_use+" waehlt gerade, warte also bitte einen Augenblick.\n"); 00135 return 1; 00136 } 00137 in_use=capitalize(getuid(RPL)); 00138 say(in_use+" tritt an die Wahlmaschine.\n"); 00139 write(long()); 00140 write("Das steht zur Auswahl:\n"); 00141 for (i=0;i<sizeof(moeglichkeiten);i++) 00142 write(sprintf(" -- %d.) %s\n",i+1,moeglichkeiten[i])); 00143 write("Triff nun Deine Wahl (sie ist UNSICHTBAR): "); 00144 input_to("waehle_2",1); 00145 return 1; 00146 }

| static int waehle_2 | ( | string | str | ) | [static] |
Definiert in Zeile 156 der Datei wahlmaschine.c.
Benutzt ergebnis, falsch(), i, in_use, member_array(), moeglichkeiten, name, P_SECOND, RPL und save_me().
00157 { 00158 int i; 00159 mixed name; 00160 00161 if (!str) return falsch(); 00162 00163 name=RPL->QueryProp(P_SECOND); 00164 if (!stringp(name)) 00165 name=getuid(RPL); 00166 else name=lower_case(name); 00167 00168 if (member_array(str, moeglichkeiten)==-1) { 00169 if ( !sscanf( str, "%d", i ) ) return falsch(); 00170 if ( i<1 || i>sizeof(moeglichkeiten) ) return falsch(); 00171 ergebnis=insert_alist(name,moeglichkeiten[i-1],ergebnis); 00172 } 00173 else ergebnis=insert_alist(name,str,ergebnis); 00174 write("Ok.\n"); 00175 save_me(); 00176 say(in_use+" hat ausgewaehlt.\n"); 00177 in_use=0; 00178 return 1; 00179 }

| static int wahlthema | ( | string | str | ) | [static] |
Definiert in Zeile 215 der Datei wahlmaschine.c.
Benutzt _unparsed_args(), ARCH_SECURITY, ergebnis, moeglichkeiten, process_call(), RPL, save_me(), thema und WER.
00216 { 00217 if (!ARCH_SECURITY || process_call()) { 00218 write("NOT allowed"); 00219 return 0; 00220 } 00221 if (!(str=this_interactive()->_unparsed_args())) return 0; 00222 thema=str; 00223 say(RPL->name(WER)+" setzt ein neues Abstimmungsthema fest.\n"); 00224 ergebnis=({({}),({})}); 00225 moeglichkeiten=({}); 00226 write("Ok.\n"); 00227 save_me(); 00228 return 1; 00229 }

| string* ergebnis |
Definiert in Zeile 13 der Datei wahlmaschine.c.
Wird benutzt von auswertung(), create(), waehle_2() und wahlthema().
string in_use [static] |
Definiert in Zeile 9 der Datei wahlmaschine.c.
Wird benutzt von create(), falsch(), waehle() und waehle_2().
| string* moeglichkeiten |
Definiert in Zeile 12 der Datei wahlmaschine.c.
Wird benutzt von auswertung(), create(), moeglichkeit(), waehle(), waehle_2() und wahlthema().
| string thema |
Definiert in Zeile 11 der Datei wahlmaschine.c.
Wird benutzt von auswertung(), long() und wahlthema().
1.6.3