Forum

> > Stranded II > Allgemein > Stranded2 scripts
Forums overviewStranded II overviewAllgemein overviewLog in to reply

German Stranded2 scripts

22 replies
Page
To the start Previous 1 2 Next To the start

old Stranded2 scripts

Dark Wizard
COMMUNITY BANNED Off Offline

Quote
Dc, hast du die scripts übersetzungsweise gemacht oder tatsächlich mit types und fields?

Also ich habe das übersetzungsweise gemacht und mich würde das mal mit types und fields ineressieren.

Wenn meine Theorie stimmt, was eigentlich stimmen muss weil du es nicht anders gemacht haben kannst, das dauert doch viel zu lange und ist kompiziert?

Kannst du mir diese Art mal bitte erklären wie du das gemacht hast?

Danke. Thread nur aus reiner Interesse eröffnet.

old Re: Stranded2 scripts

DC
Admin Off Offline

Quote
Der Scriptparser selbst braucht eigentlich keine Types. Die Scripts liegen in der Form eines Strings vor. Die Zeilen werden durch ¦ getrennt:
Zeile1¦Zeile2¦Zeile3 ... ZeileN
Wenn ein Scripts geparsed werden soll werden die Zeilen in ein Array gehauen (Dim). Dann wird mit 2 Schleifen der Code Zeile für Zeile und Zeichen für Zeichen durchgegangen. Mithilfe der String Befehle (mid,left,right etc.) wird das Ding dann Stück für Stück zerbröselt und verarbeitet.
Etwas kompliziert ist es natürlich. Und all zu schnell auch nicht. Daher basiert es ja auf Events, so dass Scripts nur bei bestimmten Ereignissen überhaupt geparsed werden müssen.

old Re: Stranded2 scripts

mk
User Off Offline

Quote
mich interessiert das auch

wenn der Code irgendwann mal opensource wird, würd ichs mir gern anschauen

old Re: Stranded2 scripts

Dark Wizard
COMMUNITY BANNED Off Offline

Quote
Das wirst du eh nicht verstehen, da SOWAS sehr schwer ist zu alalysieren.

Ich kann dir meinen Compiler Source code geben(Falls du C++ oder Bm kannst).


Dc, ich verstehe dich nur Teilweise. Könntest du mir eventuel den source code schicken.


Was ich bei dieser Methode nicht verstehe ist, wie funktioniert das mit den Variabeln bei dir. Ohne types und fields geht das nicht. Da man ja unendlich Veriabeln machen und denen einen Wert zuweisen kann.
Und das mit den Entscheidungen im Zusammenhang mit den Variabeln ist mir bei dieser Methode auch nicht so klar.

Natürlich werde ich nichts damit machen. Ich will mir nur DEINE Art angucken, wie du es gemacht hast.

old Re: Stranded2 scripts

Ninja
User Off Offline

Quote
naja dafür brauchst du dan aber auch nur einen teil des sourccodes und nicht den ganzen

old Re: Stranded2 scripts

k.o.g.
User Off Offline

Quote
Ich programmiere gerade auch eine eigene Sprache für Metamod2D, ich muss sagen, es ist sau schwer! DC leistet mit seiner Sprache viel.

Meine ist derzeit einfach scheisse
336 Zeilen und viel zu schwer gebaut.

old Re: Stranded2 scripts

Dark Wizard
COMMUNITY BANNED Off Offline

Quote
Nein. So schwer ist das nicht. Nur das, wie man Variabeln einen Wert zuweist und sie dann benutzen kann, das ist mit dieser Methode nicht so leicht.
Hier, ich habe mal ein Beispiel für euch geschreiben:

file=readfile("script.txt")

while not eof(file)
lin$=readline(file)

for a=1 to len(lin$)
if mid(lin$,a,5)="show:" then
print mid(lin$,a+5,len(lin$))
endif
next

wend


Klappt 100%.




Schon hat man einen Befehl, nämlich show. Der zeigt an, was danach(a+5(5 ist gleich die Länge des Befehls)) steht, NUR BIS ZUM ENDE DER ZEILE.

Also so müsste es DC meiner Meinung nach gemacht haben. So würde ich es mit Blitz3D auch machen.
So habe ich es auch bei der Konsole meines Browser gemancht.

Das TGM ist natürlich auch so aufgebaut.
edited 2×, last 18.03.06 08:54:15 pm

old Re: Stranded2 scripts

DC
Admin Off Offline

Quote
Ja. Stark vereinfacht habe ich es nach genau dem Prinzip gemacht.
Für die Variablen selbst benutze ich natürlich schon Types, das stimmt.

old Re: Stranded2 scripts

Dark Wizard
COMMUNITY BANNED Off Offline

Quote
DC, hast du mich auf der ignore list oder warum antwortest du nicht?


