Archiv verlassen und diese Seite im Standarddesign anzeigen : Rm2k3 - Nach jedem Mobkill Variable hochzählen
dadadodo225
25.12.2010, 01:02
Hallo!
Habe da mal eine Frage.
Ist es irgendwie möglich, eine variable hochzählen zu lassen, sobald ich einen gegner besiege?
Habe es schon bei den events bei monster party versucht. hat aber nicht geklappt.
habe als trigger monster hp between 0%-0% ausgewählt und dann einfahc im eventfenster drunter variable 001 + 1 eingefügt. wenn ich jetzt den gegner besiege, erhöht sich die variable aber nicht.
kennt ihr eine andere möglichkeit
vielen dank schonmal
Das kann nicht funktionieren. Nach dem letzten Mobkill ist der kampf vorbei und es wird kein Eventcode mehr ausgeführt.
TheVampire100
28.12.2010, 22:01
Man kann dies aber umgehen, indem man die letzten 5 % der gegner nimmt und dann diese per Event zerstört. vorher zählt man dann die Variable hoch
Dieser Trick wird oft angwendet, wenn man Endgegner in eindruckvollen Animationen zerstören will.
Oder man setzt die gegner auf die Map (also keine Zufallskämpfe mehr), dann macht man nach dem Kampf einen variablenzähler
Hab ich mal für mein Projekt so gemacht, um die Gegner zu zählen, bei so und so vielen Gegnern erhielt man dann eine Medaille
Engel der Furcht
29.12.2010, 09:42
Man kann dies aber umgehen, indem man die letzten 5 % der gegner nimmt und dann diese per Event zerstört. vorher zählt man dann die Variable hoch
Dieser Trick wird oft angwendet, wenn man Endgegner in eindruckvollen Animationen zerstören will.
Oder man setzt die gegner auf die Map (also keine Zufallskämpfe mehr), dann macht man nach dem Kampf einen variablenzähler
Hab ich mal für mein Projekt so gemacht, um die Gegner zu zählen, bei so und so vielen Gegnern erhielt man dann eine Medaille
Schlägt fehl,wenn der Spielerangriff zu stark ist.
5% von 100 sind ja 5.
Und ein normaler Angriff bringt bestimmt mehr schaden als 5.
lordkrinito
29.12.2010, 12:47
Dann mach dem Mob halt 9999 Leben und lass den Skript bei 95% ablaufen. Oder so ähnlich...
TheVampire100
29.12.2010, 20:06
Schlägt fehl,wenn der Spielerangriff zu stark ist.
5% von 100 sind ja 5.
Und ein normaler Angriff bringt bestimmt mehr schaden als 5.
Dann halt doch Lösungsvorschlag Nummer 2
Dann mach dem Mob halt 9999 Leben und lass den Skript bei 95% ablaufen. Oder so ähnlich...
So könnte man es auch machen, aber das wäre dann wieder ein ziemlich aufwenidger Aufrechnungsaufwand ("Wenn ich so viele HP beim Gegner haben will, wie viele hat er dann normalerweise?").
Ich lass mir mal noch was anderes einfallen, sofern es geht
lordkrinito
30.12.2010, 12:36
ziemlich aufwenidger Aufrechnungsaufwand
Ähhhm!
Angenommen dein Monster soll 300 Leben haben, du hast aber 9999 eingestellt, dann ergiebt sich:
300/9000=0,3 -> 3% soll heißen bei 97% kannst du das Vieh per Event töten lassen.
Durch die hohe Anzahl an Leben wird auch verhindert, dass des Vieh nicht aus Versehen früher stirbt...
TheVampire100
31.12.2010, 19:30
Da liegst du aber ein wenig falsch. Zwischen 9999 und 9000 ist ein Riesenunterschied. Aber um dir jetzt nicht gleich den Boden unter den Füßen wegzureißen, rechnen wir einfach die LP auf 10000 auf, dann ist der Unterschied nur noch ein LP groß.
Wenn der Entwickler das halt jedes mal ausrechnen will, kann er das gerne machen, ist nicht mein Problem ^^
lordkrinito
01.01.2011, 11:09
Sorry, hab zwar 9000 geschrieben aber mit 9999 gerechnet^^
TheVampire100
01.01.2011, 21:39
Hab's jetzt nicht nachgerechnet, ist doch eigentlich auch egal.
Der Threadersteller meldet sich wohl auch nicht mehr, ob er das jetzt so macht :- /
Ich tendiere immernoch zu dem "alle Gegner auf der Karte"-Prinzip, das macht es einem am einfachsten, außerdem hat man dann den Vorteil, dass man einen schönen Überblick hat, wie viele Gegner der Spieler so in etwa besiegt haben könnte/sollte. Weiß ja jetzt auch nicht, für was der Entwickler das braucht...
In jeder Mobgruppe in der DB ne Variable Setzen "Anzahl Mobs". Jedes mal wenn ein Mob flieht diese Variable um 1 reduzieren. Variableninhalt bei Kampfende = Anzahl der gekillten Viecher.
TOOO EASY TO EASY! \o/
lordkrinito
02.01.2011, 11:33
Es gibt ne Abfrage um zu sehen ob ein Mob flieht? Ich finds nicht...
TheVampire100
02.01.2011, 13:15
In jeder Modgruppe in der DB ne Variable Setzen "Anzahl Mobs". Jedes mal wenn ein Mob flieht diese Variable um 1 reduzieren. Variableninhalt bei Kampfende = Anzahl der gekillten Viecher.
TOOO EASY TO EASY! \o/
Und dann? Wie willst du die Variable zu der Gesamtzahl hinzuzählen, wenn es Randomkämpfe sind?
Soweit ich weiß, gibt es keine Möglichkeit im Maker, zu erkennen, wann ein Randomkampf stattgefunden hat, dann müsste man wieder das so machen, wie ich gesagt habe, Gegner auf der Karte platzieren.
Sollte ich mich jedoch irren, erflehe ich deine Verzeihung, dann wusste ich es nicht beser.
Es gibt ne Abfrage um zu sehen ob ein Mob flieht? Ich finds nicht...
Mein Fehler, ich hab naiverweise vorrausgesetzt, dass die Kapazität zu ein klein wenig selbst mitdenken vorhanden ist. Fragt doch Cherry ob er euch einen "Baue komplettes Spiel"-Knopf in den maker patcht.
Und dann? Wie willst du die Variable zu der Gesamtzahl hinzuzählen, wenn es Randomkämpfe sind?
Soweit ich weiß, gibt es keine Möglichkeit im Maker, zu erkennen, wann ein Randomkampf stattgefunden hat, dann müsste man wieder das so machen, wie ich gesagt habe, Gegner auf der Karte platzieren.
Sollte ich mich jedoch irren, erflehe ich deine Verzeihung, dann wusste ich es nicht beser.
MapTree -> Map Properties -> Enemy Encounter Liste
"Randomkämpfe" finden nur mit den in der Map ausgewählten Mobgruppen aus der M.Group-Liste der Datenbank statt. In diesen Mobgruppen in der M.Groups Liste setzt du die Variable. Genau wie es in dem Post beschrieben steht, den zu zitiert aber wohl nicht gelesen hast.
Und nein. das ist nicht die vollständige Lösung, es ist ein Ansatz. Ich sehe nämlich keinen Bedarf ne komplette Lösung zu diktieren für Leute, die nicht bereit und willens sind 2 Zeilen Text zu lesen und zu verstehen.
TheVampire100
02.01.2011, 14:13
Ich habe deinen Post durchaus gelesen und ich weiß durchaus, wo die Variable reinkommt.
Also, nur, um Cortis Vorschlag mal umzusetzen und eine richtige Lösung mal einzupacken (es geht durchaus, wie ich jetzt selbst bemerkt habe).
Also, Man setzt einfach den Trigger aud Runde 0 und zählt die Variable (nennen wir sie mal "Monsterkill Kampf") um die Anzahl der Monster hoch, nehmen wir mal 3 Monster, also +3. Außerdem setzt man noch einen Schalter ein, der Name ist hier irrelavant.
Wenn dann ein Monster flieht (kommt ja selten genug vor), subrahiert man das ganze dann einfach um 1.
Parallel dazu macht mein ein Event mit parallel process. Dort wird dann abgefragt, ob der Schalter aktiviert ist, wenn ja, zählt man die Variable zu einer zweiten Variable ("Monsterkill gesamt"), setzt sie wieder auf 0 und deaktiviert den Schalter. Beim nächsten Kampf geht der Schalter dann wieder an und das lustige Spielchen geht von vorne los.
War das so in deinem Sinne, Corti?
dadadodo225
02.01.2011, 18:44
Ich habe deinen Post durchaus gelesen und ich weiß durchaus, wo die Variable reinkommt.
Also, nur, um Cortis Vorschlag mal umzusetzen und eine richtige Lösung mal einzupacken (es geht durchaus, wie ich jetzt selbst bemerkt habe).
Also, Man setzt einfach den Trigger aud Runde 0 und zählt die Variable (nennen wir sie mal "Monsterkill Kampf") um die Anzahl der Monster hoch, nehmen wir mal 3 Monster, also +3. Außerdem setzt man noch einen Schalter ein, der Name ist hier irrelavant.
Wenn dann ein Monster flieht (kommt ja selten genug vor), subrahiert man das ganze dann einfach um 1.
Parallel dazu macht mein ein Event mit parallel process. Dort wird dann abgefragt, ob der Schalter aktiviert ist, wenn ja, zählt man die Variable zu einer zweiten Variable ("Monsterkill gesamt"), setzt sie wieder auf 0 und deaktiviert den Schalter. Beim nächsten Kampf geht der Schalter dann wieder an und das lustige Spielchen geht von vorne los.
War das so in deinem Sinne, Corti?
die variable würde sich dann aber auch erhöhen, wenn der held flieht. oder habe ich da einen denkfehler?
am sichersten wäre das dann wohl mit den monster hp. das kann ich dann auch praktischerweise noch für ne "gekillt-animation" benutzen.
die variable würde sich dann aber auch erhöhen, wenn der held flieht. oder habe ich da einen denkfehler?
Du kannst abfragen, ob der Held geflohen ist. Im Falle von "Held wurde verhauen" oder "Held geflohen" erhöht man die Variable einfach nicht.
am sichersten wäre das dann wohl mit den monster hp.
Nein. Definitiv nicht. Fliehende Monster und Helden sind eher die Ausnahme, Mobkills zählen ist auch nicht elementar. Monster Hp sind Kernmechanik. Sry nein, man fummelt sich an den Lebenserhaltungssystemen rum nur weil die Frisur etwas schief sitzt.
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.