RPG-Maker Quartier
http://forum.rpg2000.4players.de/phpBB3/

Makerwissen für Fortgeschrittene.
http://forum.rpg2000.4players.de/phpBB3/viewtopic.php?f=15&t=61897
Seite 2 von 3

Autor:  Sam Gav [ So Aug 14, 2005 12:32 ]
Betreff des Beitrags: 

@Golden Boy:
Du hast es erfasst! ;)

Autor:  Golden Boy [ So Aug 14, 2005 13:04 ]
Betreff des Beitrags: 

Somit hätten wir dann doch eine noch einfachere Lösung als die obrige!^^

:rofl::rofl::rofl::rofl:


Gruß, Kintaro

Autor:  Sam Gav [ So Aug 14, 2005 13:09 ]
Betreff des Beitrags: 

In wie fern? o.O

Wobei, sorry muss mich entschuldigen:
Bei den Zahlen geht das leider nicht, weil man sie nicht einzeln abfragen kann.
(Habs grad nochmal nachgeguckt)

@Admins:
Sorry, ich weiß, der Thread ist nicht für Debatten da, aber jetzt hat es sich ja schon erledigt

Autor:  Drano [ Di Feb 21, 2006 22:52 ]
Betreff des Beitrags: 

Ich glaube dieser Thread verdient einen *push*

Also, jetzt da ich gepusht habe, schreibe ich mal was sinnvolles...

Eigene KS:
Man kann Gegner als Helden speichern (Datenbank) und vor oder nach jedem Kampf folgenden Code eingeben: (Sorry hab eine übersetzte Version des Makers)

Var. ändern:[xxxx:GegnerSet]Set, 7                     (Der erste Gegner bei mir ist der 7-te Held)
Zykl.                                                                   (Zyklus starten)
 Fähigk. ändrn:V[xxxx] MaxHP->999 verm.            (Alle Fähigkeiten um 999 vermindern)
 ...
 Bedingung:Varbl[xxxx:GegnerSet]=10                 (Falls der letzte Gegner geändert wurde)
  Zykl.stopp                                                         (-> Zyklus beenden)
 Ansonsten                                                          (Sonst...)
  Var. ändern:[xxxx:GegnerSet]+ ,1                      (-> Variable um 1 erhöhen)
 END-Fall
Zykl. end


Damit kann man im eigenen KS eine Menge Variablen einsparen (ausser für die Beweglichkeit). Denn im Kampf nimmt man einfach die Variablen des angreifenden Chars und diejenigen des Verteidigenden Chars (Angreifer-Kraft, Verteidiger-Vert.). So verwendet man nur 2 Variablen gleichzeitig im Kampf (oder mehr, falls im Kampf mehr beachtet werden soll).
Einzige Ausnahme ist die Beweglichkeit, wie oben schon genannt. Diese muss nämlich schon am Anfang festgestellt werden, damit man weiss: "Wer greift wann an?"


Ich hoffe euch hat mein kleiner Script gefallen...

Autor:  übelster Held [ Di Feb 21, 2006 23:18 ]
Betreff des Beitrags: 

Drano hat geschrieben:

Var. ändern:[xxxx:GegnerSet]Set, 7                     (Der erste Gegner bei mir ist der 7-te Held)
Zykl.                                                                   (Zyklus starten)
 Fähigk. ändrn:V[xxxx] MaxHP->999 verm.            (Alle Fähigkeiten um 999 vermindern)
 ...
 Bedingung:Varbl[xxxx:GegnerSet]=10                 (Falls der letzte Gegner geändert wurde)
  Zykl.stopp                                                         (-> Zyklus beenden)
 Ansonsten                                                          (Sonst...)
  Var. ändern:[xxxx:GegnerSet]+ ,1                      (-> Variable um 1 erhöhen)
 END-Fall
Zykl. end




ich weiß zwar nicht ganz genau, was du mit diesen script bezwecken willst...
aber ich nehm mal an, dass du dem "gegner", dessen werte
du jeweils 999 abgezogen hast, dann am anfang eines kampfes
wieder werte zuordnen willst, indem du zb. den gegner 50 hp usw
addierst...
so... hast du das schon mal probiert???
es wird nicht funktionieren...
wenn du nämlich 999 abziehst...
und dann 50 draufaddierst, und den wert dann mit
change variable xxx set hero 7 hp
auslesen tust, dann zeigt die variable null an...
(zumindest beim rm2k)
ist doddal dämlich gemacht, ist aber so... ;__;
leider... hab nämlich bei meinen derzeitigen script dieses problem
auch gehabt... wollte so die heros wieder "nullen"... aber es ging nicht...
problemlösung:
vor dem löschen die werte in vari speichern
und dann diesen wert abziehen... so kommt man richtig auf null
und kann dann beim nächsten kampf problemlos die werte wieder
speichern...