Ja, meine Konsole habe ich auch so gemacht. Anders würde es auch nicht gehen.
edited 1×, last 18.03.06 09:12:22 pm

old Re: Stranded2 scripts

HW
User Off Offline

Quote
Eine For Schleife ist da auch nicht nötig, da es dafür Instr gibt. Das liefert dann die Position zurück.

old Re: Stranded2 scripts

Dark Wizard
COMMUNITY BANNED Off Offline

Quote
Das stimmt so nicht. Bei diesem Beispiel wär das richtig, aber wenn man machen will, dass man mehrere Befehle in einer Zeile schreiben will, dann muss man das nach meinem Prinzip machen.


Aber nach deinem Prinzip wär es so:

file=readfile("script.txt")

while not eof(file)
lin$=readline(file)
pos=instr(lin$,"show:",1)

if pos<>0 then
print mid(lin$,pos+5,len(lin$))
endif

wend

Klappt auch 100%.

Warum die Entscheidung? Weil wenn man sie weglassen würde, dann würde bei jeder gelesenen Zeile ein string angezeigt werden, der vom Anfang bis fünf Schritt nach rechts geht.

Und wenn Instr=0 ist, dann exestiert der String nicht, weil Instr so nie 0 sein kann. Die kleinste Position der angegebenen Value im String wär 1.
edited 1×, last 18.03.06 09:27:18 pm

old Re: Stranded2 scripts

k.o.g.
User Off Offline

Quote
Ja dein beispielt ist sehr leich, bloss bei einer IF abfrage wird es dann schon einbisschen schwiriger.

Meine Scriptsprache ist zu simpel aufgebaut, ich denke, ich muss nochmal neu anfangen.

Wenn jemand lust hat sie einbisschen anzuschauen:
[schleichwerbung]Klick hier[/schleichwerbung]

old Re: Stranded2 scripts

DC
Admin Off Offline

Quote
Sobald es komplexer wird, ist instr in der Tat keine all zu gute Wahl mehr.

Und ja Dark Wizard. Ich habe dich zum Schutz meiner Nerven auf der Ignore Liste, weil offensichtlich die Hälfte von dem was dir in ICQ schreibe nie ankommt. Und das macht so keinen Sinn (hast du ja selbst gesehen als du das UDP Ding mit mir testen wolltest. Ich habe dir die IP wirklich verdammt oft geschrieben aber sie kam offensichtlich einfach nicht an). Also bevor ich da komplett ausflippe lasse ich das lieber ganz.

old Re: Stranded2 scripts

Dark Wizard
COMMUNITY BANNED Off Offline

Quote
Ist ja auch die einzige Möglichkeit wenn man es nicht nachdem Übersetzprinzip macht(Was eigentlich nur mit Assembler geht).


Ey das ist unfair. Bitte add mich in deine contact list.
Ich kann doch nichts dafür.
Ich hole mir schnell ein anderes ICQ.
Ich will dich heute noch was fragen.

old Re: Stranded2 scripts

k.o.g.
User Off Offline

Quote
Hmm DC hast du dann noch eine andere Idee ausser Instr, mein Code wird leider immer unübersichtlicher, vorallem die IF abfrage, die kann nur einmal ausgeführt werden z.B.:
1
2
3
4
5
if chattxt=test then
  if admin=1 then
    echo "test";
  endif
endif

old Re: Stranded2 scripts

Dark Wizard
COMMUNITY BANNED Off Offline

Quote
Ja, z.B mit Mid. NAnch dem Prinzio oben. Das ist die so wohl beste Möglichkeit.

Edit: Oh ups. Du machst ja mit PHP.



DC, schick doch bitte per E-Mail. Man sei doch nicht so.

old Re: Stranded2 scripts

Knartz
User Off Offline

Quote
Dark Wizard has written
Das wirst du eh nicht verstehen, ...


nette sache, du sagst den leuten, was sie nicht können, damit sie nicht ünnötig ihre graue masse einsetzen ...

old Re: Stranded2 scripts

k.o.g.
User Off Offline

Quote
Hää? PHP?
Ich benutze momentan Mid und Instr für meine Sprache in CS2Dn / Metamod2D (für den Dedicated Server)..

old Re: Stranded2 scripts

Dark Wizard
COMMUNITY BANNED Off Offline

Quote
if chattxt=test then
if admin=1 then
echo "test";
endif
endif

Was ist das bitte für eine Sprache?
Ist das ein Gemisch aus BB und PHP?

old Re: Stranded2 scripts

k.o.g.
User Off Offline

Quote
Das wird meine Sprache für Metamod2D -.- und wenn es dir nicht passt, ist es dein problem.
To the start Previous 1 2 Next To the start
Log in to replyAllgemein overviewStranded II overviewForums overview