Ergebnis 1 bis 18 von 18

Thema: Split Screen Skript Beta Version

  1. #1

    Split Screen Skript Beta Version

    Ich hab den gleichen Thread auch im Quartier eröffnet, nun ist der Ring dran.
    Mein Split Screen Skript ist fast fertig, ich verwende Ineluki's Keypatch, Spieler 2 steuert man mit WASD und N-Taste...
    (readme lesen)

    Aber es gibt noch ein paar Probleme, weswegen ich mich an die Technikbegabten unter euch wende. Und zwar macht mir folgendes zur Zeit am meisten zu schaffen: Spieler 2 kann sich nicht weiterbewegen (bleibt nach einem Schritt stehen) wenn er seine Richtungstasten
    (WASD) gedrückt hält.
    Also, wenn ihr Zeit/Bock habt und euch am besten noch mit dem Tastenpatch auskennt, könnt ihr mir vielleicht helfen.

    Wie dem auch sei, hier ist die Beta Version meines Split Screen Skriptes (wie gesagt funzt die Steuerung von Spieler 2 noch nicht optimal, und ein paar andere Sachen bedürfen auch noch ein wenig Überarbeitung) aber im Großen und Ganzen ist es lauffähig.
    Der Ineluki Keypatch wird genutzt und die Steuerung von Spieler 2 ist fast 1zu1
    aus der Keypatch Demo "2Player Hack'n'Slay" oder wie das hieß, übernommen.
    Vielleicht kann mir ja jemand helfen, das Skript zu beenden... derjenige würde natürlich extra in den Credits mitgenannt werden.
    Eine readme liegt bei, wenn trotzdem noch fragen zum Skript auftauchen, einfach eine PN an mich.

    Hier der Link:
    edit: -> verbesserte Version siehe 7. Post

    Screen1:


    Screen2:


    Screen3:


    Ich würd mich auch über eure Meinungen freuen (aber bedenkt es ist noch eine BetaVersion) und Verbesserungsvorschläge die noch nicht in der "To Do Liste" der readme auftauchen.

    Geändert von Ryo Saeba 1000 (05.06.2004 um 03:04 Uhr)

  2. #2
    Mein 2. Spieler kann sich überhaupt nicht fortbewegen. Ansonsten ist das Skript sehr stockend, aber es ist Splitscreen. =)


    edit: ja, ich hab den keypatch auch.

  3. #3
    Spieler 2 geht garnicht (WASD-Tasten reagieren nicht?)
    Mist, kA woran das liegen könnte, bei mir funzts und
    da du ja auch den Keypatch installiert hast (obwohl's daran
    eigentlich nicht liegen kann oda?)

    hmmm.... stocken tut's bei mir auch net so sehr, zumindest nicht im FullScreen
    Modus (hab nen 1GHz Rechner mit 512 MB Ram)

    Geändert von Ryo Saeba 1000 (01.06.2004 um 07:19 Uhr)

  4. #4
    bei mir geht er irgendwie auch nicht...
    ka, woran das liegt,
    aber es ist mal eine sehr schöne Idee mit dem Splitscreen!
    Man müsste es ein wenig entbuggen, dann könnte man richtig coole Multiplayer Games damit machen.

  5. #5
    Muss wohl am Keypatch liegen, hab aber keine Idee woran genau...
    Ich glaube nicht, dass es etwas bringt, wenn ich meine RTP-Exe mit packe, oder meine Harmony.DLL (die wird ja sowieso beim starten neu geschrieben)

    Wie gesagt hab ich's bei mir mehrmals getestet (runtergeladen, entpackt und normale RTP-Exe eingefügt) Spieler 2 lässt sich bei mir mit den WASD-Tasten steuern.

    kA wie man rauskriegen kann woran's liegt
    aber was mir spontan einfallen würde:
    -habt ihr den Keypatch Version 1.2 ?
    -kann vielleicht jemand posten was in seiner Harmony.DLL steht
    (nachdem Skript gestartet wurde)

    ansonsten fällt mir erstmal auch nix weiter ein...

  6. #6
    bei mir funtz das alles supy dupy ist hammer geilo mega boa hammer leider kapier ich NIX ist halt wie das kolisions script cool aber niemand versetht es recht.

  7. #7
    cooles script, gefällt mir.
    stockt nur leider wegen den vielen set event place befehlen. und wenn die map dann auch noch größer und etwas.. naja... aufregender gemappt wird ^^°
    aber gut gemacht, respekt

    Zitat Zitat
    aber niemand versetht es recht.
    niemand würde ich jez nicht sagen. das kolisionsscript war eigentlich sehr leicht aufgebaut. wenn man genug übung mit dem maker hat, musste man sich nur kurz einlesen, dann war der aufbau schon klar. dieses script hier ist natürlich anspruchsvoller, aber wenn man sich ein bisschen damit beschäftigt, ist das prinzip auch klar.

  8. #8
    Hier ist noch ein Link für alle, die den Tastenpatch nicht installieren wollen.
    (vielleicht weil schon der Picture Patch drauf ist...)

    edit:verbesserte Version mit harmony.dll
    http://www.goryosaeba.de/ftp/Split_S...armony.dll.zip

    verbesserte Version ohne harmony.dll
    http://www.goryosaeba.de/ftp/Split_Screen_Skript.zip

    Die im ersten Download enthaltene Harmony.dll sollte es ermöglichen den Keypatch im Skript zu nutzen, auch wenn ihr den Patch nicht installiert habt.


    edit: BlueGesyr vom Quartier hat mir geholfen die Steuerung des 2.Spielers zu verbessern, ist allerdings immer noch nicht optimal, da die Steuerung manchmal zu spät reagiert/stockt.

    Wenn jemand eine Lösung für dieses Problem hat, imma her damit...

    Geändert von Ryo Saeba 1000 (02.06.2004 um 04:26 Uhr)

  9. #9
    Ich hab mir das ganze mal angeguckt und bin zu folgendem Ergebnis gekommen:
    - Der MidiPlayPosition(Tick)-Befehl muss mit einem darauf folgenden 0.0 Wait in einen extra Paralal Process (zumindest geht es bei mir sonst nicht).
    - Der Keypatch fragt nicht ab, ob eine Taste gerade gedrückt wird, sondern speichert das Reindrücken und Loslassen einer Taste für einen kurzen Moment als die unter MidiPlayPosition(Tick) angegebene Variable(nenne sie ab jetzt Keypatchvariable).Um das in einen "Festhalte-Abfrage-Befehl" umzuwandeln, Muss der Wert der Keypatchvariable in einer zweiten Variable gespeichert werden, die allerdings nicht aus acht Werten besteht(drücken runter, drücken links, drücken rechts, drücken hoch, loslassen runter, loslassen links, loslassen rechts, loslassen hoch) sondern aus den vier erst Genannten, wobei beim Loslassen einer Taste die Variable wieder auf null gesetzt wird (ACHTUNG: Nur auf Null setzen wenn auch gerade in diese Richtung gelaufen wird; sonst läuft er nach rechts (rechts drücken), dann nach oben (zusätzlich hoch drücken) und bleibt beim Loslassen von rechts stehen). Diese Prozedur funktioniert allerdings nur, wenn die Person bei einer Bewegung "repeat aktion" erhält und bei Loslassen der Taste dieser Befehl unterbunden wird.

    Ich glaub das versteht jetzt kein Mensch (außer Ineluki und der betet mir dann vor, was ich alles falsch erklärt habe ).

    Ob jetzt verstanden oder nicht: Ich bitte um Antwort, sonst sitz ich hier ganz allein auf meiner Doktorarbeit...

    Hoffe ich konnte helfen .

  10. #10
    Beziehst du dich eigentlich auf die verbesserte Version?
    Bei der ist das Gedrückthalten eingebaut.

    Naja, trotzdem mal untersuchen was du da so schreibst...
    Also, soweit ich das verstanden habe, soll ich die zwei Zeilen:

    Variable Ch:[0201:Steuerung Spieler 2]Set,MIDI Play Pos.(Tick)
    Wait: 0.0s

    in eine extra CE packen (auf PP)
    danach speichere ich Variable Nr.201 in einer beliebigen anderen Variable, und frage diese dann ab, ob sie einen der vier Werte enthält, die dem Loslassen einer Taste entsprechen.
    Bei Erfüllung einer dieser 4 Forks (da 4 Werte) wird die Variable auf Null gesetzt und das Move Event gestoppt.
    (Move Event steht ansonsten auf Repeat Action)

    klingt net so schlecht, ich hab das ganze ja immer versucht per Switch hinzukriegen (gedrückt auf on...)
    und schlussendlich hat es BlueGesyr mit Labels im CE "Steuerung Spieler 2" hingekriegt, stockt halt bloß noch ab und an.

    Ich wollte eigentlich nun auf BlueGesyr's und meinem Code weiter aufbauen und dachte, dass es nicht so schwer wird, das Stocken der Steuerung von Spieler 2 (er bewegt sich ja nun bei "Gedrückthalten") aus der verbesserten Version zu beseitigen...

    deine Methode klingt gut, aber da müsste ich imo wieder einiges ändern/über den Haufen werfen, oda?

    wenn's nicht zuviel Umstände macht kannst du deine Idee ja mal etwas genauer schildern oder mein Skript ändern,
    natürlich nur wenn du Zeit/Lust dazu hast.

  11. #11
    Zitat Zitat
    Ich glaub das versteht jetzt kein Mensch (außer Ineluki und der betet mir dann vor, was ich alles falsch erklärt habe ).

    Ob jetzt verstanden oder nicht: Ich bitte um Antwort, sonst sitz ich hier ganz allein auf meiner Doktorarbeit...
    Ach was .. war doch eigentlich ne schoene Idee .. und ich habs sogar wirklich verstanden ^^ .. doch es geht imho noch einfacher ...

    Der Tastenpatch unterstuetzt ja sowohl Tastendruck- als auch -loslassereignisse. Deshalb koenntest du beispielsweise beim Druecken von W 4 zurueckgeben lassen, und beim loslassen von W 5 zurueckgeben. Dann machst du im PP, wo mit GetMidiPosTick der Wert Abgefragt wird eine Fork rein, wo jeder wert abgeprueft wird, und setzt bei 4 einen Switch auf ON und bei 5 auf Off. Entsprechendes machst du auch mit den anderen Richtungen. Dann hast du einen weiteren PP, der diese Switches ueberprueft und dementsprechend dann das Move Hero macht. So laesst sich auch problemlos siagonallaufen einbauen.

    Fuer das folgende Codebeispiel nehme ich mal an, dass die KeyList.script.wav entsprechend geaendert wurde, das das Druecken bzw loslassen der Entsprechenden Tasten den vor // angegeben Werten entspricht. Zudem kann der Tastenpatch gefahrlos mit einem ChangeSwitch [001] an bzw abgeschaltet werden. Selbst Diagonallaufen wird unterstuetzt ^__^

    Code:
    PP 1 aktiviert durch Switch [001]
    
    PlaySoundEffect(MidiTickClear.script.wav)
    cycle
    fork switch[001]=OFF
     breakcycle
    endfork
    ChangeVariable [001:TastenID] GetMidiPlayPosTick
    fork TastenID = 1 // W gedrueckt
     ChangeSwitch UpWalk ON
    else
     fork TastenID = 2 // W losgelassen
      ChangeSwitch UpWalk OFF
     else
      fork TastenID = 3 // A gedrueckt
       ChangeSwitch LeftWalk ON
      else 
       fork TastenID = 4 // A losgelassen
        ChangeSwitch LeftWalk OFF
       else 
        fork TastenID = 5 // S gedrueckt
         ChangeSwitch DownWalk ON
        else 
         fork TastenID = 6 // S losgelassen
          ChangeSwitch DownWalk OFF
         else 
          fork TastenID = 7 // D gedrueckt
           ChangeSwitch RightWalk ON
          else 
           fork TastenID = 8 // D losgelassen
            ChangeSwitch RightWalk OFF
          endfork
         endfork
        endfork
       endfork
      endfork
     endfork
    endfork
    wait 0.0
    endcycle
    Code:
    PP 2
    
    fork UpWalk=On 
     fork RightWalk=On
      moveHero DiagRightUp
     else
      fork LeftWalk=On
       moveHero DiagLeftUp
      else
       moveHero Up
      endfork
     endfork
    else
     fork DownWalk=On 
      fork RightWalk=On
       moveHero DiagRightDown
      else
       fork LeftWalk=On
        moveHero DiagLeftDown
       else
        moveHero Up
       endfork
      endfork
     else
      fork RightWalk=On 
       moveHero Right
      else
       fork LeftWalk=On
        moveHero Left
       endfork
      endfork
     endfork
    endfork
    Durch das Anlegen einer autorun.script datei (NICHT *.script.wav) bei den Maps des Spiels mit nachfolgendem Inhalt, kann man sich jedes weitere rumgewurstel am tastenpatch im Maker selber ersparen.

    Code:
    autorun.script
    
    .\sound\KeySupportOn.sctipt.wav
    .\sound\KeyList.script.wav
    .\sound\MidiTickOutput.script.wav
    Im Maker brauch man dann nur noch den Switch [001] an bzw aus schalten, um das PP1 zu aktivieren.

    Zum Thema, was muss ich mitgeben, damit mein Spiel bei jemandem ohne Tastenpatch funktioniert ...

    Die Harmony.DLL wird NICHT jedes mal neu geschrieben, sondern die harmony.LOG Mitgeliefert werden muessen im allgemeinen 3 Dateien.

    1) Harmony.DLL
    2) OldHarmony.DLL
    3) RPG_RT.exe

    Wobei 3) nur dafuer da ist, damit nicht einer zufaellig die Exe von Gnarfs PicPatch dazu kopiert, denn die ruft meinen Patch nicht auf, was die originale RPG_RT.exe jedoch macht.

    Wird wohl wirklich zeit, dass ich mal eine ausfuehrliche Anleitung zum Keypatch schreibe *seuftz*

    Gruss Ineluki

  12. #12
    thx Ineluki, für deine ausführliche Beschreibung des Codes...
    Da werde ich wohl die Steuerung des 2.Spielers doch nocheinmal umschreiben müssen (zumindest die 2 Events).
    Naja, soviel Arbeit ist es ja nun auch nicht
    Eigentlich hätte ich dann erstmal genug Informationen um mein Skript zu beenden, aber hab momentan einfach nicht genug Zeit/Motivation.
    Vielleicht werde ich es verbessern, falls ich es in mein Spiel einbauen sollte, mal schaun...

    Wie sieht's aus?
    Besteht eigentlich viel Interesse eurerseits, dass ich baldigst eine Vollversion des Skripts erstelle???

    PS: Wozu sollte man die OldHarmony.DLL eigentlich mit reinpacken?

  13. #13
    ich find die idee mit dem splitscreen auch voll geil...bin nich so sehr geübt mit dem maker[grundlagen|switches|variablen sind klar!!!]also werd ich den patch wohl eher nich verstehen...
    könnte den jemand für mich begreiflich machen???
    und dann vielleicht auch noch DAS, oder ein ähnliches, ks von mondschein??? dann könnte man nen richtich geles rpg machen...
    ich weiß, ich verlang viel...würde mich freuen, wenns trotzdem jemand tut...

  14. #14
    Merke: Ein KS a la Mondschein und ein Splitscreen machen noch kein gutes RPG.

    Der Satz des Tages. \o/

  15. #15
    die oldharmony.dll ist die originale harmony.dll vom maker. Ohne die kann man z.B. keine Midis oder Wavs mehr hoeren. zudem wuerde der tastenpatch auch nicht geladen werden, weil der auch auf die funktionen in der oldharmony.dll zugreift, und sich selbst beendet, wenn er die nicht findet

    Gruss Ineluki

  16. #16
    Oh, nagut, wenn das so ist.
    Brauchen dann die Leute, die keinen Tastenpatch installiert haben auch die oldharmony.dll um mein Skript abspielen zu können?

    Und wenn ja, reicht es dann diese zusammen mit der harmony.dll in den Projektordner zu packen?

    Geändert von Ryo Saeba 1000 (07.06.2004 um 04:52 Uhr)

  17. #17
    Zitat Zitat
    Original geschrieben von Wischmop
    Merke: Ein KS a la Mondschein und ein Splitscreen machen noch kein gutes RPG.

    Der Satz des Tages. \o/
    ich gib zu, dass daraus nich unbedingt DAS ROG schlechthin wird, aber man hätte geile möglickeiten ein richtich gutes rpg zu bauen.
    man kann die eigentlichen aufgaben des spiels erledigen, kann abba auch noch die trainierten charaktere gegeneinander antreten lassen...
    ich weiß nich was daran so falsch is und finde persönlich, dass das zu einem geilen spiel führen könnte!!!!!!!8)

  18. #18
    jap das reicht einfach dlls zu den maps kopieren und ganzen ordner zippen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •