Autor Thema: Shoben's Fragethread  (Gelesen 26263 mal)

rulaman

  • Moderator
  • Teenie Tentakel
  • *****
  • Beiträge: 354
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #75 am: 15. Januar 2011, 19:36:33 »
Mit InventoryQuantity

Beispiel:
[ags]
if ( player.InventoryQuantity[iFernbedienung.ID] > 0 )
{
}
[/ags]

Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

Shoben

  • volljähriger Tentakel
  • *****
  • Beiträge: 896
  • Geschlecht: Männlich
  • Ich bin ein bischen wie Jesus.
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #76 am: 15. Januar 2011, 20:19:46 »
Super! Danke, hat geklappt.


--->Das Voll ist immer halb Glas!<---

--->Würde der klügere nachgeben, wäre die Welten von Idioten beherscht!<---

Don't tell me what I can't do
John Locke

Shoben

  • volljähriger Tentakel
  • *****
  • Beiträge: 896
  • Geschlecht: Männlich
  • Ich bin ein bischen wie Jesus.
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #77 am: 15. Januar 2011, 23:18:03 »
So, nun möchte ich einen sich immer wiederholenden Sound im Hintergrund haben.
Habe es mit Repeatly Execte versucht, hat auch geklappt, aber leider ist es dann
nicht im Hintergrund, und man kann nicht spielen. :(


--->Das Voll ist immer halb Glas!<---

--->Würde der klügere nachgeben, wäre die Welten von Idioten beherscht!<---

Don't tell me what I can't do
John Locke

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2667
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #78 am: 16. Januar 2011, 00:11:45 »
such in der ags hilfe nach ambient sound
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

Shoben

  • volljähriger Tentakel
  • *****
  • Beiträge: 896
  • Geschlecht: Männlich
  • Ich bin ein bischen wie Jesus.
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #79 am: 16. Januar 2011, 00:29:17 »
Hat geklappt! Danke. :)


--->Das Voll ist immer halb Glas!<---

--->Würde der klügere nachgeben, wäre die Welten von Idioten beherscht!<---

Don't tell me what I can't do
John Locke

Shoben

  • volljähriger Tentakel
  • *****
  • Beiträge: 896
  • Geschlecht: Männlich
  • Ich bin ein bischen wie Jesus.
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #80 am: 25. Januar 2011, 21:22:48 »
Hi, diesmal wieder mit einer ähnlichen Frage, wie die vorherige,
dieses Problem kann man aber diesmal nicht mit AmbientSound
umgehen. ;)

Und zwar will ich im Hintergrundgeschehen, also während man selber steuern kann ein Object Transparent machen und wieder zurück,
das alles ganz langsam. Im Repeatly Execute geht es ja nicht, da kann man dann ja nicht steuern. Wie mache ich das???


--->Das Voll ist immer halb Glas!<---

--->Würde der klügere nachgeben, wäre die Welten von Idioten beherscht!<---

Don't tell me what I can't do
John Locke

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2667
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #81 am: 25. Januar 2011, 23:10:01 »
sicher geht das in der Repeatly Execute
du darfst da halt nicht eine schleife machen, sondern pro aufruf der Repeatly Execute wird der transparenzwert um eine stufe verringert bzw. erhöht
in ner globalen raumvariable merkst du dir ob du verringerst oder erhöhst und immer wenn das objekt opacity 100 oder 0 erreicht, wird die variable von erhöhen auf verringern (oder umgekehrt) umgeschaltet
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

Shoben

  • volljähriger Tentakel
  • *****
  • Beiträge: 896
  • Geschlecht: Männlich
  • Ich bin ein bischen wie Jesus.
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #82 am: 25. Januar 2011, 23:13:19 »
Achso. Stimmt. Danke :D


--->Das Voll ist immer halb Glas!<---

--->Würde der klügere nachgeben, wäre die Welten von Idioten beherscht!<---

Don't tell me what I can't do
John Locke

