Teleportieren
Teleportieren
hallo
gibt es auch einen befehl, womit man den Spieler teleportieren kann, wenn er sich auf einem bestimmten gebiet befindet?
danke!
gibt es auch einen befehl, womit man den Spieler teleportieren kann, wenn er sich auf einem bestimmten gebiet befindet?
danke!
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
Klar gibts das, sogar im normalen event editor... "player stands on hotsport" gibt es da, und dort kannst du dann entsprechende Aktionen auswählen (im Falle eines Teleporters also vermutlich erst eine Animation einspielen, und dann Player - go to a different room"
P.S.: Juhu, 200. Post
P.S.: Juhu, 200. Post
Zuletzt geändert von Totoro am 18.03.2004, 01:53, insgesamt 1-mal geändert.
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
Den Charakter kann man direkt mit dem Befehl
SetCharacterTransparency (CHARID, int amount);
in einem Script transparent machen, wobei du für CHARID die ID des Charakters (für den Hauptcharakter in der Regel EGO) und für int amount den Prozentwert der Transparenz angeben musst, 100 wäre z.B. völlig unsichtbar.
Ich würde einen Hotspot benutzen. Und dann "Player stands on Hotspot" als Interaktion auswählen, run script und im script den Transparenz-Befehl.
SetCharacterTransparency (CHARID, int amount);
in einem Script transparent machen, wobei du für CHARID die ID des Charakters (für den Hauptcharakter in der Regel EGO) und für int amount den Prozentwert der Transparenz angeben musst, 100 wäre z.B. völlig unsichtbar.
Ich würde einen Hotspot benutzen. Und dann "Player stands on Hotspot" als Interaktion auswählen, run script und im script den Transparenz-Befehl.
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
ohne "int", int bedeutet "integer", also Zahlenwert, ist sozusagen mit "amount" zusammen den Platzhalter für deine 100.
Den Charakter machst du wieder sichtbar, in dem du an gewünschter Stelle den Transparenz-Wert wieder auf 0 setzt.
Ich würde die Transparenz übrigens nie ganz auf 100 setzen, dann weiß ja der Spieler gar nicht was lost ist...
Den Charakter machst du wieder sichtbar, in dem du an gewünschter Stelle den Transparenz-Wert wieder auf 0 setzt.
Ich würde die Transparenz übrigens nie ganz auf 100 setzen, dann weiß ja der Spieler gar nicht was lost ist...
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Füge das mal ganz oben in den Room Script ein:
Und in diesem Raum kannst du dann so eine Zeile einfügen:
Eine mögliche Beschreibung in der Hilfe:
Danke für alle Antworten
Code: Alles auswählen
function beam(int chas, int anz, int izz) {
SetCharacterTransparency(chas, 0);
Wait(5);
SetCharacterTransparency(chas, 10);
Wait(5);
SetCharacterTransparency(chas, 20);
Wait(5);
SetCharacterTransparency(chas, 30);
Wait(5);
SetCharacterTransparency(chas, 40);
Wait(5);
SetCharacterTransparency(chas, 50);
Wait(5);
SetCharacterTransparency(chas, 60);
Wait(5);
SetCharacterTransparency(chas, 70);
Wait(5);
SetCharacterTransparency(chas, 80);
Wait(5);
SetCharacterTransparency(chas, 90);
Wait(5);
SetCharacterTransparency(chas, 100);
Wait(5);
MoveCharacterBlocking(chas, anz, izz, 1);
Wait(80);
SetCharacterTransparency(chas, 100);
Wait(5);
SetCharacterTransparency(chas, 90);
Wait(5);
SetCharacterTransparency(chas, 80);
Wait(5);
SetCharacterTransparency(chas, 70);
Wait(5);
SetCharacterTransparency(chas, 60);
Wait(5);
SetCharacterTransparency(chas, 50);
Wait(5);
SetCharacterTransparency(chas, 40);
Wait(5);
SetCharacterTransparency(chas, 30);
Wait(5);
SetCharacterTransparency(chas, 20);
Wait(5);
SetCharacterTransparency(chas, 10);
Wait(5);
SetCharacterTransparency(chas, 0);
Wait(5);
}
Code: Alles auswählen
Beam(EGO, 17, 18);
Ihr könnt mich gerne berichtigen, wenn ihr wollt, ich bekomme das nämlich nicht in den Global Script (Undenifed token 'beam')Beam
Beam(int char, int x, int, y)
Beamt den Spieler an eine bestiimte Stelle im Raum.
CHAR ist der Charakter, der gebeamt wird.
X und Y sind die Koordinaten, an die gebeamt werden
Beispiel:
string didl;
InputBox("Wohin wollen Sie", didl);
if(StrComp(didl, "Tür") == 0) {
Beam(EGO, 31, 17);
}
else {
Display("Reiseziel nicht bekannt");
}
Danke für alle Antworten
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Hi, hab das Beam-Script nochmal erneuert!
Das gehört ein Museum! Ähh... ich meine ins GlobalScript
In den Global Script Header:
Die Befehle:
CHARID = Name des Charakters
x, y = Koordinaten
sound = abzuspielender Sound (0 für keinen)
style = Wenn Ton aktiviert ist:
0: Nur am Anfang Beamgeräusch
1: Auch beim Wiederkehren Geräusch (Myst-Style)
Ach ja, im Raum sieht das Script so aus:
Die Idee ist übrigens, dass der Charakter nach und nach ausblendet und dann, für den Benutzer unsichtbar, zum Zielpunkt geht und dann wieder erscheint
Code: Alles auswählen
function CharacterBeam(int chas, int anz, int izz, int sou, int mys) {
SetCharacterTransparency(chas, 0);
if(sou != 0) {
PlaySoundEx(sou, 5);
}
Wait(5);
SetCharacterTransparency(chas, 10);
Wait(5);
SetCharacterTransparency(chas, 20);
Wait(5);
SetCharacterTransparency(chas, 30);
Wait(5);
SetCharacterTransparency(chas, 40);
Wait(5);
SetCharacterTransparency(chas, 50);
Wait(5);
SetCharacterTransparency(chas, 60);
Wait(5);
SetCharacterTransparency(chas, 70);
Wait(5);
SetCharacterTransparency(chas, 80);
Wait(5);
SetCharacterTransparency(chas, 90);
Wait(5);
SetCharacterTransparency(chas, 100);
Wait(5);
character[chas].x =anz;
character[chas].x =izz;
Wait(80);
if(mys == 1) {
if(sou != 0) {
PlaySoundEx(sou, 5);
}
}
SetCharacterTransparency(chas, 100);
Wait(5);
SetCharacterTransparency(chas, 90);
Wait(5);
SetCharacterTransparency(chas, 80);
Wait(5);
SetCharacterTransparency(chas, 70);
Wait(5);
SetCharacterTransparency(chas, 60);
Wait(5);
SetCharacterTransparency(chas, 50);
Wait(5);
SetCharacterTransparency(chas, 40);
Wait(5);
SetCharacterTransparency(chas, 30);
Wait(5);
SetCharacterTransparency(chas, 20);
Wait(5);
SetCharacterTransparency(chas, 10);
Wait(5);
SetCharacterTransparency(chas, 0);
Wait(5);
}
In den Global Script Header:
Code: Alles auswählen
import function CharacterBeam(CHARID,int x,int y,int sound,int style);
CHARID = Name des Charakters
x, y = Koordinaten
sound = abzuspielender Sound (0 für keinen)
style = Wenn Ton aktiviert ist:
0: Nur am Anfang Beamgeräusch
1: Auch beim Wiederkehren Geräusch (Myst-Style)
Ach ja, im Raum sieht das Script so aus:
Code: Alles auswählen
CharacterBeam(EGO, 15, 39, 0, 0);
Zuletzt geändert von [ZENSIERT] am 09.08.2004, 22:40, insgesamt 1-mal geändert.
- Rocco
- Adventure-Treff
- Beiträge: 1019
- Registriert: 25.11.2003, 16:20
- Wohnort: Ronville
- Kontaktdaten:
für das fortlaufende ändern eines wertes ist es einfacher schleifen zu verwenden,
zB
zB
Code: Alles auswählen
int i = 0;
while (i < 100) {
SetCharacterTransparency(chas, i);
Wait(5);
i += 10;
}
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Auch wahr, aber dann geht das mit den Tönen nicht.
Wer was damit anfangen kann...
Wer was damit anfangen kann...
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Ach so, das sieht dann wohl so aus
Keine Ahnung, ob das funktioniert...
Code: Alles auswählen
function beam(int chas, int xpos, int ypos, int sound, int mys) {
int i = 0;
if(sound != 0) {
PlaySound(sound);
}
while (i < 100) {
SetCharacterTransparency(chas, i);
Wait(5);
i += 10;
}
MoveCharacterBlocking(chas, xpos, ypos);
If(Sound != 0) {
if(mys == 1) {
PlaySound(sound);
}
}
int a = 100;
while (a > 0) {
SetCharacterTransparency(chas, a);
Wait(5);
i -= 10;
}
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet