Unlösbares Problem in Sachen Area Scaling
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
// room script file
int A;
int B;
#sectionstart hotspot1_a // DO NOT EDIT OR REMOVE THIS LINE
function hotspot1_a() {
// script for hotspot1: Player stands on hotspot (obsolete, use Regions)
SetCharacterSpeechView(EGO, 195);
ChangeCharacterView(EGO, 195);
DisplaySpeechBackground(EGO, "Nanu, was ist denn jetzt los?!");
int transparenz;
transparenz=0;
while (transparenz !=100) {
transparenz=transparenz+1;
SetObjectTransparency(0, transparenz);
Wait(1);
}
ChangeCharacterView(EGO, 194);
DisplaySpeechBackground(SCR, "Whaaaaaaaaaaaaaaaaa!");
SetCharacterSpeed(EGO, 15);
MoveCharacterBlocking(EGO, 164, 199, 1);
}
#sectionend hotspot1_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart room_a // DO NOT EDIT OR REMOVE THIS LINE
function room_a() {
// script for room: Player enters screen (after fadein)
SetCharacterSpeed(EGO, 4);
MoveCharacterToHotspot(EGO, 1);
}
#sectionend room_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart room_b // DO NOT EDIT OR REMOVE THIS LINE
function room_b() {
// script for room: Player enters screen (before fadein)
}
#sectionend room_b // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart room_c // DO NOT EDIT OR REMOVE THIS LINE
function room_c() {
// script for room: Repeatedly execute
int scale1 = (A - player.y) * 50 / (67 - 151) + 10;
int scale2 = (A - player.y) * 5 / (148 - 197) + 5;
int scale3 = (A - player.y) * 55 / (90 - 208) + 5;
SetAreaScaling(1, scale1, scale1);
SetAreaScaling(2, scale2, scale2);
SetAreaScaling(3, scale3, scale3);
}
#sectionend room_c // DO NOT EDIT OR REMOVE THIS LINE
Ja es ist deaktiviert, oder meinst du vielleicht aktiviert? Kann ich es manuell aktivieren/deaktivieren?
Glaub in meiner Version nicht... seufz, vielleicht sollte ich mich wirklich die aktuelle version laden... ist es schwer, sich da reinzuarbeiten, ich arbeite jetzt schon ein halbes jahr mit dieser und bin grad so gut dabei, ich hab keine lust mich wieder ewig am scripten-lernen aufzuhalten... zumal: ist meine version dann überhaupt kompatibel?
int A;
int B;
#sectionstart hotspot1_a // DO NOT EDIT OR REMOVE THIS LINE
function hotspot1_a() {
// script for hotspot1: Player stands on hotspot (obsolete, use Regions)
SetCharacterSpeechView(EGO, 195);
ChangeCharacterView(EGO, 195);
DisplaySpeechBackground(EGO, "Nanu, was ist denn jetzt los?!");
int transparenz;
transparenz=0;
while (transparenz !=100) {
transparenz=transparenz+1;
SetObjectTransparency(0, transparenz);
Wait(1);
}
ChangeCharacterView(EGO, 194);
DisplaySpeechBackground(SCR, "Whaaaaaaaaaaaaaaaaa!");
SetCharacterSpeed(EGO, 15);
MoveCharacterBlocking(EGO, 164, 199, 1);
}
#sectionend hotspot1_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart room_a // DO NOT EDIT OR REMOVE THIS LINE
function room_a() {
// script for room: Player enters screen (after fadein)
SetCharacterSpeed(EGO, 4);
MoveCharacterToHotspot(EGO, 1);
}
#sectionend room_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart room_b // DO NOT EDIT OR REMOVE THIS LINE
function room_b() {
// script for room: Player enters screen (before fadein)
}
#sectionend room_b // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart room_c // DO NOT EDIT OR REMOVE THIS LINE
function room_c() {
// script for room: Repeatedly execute
int scale1 = (A - player.y) * 50 / (67 - 151) + 10;
int scale2 = (A - player.y) * 5 / (148 - 197) + 5;
int scale3 = (A - player.y) * 55 / (90 - 208) + 5;
SetAreaScaling(1, scale1, scale1);
SetAreaScaling(2, scale2, scale2);
SetAreaScaling(3, scale3, scale3);
}
#sectionend room_c // DO NOT EDIT OR REMOVE THIS LINE
Ja es ist deaktiviert, oder meinst du vielleicht aktiviert? Kann ich es manuell aktivieren/deaktivieren?
Glaub in meiner Version nicht... seufz, vielleicht sollte ich mich wirklich die aktuelle version laden... ist es schwer, sich da reinzuarbeiten, ich arbeite jetzt schon ein halbes jahr mit dieser und bin grad so gut dabei, ich hab keine lust mich wieder ewig am scripten-lernen aufzuhalten... zumal: ist meine version dann überhaupt kompatibel?
Danke, Adventuretreff! <3
-
- Hobby-Archäologe
- Beiträge: 163
- Registriert: 28.04.2005, 16:26
- Wohnort: Mönchengladbach
Hast die ersten As vergessen:
Ist richtig, dass "Ignore room scaling" deaktiviert ist.
Bei den neueren Versionen kann man die alten Skriptbefehle weiterverwenden.
AGS hat den Vorteil, dass man mehrere Versionen gleichzeitig auf einem Rechner haben kann. Also mal ein Backup deines Spiels erstelllen, die neue Version runterladen und testen.
Code: Alles auswählen
int scale1 = (67 - player.y) * 50 / (67 - 151) + 10;
int scale2 = (148 - player.y) * 5 / (148 - 197) + 5;
int scale3 = (90 - player.y) * 55 / (90 - 208) + 5;
SetAreaScaling(1, scale1, scale1);
SetAreaScaling(2, scale2, scale2);
SetAreaScaling(3, scale3, scale3);
Bei den neueren Versionen kann man die alten Skriptbefehle weiterverwenden.
AGS hat den Vorteil, dass man mehrere Versionen gleichzeitig auf einem Rechner haben kann. Also mal ein Backup deines Spiels erstelllen, die neue Version runterladen und testen.
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
-
- Hobby-Archäologe
- Beiträge: 163
- Registriert: 28.04.2005, 16:26
- Wohnort: Mönchengladbach
jetzt aber:
Code: Alles auswählen
int scale1 = (151 - player.y) * 50 / (151 - 67) + 10;
int scale2 = (197 - player.y) * 5 / (197 - 148) + 5;
int scale3 = (208 - player.y) * 55 / (208 - 90) + 5;
SetAreaScaling(1, scale1, scale1);
SetAreaScaling(2, scale2, scale2);
SetAreaScaling(3, scale3, scale3);
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
halt mich für verrückt... es geht nicht! es geht einfach nicht!
ich hab mir jetzt version 2.7 geladen und deinen ersten tipp versucht, aber das geht auch nicht, der charakter bleibt normal, während er auf seiner walkable area läuft und ploppt dann erst am ende auf seine sollgröße.
ich weiß einfach nicht weiter x_x
EDIT: Ich glaub ich weiß jetzt, wo der Hund begraben ist... ich glaube MoveCharacterBlocking blockiert die repeatly execute...
Aber dies soll eine Zwischensequenz sein, kann ich das trotzdem irgendwie hinbiegen, dass der charakter läuft, aber man nicht abbrechen kann und er in der Sequenz einfach stehen bleibt?
ich hab mir jetzt version 2.7 geladen und deinen ersten tipp versucht, aber das geht auch nicht, der charakter bleibt normal, während er auf seiner walkable area läuft und ploppt dann erst am ende auf seine sollgröße.
ich weiß einfach nicht weiter x_x
EDIT: Ich glaub ich weiß jetzt, wo der Hund begraben ist... ich glaube MoveCharacterBlocking blockiert die repeatly execute...
Aber dies soll eine Zwischensequenz sein, kann ich das trotzdem irgendwie hinbiegen, dass der charakter läuft, aber man nicht abbrechen kann und er in der Sequenz einfach stehen bleibt?
Danke, Adventuretreff! <3
-
- Hobby-Archäologe
- Beiträge: 163
- Registriert: 28.04.2005, 16:26
- Wohnort: Mönchengladbach
schreib das hier ins Globalscript:
Code: Alles auswählen
repeatedly_execute_always() {
if (player.Room == [Raumnummer]){
player.ManualScaling = true;
player.Scaling = 200 - GetScalingAt(player.x, player.y);
}
}
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
ok, es zoomt jetzt. ein problem jetzt noch: alle drei walkable areas sind von 140% bis 195% eingestellt. läuft der charakter auf der ersten WA nach oben, wird dabei größer aber ploppt beim betreten der zweiten WA (er geht noch immer nach oben) wieder zur anfangsgröße der ersten WA zusammen. wie rechnet man die zoomfaktoren um?
Danke, Adventuretreff! <3
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55