#include "/obj/tools/roommaker/roommaker.h"
gehe zum Quellcode dieser Datei
Funktionen | |
| static void | enter_exit () |
| static void | delete_exit () |
| static void | delete_exit_really (int number) |
| static void | delete_exit2 (string str) |
| static void | exit_redisplay () |
| static void | noexit () |
| static void | getpath () |
| static void | insert_exit (string str) |
| static void | nopath () |
| static void | double_exit (string str) |
| static void | exit_redisplay2 () |
| static void | exit_save () |
| static void | insert_exit2 (string str) |
| static void | goto_delete_exit () |
Variablen | |
| static string * | exit |
| static string * | path |
| static void delete_exit | ( | ) | [static] |
Definiert in Zeile 33 der Datei exits.c.
Benutzt exit, i, input_to(), path und QueryLabel().
Wird benutzt von goto_delete_exit().
00034 { 00035 int i; 00036 if(!sizeof(exit)) 00037 { 00038 write("No exits are given.\n"); 00039 return (void)call_other(this_object(),QueryLabel("delete_return")); 00040 } 00041 if(sizeof(exit) == 1) write("This exit is"); 00042 else write("These exits are"); 00043 write(" given:\n"); 00044 for(i=0;i<sizeof(exit);i++) 00045 write((i+1) + ". " + exit[i] + " ... " + path[i] + "\n"); 00046 write("Which exit should be deleted?\n"); 00047 input_to("delete_exit2"); 00048 }


| static void delete_exit2 | ( | string | str | ) | [static] |
Definiert in Zeile 64 der Datei exits.c.
Benutzt delete_exit_really(), exit, member_array() und QueryLabel().
00065 { 00066 int number; /* number of the given exit */ 00067 if(sscanf(str,"%d",number) && number <= sizeof(exit)) 00068 { 00069 delete_exit_really(number-1); 00070 return (void)call_other(this_object(),QueryLabel("delete_return")); 00071 } 00072 number = (member_array(str,exit)); 00073 if(number == -1) 00074 { 00075 write("There is no exit named " + str + "!\n"); 00076 return (void)call_other(this_object(),QueryLabel("delete_return")); 00077 } 00078 delete_exit_really(number); 00079 return (void)call_other(this_object(),QueryLabel("delete_return")); 00080 }

| static void delete_exit_really | ( | int | number | ) | [static] |
Definiert in Zeile 52 der Datei exits.c.
Benutzt exit, path, QueryLabel() und SetLabel().
Wird benutzt von delete_exit2().
00053 { 00054 write("Deleting " + exit[number] + " ...\n"); 00055 SetLabel("deleted_exit",({exit[number],path[number]})); 00056 exit = exit[0..number-1] + exit[number+1..sizeof(exit)-1]; 00057 path = path[0..number-1] + path[number+1..sizeof(path)-1]; 00058 if(QueryLabel("delete_return") == "gotogetstring") 00059 SetLabel("prompt","Exit #" + (sizeof(exit)+1) + ": "); 00060 }


| static void double_exit | ( | string | str | ) | [static] |
Definiert in Zeile 172 der Datei exits.c.
Benutzt enter_exit(), exit, getpath(), input_to() und QueryLabel().
00173 { 00174 if(str == "y") 00175 { 00176 insert_alist(QueryLabel("exit"),exit); 00177 return getpath(); 00178 } 00179 if(str == "n") return enter_exit(); 00180 write("Do you want to overwrite them?? (y/n) "); 00181 input_to("double_exit"); 00182 }

| static void enter_exit | ( | ) | [static] |
Definiert in Zeile 17 der Datei exits.c.
Benutzt exit, gotogetstring() und SetLabel().
Wird benutzt von double_exit() und insert_exit2().
00018 { 00019 SetLabel("prompt","Exit #" + (sizeof(exit)+1) + ": "); 00020 SetLabel("nostring","noexit"); 00021 SetLabel("ready","gotomenu"); 00022 SetLabel("undo","gotomenu"); 00023 SetLabel("redisplay","exit_redisplay"); 00024 SetLabel("delete","delete_exit"); 00025 SetLabel("save_file","normal_save_string"); 00026 SetLabel("insert_string","insert_exit"); 00027 SetLabel("delete_return","gotogetstring"); 00028 gotogetstring(); 00029 }


| static void exit_redisplay | ( | ) | [static] |
Definiert in Zeile 84 der Datei exits.c.
Benutzt exit, gotogetstring(), i, input_to() und path.
00085 { 00086 int i; 00087 if(!sizeof(exit)) 00088 { 00089 write("No exits are given.\nExit #1: "); 00090 input_to("getstring"); 00091 return; 00092 } 00093 if(sizeof(exit) == 1) write("This exit is"); 00094 else write("These exits are"); 00095 write(" given:\n"); 00096 for(i=0;i<sizeof(exit);i++) 00097 write(exit[i] + " ... " + path[i] + "\n"); 00098 gotogetstring(); 00099 }

