Mit "Gehe zu" Befehl durch eine Tür gehen, NICHT m
-
- Süßwasserpirat
- Beiträge: 258
- Registriert: 22.09.2002, 21:28
- Kontaktdaten:
Dafür brauchst du das obige Script gar nicht. Du verwendest einfach eine Region an der Stelle, an der der Character den Raum verlassen kann. Das standardmäßige Verhalten bei einem Mausklick im Walk Mode ist ja, dass der Character dorthin geht, man aber jederzeit durch Klicken an eine andere Stelle den Character umleiten kann.
Betritt er den Bereich (region) bei einer Tür, dann verlässt er den Raum.
Betritt er den Bereich (region) bei einer Tür, dann verlässt er den Raum.
Du sagst mit einer Region wird der Raum verlassen, wenn der Character den gewählten Bereich betritt, und das will ich nicht. Es soll nicht beim Betreten des Bereiches von dem Spielecharacter der Raum gewechselt werden, sondern beim Anklicken des Bereiches - worauf der Spieler zum Punkt hingeht - und dem darauffolgendem Erreichen des Bereiches. Beim Anklicken geht der Spieler erst hin. Erst wenn man den Punkt angeklickt hat und er SO draufzugeht, soll er den Raum wechseln, nicht wenn er andernfalls irgendwie den Punkt erreicht, z.B. wenn man rechts im Raum ist, in der Mitte ist die Tür, man klickt nach links. Dann geht der Character vorbei, erreicht den Punkt, und geht rein. Er soll aber nur reingehen, wenn der Punkt angeklcitk wurde. Wenn er angeklickt wurde, kann man jedoch jederzeit wieder wegklicken. So!
-
- Süßwasserpirat
- Beiträge: 258
- Registriert: 22.09.2002, 21:28
- Kontaktdaten:
Also... nehmen wir dein Beispiel von der Türe in der Mitte eines Raumes:
1. Du zeichnest einen hotspot über die Türe. Darauf soll der Spieler klicken, wenn der character den Raum verlassen soll.
2. Du zeichnest eine region in der walkable area an der Unterkante der Türe. Sobald der character diese region betritt, verlässt der character den Raum, also entsprechende interaction verwenden.
3. Bei Betreten des Raumes (...before fadein) wird die region abgeschaltet.
4. Bei jedem Mausklick wird die region abgeschaltet.
5. Bei Klick auf den Hotspot wird die region eingeschaltet.
Das Script sieht dann etwa so aus:
// room script file
function room_a() {
// script for room: Player enters screen (before fadein)
DisableRegion (1); // entspricht 3.
}
function on_mouse_click(int button) {
// called when a mouse button is clicked. button is either LEFT or RIGHT
DisableRegion (1); // entspricht 4.
if ((IsGamePaused() == 0) && (button==LEFT) && (GetCursorMode () == MODE_WALK))
{
string loc_name;
GetLocationName (mouse.x, mouse.y, loc_name);
if (StrComp (loc_name, "Tuere") == 0)
{
EnableRegion (1); // entspricht 5.
}
}
}
function region1_a() {
// script for region1: Player walks onto region
NewRoom (1); // entspricht 2.
}
1. Du zeichnest einen hotspot über die Türe. Darauf soll der Spieler klicken, wenn der character den Raum verlassen soll.
2. Du zeichnest eine region in der walkable area an der Unterkante der Türe. Sobald der character diese region betritt, verlässt der character den Raum, also entsprechende interaction verwenden.
3. Bei Betreten des Raumes (...before fadein) wird die region abgeschaltet.
4. Bei jedem Mausklick wird die region abgeschaltet.
5. Bei Klick auf den Hotspot wird die region eingeschaltet.
Das Script sieht dann etwa so aus:
// room script file
function room_a() {
// script for room: Player enters screen (before fadein)
DisableRegion (1); // entspricht 3.
}
function on_mouse_click(int button) {
// called when a mouse button is clicked. button is either LEFT or RIGHT
DisableRegion (1); // entspricht 4.
if ((IsGamePaused() == 0) && (button==LEFT) && (GetCursorMode () == MODE_WALK))
{
string loc_name;
GetLocationName (mouse.x, mouse.y, loc_name);
if (StrComp (loc_name, "Tuere") == 0)
{
EnableRegion (1); // entspricht 5.
}
}
}
function region1_a() {
// script for region1: Player walks onto region
NewRoom (1); // entspricht 2.
}
Code: Alles auswählen
#define LT_HOTSPOT 1
#define LT_OBJECT 3
function on_mouse_click(int button) {
// called when a mouse button is clicked. button is either LEFT or RIGHT
DisableRegion (1); // entspricht 4.
if ((IsGamePaused() == 0) && (button==LEFT) && (GetCursorMode () == MODE_WALK))
{
string loc_name;
GetLocationName (mouse.x, mouse.y, loc_name);
int loc_type = GetLocationType (mouse.x, mouse.y);
if (StrComp (loc_name, "Tür") == 0) {
if (loc_type == LT_OBJECT)
{
NewRoom (7);
}
EnableRegion (1); }
}
}
}
-
- Süßwasserpirat
- Beiträge: 258
- Registriert: 22.09.2002, 21:28
- Kontaktdaten:
sorry nochmal ich musste eben feststellen das mein lieber spielecharacter garnicht zu region geht sondern sofort bei klick auf das objekt den raum wechselt. sag mir mal bitte deine eMail ich schick dir das game dann mal per agt.
> Bei der ScummBar ( Room 6 ) die Tür ist die Tür, um die es hier die ganze Zeit geht.
Ich hoffe desweiteren das es klar ist, das dieses unveröffentlichte grad angefangene Spiel weiterhin unveröffentlicht bleibt und nicht weitergegeben wird.
Also, deine eMail-Adresse, please
> Bei der ScummBar ( Room 6 ) die Tür ist die Tür, um die es hier die ganze Zeit geht.
Ich hoffe desweiteren das es klar ist, das dieses unveröffentlichte grad angefangene Spiel weiterhin unveröffentlicht bleibt und nicht weitergegeben wird.
Also, deine eMail-Adresse, please
-
- Süßwasserpirat
- Beiträge: 258
- Registriert: 22.09.2002, 21:28
- Kontaktdaten:
unter meinen Artikeln ist zwar ein eMail-Knopf...
a-v-o@web.de
BTW: Du bist nicht der Einzige, dem ich beim Scripten helfe. Ich habe ein paar unveröffentlichte Spiele von anderen und habe auch nicht vor, diese zu veröffentlichen oder irgendwem zu geben.
a-v-o@web.de
BTW: Du bist nicht der Einzige, dem ich beim Scripten helfe. Ich habe ein paar unveröffentlichte Spiele von anderen und habe auch nicht vor, diese zu veröffentlichen oder irgendwem zu geben.