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.
--
The illusion or impression of never having experienced something
that has actually been experienced many times before
Geändert von Ryo Saeba 1000 (05.06.2004 um 03:04 Uhr)
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)
--
The illusion or impression of never having experienced something
that has actually been experienced many times before
Geändert von Ryo Saeba 1000 (01.06.2004 um 07:19 Uhr)
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.
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...
--
The illusion or impression of never having experienced something
that has actually been experienced many times before
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.
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
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.
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...
--
The illusion or impression of never having experienced something
that has actually been experienced many times before
Geändert von Ryo Saeba 1000 (02.06.2004 um 04:26 Uhr)
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...
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.
--
The illusion or impression of never having experienced something
that has actually been experienced many times before
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 ^__^
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.
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*
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?
--
The illusion or impression of never having experienced something
that has actually been experienced many times before
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...
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
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?
--
The illusion or impression of never having experienced something
that has actually been experienced many times before
Geändert von Ryo Saeba 1000 (07.06.2004 um 04:52 Uhr)
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)