Shoben

  • volljähriger Tentakel
  • *****
  • Beiträge: 896
  • Geschlecht: Männlich
  • Ich bin ein bischen wie Jesus.
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #83 am: 26. Januar 2011, 14:35:33 »
Jetzt habe ich aber ein weiteres Problem, mit dem Repeatlyexecute-Transparenz-Objekt. Das Objekt soll extrem langsam die Transparenz ändern. So ca. alle 15 Sekunden ein % mehr oder weniger, je nachdem.
Wie bekomme ich das bewerkstelligt? Dezimalzahlen gehen ja leider nicht, sonst würde ich die benutzen :-\


--->Das Voll ist immer halb Glas!<---

--->Würde der klügere nachgeben, wäre die Welten von Idioten beherscht!<---

Don't tell me what I can't do
John Locke

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2667
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #84 am: 26. Januar 2011, 14:39:33 »
stichwort timer!

initialisiere nen timer mit der von dir gewünschten verzögerung mittels SetTimer (siehe ags hilfe)
im repeatlyexecute checkst du dann, ob der timer abgelaufen ist und verringerst nur dann die transparenz  ;)
und danach musst du den timer wieder mit SetTimer aktivieren
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

Shoben

  • volljähriger Tentakel
  • *****
  • Beiträge: 896
  • Geschlecht: Männlich
  • Ich bin ein bischen wie Jesus.
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #85 am: 26. Januar 2011, 15:24:28 »
Danke, so hats geklappt!
Aber jetzt will ich noch einbauen, dass davor eine kleine Wartezeit ist. Ich hab das mal so versucht:
[ags]#sectionstart room_c  // DO NOT EDIT OR REMOVE THIS LINE
function room_c() {
if(GetGlobalInt(21)==1) {
SetTimer (3, 80);
if(IsTimerExpired(3)==1) {
SetTimer (1, 40);
SetGlobalInt (21, 2);
}
}
if(GetGlobalInt(21)==2) {
if(IsTimerExpired(1)==1) {
if(oObject_X.Transparency > 0) {
oObject_X.Transparency -= 2;
SetTimer (1, 40);
}
}
}
}
#sectionend room_c  // DO NOT EDIT OR REMOVE THIS LINE
[/ags]

Aber leider passiert jetzt garnichts mehr. Was ist hier falsch??


--->Das Voll ist immer halb Glas!<---

--->Würde der klügere nachgeben, wäre die Welten von Idioten beherscht!<---

Don't tell me what I can't do
John Locke

Bòógieman

  • International anerkannter Superheld
  • Globaler Moderator
  • alter Tentakel
  • *****
  • Beiträge: 2667
  • Geschlecht: Männlich
  • Grün Tentakel = Running Sushi!
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #86 am: 26. Januar 2011, 16:33:56 »
wenn GlobalInt(21) 1 ist, setzt du bei jedem aufruf der funktion den timer 3 neu
der wird somit wohl nie fertig werden  :cl

wenn du wirklich nur ne wartezeit vor dem erstemal aufrufen einbauen willst, dann vergiss die GlobalInt und mach einfach ein SetTimer mit der selben nummer aber nem längeren delay beim AfterFadeIn des raums
in der rep_exec verwendest du einfach dann das richtige delay
Schlachtaman Vibrations, UHYEAH!!!
_________________________________

>>>> Ende der Kommunikation <<<<

Shoben

  • volljähriger Tentakel
  • *****
  • Beiträge: 896
  • Geschlecht: Männlich
  • Ich bin ein bischen wie Jesus.
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #87 am: 26. Januar 2011, 17:49:51 »
Danke, hab es jetzt geschafft :D


--->Das Voll ist immer halb Glas!<---

--->Würde der klügere nachgeben, wäre die Welten von Idioten beherscht!<---

Don't tell me what I can't do
John Locke

Shoben

  • volljähriger Tentakel
  • *****
  • Beiträge: 896
  • Geschlecht: Männlich
  • Ich bin ein bischen wie Jesus.
    • Profil anzeigen
