Switch to full style
Thema gesperrt

Deathcount einbauen

Mi 19 Aug, 2020 12:13

Könnte über das Achievement-System passieren und auch gleich als solches behandelt werden.

Tod = LeP < 0

Re: Deathcount einbauen

Mi 19 Aug, 2020 13:10

Ich würde das grundsätzlich einbauen, brauche dafür aber etwas Unterstützung beim Design.

Zunächst einmal sieht es aus, als wenn wir nur set_held_schaden in functions_held.inc.php erweitern müssten. Ich würde die Heldentode in einer neuen Datenbank-Tabelle usr_held_gestorben, zunächst mit held_id und "Todeszeitpunkt" erfassen, d.h. jeder "überlebte Tod" wäre eine neue Zeile:

INSERT INTO usr_held_gestorben (held_id=:held, zeit=:zeit)

Könnte man später vielleicht noch um die Todesursache ergänzen - wie auch immer man die da rein reicht.

Brauchen wir einen technischen Primary-Key? Ich vermute mal die held_id+zeit reichen aus, evtl. einfach ein ON DUPLICATE KEY UPDATE mit rein, Doppeltod in derselben Sekunde zählt dann als einer. Für nachträglich abgespielte Reise-ZB wird doch eh die Zeit erreichnet und mit reingereicht, oder?

Die Anzahl der Tode wäre also
Code:
SELECT count(*) FROM zeit WHERE held_id = :held_id
und der letzte Todeszeitpunkt
Code:
SELECT max(zeit) FROM zeit WHERE held_id = :held_id
Zuletzt geändert von Lowlander am Do 20 Aug, 2020 16:30, insgesamt 1-mal geändert.
Grund: Table in SQL korrigiert

Re: Deathcount einbauen

Mi 19 Aug, 2020 23:01

Bin gerade nicht am Rechner, aber schau dir dazu Mal ant_achievement an.

Re: Deathcount einbauen

Do 20 Aug, 2020 10:20

Ok, direkt über Achievements (ant_achievement / usr_held_achievement / Coutner in hero-Scoped AOQML-Variable) könnte man es machen, wenn man nur zählen will.

Andererseits wäre so etwas wie usr_held_gestoben (oder allgemeiner user_held_ereignis) eher eine zweite Quelle neben AOQML. Gibt es schon Archievements, die nicht über AOQML kommen?

Käme mir nähmlich etwas seltsam vor, aus functions_held_inc.php in die AOQML-Variablen reinzuschreiben.

Re: Deathcount einbauen

Do 20 Aug, 2020 10:38

Bisher nicht. Aber können wir dann ja erweitern. Bei den AOQML-Variablen sind wir ja auch stark eingeschränkt. Wir wollen ja noch andere Achievements haben die außerhalb von AOQML evtl besser gehandhabt werden können: https://wiki.antamar.eu/index.php/Achievements

Re: Deathcount einbauen

Do 20 Aug, 2020 18:43

Tommek hat geschrieben:Könnte über das Achievement-System passieren und auch gleich als solches behandelt werden.

Tod = LeP < 0


Da kommen aber wenig Tode zusammen. Wann hat man schon mal negative Lebenspunkte? Sehr selten.

Orientiert euch doch daran, wann ein Char zu Boden geht. Drei Wunden in einer Zone oder LeP < 6 (mit 6 steht man noch, wenn ich mich nicht irre).

Re: Deathcount einbauen

Do 20 Aug, 2020 19:10

Pyromaniac hat geschrieben:
Tommek hat geschrieben:Könnte über das Achievement-System passieren und auch gleich als solches behandelt werden.

Tod = LeP < 0


Da kommen aber wenig Tode zusammen. Wann hat man schon mal negative Lebenspunkte? Sehr selten.


Das liegt daran, dass auf LEP nicht tiefer als 0 geht. Aber das ist genau die Stelle, die angepasst wird, d.h. man kann problemlos prüfen, ob es negativ geworden wäre. Alternativ könnten wir auch 0 schon als tod ansehen. Solange man noch Lebensenergie hat, wäre es unlogisch, wenn man tod wäre.

Davon abgesehen, wollen wir anfangs überhaupt erst einmal herausfinden, wie oft Helden nach der Regel sterben würden. Dafür reicht es allemal.

Re: Deathcount einbauen

Do 20 Aug, 2020 22:04

Vielleicht je nach Konstitution auch minus Bereiche zum überleben nutzen. - 5 wäre da das absolute Maximum von 40 Komstituion ausgehend ergo KO 8 Charaktere gehen bei - 1 hopps. So mal als Festure , 8er KO Schwellen für negativ LP

Re: Deathcount einbauen

Do 20 Aug, 2020 23:22

Nein, 0 und drunter.

Re: Deathcount einbauen

Fr 21 Aug, 2020 09:31

Ich bekomme ehrlich gesagt noch nicht in den Kopf, was genau beim Heldentod das Achievement wäre. Also "x-mal gestorben wäre" ist nicht sonderlich schwierig. Spannender wäre, wie selten man gestorben wäre oder wie lange man seit dem letzten eigentlichen Tod, überlebt hat - aber gemessen in was? EP? Dann braucht man ja nur in einer sicheren Stadt immer wieder arbeiten. Oder Realzeit? dann braucht man nur einen Helden liegen lassen. In-Game-Zeit? Wie messen? Orte besucht, Queste gespielt, Kämpfe erlebt etc.? Klingt aufwändig zu erfassen.

Ich würde für den Anfang dennoch erst einmal nur mitzählen, wie bei den AOQML-Variablen der bisherigen Achievements, nur eben in einer Tabelle außerhalb von AOQML-Variablen (usr_held_protoachievement - gerne besserer Namensvorschlag):
Code:
mysql> show columns from usr_held_protoachievement;
+----------------+------------------+------+-----+---------+-------+
| Field          | Type             | Null | Key | Default | Extra |
+----------------+------------------+------+-----+---------+-------+
| held_id        | int(10) unsigned | NO   | PRI | NULL    |       |
| name           | varchar(60)      | NO   | PRI | NULL    |       |
| count          | int(10) unsigned | NO   |     | 0       |       |
+----------------+------------------+------+-----+---------+-------+


Nachtrag: name können wir natürlich auch noch rausziehen in eine Tabelle ant_protoachievement.
Zuletzt geändert von Lowlander am Fr 21 Aug, 2020 09:56, insgesamt 1-mal geändert.
Grund: Nachtrag

Re: Deathcount einbauen

Fr 21 Aug, 2020 22:16

Warum nicht simpel?

Tod/Feindkontakt. Das geht in Steppen fix.

Re: Deathcount einbauen

Sa 22 Aug, 2020 10:58

Mitsune hat geschrieben:Warum nicht simpel?

Tod/Feindkontakt. Das geht in Steppen fix.


Als Achievement? Ich finde es weder herausfordernd noch erstrebenswert, Tod/Feindkontakt gehabt zu haben, sondern allenfalls solchen überlebt zu haben, also das Gegenteil eines Achievements.

Ich weiß nur noch nicht, wie man das sinnvoll "messen" könnte.
Thema gesperrt