mfg
üH

Autor:  Drano [ Mi Feb 22, 2006 20:26 ]
Betreff des Beitrags: 

übelster Held hat geschrieben:
ich weiß zwar nicht ganz genau, was du mit diesen script bezwecken willst...
aber ich nehm mal an, dass du dem "gegner", dessen werte
du jeweils 999 abgezogen hast, dann am anfang eines kampfes
wieder werte zuordnen willst, indem du zb. den gegner 50 hp usw
addierst...

Genau, vor jedem Kampf wird eine selbstprogrammierte GegnerDatenbank abgefragt, die den Monstern die richtigen Werte gibt, das richtige Aussehen, die richtige Position, etc.

Zitat:
so... hast du das schon mal probiert???
es wird nicht funktionieren...
wenn du nämlich 999 abziehst...
und dann 50 draufaddierst, und den wert dann mit
change variable xxx set hero 7 hp
auslesen tust, dann zeigt die variable null an...
(zumindest beim rm2k)

Ehrlich gesagt: Ich hatte es noch nicht getestet, da mein KS noch nicht bereit ist zum Testen... Das ist natürlich dumm...

Zitat:
ist doddal dämlich gemacht, ist aber so... ;__;
leider... hab nämlich bei meinen derzeitigen script dieses problem
auch gehabt... wollte so die heros wieder "nullen"... aber es ging nicht...
problemlösung:
vor dem löschen die werte in vari speichern
und dann diesen wert abziehen... so kommt man richtig auf null
und kann dann beim nächsten kampf problemlos die werte wieder
speichern...

mfg
üH

Genau das möchte ich nicht, dass man unnötig viele Variablen benutzt... Meine Notlösung sieht aber folgendermassen aus:
Wie oben genannt habe ich eine Datenbank eingeführt, also gibt es dort unzählige Bedingungen, die den Wert einer anderen Variablen abfragt, [GegnerID]. Diese wird nur am Anfang des Kampfes festgelegt und ist deshalb immer verfügbar.
Deshalb entfernen wir alle Zeilen, die ich vorgestellt habe
Und fügen in der GegnerDatenbank andere Zeilen ein. Diese werden bei jeder Fähigkeiten-vergabe eingefügt.

Falls [Kampfende] = "AN"
 Fähigk. ändrn:(blablabla)

Dabei kopiere ich die Fähigkeiten-vergabe (Beispiel: Fäh. änd. MaxHP->20 erhöh.) und ändere sie alle um von verm. auf erhöh.
So spare ich Variablen. Da die GegnerID bis zum Ende des Kampfes nicht geändert wird, wird schon der richtige Array gezogen.

Würde das Funktionieren?
PS: Ich bin echt froh, hast du mich auf diesen Bug hingewiesen.




Edit: Die GegnerDatenbank sieht dann folgendermassen aus...

Bedingung:Varbl[yyyy:GegnerID]=1
 Ereign.-Platz setzn: Gegner1 (x,y)
 ...Gegner2, 3, 4
 (Grafik ändern)
 Bedingung:Schalt[zzzz:KampfEnde]= AN
   (Der ganze Zyklus-kram über Fähigkeiten vermindern. Ich kopiere das unten-rotmarkierte und füge es hier ein und ersetze erhöhen mit vermindern)
 Ansonsten

   (Derselbe Zyklus, nur mit hinzufügen)
 END-Fall
Ansonsten
 (Weitere GegnerID abfragen)
END-Fall

Autor:  übelster Held [ Mi Feb 22, 2006 20:32 ]
Betreff des Beitrags: 

ich weiß zwar jetzt nicht, wass du mit mir "array gezogen"
sagen willst...
aber solange du immer den wert wieder abziehst , den du vorher
draufaddiert hast, bleibt das ganze auch auf null... und zeigt auch
beim nächsten mal den richtigen wert an...^^

Autor:  Drano [ Mi Feb 22, 2006 20:44 ]
Betreff des Beitrags: 

Ein Array ist eine Variable mit mehreren Werten drin, sie sind in Datenbanken sehr nützlich.
Ich habe noch ein Edit hinzugefügt, wo ich meine Datenbank (hoffentlich) ausführlich beschreibe.

Autor:  Zeph [ Mi Feb 22, 2006 21:20 ]
Betreff des Beitrags: 

Ein Array ist normalerweise ein Reihe von Variablen gleichen Typens, die man mittels eines Index's ansprechen kann.