Re: Shoben's Fragethread
« Antwort #88 am: 26. Januar 2011, 18:57:42 »
Also, habe zwar nicht ganz verstanden, was du meintest, habe es jetzt aber so zum laufen gebracht (Ein Object Y soll während dem ganzen mit Transparent werden, aber immer nur auf 50% und zurück. Daher Auch nur immer 1 Prozent):

[ags]
#sectionstart room_a  // First Time Enters Room
function room_a() {
SetTimer (1, 1580);
}
#sectionend room_a  // First Time Enters Room

#sectionstart room_c  // Repeatly Execute
function room_c() {
if (GetGlobalInt(21)==0) {
if(IsTimerExpired(1)==1) {
if(oObject_X.Transparency > 0) {
oObject_X.Transparency -= 2;
oObject_Y.Transparency +=1;
SetTimer (1, 10);
}
}
if(oObject_X.Transparency == 0) {
if (GetGlobalInt(22)==0) {
SetGlobalInt (21, 2); 
SetTimer (1, 158);
SetGlobalInt (22, 2);
}
}
if(GetGlobalInt(21)==2) {
if(IsTimerExpired(1)==1) {
if(oObject_X.Transparency < 100) {
oObject_X.Transparency += 2;
oObject_Y.Transparency -=1;
SetTimer (1, 10);
}
}
}
if(oObject_X.Transparency == 100) {
if (GetGlobalInt(22)==2) {
SetGlobalInt (21, 0); 
SetTimer (1, 158);
SetGlobalInt (22, 0);
}
}
}
}
#sectionend room_c  // Repeatly Execute
[/ags]

Ich habe nun aber 2 Probleme:
1. Objekt X wird untransparent und Y Transparent, aber es geht nicht mehr zurück. Da finde ich den Fehler nicht...
2. Objekt Y wird komplett transparent, soll aber nur halb transparent werden. Wieso??


--->Das Voll ist immer halb Glas!<---

--->Würde der klügere nachgeben, wäre die Welten von Idioten beherscht!<---

Don't tell me what I can't do
John Locke

Endres

  • Midlife Crisis Tentakel
  • ******
  • Beiträge: 1264
  • Geschlecht: Männlich
  • En|dres, der
    • ICQ Messenger - 230191486
    • MSN Messenger - enni_puschner@hotmail.de
    • Profil anzeigen
    • e7p.de
    • E-Mail
Re: Shoben's Fragethread
« Antwort #89 am: 26. Januar 2011, 19:21:20 »
Probiers mal bitte mit ein wenig mehr Struktur. Bei deiner Version hast du wegen einem sinnlosen if völlig den Überblick verloren, warum es gar nicht gehen konnte. Natürlich kannst du auch wieder dein GI-22 einbauen und es meinetwegen beim 2. Schritt auf 2 setzen, aber mir erscheinen zwei GlobalInts für den selben Zweck sinnlos. ;D

[ags]#sectionstart room_a  // First Time Enters Room
function room_a() {
  SetTimer(1, 1580);
}
#sectionend room_a  // First Time Enters Room

#sectionstart room_c  // Repeatly Execute
function room_c() {
  if(IsTimerExpired(1) == 1) {
    if(GetGlobalInt(21) == 0) {
      if(oObject_X.Transparency > 0) {
        oObject_X.Transparency -= 2;
        oObject_Y.Transparency +=1;
        SetTimer(1, 10);
      } else {
        SetGlobalInt(21, 1);
        SetTimer(1, 158);
      }
    } else {
      if(oObject_X.Transparency < 100) {
        oObject_X.Transparency += 2;
        oObject_Y.Transparency -=1;
        SetTimer(1, 10);
      } else {
        SetGlobalInt(21, 0);
        SetTimer(1, 158);
      }
    }
  }
}
#sectionend room_c  // Repeatly Execute
[/ags]


Domi:"irc hab ich mir viren geholt.. icq hab ich nimmer"