Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Mitsch93

Drachentöter

  • »Mitsch93« ist der Autor dieses Themas

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Nachricht senden

1

Donnerstag, 14. März 2013, 19:05

Kampf - Unendlich Gegner erscheinen lassen

Mahlzeit, alle miteinander, auch, wenn man
das laut dem Knigge nicht mehr sagt.

Heute will ich mich wieder einem Problem widmen, da ich in letzter Zeit vermehrt
Anfragen zwecks Bossfight ect. erhalten habe.
Heute heißt es, unendlich viele Gegner erscheinen zu lassen.

Vorab sei gesagt, dass ich NICHT die Obergrenze von 8 Gegnern überschreiten werde. Es werden maximal 8
Gegner im Kampf sein.




1. Einleitung


Folgende Situation sei gegeben:
  1. In einem Bosskampf (1 Bossgegner) soll alle X Runden ein Gegner erscheinen.
  2. Wenn insgesamt 8 Gegner erschienen sind, geschieht nichts (Obergrenze an Gegnern erreicht)
  3. Sobald die Gegneranzahl kleiner als 8 ist, können wieder neue Gegner erscheinen.


Wie immer liefere ich einen möglichen Lösungsansatz, nicht the one and only.
Das Tutorial ist streng genommen für das Standart-KS des RmXP ausgelegt, allerdings sollte es auch bei allen anderen Kampfsystemen
(außer AKS) funktionieren, die das Battle Event und die Rundenzählweise unterstützen.
Vom Prinzip her, müsste die Lösung auch auf den RPG Maker VX (Ace) übertragbar sein.
Ihr sollltet euch schon ein wenig mit den Eventtechniken auskennen, um dem Tutorial gut folgen zu können.

2. Implementierung


2.1 Troops

Unsere Ausgangssituation ist folgende:
Es gibt einen Boss (Gegner Nummer 1). Jede Runde soll ein weiterer Gegner erscheinen.
Gehen wir direkt mal in die Datenbank -> Troops.
Dort hab ich bereits den Boss erstellt:

Bild

Nun kommen die Gegner, die mit der Zeit erscheinen sollen. Da man nicht einfach
einen neuen Gegner in den Kampf bringen kann, müssen wir vorher die Gegner bereits in der Truppe
erstellen und danach unsichtbar machen, damit sie als "nicht im Kampf" gelten.
Gegner kann man unsichtbar machen, indem man auf sie rechtsklickt und dann ein Häkchen bei Appear Halfway macht.
Insgesamt haben wir jetzt also 7 Gegner, die erscheinen können und im Laufe des Kampfes dies auch tun.

Bild

Wäre der erste, leichtere Schritt schon geschafft.


2.2 Battle Event Condition

Ich möchte den "Erschein-Mechanismus" relativ einfach halten, deshalb will ich alles mit
nur einer Seite des Battle Events regulieren.
Als erstes Stellen wir die Bedingung für das Battle Event ein:
Da jede Runde ein Gegner erscheinen soll, benötigen wir die Bedingung: Condition: Turn 0+1X
Als Span wählen wir Turn aus, damit die Seite auch jede Runde aufgerufen wird.

TIPP:
Wenn der Gegner nicht jede Runde erscheinen soll, sondern zum Beispiel nur jede zweite
Runde, dann müssen wir einfach nur die Condition des Battle Events ändern:
Bei alle 2 Runden: Condition: Turn 0+2X
Bei alle 6 Runden: Condition: Turn 0+6X
usw.



2.3 Battle Event Inhalt Teil 1


