Ein Programm sehr nützlich für jeden Scripter. Bitte Lesen!

  • Servus liebe Breadfish Community,


    ich fange direkt mal mit meinem Anliegen an.


    Also ich hab mir die Tage mal ein paar Gedanken wegen PAWN gemacht.
    Findet ihr es nicht auch umständlich immer alles in eine Datei reinzuschreiben? Ich finde das ziemlich unübersichtlich.
    Nun habe ich mich aber von einem Freund von mir inspirieren lassen, dieser Arbeitet mit Lua und in dort ist es tatsächlich so das man nicht alles in eine Datei schreibt.


    Ich bin am überlegen ein Programm/eine Funktion zu schreiben die es uns bei PAWN ebenfalls erlaubt mehrere Dokumente anzulegen aber diese gleichzeitig zu nutzen.
    Das ganze würde dann folgendermaßen ablaufen,


    Das Beispiel:


    Ihr habt ein "Grund Script".
    Nun besitzt dieses Script aber kein Login/Register System, also schreibt ihr eines in eine neue .pwn Datei.
    Dann fällt euch aber auch ein das ihr noch kein Autohaus besitzt, also schreibt ihr nun auch wieder eines in eine neue Datei.
    Und zu guter letzt braucht ihr noch ein Admin System also schreibt ihr wieder eine neue Datei.
    Heißt im großen und ganzen das ihr nun 4 Dokumente habt.


    Und nun würde meine Funktion ins Spiel kommen, dieses Programm/diese Funktion füttert ihr mit euren 4 Dateien und mein Programm erzeugt daraus eine .amx Datei.
    Durch die Datei könnt ihr nun einen Server betreiben und es bleibt trotzdem übersichtlich.


    Mir ist bewusst das man auch alles über Filterscripts laufen lassen könnte, doch das finde ich ein wenig umständlich.
    Und ich glaube man kann auch nur eine bestimmte Anzahl an Filterscripts im Script einbinden.


    Wie findet ihr diese Idee?
    In was für einer Sprache sollte ich das Programm am besten schreiben?
    Denkt ihr die Funktion bzw. das Programm hätte eine Zukunft?


    Mir ist klar das die Umsetzung sehr lange dauern kann, doch das nehme ich natürlich in kauf.
    Ich versuche damit das scripten zu revolutionieren und es übersichtlicher und einfacher zu gestalten.



    Vielen dank für ihre Aufmerksamkeit.
    Kritik, Feedbacks und der gleichen alles erwünscht.
    Liebe Grüße


    Alle Menschen sind eins. Was sie unterscheidet, ist der Name, den man ihnen gibt.
    (Buddha)


    Uns zivilisierten Menschen ist zwar gelungen, das Raubtier in uns auszuschalten, nicht aber den Esel.
    (Winston Churchill)


    Wenn du denkst, die ganze Welt sei schlecht, dann vergisst nicht, dass Leute wie du darin leben.
    (Mahatma Gandhi)

  • Diese Funktion gibt es schon. Sie nennt sich "include".

    Ich meine das aber anders...
    Schau dir mal Lua an, da kannst du ein komplettes Script in einzelnen Dokumenten schreiben.
    Und das habe ich für PAWN auch vor. Damit könnte ein Script in Zukunft aus 5 Teilen oder noch mehr bestehen, es bleibt einfach übersichtlich.


    Du hast dann zum Beispiel:
    1. Autohaus.pwn
    2. Admin.pwn
    3. Login/Register.pwn
    4. Job.pwn
    5. Fraktionen.pwn
    6. Missionen.pwn.
    7. Tutorial.pwn


    Und so weiter und so fort, ich hoffe es ist verständlich was ich meine.
    Danke.


    Trotzdem vielen dank für dein Feedback,
    Lg


    Alle Menschen sind eins. Was sie unterscheidet, ist der Name, den man ihnen gibt.
    (Buddha)


    Uns zivilisierten Menschen ist zwar gelungen, das Raubtier in uns auszuschalten, nicht aber den Esel.
    (Winston Churchill)


    Wenn du denkst, die ganze Welt sei schlecht, dann vergisst nicht, dass Leute wie du darin leben.
    (Mahatma Gandhi)

  • Zitat

    Und das habe ich für PAWN auch vor. Damit könnte ein Script in Zukunft aus 5 Teilen oder noch mehr bestehen, es bleibt einfach übersichtlich.


    Meinst du jetzt Filterscripts? Denn diese kann man extra laden lassen.


  • Genau das kannst du mit Includes machen.
    PAWN ist nicht objektorientiert oder sonst etwas.

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.


  • Meinst du jetzt Filterscripts? Denn diese kann man extra laden lassen.

    Nein ich meine damit keine Filterscripts.
    Wie kann ich das am besten erklären...
    Ich möchte es schaffen das ein Script so zusagen in Einzelteile zerlegt wird und dennoch durch mein Programm eine AMX Datei erstellt wird.
    Wodurch man dann einen Server betreiben kann...


    Es ist ja allerdings auch nur eine Idee, ich mag Filterscripts zum Beispiel nicht so weil es dort immer mal wieder zu Rückkopplungen kommen kann.
    Nicht jedes Script verträgt Filterscripts..


    Lg



    Edit: Nun gut, anscheinend wird so etwas nicht benötigt.
    Wie bereits erwähnt war es nur eine Idee, dann werde ich mir etwas anderes einfallen lassen um PAWN einfacher zu gestalten..
    Klar könnte man alles mit Includes machen, dann steht jedoch trotzdem alles in einer Datei und das ist das was ich eigentlich nicht möchte.
    Außerdem wird es Anfängern sehr schwer fallen ein eigenes Include zu schreiben da diese wie gesagt Anfänger sind und vielleicht grade einmal die Grundsätze beherrschen.


    Alle Menschen sind eins. Was sie unterscheidet, ist der Name, den man ihnen gibt.
    (Buddha)


    Uns zivilisierten Menschen ist zwar gelungen, das Raubtier in uns auszuschalten, nicht aber den Esel.
    (Winston Churchill)


    Wenn du denkst, die ganze Welt sei schlecht, dann vergisst nicht, dass Leute wie du darin leben.
    (Mahatma Gandhi)


  • Geht mit SAMP auch... man macht sich ein paar Includes, auch in Ordner usw.
    zB


    include ordner

    Code
    [reallife=ordner]
    register_login.inc
    autohaus.inc
    commands.inc
    maps.inc
    [systeme=zwischenordner im Ordner "reallife"]
    handy.inc
    paynspray.inc
    privatcars.inc


    Dann macht man sich eine PWN Datei, die sozusagen die Meta.xml (MTA) ersetzt.
    Das macht man dann so:



    #include <reallife/register_login>
    #include <reallife/autohaus>
    #include <reallife/commands>
    #include <reallife/maps>
    #include <reallife/systeme/handy>
    #include <reallife/systeme/paynspray>
    #include <reallife/systeme/privatcars>

  • Okay, dann wird es bloß eine Idee bleiben.
    Ich habe oben in meinem "Edit" schon geschrieben das es Anfängern aber schwer fallen wird eine Include zu schreiben.
    Ich könnte mich auch ransetzen und für alles was ich brauche eine extra Include schreiben, trotzdem bleibt dann im großen und ganzen alles in einer einzigen Datei.
    Und zwar in einer .pwn Datei und das ist es ja was ich damit eigentlich vermeiden wollte.



    Vielen dank für all eure Feedbacks, dann werde ich in Zukunft mehr Includes schreiben für das was ich brauche oder es direkt im Script einbinden.
    Ich bin auch kein Profi und versteh manchmal nicht ganz wie eine Include geschrieben wird, wird sie auch ganz normal in PAWN geschrieben ?
    Wenn ja dann kann ich mich ja wirklich einmal ransetzen.




    Also damit es klar gestellt ist, ein Include wird genauso wie das Script in PAWN geschrieben?




    Vielen dank, ich denke der Thread kann geschlossen werden.
    Wäre nett wenn noch schnell jemand die Frage mit der Include Sprache beantwortet.


    Lg


    Alle Menschen sind eins. Was sie unterscheidet, ist der Name, den man ihnen gibt.
    (Buddha)


    Uns zivilisierten Menschen ist zwar gelungen, das Raubtier in uns auszuschalten, nicht aber den Esel.
    (Winston Churchill)


    Wenn du denkst, die ganze Welt sei schlecht, dann vergisst nicht, dass Leute wie du darin leben.
    (Mahatma Gandhi)

  • Ich könnte mich auch ransetzen und für alles was ich brauche eine extra Include schreiben, trotzdem bleibt dann im großen und ganzen alles in einer einzigen Datei.


    Ist in MTA aber auch nicht anders. Dort bleibt auch alles an der meta.xml hängen. Ich scripte selber in MTA, und kann
    mit Gewissheit sagen, dass das mit MTA+Lua+XML nicht groß anders ist als SAMP+Include ;)


  • Ist in MTA aber auch nicht anders. Dort bleibt auch alles an der meta.xml hängen. Ich scripte selber in MTA, und kann
    mit Gewissheit sagen, dass das mit MTA+Lua+XML nicht groß anders ist als SAMP+Include ;)

    Okay danke schön, aber wird eine in SAMP die Include denn auch in PAWN geschrieben?


    Alle Menschen sind eins. Was sie unterscheidet, ist der Name, den man ihnen gibt.
    (Buddha)


    Uns zivilisierten Menschen ist zwar gelungen, das Raubtier in uns auszuschalten, nicht aber den Esel.
    (Winston Churchill)


    Wenn du denkst, die ganze Welt sei schlecht, dann vergisst nicht, dass Leute wie du darin leben.
    (Mahatma Gandhi)

  • Eine SAMP Include schreibt man doch wie in PAWN, ausser dass man wohl oder übel publics hooken müsste. Das ist schon
    ein Vorteil, den MTA hat, denn soweit ich weiß kann man das Hooking nicht umgehen, es sei denn man teilt die Includes
    einfach in die verschiedenen Bereiche (publics) ein.

  • Alles klar, vielen dank für deine Information.


    Ich denke der Post kann nun geschlossen werden, ich bedanke mich bei jeden der diesen Post kommentiert hat und sein Feedback hier gelassen hat.
    Liebe Grüße


    Alle Menschen sind eins. Was sie unterscheidet, ist der Name, den man ihnen gibt.
    (Buddha)


    Uns zivilisierten Menschen ist zwar gelungen, das Raubtier in uns auszuschalten, nicht aber den Esel.
    (Winston Churchill)


    Wenn du denkst, die ganze Welt sei schlecht, dann vergisst nicht, dass Leute wie du darin leben.
    (Mahatma Gandhi)

  • Das Script in mehrere Subscripts zu unterteilen ist grundsätzlich mit includes möglich.
    Aufpassen muss man allerdings bei den ganzen Callbacks, da man die nicht ohne weiteres mehrmals einbinden kann.
    Dadurch wird diese ganze Konstruktion aber erst recht entweder kompliziert oder unübersichtlich.


    Von daher ist das nicht wirklich sinnvoll machbar.
    Dass du dir etwas einfallen lassen willst, um SAMP-Scripting effizienter zu machen, ist aber natürlich gut.
    Als kleine Inspiration könntest du dir SAMPHP anschauen: http://forum.sa-mp.com/showthread.php?t=442302

    Professioneller Webentwickler.


  • Von daher ist das nicht wirklich sinnvoll machbar.


    Das stimmt nicht. Ich habe für das neue LoD Script einen "Script Core" geschrieben, der es erlaubt einzelne Systeme in unabhängige Includes zu packen. Das ist alles eine Frage des Scriptings.

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.


  • Das stimmt nicht. Ich habe für das neue LoD Script einen "Script Core" geschrieben, der es erlaubt einzelne Systeme in unabhängige Includes zu packen. Das ist alles eine Frage des Scriptings.

    Ich habe nicht behauptet, dass es grundsätzlich unmöglich ist, aber es ist jedenfalls nicht so einfach, dass man eine Datei anlegt und diese included.
    Wenn du einen solchen Script-Core hast, dann hast du wahrscheinlich in jeder include jedes Callback hooken müssen, richtig?
    Und das ist das, was ich mit umständlich meine :) In anderen Sprachen ist das teilweise wirklich einfacher.

    Professioneller Webentwickler.

  • Ich habe einen Core geschrieben, der Events auslösen kann. In einem einzelnen System kann man dann diese Events hooken. Dadurch geht das scritping viel schneller. Vielleicht werde ich das mal veröffentlichen :)

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.