In C++ sieht das ganze so aus, um eine Variablen anzusprechen, hier mit dem Index 2:

Testvariable[2] = 5;

Wir sehen, das aus der Variablenreihe Testvariable die Variable mit dem Index 2 genommen wird und sie auf den Wert 5 gesetzt wird.

Da wir alle Wissen, das jede Makervariable eine Nummer besitzt, über die man sie Ansrpechen kann, müsste man eigentlich sagen, das alle Variablen im Maker in einem einzigen großen Array stehn.

Autor:  crusher [ Mi Apr 12, 2006 16:00 ]
Betreff des Beitrags: 

Ich hab auch male ne frage zu dem 8 richtungen lauf script

Funktioniert der auch beim rm2k? weil bei mir funzt der nich... HELFT MIR

Autor:  Makenshi [ Mi Apr 12, 2006 17:22 ]
Betreff des Beitrags: 

crusher hat geschrieben:
Ich hab auch male ne frage zu dem 8 richtungen lauf script

Funktioniert der auch beim rm2k? weil bei mir funzt der nich... HELFT MIR


Der Thread hier an sich nur zum posten von Makerwissen gedacht.
Wenn du eine Frage zu einer Maker relevanten Sache hast , dann bitte ich dich einen eigenen Thread zu eröffnen.

Autor:  Golden Boy [ Do Aug 24, 2006 13:34 ]
Betreff des Beitrags: 

Sodele.... hab auch was entdeckt...

Viele dachten es sich vllt. schon, aber ich habs ausgetestet!!!

COMMENTS BREMSEN DEN MAKER AUS!!!

Wie habe ich das herausgefunden?

Mit Zephs Methode...
Man nehme 2 Events, beide auf PP!
In das eine bauen wir folgenden COde ein:
Code:
Label 1
Var X +1
Go to Label 1


In das andere:
Code:
Wait 1,0 sec
Message: \V[Var X]


Nun startet man den Versuch und es wird eine Zahl ausgegeben.
Diese notiert an sich.
Beim zweiten Versuch wird einfach noch ein Comment zwischen das label1 und
dem Var X +1 eingebaut.
Nun startet man es wieder und es wird eine andere Zahl ausgegeben.

Beim ersten Versuch: Wert 305000!
Beim zweiten Versuch: Wert von 203333!

Hoffe, ihr könnt damit was anfangen...
Ich auf jedenfall^^


Gruß, Kintaro

Autor:  Hung [ Sa Okt 14, 2006 16:45 ]
Betreff des Beitrags: 

Golden Boy hat geschrieben:
COMMENTS BREMSEN DEN MAKER AUS!!!


...ich schätze mal, dass das jetzt nur allgemein war. Denn ich denke mal, dass 203333 Berechnungen pro Sekunde (schließe ich aus dem wait 1.0^^) trotzdem ausreichend sind. Außerdem bringt die Erkenntniss eh nichts, denn der Maker macht in der Realität noch ein paar tausend andere Berechnungen. - wieso? Tja, wenn du das Skript durchlaufen lässt muss der Maker ja auch die Grafik, die er anzeigt (und sei's auch nur eine transparend map), berechnen. Hinzu kommen noch divere andere standartberechnungen durch den maker! FRAGE: Wieso hält ein CE die berechnungen auf...?oO

Autor:  Zeph [ So Okt 15, 2006 10:53 ]
Betreff des Beitrags: 

CE               CommentEvent,
Comment     Notiz

zwei Grundverschiedene Sachen =0

Zitat:
trotzdem ausreichend sind.


Schonmal was von Listen sortieren gehöhrt? Scheinbar nicht, weil dann wüßtest du, das jeder Durchlauf zählt.


[quoteDenn ich denke mal, dass 203333 Berechnungen pro Sekunde (schließe ich aus dem wait 1.0^^)[/quote]

Den rechenweg müsstest du mir mal erläutern, ich komm beim besten willen nur auf 1.

Autor:  xtrm3k [ So Okt 18, 2009 16:03 ]
Betreff des Beitrags:  Re: Makerwissen für Fortgeschrittene.

okay, der thread ist zwei jahre alt, aber ich wollte nicht extra nen neuen aufmachen.
ich hab jedenfalls etwas sehr interessantes herausgefunden, das hoffentlich noch nicht jeden wusste.
wenn man hinter einen "change chipset"-Befehl einen "show screen"-Befehl setzt, dann wird das neue chipset, je nach gewählter methode, eingeblendet. mir sind da auf anhieb ein paar gute ideen gekommen, aber da sollte jeder mal selbst seiner fantasie freien lauf lassen.

Seite 2 von 3 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/