Da wir nur eine Seite benutzen, müssen wir immer wissen, welcher Gegner jetzt
erscheinen soll. Dafür brauchen wir für einen Switch für jeden Gegner.
Ich nenn sie einfach "Gegner2_da", "Gegner3_da" ect.
Ist also der Schalter "Gegner2_da" (erster Gegner, der erscheinen soll) aus, so erscheint
Gegner2 und der Schalter "Gegner2_da" wird auf ON gesetzt. Im Else-Case der Bedingung
geschieht das selbe Spielchen nochmal, nur für die übrigen 6 Gegner.
Im Endeffekt sieht das dann so aus (habe das mal einfach in Ruby so übernommen, aber als Eventtext geschrieben,
da der gesamte Eventtext nicht auf einen Screen passt):
Die eingebaute Variable zählt, wieviele Gegner bereits erschienen sind. Die habe ich bereits eingebaut, da wir
sie an einer anderen Stelle benötigen.

Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
@>Conditional Branch: Switch [0001: Gegner2_da] == OFF
  @>Enemy Appearance: [2. Basilisk]
  @>Control Variables: [0001: Erschienene_Gegner] += 1
  @>Control Switches: [0001: Gegner2_da] = ON
  @>
  Else
  @>Conditional Branch: Switch [0002: Gegner3_da] == OFF
    @>Enemy Appearance: [3. Basilisk]
    @>Control Variables: [0001: Erschienene_Gegner] += 1
    @>Control Switches: [0002: Gegner3_da] = ON
    @>
    Else
    @>Conditional Branch: Switch [0003: Gegner4_da] == OFF
      @>Enemy Appearance: [4. Basilisk]
      @>Control Variables: [0001: Erschienene_Gegner] += 1
      @>Control Switches: [0003: Gegner4_da] = ON
      @>
      Else
      @>Conditional Branch: Switch [0004: Gegner5_da] == OFF
        @>Enemy Appearance: [5. Basilisk]
        @>Control Variables: [0001: Erschienene_Gegner] += 1
        @>Control Switches: [0004: Gegner5_da] = ON
        @>
        Else
        @>Conditional Branch: Switch [0005: Gegner6_da] == OFF
          @>Enemy Appearance: [6. Basilisk]
          @>Control Variables: [0001: Erschienene_Gegner] += 1
          @>Control Switches: [0005: Gegner6_da] = ON
          @>
          Else
          @>Conditional Branch: Switch [0006: Gegner7_da] == OFF
            @>Enemy Appearance: [7. Basilisk]
            @>Control Variables: [0001: Erschienene_Gegner] += 1
            @>Control Switches: [0006: Gegner7_da] = ON
            @>
            Else
            @>Conditional Branch: Switch [0007: Gegner8_da] == OFF
              @>Enemy Appearance: [8. Basilisk]
              @>Control Variables: [0001: Erschienene_Gegner] += 1
              @>Control Switches: [0007: Gegner8_da] = ON
              @>
              : Branch End
            @>
            : Branch End
          @>
          : Branch End
        @>
        : Branch End
      @>
      : Branch End
    @>
    : Branch End
  @>
  : Branch End

zum Lesen den Text mit der Maus markieren


Funktionsweise:
Bisher wird die Seite JEDE Runde aufgerufen. In Runde 1 also erscheint Gegner 2, in Runde 2 erscheint Gegner 3 ... in Runde 7 erscheint Gegner 8.
Nach Runde 7 ist also Schluss mit dem erscheinen. Der Spieler könnte nun alle Gegner töten und es würden keine mehr nachkommen.
Das müssen wir jetzt ändern!



2.4 Battle Event Inhalt Teil 2


Wenn alle 8 Gegner erschienen sind, der Spieler beispielsweise Gegner 3 und 4 tötet, soll in der darauffolgenden Runde
Gegner 3 wieder erscheinen. In der Runde danach Gegner 4.

Jetzt kommt die Variable ins Spiel.
Nachdem jeder Gegner einmal erschienen ist, hat die Variable "Erschienene_Gegner" den Wert 7 (da 7 Gegner erschienen sind).
Nun brauchen wir noch einen Hilfsschalter ("Neuer_Gegner_da"), der bewirkt, dass nur EIN Gegner erscheint und nicht mehrere, falls mehrere tot sein sollten.
Wir überprüfen also, ob die Variable "Erschienene_Gegner" bereits den Wert 7 erreicht hat. Ist dies der Fall wird überprüfen wir, ob der Schalter
"Neuer_Gegner_da" AUS ist, denn sollte dieser AN sein, bedeutet das, dass in dieser Runde bereits ein Gegner erschienen ist und somit kein neuer nachfolgen soll.
Sind diese beiden Bedingungen erfüllt, so kontrollieren wir, ob Gegner2 den Status Knockout auf sich hat (also ob er tot ist). Ist er tot, können wir ihn
wieder erscheinen lassen, das machen wir per Enemy Recover All- Befehl, den wir auf Gegner 2 anwenden.
Danach stellen wir den Schatler "Neuer_Gegner_da" auf AN, damit kein neuer erscheint.

