Hi Mike,
neotoma hat geschrieben:Er meckert immer, das #E_NEWGAME nicht kenne. Bug?
also das hat mich doch schon sehr verwirrt. Dann hat ich gesehen, dass du im Enumerations-Block kein Zeilenumbruch hat. der ist also in einer einzigen zeile. dann hats mich verwirrt, das kein fehler angezeigt wurde. und schließlich hab ich gesehen, dass hinter dem kommentar "; Some events" auch kein Zeilenumbruch ist. demnach ist der gesammte Enumerations-Block im kommentar.
HAHA kein Bug von PBScript

.
ich glaube, wenn man wirklich dann ein script schreibt, sollte man es in einer seperaten datei machen. dafür gibts ja PBSCompileScriptFile().
neotoma hat geschrieben:Nur wenn ich den mit str()-zusammengeklebten String nutze steigt er aus.
ist ein bug.. funktioniert auch noch mit 0.24 und pb 4.40. hab halt nicht viel getestet mit der neuen version. ich musste da doch vieles umschreiben, da strings und numerics nicht zusammen in structureunion stehen dürfen. böses PB!!!!!!!
naja egal, werd mit drum kümmern. ich hoffe morgen, kanns aber nicht versprechen.
So nun zu den wünschen:
neotoma hat geschrieben:Außerdem - wäre es ganz hilfreich, wenn man Constanten 'Nachreichen' könnte.
Also per Programm. Ich weiß nicht nicht, ob das mit Deinem Bytecode geht.
Tja, das wird wohl leider nicht gehen, sorry. Denn genau so wie PB, werden in PBScript die konstanten und auch operationen mit konstanten zur COMPILEZEIT berechnet und eingefügt. also im bytecode sind gar keine konstanten vorhanden. es gibt sie quasi gar nicht mehr. das muss auch so sein: z.b. bei einer for-schleife ist der 'Step'-Wert eine konstante. jenachdem ob diese konstante negativ oder positiv ist, sieht letztentlich die schleife im script aus. das muss leider zur compilezeit feststehen.
neotoma hat geschrieben:BTW: Wäre es nicht möglich, die Debug-Ausgabe aus dem Script nach PB umzuleiten?
also wenn ich das richtig verstehe, du möchtest 'Debug' auch im script benutzen. und dann soll das in pb angezeigt werden. ich glaub so einfach wäre das nicht möglich. na obwohl ich könnte es aber mit einem callback-aufruf realisieren. also so (pseudocode):
Code: Alles auswählen
Script:
Debug "Hallo"
Debug 2
--------------
PB:
Procedure ScriptDebug(str.s)
Debug str
EndProcedure
PBSSetDebugCallback(@ScriptDebug())
...
Bei jedem 'Debug' im script würde dann die procedure aufgerufen werden, die man mit PBSSetDebugCallback() z.b definiert. wäre echt ne idee. werd ich denk ich reinbauen.
so das wars erstmal. ich hoffe ich hab alles so weit beantwortet.
lg kevin