PBScript - Scriptsprache mit PureBasic-Syntax
Re: PBScript - Scriptsprache mit PureBasic-Syntax
Sowas ist natürlich immer schön zu hören, auch wenn sich mir dein projekt nicht ganz erschließt. aber egal. meld dich ruhig, falls was unklar ist, du anmerkungen hast, oder bugmeldungen. gilt natürlich auch für jeden anderen.
lg kevin
lg kevin



http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
- tft
- Beiträge: 650
- Registriert: 08.09.2004 20:18
- Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
- Wohnort: Dachsen
- Kontaktdaten:
Re: PBScript - Scriptsprache mit PureBasic-Syntax
Hallo,
nur zur Erklärung. Ich schreibe gerade an einem SpaceGame mir Xors3D. Unteranderem sollen die Flugmanöver
der Schiffe mittels Scrippt gesteuert werden. Es wird diverse Flugmanöver zu Kaufen geben (In Game) Und später
wird es die Möglichkeit geben auch eigene Skripe zu erstellen, um das ganze abwechslungsreicher zu gestalten.
Sicher gibts auch den Freiflug. Aber das steht an anderer Stelle.
Gruss TFT
nur zur Erklärung. Ich schreibe gerade an einem SpaceGame mir Xors3D. Unteranderem sollen die Flugmanöver
der Schiffe mittels Scrippt gesteuert werden. Es wird diverse Flugmanöver zu Kaufen geben (In Game) Und später
wird es die Möglichkeit geben auch eigene Skripe zu erstellen, um das ganze abwechslungsreicher zu gestalten.
Sicher gibts auch den Freiflug. Aber das steht an anderer Stelle.
Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung
PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler

Re: PBScript - Scriptsprache mit PureBasic-Syntax
Absolute klasse 
verwende es zur erweiterung einer app.
Vorschläge wären evtl:
- so wie für Debug für End ein Callback um den
code zu beenden
- fehler texte (error) selbst zu definieren wäre wichtig
vorallem für mehrsprachige ausgabe
- evlt möglichkeiten vorgefertigte funktionen/konstanten zu
deaktivieren wenn eigene verwendet werden
opensource wäre natürlich für manche anpassungen sehr nützlich
aber fals du das projekt nichtmehr weiterführst könntest du es evtl
bereitstellen
weiter so

verwende es zur erweiterung einer app.
Vorschläge wären evtl:
- so wie für Debug für End ein Callback um den
code zu beenden
- fehler texte (error) selbst zu definieren wäre wichtig
vorallem für mehrsprachige ausgabe
- evlt möglichkeiten vorgefertigte funktionen/konstanten zu
deaktivieren wenn eigene verwendet werden
opensource wäre natürlich für manche anpassungen sehr nützlich
aber fals du das projekt nichtmehr weiterführst könntest du es evtl
bereitstellen

weiter so

Re: PBScript - Scriptsprache mit PureBasic-Syntax
Allsooo
@famous:
da du ja ein paar anregungen hast, beziehe ich dich mal mit ein: was hältste denn davon? wäre denk ich ein bisschen einfacher.
oder hast du da vielleicht ne andere idee?
. erstens programmier ich nicht ganz so sauber, also fast keine kommentare, dann ist der source schon recht groß (so 8000 zeilen ca.), und das wichtigste ist, das ich ne menge assambler reinschreiben musste, da ich ja so aufrufe wie 'Dim a.b(10)' manuel machen muss, damit ich arrays und jetzt auch listen eigenständig erstellen kann. aber keine sorge, zur zeit pflege ich das noch gut genug. und das wird auch noch so bleiben. vorallem wenn ich sehe das andere die sprache auch verwenden
.
so noch generell zu sagen ist, das ich grad an einem schwerwiegenden problem hing. strukturen die zu groß waren, haben nicht richtig funktioniert. das hab ich jetzt bereinigt. dann wollt ich noch das tool auf fordermann bringen. es können nämlich immer noch nicht die elemente von arrays oder listen angezeigt werden. die hälfte hab ich da schon.
so, im großen und ganzen wars das erstmal
lg kevin
danke nochmalsfamous hat geschrieben:Absolute klasse
verwende es zur erweiterung einer app.
@famous:
da du ja ein paar anregungen hast, beziehe ich dich mal mit ein:
hmm, ok 'End' sollte mal rein, da ja mit dem 'End' die procedure wirklich beendet wird, kann man ja danach einfach den exitcode abfragen, durch ne neue funktion. sowas zum beispiel:famous hat geschrieben:- so wie für Debug für End ein Callback um den
code zu beenden
Code: Alles auswählen
PBSStartByteCode(0)
Debug PBSGetExitCode()
ok, den nutzen kann ich schon verstehen. ist aber ne sau arbeit. mal sehen wann ich dafür zeit habe. aber schon mal vorweg, wie sollte man den am besten die texte einbinden? das einfachste wäre wohl, dass man selber ne preference-datei schreibt, und sie dann einliest:famous hat geschrieben:- fehler texte (error) selbst zu definieren wäre wichtig
vorallem für mehrsprachige ausgabe
Code: Alles auswählen
; Preference-Datei 'german.ini':
SyntaxError = Syntax-Fehler.
[...]
da sehe ich zwar nicht so ganz den nutzen hinter, aber ist nicht so schwierig umzusetzen. was bräuchtest du denn da? dass man alle funktionen/konstanten deaktivieren kann, oder nur ein paar bestimmte?famous hat geschrieben:- evlt möglichkeiten vorgefertigte funktionen/konstanten zu
deaktivieren wenn eigene verwendet werden
das willst du selbst nichtfamous hat geschrieben:opensource wäre natürlich für manche anpassungen sehr nützlich
aber fals du das projekt nichtmehr weiterführst könntest du es evtl
bereitstellen![]()


