Hey,
Nach langer Abstinenz melde ich mich mal wieder zurück, gleich mit einer Bitte an einen geschulten Scripter!
Es geht um folgendes:
Wie der Titel schon erahnen lässt geht es um Licht und Dunkelheit. Jeder kennt sicherlich den bekannten Licht oder Transparenten Sichtkreis um den Spieler herum. Es simuliert eine Laterne/Fackel oder jegliche andere Lichtquelle in sonstiger Dunkelheit. Mit einem Pic, wo innen eben dieser transparente Bereich ist, lässt sich sowas kinderleicht bewerkstelligen (sicher gibt es auch andere Methoden).
Nun, eine Idee die mir schon Jahre im Kopf herumschwirrte die Kombination eben aus dieser Fackel Simulation und, welch überraschung, aus anderen (ob statisch oder bewegenden) Lichtquellen wie Fackeln oder Wachen auf der Map. Wer sich noch erinnern mag, früher gab es ja nur das oder das andere, aber nicht beide gleichzeitig, zumindest anständig umgesetzt so dass Lichtquellen wirklich Bereiche erhellen.
Irgendwann nahm ich mich der Sache an und probierte ziemlich viel aus, fand am Ende auch tatsächlich eine Möglichkeit heraus, das ganze zu kombinieren. Man schaue sich bitte folgendes Beispiel an:
Wie funktioniert das ganze? Relativ simpel eigentlich, ich nutze da nicht den eigentlich Tint Screen Befehl für das verdunkeln, sondern simuliere stattdessen dies mit einem Picture auf SUB gestellt, welches in dem Fall gelichzeitig die Dunkelheit simuliert und die Fackel des Spielers (der transparente Bereich in der Mitte). Somite können Events, die als Lichtquellen dienen ihren Bereich erleuchten.
Allerdings hat dies zwei Haken.
1. Es ist nicht möglich die Umgebung komplett zu verdunkeln, tut man dies so gibt es auch keinen Lichtquellen mehr zusehen. Das hat wohl offensichtlich was damit zu tun, wie der Maker das ganze mit seinen Viewports, z ebenen etc. regelt.
2. Kommen zwei dieser, auf ADD stehenden, Events (Lichtquellen) zu nah aneinander heran bildet sich ein hässliches Farbkleks Spiel, wie oben rechts zu sehen.
Jedoch sind genau diese zwei Probleme, die mMn dieser Methode das Genick brechen und es, soweit man eben nicht darauf rücksicht nehmen möchte, somit nicht wirklich brauchbar machen... schade :/.
Wenn man heute mal in den weiten des Internets rumstöbert findet man einige Skripte, die genau diese simulierte Lichtspielerei bewerkstelligen, ohne Probleme wie ich sie oben beschrieben habe. Einfach gesagt, soweit ich das richtig verstehe wir da mit nem Bitmap gearbeitet, welches entsprechend die Dunkelheit ist und events oder spezifische X/Y Koordinaten geben Bereiche an, wo dieser Teil des Bitmaps entfernt wird. Wie dem auch sei, das ganze funktioniert und sieht dabei genauso gut aus. Eines davon, das Light Circle Script 1.2, ist so ein Beispiel. Jetzt steht die Frage im Raum, wieso nutze ich nicht dieses? Ganz einfach, Es ist nicht wirklich brauchbar, zumindest für den Zweck wofür ich es brauche. Das trifft auch auf andere zu, die es gibt.
Entweder sind sie "zugemüllt" mit Features wie Tag/Nacht Simulation mit Zeitangabe, Flickering, oder die Lichtbereiche werden direkt vom Skript heraus berechnet und weiß Gott was. Zusätzlich dazu sieht das angesprochene Light Circle Script nicht wirklich schön aus, da kleine quadrate in den transparenten Bereichen zu sehen sind. Also zusammengefasst, nix brauchbares für mich da. Schließlich bin ich auf YouTube auf dieses Video hier gestoßen:
Raziel Light System Script v - 1.5
- YouTube
Und ich dachte, wow, genau das was ich brauche (auf den ersten Blick). Leider, wie es der Zufall wollte, habe ich es nach langer Suche nicht finden können. In keinem Forum, nirgends!
----------------------
Somit erstelle ich u.a. hier diesen Thread mit der Bitte, dass sich ein fähiger Skripter doch bitte dem Problem annehmen möge. Dabei habe ich mir folgende Funktionalität vorgestellt:
- Die Form der eigentlichen Lichtquelle (also beispielsweise ein Kreis oder was anderes) sollte als Quelle eine Grafik (z.B. im Ordner "Lichtform" oder Pictures etc.) haben. Das trifft auch auf die Dunkelheit (und gleichzeitig die Spielerfack in dem Fall) zu.
- Wenn ein bestimmter Buchstabe im Namen des Events steht (z.B. #), dann sollte dieses Event eine Lichtquelle sein
- Mit einem Comment am Anfang des Events sollte die Lichtquelle schließlich konfigurierbar sein... also die Stärke bzw. Transparenz.
- Weiterhin sollte es im Script (sowie auch durch ein Call Script im Spiel) einstellbar sein, wie stark die Dunkelheit ist, also auch die Transparenz.
- Die Lichtquellen sollten beweglich sein (möglichst mit z.B. ein Switch ein und ausschaltbar, das heißt die X/Y Position wird ermittelt oder nicht)
- Um Rücksicht auf die Performance zu nehmen, sollten die Lichtquellen nur gezeichnet werden, wenn auch der Spieler wirklich diese zu Gesicht bekommen kann. Das bedeutet so viel, dass besipielsweise
nur Lichter dargestellt werden, wenn Spieler X/Y so viel entfernt ist (logischerweise würde man hier 20/15 nehmen)
Danke fürs Lesen, ich hoffe auf Antworten! Wäre echt super, wenn jemand Interesse zeigen würde, bin sicher dass ich nicht der einzige bin der daran Interesse hätte.
greetz