Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Shark_3D

Treue Seele

  • »Shark_3D« ist der Autor dieses Themas

Beiträge: 311

Wohnort: Hannover

Beruf: Schüler

  • Private Nachricht senden

1

13.06.2003, 15:33

Skriptsparche wie anfangen???

Wie macht man eine Skriptsprache ;D (tolle Frage, ich weis)

Muss man hundete Defines machen oder wie?
"Immer die doppelte Menge"
(Kaufmannsregel Nr.355 von der Lehrkassette 3)

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

2

13.06.2003, 15:43

Meinst du eine Programmieresprache, sowas wie C (vereinfacht!) ?

Da musst du dir halt Schlüsselwörter ausdenken, dann jede Zeile des "Script-Code-Files" nach diesen Schlüsselwörtern durchsuchen...
Dazu musst du erstmal eine gute Suchfunktion schreiben...
Und dann (Beispiel):

Quellcodefile:

Quellcode

1
write Hallo!


Nach Befehlen suchen (C-Quelltext) (Vorher muss die Zeile von oben aus dem Quellcodefile in Zeile geladen werden!):

Quellcode

1
2
3
4
5
6
7
char String[200]; // String zum ausgeben
int Where; // Positioin des Strings

if(instr(Zeile, "write", String, &Where))
{
   printf("Befehl Write gefunden, Ausgabe: \"%s\"", String);
}


Ausgabe:

Quellcode

1
Befehl Write gefunden, Ausgabe: "Hallo!"


Hab so was mal aus Spaß gemacht, um einen "Intelligenten Chat" zu schreiben (der Chat hat geantwortet :D)
alphanew.net (last updated 2011-06-26) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite

3

13.06.2003, 16:17

wäre es dann klug, das ganze in ne dll zu schmeißen, und im Hauptprogramm (exe) so abzufragen:

Quellcode

1
2
3
4
5
6
7
8
9
10
// char Befehl[100] ist der Befehl :)
HMODULE hDll = LoadLibrary("ScriptSprache.dll");
bool (__stdcall *Funktion)(char *);

Funktion = (bool (__stdcall *Funktion)(char *))GetProcAdress(hDll, Befehl);
if (!Funktion)
  EXCEPTION("Fehler");

Funktion(Argumente);
FreeLibrary(hDll);
stay tight, project universe comes back!
### project earth <> 2004 ###

Werbeanzeige