so noch generell zu sagen ist, das ich grad an einem schwerwiegenden problem hing. strukturen die zu groß waren, haben nicht richtig funktioniert. das hab ich jetzt bereinigt. dann wollt ich noch das tool auf fordermann bringen. es können nämlich immer noch nicht die elemente von arrays oder listen angezeigt werden. die hälfte hab ich da schon.
so, im großen und ganzen wars das erstmal
lg kevin



http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Re: PBScript - Scriptsprache mit PureBasic-Syntax
ja es ginge nur darum das "End" verwendet werden könnte statt eine procedure
wie "End()".
als array wäre es denke ich nicht schlecht. Was für dich am einfachsten wäre, wobei
eben ein array oder eine datasection besser zum einbinden wäre.
wie "End()".
als array wäre es denke ich nicht schlecht. Was für dich am einfachsten wäre, wobei
eben ein array oder eine datasection besser zum einbinden wäre.

bestimmte wäre natürlich am optimalsten aber alles oder nichts wäre auch schon hilfreich ^^dass man alle funktionen/konstanten deaktivieren kann, oder nur ein paar bestimmte?
meinst du damit sie funktioniert nicht?es können nämlich immer noch nicht die elemente von arrays oder listen angezeigt werden. die hälfte hab ich da schon.
Re: PBScript - Scriptsprache mit PureBasic-Syntax
doch doch, keine angst, kannst arrays und listen benutzen. das tool, was ich zusätzlich bereit stelle, ist so eine art kleiner debugger, mit dem man scripte ausführen kann. es kann auch variablen und ihre werte zur laufzeit anzeigen, allerdings noch nicht die arrays und listen, daran arbeite ich grad noch.famous hat geschrieben:Zitat:
es können nämlich immer noch nicht die elemente von arrays oder listen angezeigt werden. die hälfte hab ich da schon.
meinst du damit sie funktioniert nicht?
lg kevin



http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Re: PBScript - Scriptsprache mit PureBasic-Syntax
Wieder mal eine neue Version, ist aber auch nur ein kleines update. hauptaugenmerk waren die wünsche von famous
und das tool (siehe unten).
Version alpha 0.31:
- (NEU) PBSGetExitCode(), um den Exitcode nach einem End im Script auszulesen
- (NEU) PBSCompilerRenameConstant(), um den Namen einer vordefinierten Konstante zu ändern, oder sie ganz löschen
Im Script:
- (NEU) End mit ExitCode
- Bugfixes (mit großen Structuren gabs Probleme)
Außerdem hab ich mich intensiv mit dem Tool beschäftigt. Nun kann man auch die Elemente von Listen und Arrays beobachten. Allerdings muss ich sagen, dass das mit Listen noch etwas schwammig ist. Zur Laufzeit eines Scriptes sollte man das nicht so intensiv nutzen.
lg kevin

Version alpha 0.31:
- (NEU) PBSGetExitCode(), um den Exitcode nach einem End im Script auszulesen
- (NEU) PBSCompilerRenameConstant(), um den Namen einer vordefinierten Konstante zu ändern, oder sie ganz löschen
Im Script:
- (NEU) End mit ExitCode
- Bugfixes (mit großen Structuren gabs Probleme)
Außerdem hab ich mich intensiv mit dem Tool beschäftigt. Nun kann man auch die Elemente von Listen und Arrays beobachten. Allerdings muss ich sagen, dass das mit Listen noch etwas schwammig ist. Zur Laufzeit eines Scriptes sollte man das nicht so intensiv nutzen.
lg kevin