| static void exit_redisplay2 | ( | ) | [static] |
Definiert in Zeile 188 der Datei exits.c.
Benutzt exit, gotogetstring(), i, member_array(), path und QueryLabel().
00189 { 00190 int i; 00191 string pathdummy; 00192 pathdummy = path[member_array(QueryLabel("exit"),exit)]; 00193 path[member_array(QueryLabel("exit"),exit)] = "<no path>"; 00194 if(sizeof(exit) == 1) write("This exit is"); 00195 else write("These exits are"); 00196 write(" given:\n"); 00197 for(i=0;i<sizeof(exit);i++) 00198 write(exit[i] + " ... " + path[i] + "\n"); 00199 path[member_array(QueryLabel("exit"),exit)] = pathdummy; 00200 gotogetstring(); 00201 }

| static void exit_save | ( | ) | [static] |
Definiert in Zeile 207 der Datei exits.c.
Benutzt gotogetstring().
00208 { 00209 write("You can't save. The exit need a path!\n"); 00210 gotogetstring(); 00211 }

| static void getpath | ( | ) | [static] |
Definiert in Zeile 113 der Datei exits.c.
Benutzt gotogetstring(), path und SetLabel().
Wird benutzt von double_exit() und insert_exit().
00114 { 00115 SetLabel("prompt","Path #" + sizeof(path) + ": "); 00116 SetLabel("nostring","nopath"); 00117 SetLabel("ready","nopath"); 00118 SetLabel("undo","nopath"); 00119 SetLabel("redisplay","exit_redisplay2"); 00120 SetLabel("delete","delete_exit"); 00121 SetLabel("save_file","exit_save"); 00122 SetLabel("insert_string","insert_exit2"); 00123 gotogetstring(); 00124 }


| static void goto_delete_exit | ( | ) | [static] |
Definiert in Zeile 222 der Datei exits.c.
Benutzt delete_exit() und SetLabel().
00223 { 00224 SetLabel("delete_return","gotomenu"); 00225 delete_exit(); 00226 }

| static void insert_exit | ( | string | str | ) | [static] |
Definiert in Zeile 131 der Datei exits.c.
Benutzt exit, getpath(), i, input_to(), member_array(), path und SetLabel().
00132 { 00133 int i; 00134 switch(str) { 00135 case "n": str = "north"; break; 00136 case "s": str = "south"; break; 00137 case "e": str = "east"; break; 00138 case "w": str = "west"; break; 00139 case "u": str = "up"; break; 00140 case "d": str = "down"; break; 00141 } 00142 i = member_array(str,exit); 00143 SetLabel("exit",str); 00144 if(i != -1) 00145 { 00146 write("We have already an exit named " + str + "!\n"); 00147 write(exit[i] + " ... " + path[i] + "\n"); 00148 write("Do you want to overwrite them? (y/n) "); 00149 input_to("double_exit"); 00150 return; 00151 } 00152 exit += ({str}); 00153 path += ({"<no path>"}); 00154 return getpath(); 00155 }

| static void insert_exit2 | ( | string | str | ) | [static] |
Definiert in Zeile 215 der Datei exits.c.
Benutzt Creature(), enter_exit(), exit, member_array(), path und QueryLabel().
00216 { 00217 path[member_array(QueryLabel("exit"),exit)] = str; 00218 Creature()->AddExit(QueryLabel("exit"),str); 00219 return enter_exit(); 00220 }

| static void noexit | ( | ) | [static] |
Definiert in Zeile 105 der Datei exits.c.
Benutzt gotogetstring().
00106 { 00107 write("Every exit need a name. Please enter them!\n"); 00108 gotogetstring(); 00109 }

| static void nopath | ( | ) | [static] |
Definiert in Zeile 162 der Datei exits.c.
Benutzt gotogetstring().
00163 { 00164 write("Every exit need a path. Please enter them!\n"); 00165 gotogetstring(); 00166 }

string* exit [static] |
Definiert in Zeile 10 der Datei exits.c.
Wird benutzt von delete_exit(), delete_exit2(), delete_exit_really(), double_exit(), enter_exit(), exit_redisplay(), exit_redisplay2(), Flee(), insert_exit() und insert_exit2().
string* path [static] |
Definiert in Zeile 11 der Datei exits.c.
Wird benutzt von _getTip(), CustomizeObject(), delete_exit(), delete_exit_really(), exit_redisplay(), exit_redisplay2(), getpath(), getTip(), goto(), insert_exit(), insert_exit2(), PrepareVCQuery(), prompt(), QueryValidObject(), set_player_object(), shoutansw(), Validate() und Xcd().
1.6.3