Das muss natürlich wieder für alle 7 Gegner wiederholt werden und fügen den Part über den, den wir eben
erstellt haben ein.

Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
@>Conditional Branch: Variable [0001: Erschienene_Gegner] == 7
  @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [2. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [2. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [3. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [3. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [4. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [4. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [5. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [5. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [6. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [6. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [7. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [7. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [8. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [8. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
  @>
  : Branch End

zum Lesen den Text mit der Maus markieren



Jetzt haben wir nur noch ein Problem, dass der Switch "Neuer_Gegner_da" nicht mehr auf OFF gesetzt wird.
Deshalb müssen wir ganz am Ende des Battle Events den Switch "Neuer_Gegner_da" noch auf OFF stellen, damit in der
nächsten Runde wieder ein neuer Gegner erscheinen kann.


2.4 Battle Event Inhalt Teil 3 (Kompletter Text)


Der KOMPLETTE Text sieht dann so aus.
An dieser Stelle sei nochmal gesagt, dass das KEIN Script ist.
Ich habe den Eventcode lediglich in RGSS geschrieben, da der Eventcode nicht
auf einen Screen passt und es sonst unübersichtlich wird.


Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
@>Conditional Branch: Variable [0001: Erschienene_Gegner] == 7
  @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [2. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [2. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [3. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [3. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [4. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [4. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [5. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [5. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [6. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [6. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [7. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [7. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
    @>Conditional Branch: Switch [0008: Neuer_Gegner_da] == OFF
    @>Conditional Branch: Switch [8. Basilisk] is [Knockout] inflicted
      @>Enemy Recover All: [8. Basilisk]
      @>Control Switches: [0001: Neuer_Gegner_da] = ON
      @>
      : Branch End
    @>
    : Branch End
  @>
  : Branch End
@>Conditional Branch: Switch [0001: Gegner2_da] == OFF
  @>Enemy Appearance: [2. Basilisk]
  @>Control Variables: [0001: Erschienene_Gegner] += 1
  @>Control Switches: [0001: Gegner2_da] = ON
  @>
  Else
  @>Conditional Branch: Switch [0002: Gegner3_da] == OFF
    @>Enemy Appearance: [3. Basilisk]
    @>Control Variables: [0001: Erschienene_Gegner] += 1
    @>Control Switches: [0002: Gegner3_da] = ON
    @>
    Else
    @>Conditional Branch: Switch [0003: Gegner4_da] == OFF
      @>Enemy Appearance: [4. Basilisk]
      @>Control Variables: [0001: Erschienene_Gegner] += 1
      @>Control Switches: [0003: Gegner4_da] = ON
      @>
      Else
      @>Conditional Branch: Switch [0004: Gegner5_da] == OFF
        @>Enemy Appearance: [5. Basilisk]
        @>Control Variables: [0001: Erschienene_Gegner] += 1
        @>Control Switches: [0004: Gegner5_da] = ON
        @>
        Else
        @>Conditional Branch: Switch [0005: Gegner6_da] == OFF
          @>Enemy Appearance: [6. Basilisk]
          @>Control Variables: [0001: Erschienene_Gegner] += 1
          @>Control Switches: [0005: Gegner6_da] = ON
          @>
          Else
          @>Conditional Branch: Switch [0006: Gegner7_da] == OFF
            @>Enemy Appearance: [7. Basilisk]
            @>Control Variables: [0001: Erschienene_Gegner] += 1
            @>Control Switches: [0006: Gegner7_da] = ON
            @>
            Else
            @>Conditional Branch: Switch [0007: Gegner8_da] == OFF
              @>Enemy Appearance: [8. Basilisk]
              @>Control Variables: [0001: Erschienene_Gegner] += 1
              @>Control Switches: [0007: Gegner8_da] = ON
              @>
              : Branch End
            @>
            : Branch End
          @>
          : Branch End
        @>
        : Branch End
      @>
      : Branch End
    @>
    : Branch End
  @>
  : Branch End
@>Control Switches: [0008: Neuer_Gegner_da] = OFF

zum Lesen den Text mit der Maus markieren


2.5 Editiermöglichkeiten


Diesen Algorythmus kann man natürlich auf abändern, sodass nur ingesamt 5 oder nur 3 Gegner erscheinen.
Dafür muss man lediglich den Wert der Variable "Erschienene_Gegner" ändern (z.B. 5 oder 3), der in der Bedingung
abgefragt wird, und die Conditonal Branches für die übrigen Gegner löschen.
Natürlich müsst ihr darauf achten, dass ihr immer die richtigen Gegner erscheinen lasst (auf ID achten!) und auch
die Befehle wie Enemy Appearance oder Enemy Recover All auf den richtigen Gegner (immer auf ID achten, wichtig!) anwendet.



3. Download Beispielprojekt


Im Anhang befindet sich das Beispielprojekt. Der Held ist auf Level 99 und der Boss unbesiegbar - für Vorführzwecke - damit
man den Kampf nicht frühzeitig beenden kann oder der Held nicht von den ganzen Gegner getötet wird.



4. Nachwort


So das war ja diesmal ein relativ kurzes Tutorial. Wer noch fragen hat, soll sie gerne Stellen.
Wenn ich Zeit finde, werde ich noch weitere Tuts zum Thema Kämpfe machen, bis dahin viel Erfolg
mit euren Projekten :)

Edit Keksmonster Ich war mal so frei und habe dein Tutorial in die Kategorie "Maker" im Tutorial-Bereich verschoben. Falls du komplett gegen meine Entscheidung bist oder sonstiges auf dem Herzen bezüglich des Tutorial-Bereichs hast, kannst du dich per PN bei mir melden ;)
~Keks
»Mitsch93« hat folgende Datei angehängt:
  • Bosskampf_2.exe (264,96 kB - 7 mal heruntergeladen - zuletzt: 13. November 2017, 22:56)

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Mitsch93« (14. März 2013, 23:40)


2

Donnerstag, 14. März 2013, 21:42

:thumb-up: Nettes Tutorial. Gut und ausführlich erklärt. Da ich mir den "Troops" Tab in der Database noch nicht intensiv angeschaut habe, bzw. ich damit noch meine Schwächen sehe, ist das Tutorial für mich ziemlich hilfreich. Danke!
Übrigens: Das Tutorial habe ich in den Maker Bereich des Tutorialforums verschoben.

Kagurame

Alopex Lagopus

Motto: Ich Böse, Du Teufel

  • Nachricht senden

3

Dienstag, 19. März 2013, 16:48

lol... Kagu needs Tut und bemerkt, das genau das vor wenigen Tagen geschrieben wurde :D

Benutze es um einen Boss immer wieder Heiler beschwören zu lassen, vorher waren sie instant wieder da :3
Danke :)
Bild

  • Hallo

    Tabs klicken unso, ne?
  • Lyric

    Meine schwarze Liste, beginnt mit einem Satz:
    "Wer zuletzt lacht, lacht am besten!", und am Ende ist noch Platz.
    Auf der Liste meiner Feinde, ist auch für euch noch Platz
    Wer zuletzt lacht, lacht am besten!
    Merkt euch diesen Satz!

    Ode an die Feindschaft von Saltatio Mortis

  • Outtakes

    • Nummer 3
      20.09.2012 - 19:46
      "Yah, ich bin ihre Motivazin." "Motivazin - gibts das jetzt in der Apotheke rezeptflichtig?"
    • Ich mag Kekse
    • Nummer 2
      08.09.2012 - 01:29 Uhr
      "Die Erlebnismacher zu Hannovre - Exlibre - ääääh... Excalibur"

      *Lachflash*
    • Nummer 1
      07.09.2012 - 22:58 Uhr
      *Bööarps* - Die Erlebnismacher zu Hannovre - Excalibur... "Mahlzeit... also... doch nicht Mahlzeit... war nur die Website"
      "Ich hab gerülpst -.-" "Du hast was?" *LACHFLASH*
      "Nicht dein Ernst, oder?" "DOCH!" *LACHFLASH second tour*
  • Profile

    Bild
  • Ich

    Dass bin ich:

    Maker: RPG-XP, RPG-VX
    Story:
    Für andere mehr als für mich: 60%

    Grafik:
    Ich werde besser: 35%

    Pixeln:
    Ich stehe an den Anfängen: 7%

    Mapping:
    Es fehlen nur noch (alle) Feinheiten: 67%

    Scripting:
    Informatiker, mittlerweile auch andere Sachen am skripten: 93%
  • Neues aus der SB

    Neues aus der SB:

    Spoiler: Die Camper
    (03:41:36) Kagurame: n8 du
    (03:41:37) Irrlicht: Nacht Mozilla
    (03:41:47) MozillaBabybird: Kagu: der witz war flach
    (03:42:01) Kagurame: welcher witz?
    (03:42:14) Heatra: geh nicht benji
    (03:42:21) Heatra: spiel lieber ats2 :D
    (03:42:25) MozillaBabybird: nacht leute ^^ ijemand sollte diesen verlauf im studio bash posten, damit die mal wissen wer die echten camper hier sind :D
    (03:42:35) Kagurame: ich bin scripten
    (03:42:38) MozillaBabybird: Heat: tut mir sorry xD
    (03:42:40) Kagurame: ich mach das...^^
    (03:42:48) MozillaBabybird: bis .... mittag ?
    (03:42:49) Heatra: ^^
    (03:42:55) MozillaBabybird: ja mittag dürfte passen
    (03:42:56) MozillaBabybird: :D
    (03:42:57) Kagurame: ^^
    (03:43:02) Heatra: ich steh morgen eh erst um 5 uhr mittags auf
    (03:43:07) Kagurame: bis heute
    (03:43:11) Steve: MozillaBabybird verlässt den Chat.
    (03:43:15) Kagurame: ich so um 3
    zum Lesen den Text mit der Maus markieren


    Spoiler: Die Informatiker vom Dienst
    (03:05:32) Ankou: bist du dir SICHER, dass es die Performance an der Stelle kritisch ist und c.a. 30% sind KEIN großer Unterschied?
    (03:05:41) Ankou: oh
    (03:05:45) Ankou: okay
    (03:06:21) Asandril: Oh Ha was habt Ihr gerade für ein Thema?
    (03:06:41) Ankou: das ist in der Tat eine performancekritische angelegenheit, aber ich denke dennoch nicht, dass das die Dinge sind auf die du dein Hauptaugenmerk richten solltest.
    (03:07:01) Heatra: maschine
    (03:07:01) Ankou: derartige Mikrooptimierungen werden Performanceprobleme sogut wie niemals beseitigen können
    (03:07:01) Irrlicht: anhand der Tatsache dass es 20 000 000 Durchläufe waren nicht wirklich :-/
    (03:07:08) Ankou: änder was konzeptionelles oder lass es bleiben.
    (03:07:31) Ankou: evtl. kannst du mehr der Interpretation nach vorne verlagern
    (03:08:06) Ankou: aber solche Dinge zu versuchen wie die case Abfragen durch send zu ersetzen in der Hoffnung ein paar Prozent einzusparen bringens dir nicht
    (03:08:26) Asandril: Bin ich gerade hier in einem Kurs gelandet ..
    (03:08:36) Irrlicht: hatte mal in Erwägung gezogen die Befehle evtl. schonmal etwas "vorzuinterpretieren", aber das dürfte dann mehr Speicher verbrauchen als es Geschwindigkeit bringt...
    (03:09:11) Ankou: Asandril: ja, erstaunlich, angetrunken an Silvester über so etwas zu reden
    (03:09:28) Heatra: -> lampenfieber
    (03:09:40) Asandril: Kann ich nur beipflichten.
    (03:09:46) Irrlicht: atm bin ich mir nicht sicher was genau den doch vergleichsweise erheblichen Lag von Parallel-Process-Events verursacht (oder ob es einfach an der gesammten Masse liegt) wenn ich bei 2 000 000 solcher Durchläufe unter einer Sek. bleibe...
    (03:09:57) Ankou: Irrlicht: das ist durchaus üblich. Speicher gegen Geschwindigkeit einzustauschen ist sehr populär und bringt oft viel
    (03:11:23) Irrlicht: mal schaun :)
    zum Lesen den Text mit der Maus markieren


    Spoiler: Auch noch später^^
    (03:32:35) (Kagurame_AnkündigungImForumMach): es da ne methode wie beim xp?
    (03:32:48) Irrlicht: Cache.system("Iconset")
    bekommst das Iconset
    (03:32:50) (Kagurame_AnkündigungImForumMach): brauche es dringend, aber nix gefunden bisher
    (03:33:01) (Kagurame_AnkündigungImForumMach): und dann per id?
    (03:33:06) (Kagurame_AnkündigungImForumMach): drauf zugreifen?
    (03:33:07) Irrlicht: Index berechnet sich einfach aus
    x = index % 16
    y = index / 16
    (03:33:17) Irrlicht: afaik warens 16 nebeneinander^^
    (03:33:28) (Kagurame_AnkündigungImForumMach): ok, danke.
    (03:33:51) (Kagurame_AnkündigungImForumMach): ich glaub ich scripte dann noch ein bissl
    (03:34:01) Steve: (Kagurame_AnkündigungImForumMach​) heißt jetzt Kagurame.
    (03:34:04) Irrlicht: im XP hast die einzelnen Icons anhand des Namens aus dem Icon-Ordner aufgerufen
    (03:34:09) Steve: Kagurame ist nun Scripten!
    (03:34:17) Irrlicht: (geht natürlich im VX auch, aber wozu gibts das Iconset)
    (03:34:23) Kagurame: ja ich weis, daher war ich heut mittag verwirrt
    zum Lesen den Text mit der Maus markieren

Ähnliche Themen

Social Bookmarks