http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Re: PBScript - Scriptsprache mit PureBasic-Syntax
so meine lieben. viel gewerkelt, und das kommt raus. die beiden wichtigsten neuerungen sind multisprachen unterstützung, d.h. die fehlertexte beim kompilieren oder ausführen, können in verschiedenen sprachen ausgegeben werden (z.z. englisch und deutsch). die katalog-dateien sind im ordner 'Language'.
die zweite große neuerung ist, dass man Konstanten/Proceduren/Variablen vor dem Kompilieren definieren kann. Bei jedem Kompilieren sind sie dann im script bekannt. so müssen z.b. proceduren, die ausgelagert werden, nicht im script definiert werden.
Version alpha 0.40:
- (NEU) Multisprachen Unterstützung
- (NEU) Konstanten/Proceduren/Variablen können vor dem Kompilieren definiert werden
Im Script:
- (NEU) With/EndWith
Genaueres in der Hilfe
lg kevin
die zweite große neuerung ist, dass man Konstanten/Proceduren/Variablen vor dem Kompilieren definieren kann. Bei jedem Kompilieren sind sie dann im script bekannt. so müssen z.b. proceduren, die ausgelagert werden, nicht im script definiert werden.
Version alpha 0.40:
- (NEU) Multisprachen Unterstützung
- (NEU) Konstanten/Proceduren/Variablen können vor dem Kompilieren definiert werden
Im Script:
- (NEU) With/EndWith
Genaueres in der Hilfe
lg kevin



http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Re: PBScript - Scriptsprache mit PureBasic-Syntax
So lang hats gedauert, hier wieder eine neue Version. Diesmal nicht ganz so viel neues (zumindest nach außen hin
).
Hauptaugenmerk diesmal die Multithreadunterstützung:
Version alpha 0.50:
- (NEU) Komplette Umprogrammierung des Compilers zur Multithreadunterstützung (gleichzeitiges Kompilieren mehrerer Scripte ist nun möglich)
- (NEU) Structuren können vor dem Kompilieren definiert werden
Im Script:
- (NEU) Extends bei Structure
lg kevin

Hauptaugenmerk diesmal die Multithreadunterstützung:
Version alpha 0.50:
- (NEU) Komplette Umprogrammierung des Compilers zur Multithreadunterstützung (gleichzeitiges Kompilieren mehrerer Scripte ist nun möglich)
- (NEU) Structuren können vor dem Kompilieren definiert werden
Im Script:
- (NEU) Extends bei Structure
lg kevin



http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Re: PBScript - Scriptsprache mit PureBasic-Syntax
Hallo,
erstmal danke für die Bereitstellung dieser tollen Scriptsprache. Ich spiele gerade ein wenig mit der Multithread-Unterstützung und habe da ein anliegen. Wäre es möglich globale Variablen zwischen Scripts "geteilt" zu machen, soll heißen wenn ich in einem Script eine Variable ändere, daß sie dann automatisch in jedem Script geändert wird. Ich stelle mir in dieser Richtung folgendes vor:
Script 2 setzt also Quit auf 1, womit das erste Script beendet wird.
Irgendeine Chance so etwas umzusetzen?
Gruß
MAC
erstmal danke für die Bereitstellung dieser tollen Scriptsprache. Ich spiele gerade ein wenig mit der Multithread-Unterstützung und habe da ein anliegen. Wäre es möglich globale Variablen zwischen Scripts "geteilt" zu machen, soll heißen wenn ich in einem Script eine Variable ändere, daß sie dann automatisch in jedem Script geändert wird. Ich stelle mir in dieser Richtung folgendes vor:
Code: Alles auswählen
Define string.s, string2.s
Define *bytecode, *bytecode2
Define vartype.PBSVarType
; Script 1:
string = #LF$
string + "Global val=0"+#LF$
string + #LF$
string + "While Quit=0"+#LF$
string + " For t=0 To 10 : Next"+#LF$
string + " val+1"+#LF$
string + "Wend"+#LF$
; Script 2:
string2 = #LF$
string2 + "For t=0 To 60000 : Next"+#LF$
string2 + "Quit=1"+#LF$
; Globale Variable Quit für alle Scripts bereitstellen
vartype\type = #PBSType_Integer
PBSCompilerAddVariable("Quit",vartype)
; Threadstart-Procedure
Procedure Start(wert)
PBSStartByteCode(wert)
EndProcedure
; Script 1 kompilieren
*bytecode = PBSCompileScriptString(string)
If (*bytecode = #Null)
MessageRequester("Compiler-Error", PBSGetErrorText())
End
EndIf
; Script 2 kompilieren
*bytecode2 = PBSCompileScriptString(string2)
If (*bytecode2 = #Null)
MessageRequester("Compiler-Error", PBSGetErrorText())
End
EndIf
; Script 1 starten
PBSOpenByteMemory(0, *bytecode)
t1=CreateThread(@Start(),0)
Debug "Script 0 gestartet."
; Script 2 starten
PBSOpenByteMemory(1,*bytecode2)
t2=CreateThread(@Start(),1)
Debug "Script 1 gestartet."
Repeat
Debug "Val="+Str(PBSGetVariableInteger(0, "val"))
Debug "Quit1="+Str(PBSGetVariableInteger(0, "Quit")) ; Quit in Script 1
Debug "Quit2="+Str(PBSGetVariableInteger(1, "Quit")) ; Quit in Script 2
Debug "---"
ForEver
PBSCloseByteScript(1)
PBSCloseByteScript(0)
End
Irgendeine Chance so etwas umzusetzen?
Gruß
MAC
Windows XP 32-bit SP3, Windows 7 64-bit, PB 4.60, PB 5.11, PB 5.20