Unlösbares Problem in Sachen Area Scaling

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

ach ich könnt heulen, es geht immer noch nicht... er wird einfach nicht größer, sondern bleibt auf dem wert, der im area-editor steht... :cry:
Danke, Adventuretreff! <3
Smiley
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 163
Registriert: 28.04.2005, 16:26
Wohnort: Mönchengladbach

Beitrag von Smiley »

Kannst du das Raumskript nochmal posten?

Ist "Ignore room scaling" beim Character deaktiviert?
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

// 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?
Danke, Adventuretreff! <3
Smiley
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 163
Registriert: 28.04.2005, 16:26
Wohnort: Mönchengladbach

Beitrag von Smiley »

Hast die ersten As vergessen:

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);
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.
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

Hmm danke, bin schon ziemlich müde, da fällt das Konzentrieren schwer. Werds morgen weiter versuchen...
Danke, Adventuretreff! <3
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

nunja, auch mit ergänzten As ist alles wie vorher. :(
Danke, Adventuretreff! <3
Smiley
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 163
Registriert: 28.04.2005, 16:26
Wohnort: Mönchengladbach

Beitrag von Smiley »

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);
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

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?
Danke, Adventuretreff! <3
Smiley
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 163
Registriert: 28.04.2005, 16:26
Wohnort: Mönchengladbach

Beitrag von Smiley »

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);
   }
}
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

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
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Öhhh, entweder machst Du aus den drei WAs eine Einzige, oder Du teilst den Zoom auf:

140%-160% ganz oben
160%-180% in der Mitte
180%-195% unten

Das ist nur ein Beispiel, idealerweise sollte der Zoom natürlich entsprechend der Höhe der WAs aufgeteilt werden.
Use gopher repellent on funny little man
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

ah ja ok jetzt gehts, unglaublich [-o< was für ne schwere geburt... ein riesengroßes Dankeschön an alle, die sich so lange geduldig mit mir rumgeschlagen haben!
Danke, Adventuretreff! <3
Antworten