World of Gothic Archiv
> Editing Allgemeine Fragen zu DEADALUS |
|
26.03.2002, 03:57 | #1 | |||
GülleMüller Beiträge: 472 |
Fragen zu DEADALUS
Gibt es in DEADALUS eine Funktion die 2 Strings vergleicht? Mit if(strin1==string2) gehts nicht,da STRING keine Vergleichsvarible ist(Fehler: Wrong type!) |
|||
26.03.2002, 07:03 | #2 | |||
HornOx Beiträge: 1.458 |
blöde frage, aber für was brauchst du das? Du kannst strings doch nur per script setzen, eine direkte eingabe im Spiel ist nicht möglich. Und ein vergleich von werten die beide von am anfang bekannt sind ist überflüssig. Ansonsten steht folgendes in externals.d(habs nicht ausprobiert und da steht auch ne menge falsches zeug): FUNC INT Hlp_StrCmp (VAR STRING s1, VAR STRING s2) { return 0; }; // Hilfsfunktion um zwei Strings miteinander zu vergleichen liefert bei Gleichheit eins zurück |
|||
26.03.2002, 09:07 | #3 | |||
GülleMüller Beiträge: 472 |
Doll... Dank dir HornOx. Hab zwar das ding durchgeforstet aber irgendwie völlig übersehn. Wer kommt schon auf sonen komischn Namen ... Ich brauche das um Namen (von Monstern) zu vergleichen. Wenn sie einen bestimmten Namen haben, soll mir das der parser sagen. Das Problem war, das die Monster alles gleich haben(von einer Rasse), außer den Namen und die Waypoints(und beide sind Strings). Den TA kann man vielleicht auch überprüfen, aber das is mir zu hoch :). Außerdem brauche ich nur bestimmte Monster,also in nem bestimmten Gebiet und da bringts ne kleine Namensänderung... Klar, die Namen sind festgelegt, aber wenn du ein victim,oder self überprüfen willst, der nicht durch Hlp_GetNpc() erreichbar ist muß man halt auf solche Methoden zurückgreifen. |
|||
26.03.2002, 09:52 | #4 | |||
HornOx Beiträge: 1.458 |
Hlp_StrCmp: Helpfunction StringCompare Ist doch kein komischer Name? Zumindest im vergleich zu den namen die ich für meine funktionen verwende ist der normal... Warum erweiterst du nicht die Liste? const int AIV_MM_REAL_ID = 22; const int ID_NONE = 0; const int ID_WOLF = 1; const int ID_BLACKWOLF = 2; const int ID_SNAPPER = 3; const int ID_ORCBITER = 4; const int ID_SHADOWBEAST = 5; const int ID_BLOODHOUND = 6; const int ID_TROLL = 7; const int ID_WARAN = 8; const int ID_FIREWARAN = 9; const int ID_RAZOR = 10; const int ID_LURKER = 11; const int ID_SWAMPSHARK = 12; const int ID_MINECRAWLER = 13; const int ID_MINECRAWLERWARRIOR= 14; const int ID_BLOODFLY = 15; const int ID_BLACKGOBBO = 16; const int ID_GOBBO = 17; const int ID_SCAVENGER = 18; const int ID_SKELETON = 19; const int ID_SKELETONWARRIOR = 20; const int ID_SKELETONSCOUT = 21; const int ID_SKELETONMAGE = 22; const int ID_DEMON = 23; const int ID_DEMONLORD = 24; const int ID_MINECRAWLERQUEEN = 25; const int ID_MOLERAT = 26; const int ID_UNDEADORCWARRIOR = 27; const int ID_UNDEADORCSHAMAN = 28; const int ID_HARPIE = 29; const int ID_SLEEPER = 30; const int ID_STONEGOLEM = 31; const int ID_FIREGOLEM = 32; const int ID_ICEGOLEM = 33; const int ID_MEATBUG = 34; const int ID_ZOMBIE = 35; die werte setzt du z.b. per aivar[AIV_MM_REAL_ID]=ID_SKELETONWARRIOR; in der Instanz und abfragen kannst du sie per if (self.aivar[AIV_MM_REAL_ID]==ID_SKELETONWARRIOR) {...}; Oder meinst du was anderes? Aber du hast recht, theoretisch könnte man ein StrCmp wirklich in Kombination mit self usw. nützlich sein... |
|||
26.03.2002, 23:45 | #5 | |||
GülleMüller Beiträge: 472 |
Ich meinte genau das. Habe deshalb net weiter probiert, weil ich schon mit den Talentwerten ... naja entäuscht wurde. Weißt sicher noch. Deswegen dachte ich, daß diese Konstanten genauso behandelt werden. Aber man lernt halt nie aus. Danke für deinen Vorschlag(werd mal drüber nachdenken :) ) ps: Wie heißen deine Funktionsnamen denn? (Erschlag_den_GuelleMueller ? :D ) |
|||
27.03.2002, 01:22 | #6 | |||
HornOx Beiträge: 1.458 |
Dann macgh doch folgendes: Erstell eine Konstante const int Schlag_den_GuelleMueller=25; // 1-24 ist schon belegt und dann noch ein paar Konstanten: const int Vieh1=1; const int Vieh2=2; usw. bei allen Viechern bei den du den Wert nicht setzt ist er gleich Null, bei den Viechern die du voneinander unterscheiden willst mußt du den wert halt per aivar[Schlag_den_GuelleMueller]=Vieh1; in der Instanz und abfragen kannst du sie per if (self.aivar[Schlag_den_GuelleMueller]==Vieh1) {...}; Dadurch gibts keine Wechselwirkungen mit dem bereits vorhandenen Werten. Wenn du es nämlich so machen würdest wie ich es gestern vorgeschlagen hab müsstest du z.b. func B_GiveDeathInv() anpassen... Ich habs nicht getestet aber bei CLASS c_NPC steht immerhin ein "Feel free to use" bei aivar[50], deshalb sollte es funktionieren. Was hat PB jetzt eigentlich genau auf deine Mail wegen den Talenten geantwortet? Ich denk eigentlich immernoch man mehr als 14 talente erstellen kann wenn man nur genug über das Script weiß... |
|||
27.03.2002, 02:33 | #7 | |||
GülleMüller Beiträge: 472 |
quote: Nix spezielles(wahrscheinlich automatischer beantworter). Darunter hat zwar irgendein LeadProgrammer sein Signum gesetzt, wäre aber auch gleich ma blöd sowas wie: "Ihr freundlicher, vollelektronischer Antworten-Assistent" :) Da kam halt was wie "gute Idee aber wir ham doch keine Zeit!"... quote: Naja ich hab alles probiert, was ich bis zu diesem Zeitpunkt übers Scriptinterface kannte. Wenn du willst, kann ich dir mal die Änderungen zusammenstellen. Bei mir wars so, daß wenn man alles korrekt geändert hat (sodaß es nach Scripting her passen müßte) der Parser sich mit der Meldung: "Overflow Schlachmichtod ERROR" verabschiedet hat. Das heißt dann wohl: Der Scriptparser akzeptierts, der Quellcode aba net...(??wußtet ihr, daß Quellcode n anderes Wort für Durchfall is??) Ich werd das mal besser nochmal probiern( oh man, hoffentlich find ich des noch) und es mit in die Zusammenstellung packen. |
|||
27.03.2002, 03:48 | #8 | |||
NicoDE Beiträge: 1.398 |
Die Talente sind im Code auf 12 begrenzt. Folgen Sie unauffällig HornOx Vorschlag ;) - nico BTW: Hlp_StrCmp beachtet die Groß-/Kleinschreibung nicht. |
|||
29.03.2002, 02:32 | #9 | |||
GülleMüller Beiträge: 472 |
@Nico.DE : Jojo... dachte ich mir schon. Hast du ne Idee, wie man vom script/content aufs script/system zugreifen kann? Also speziell: wie kann ich Texte ins Statusfenster packen, die vom content scriptteil gesetzt werden sollen(on-the-fly! ) ? (lass raten: GAR NICHT? ) Man kann auf jeden Fall nicht von einer Funktion aus dem content-teil auf eine Funk im system teil zugreifen. Wenn es im Statusmenu Zeilenumbruch geben würde, könnte man einfach das NPC_TALENT_FIREMELDER(oder so) mit 100mio verschiedener Werte initialisieren und sie bei bedarf abrufen. Könnte dann so aussehen: CONST STRING TXT_TALENTS_SKILLS [NPC_TALENT_MAX] = { "|", "ungeübt|ausgebildet|gemeistert", //NPC_TALENT_1H "ungeübt|ausgebildet|gemeistert", //NPC_TALENT_2H "ungeübt|ausgebildet|gemeistert", //NPC_TALENT_BOW "ungeübt|ausgebildet|gemeistert", //NPC_TALENT_CROSSBOW "ungeübt|ausgebildet|gemeistert", //NPC_TALENT_PICKLOCK "ungeübt|ausgebildet|gemeistert", //NPC_TALENT_PICKPOCKET "nein|1.Kreis|2.Kreis|3.Kreis|4.Kreis|5.Kreis|6.Kreis", //NPC_TALENT_MAGE "nein|ja", //NPC_TALENT_SNEAK "|", //NPC_TALENT_REGENERATE "keine|Müller|Maler|Heinz|Müller Maler|Müller Heinz|Maler Heinz|Müller Maler Heinz", //NPC_TALENT_SPECIALS "nein|ja" //NPC_TALENT_ACROBAT }; Dann könnte NPC_TALENT_FIREMASTER in NPC_TALENT_SPECIALS umbenannt werden(wegen Übersichtlichkeit) und in Text.d so geändert werden: CONST STRING TXT_TALENTS [NPC_TALENT_MAX] = { "", "Einhänder", "Zweihänder", "Bogen", "Armbrust", "Schlösser öffnen", "Taschendiebstahl", "Magie", "Schleichen", "Regeneration", "Sezialfähigkeiten:", //Anstelle von NPC_TALENT_FIREMASTER "Akrobatik" }; Dann muß Npc_SetTalentSkill(self,NPC_TALENT_SPECIALS,x); mit x=[Anzahl der Einträge] initialisiert/abgefragt werden(dann natürlich mit Get...) . Das dumme daran ist jedoch, wenn man alle Talente unter NPC_TALENT_SPECIALS steigern will verlängert sich der String ENORM((2^n)*(2^n) ?? Hab in Mathevorlesung gepennt, jedenfalls viel)... Außerdem ist da halt das Problem mit dem Zeilenumbruch! Vielleicht gibts ja n Sonderzeichen welches für neue Zeile steht. Man, sowas schnall ich immer nich: Das wichtigste wird festgelegt! Ist das nich bei Attributen auch so? Würd ja gern n Attr hinzufügen, aber nein: "Wir ham ja keine Zeit das zu ändern ... bla" (hab vielleicht n bisl wenig geschlafen, also falls das hier eina von pb ließt: zu Herzen, aber net zu ernst nehmen! Danke) Naja, also falls du oder n anderer dazu was Wichtiges weiß: MELDEN!! SOFORT! :D Dank man sieht mich/sich... |
|||
30.03.2002, 06:16 | #10 | |||
HornOx Beiträge: 1.458 |
<unbewiesene Vermutungen und Mutmaßungen meinerseits> quote: Hast du's schon per Globaler Variable versucht? TXT_TALENTS_SKILLS z.b. scheint ja in script/system sichtbar zu sein... quote: ich hof mal nicht, ich will eigentlich den Monsterrespawn per Menü aktivierbar machen. Ohne das gehts nicht... quote: Hast du es schon mit den üblichen verdächtigen probiert: "n", "rn" und sovielen Leerzeichen das ein automatischer Zeilenumbruch erfolgt? Steht eigentlich irgendwo das TXT_TALENTS eine Konstante seien muß? Probier mal das Teil als Variable zu definieren, dann kannst du deinen Wert immer an die Erfordernisse anpassen. Damit hättest du die Anzeigen der Talente, speichern kannst du sie entweder in einer globalen variable oder in einem neuen aivar, je nachdem ob nur der Held oder alle NPC's das Talent haben können. quote:da kannst du es doch auch per aivar machen. Das Attribut wird dann zwar nicht firekt im Statusbildschirb angezeigt, aber das ist bei "Luft zum Tauchen" genauso.</unbewiesene Vermutungen und Mutmaßungen meinerseits> man ließt sich... |
|||
31.03.2002, 19:09 | #11 | |||
GülleMüller Beiträge: 472 |
Mit globalen Vars sieht schlecht aus, die sind nur im Teilblock vorhanden(content / system). Das hab ich in beide Richtungen getestet, also: system->content content->system Der Parser hat die Variablen in beiden Fällen nicht gefunden. Muß dazu sagen, daß ich einmal die Var aus der Story_globals.d und einmal ne Konstante "EVENT_SEL_NEXT" aus Menu.d genommen habe. quote: Die ist deshalb sichtbar, weil vom Code aus drauf zugegriffen wird. Ist zwar nur ne Vermutung, aber irgendwie bin ich mir da zu 99,99998% sicher. Achja das wäre die dritte Einschränkung in dieser Hinsicht ... t.b.c. Es gibt da aber nochwas: Hab in der menu_log.d bei "MENU_ITEM_SEL_MISSIONS_ACT" folgenden Parameter gefunden: [STRING] onSelAction_S[0]="EFFECTS MENU_ITEM_LIST_MISSIONS_ACT"; (Alternativ könnte man auch [INT] onSelAction[0]=[ID des Eintrags]; allerdings hab ich als einzigsten festen Wert(?) "SEL_ACTION_BACK" gefunden [EDIT_#1] Es gibt doch noch mehr in MENU.d , aber eine könnte von Interesse sein: CONST INT SEL_ACTION_EXECCOMMANDS= 7;// -> dynamic build in func. Werd mal sehn, ob sich was machen läßt... [/EDIT_#1] ) Außerdem gibts noch(irgendwo anders): onSelAction_S[0]="RUN MENU_ITEM_INP_UP"; Worin genau der Unterschied besteht weiß ich nicht. Genausowenig, ob man auch Funktionen RUNnen/EFFECTSn kann, die nicht von: PROTOTYPE C_MENU_ITEM_DEF(C_MENU_ITEM) abstammen. Wenn es geht, könnte man da seine eigene Funktion reinhaun und wenn das Menuitem(Menüeintrag :)) angewählt wurde wird diese Func aufgerufen, hoffentlich. Ne andere Möglichkeit sehe ich bisher nicht. [EDIT_#2] ps: Kann mal bitte einer der Moderatoren das Topic in "allgemeine Fragen zu DEADALUS" umbenennen? Ich find die jetzige Überschrift 1. nicht mehr passend, 2. zu peinlich Dank... [/EDIT_#2] |
|||
01.04.2002, 10:39 | #12 | |||
HornOx Beiträge: 1.458 |
quote:Verdammt, für das per Menü aktivierbare Monsterrespawn brauch ich eine datenübemittlung von system->content, die gibts bisher noch nicht und somit wird das Teil nicht umsetzbar sein. was meinst du mit t.b.c? Für andere Zeug bin ich momentan zu |
|||
01.04.2002, 15:14 | #13 | |||
GülleMüller Beiträge: 472 |
t.b.c. = to be continued (weiß net obs so abgekürzt wird, wenn nich hab ichs mal eben eingeführt :)) Ich habe in nächster Zeit ne Menge vor, deshalb kann ich mich damit nicht mehr beschäftigen. Will ja, daß wir auch mal fertig werden... Hab im MOD-Forum gelesen, daß es Probs mit der "Sektenglatze" nach dem Laden gibt. Gibts da nicht ne Funktion,die direkt nach dem Laden aufgerufen wird? Dort kannste ja ne abfrage machen(ist Spieler in der Sektengilde,dann hau die Glatze drauf)... Nur frag mich nicht, welche Funktion das sein soll. Hatte nur ne Idee. cu |
|||
01.04.2002, 15:35 | #14 | |||
Malek Beiträge: 6.225 |
Wie wäre es mit der Startup ;) |
|||
01.04.2002, 17:22 | #15 | |||
GülleMüller Beiträge: 472 |
@Malek: Biste dir sicher ?? Ich hatte die schonmal probiert, aber da hats net gefunzt. Vielleicht nur n Fehler in meinem Script. Shit, ich mach in letzter Zeit massenweise solcher Fehler :( Dann würde es doch gehn mit dem Texturbelegen oder? Axo: Weißt noch die Diskussion mit onState-Funktion? Ich glaube die wird nur aufgerufen, wenn die Animation des Benutzens abgeschlossen ist(z.B. das aufs Bett legen, das Rad drehen,...) und man dannach noch den/das MOB benutzt(also auf dem Bett liegen bleiben). Da ich mit dem Spacer,abgesehn vom Scriptreparsen, nix zu tun habe könntest du es ja mal testen. Wenn meine Idee hinhaut, dann müßte eine onState Funktion aufgerufen werden, wenn man z.B.: -eine Tür geöffnet hat -ein Rad(das Ding zum Toröffnen :)) gedreht hat Ob man allerdings den/das MOB immernoch benutzen muß weiß ich net. Tja und die conditionFunc wird halt vor dem eigentlichen benutzen des MOBs aufgerufen(obwohl es nicht gleich benutzt wird, wenn man einfach nur TRUE zurückgeben würde, man muß das mit AI_UseMOB() machen). (Ich glaube für die oben beschriebene Sache gibts noch n Fachbegriff, aber kenn ich net) |
|||
01.04.2002, 17:49 | #16 | |||
Malek Beiträge: 6.225 |
Also wie ich schonmal irgendwo geschrieben habe, halte ich von OnState Funktionen bei MOBs nichts. Ich benutze bei allen MOBs, die etwas auslösen sollen TriggerScripts, das ist 100% sicher. Also einfach beim cMOBInter als Triggertarget von mir aus "MOB_TRIGGER_01" eintragen, dann ein TriggerScript erstellen mit Namen "MOB_TRIGGER_01". Diesem TriggerScript weist man dann eine Funktion zu, die am Besten in einer neuen Datei unter "Events" definiert wird, z.b. bei ScriptFunction: FUNC_MOB_TRIGGER_01 und in der Datei die Funktion FUNC int FUNC_MOB_TRIGGER_01 () { Wasweissich(); }; Condition Function ist ebenfalls okay, wenn eine Abfrage nötig sein sollte. Aber OnStates benutzte ich ausschliesslich bei Betten. Gefeuert wird der Trigger immer wenn die Animation abgeschlossen ist, das ist richtig. Manche MOBs können auch einen UnTrigger senden, z.B. Türen die geschlossen werden, oder Kisten. Andere, wie z.b. die umschmeissbare Säule haben nur ein State, also senden sie keine UnTrigger. Aber ohne dass der MOB benutzt wird, kann er ja keine Trigger feuern, oder? Zur Startup: Keine Ahnung, ist eine Möglichkeit, habs aber nicht ausprobiert. Aber es gibt auch LevelStartTrigger, die beim Aufruf des Levels sofort z.B. mit einem SkriptTrigger gekoppelt werden könnten. Aber ohne Eingriff in die ZEN kann man das völlig vergessen. |
|||
03.04.2002, 13:27 | #17 | |||
HornOx Beiträge: 1.458 |
ist das mit Startup.d ernst gemeint? bei einem beitrag am 1. April mit snschließendem Smilie geh ich mal zu deinen Gunsten davon aus das nicht... Startup wird nur beim neustart ausgeführt und LevelStartTrigger warscheinlich nur wenn man die welt betritt, beides ist beim Laden nicht der fall. Soviel ich bisher weiß gibts keine Möglichkeit für das Script zu erkennen wann/ob der Spielstand geladen wurde. Infomationsübertragung von system->content ist leider laut GülleMüller nicht machbar, ansonsten wärs ja leicht... |
|||
07.04.2002, 14:15 | #18 | |||
GülleMüller Beiträge: 472 |
@Horny: Hab gelesen, daß das Texwexeln mittels TA net gefunzt hat. Weissu wo das Problem liegt? Funzen die TAs nicht? Wie gesagt, ich hab versucht Perceptions in hero zu baun und hab das über TAs gemacht. Scheiterte letzendlich daran, daß hero keine Percs verwalten kann("error: reciver is PC_HERO" oder so). Vielleicht klappts mit "start_aistate". Die überschreibste immer,wenn sich das aussehen des hero ändert.(Anmerk.: Sollte eigentlich der Zustand sein indem sich der NPC nach/beim Einfügen befindet. Könnte aber vom parser abgeblockt werden,weil NPC=PC_HERO :( Hoffen wir 's beste! ) Ich denke mal, daß es im SAVEGAME dann auch mtgespeichert und beim laden überschrieben wird... ps: Habs hierher geschrieben,weils im "Mods" blöd ist, interessiert eh niemanden dort :) |
|||
07.04.2002, 14:35 | #19 | |||
HornOx Beiträge: 1.458 |
quote: start_aistate: bringt ja nix, ich bekomm dann ja auch nicht mit wann das Spiel geladen wird. Das Aussehen speicher ich eh in globalen Variablen. Ich brauche um das Problem zu lösen entweder eine Funktion die nach jedem Laden oder eine Funktion die andauernd ausgeführt wird, beides hab ich bisher nicht gefunden :( |
|||
07.04.2002, 15:04 | #20 | |||
GülleMüller Beiträge: 472 |
quote: Und die werden nicht gespeichert??? Komisch, denn die Story_vars, bzw Missionvars werden doch auch gespeichert und sind nach dem Laden wieder richtig belegt Was war nun mit dem TA? |
|||
07.04.2002, 15:26 | #21 | |||
HornOx Beiträge: 1.458 |
Die werden gespeichert, aber ich muß trotzdem Mdl_SetVisualBody (hero, Storyhelper_Bodymesh, Storyhelper_Bodytex,Storyhelper_Skincolor, Storyhelper_HeadMMS, Storyhelper_Headtex, Storyhelper_Teethtex, Storyhelper_Armor); aufrufen damit die Werte die ich abgespeichert hab auch benutzt werden. zum Ta: Der Spieler kann entweder Tastatur- oder Zustandsgesteuert sein, beides gleichzeitig funkt nicht. Da PC_hero tasterturgesteuert ist wird der TA(Zustandssteuerung) ignoriert :( Wenn ich einen zweiten pc_hero einfüge funkt das ohne probleme, der ist dann ja nicht tasterturgesteuert. performenceprobleme tauchen bei mir durch das häufige(mehrmals pr sekunde) anziehen der Texturen nnicht auf... [edit]da wir eh vom ursprünglichen Thema abgekommen sind mal OT-Zeug: Bei welchem Mod-team machst du eigentlich mit? Ein-Mann-Team oder irgendwas geheimes?[/edit] |
|||
07.04.2002, 16:09 | #22 | |||
GülleMüller Beiträge: 472 |
quote: Obs geheim is weiß ich gar net so recht :). Ich mach mit Harri und Moe was,obwhl ich in letzter Zeit ni viel zu stande gebracht hab. Hoffentlich ändert sich das mit Beginn des Sommersem. (is komisch bei mir, ich gebs ja zu) und wir kriegen es bald fertsch. Wo du es grad ansprichst: Ich würde gern deine "Patches" mit in unseren MOD reinbaun(wird natürlich inner readme aufgelistet) dazu bräuchte ich dann irgendwann die Scriptdats. Ich kann allerdings nicht garantieren, daß alles reinkommt(z.B. was aufgrund der neuen Storyline nix bringt), aber was ich reinbaue wird von mir net angefaßt :D. Ist das Machbar? Ich frag es deshalb, damit ich net irgendwelchen Shit reinhaue, den du dann schon (besser) geändert hast. Bis zum release isses noch n Stück, eigentlich sogar noch n ganz schön großes :(( |
|||
07.04.2002, 17:19 | #23 | |||
HornOx Beiträge: 1.458 |
Jap, ist machbar. Allerdings muß ich erst noch den Code soweit ausbessern das du mich nicht auslachst wenn du ihn ließt ;) Wenn's soweit ist schreib ich in den Sammelmodthread den Link... |
|||
07.04.2002, 17:44 | #24 | |||
GülleMüller Beiträge: 472 |
Nochwas: Hattest du nich den NPC Maker auf Html-Basis in Planung? Ich würde ihn gern mal testen(muß etwa 15-20NPCs erstelln.Außerdem bin ich wie gesagt (schreib-) faul... :) ) |
|||
07.04.2002, 18:22 | #25 | |||
HornOx Beiträge: 1.458 |
Der ist weiterhin "in Planung" ;) Ich werde schau mal das ich die gröbsten Dinge bis nächstes Wochenende fertigkriege. Aber Serverseitig setzt das Teil Perl vorraus, bist du in der Lage Apache und (Active)Perl bei dir zu instalieren oder muß ich mich auf die (IMO ergebnislose) Suche nach kostenlosen Webspace machen der Perl erlaubt? Eine Alphaversion bei der warscheinlich Sicherheitsbugs vorhanden sind will ich irgendwie nicht auf meinen Uniaccount installieren Eigentlich war mein "Deadalus per Webbrowser"-Projekt geheim, deshalb nach Möglichkeit ab jetzt nur noch per ICQ oder E-Mail darüber reden. Solange ich nicht weiß wie gut/weit das umsetztbar ist will ich nix veröffentlichen... |
|||
|