umzu höher ein wert um zu seltener soll der Wert 1 rauskommen.

  • GM 8
  • umzu höher ein wert um zu seltener soll der Wert 1 rauskommen.

    Schönen Abend.

    Ich mach grad so ein Kampsystem und wollte jetzt so ein Ausweichen reinmachen. Und zwar hab ich einen Wert (Beweglichkeit). Der ist am Anfang auf 10.
    So wenn man angegriffen wird, soll so zufällig entschieden werden ob der Angriff trifft oder nicht. Der Wert von Beweglichkeit sollte aber inbegriffen sein.
    Das heißt umzu höher der Wert von Beweglichkeit ist umzu höher soll die Chance sein das man ausweicht.


    MfG Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Du schreibst, was du machen willst, aber nicht woran du scheiterst.
    Willst due eine mathematische Formel für die Ausweichwahrscheinlichkeit?
    Wie groß soll den der Einfluss des Beweglichkeitswertes sein und wie hoch soll die Ausweichwahrscheinlichkeit bei niedriger und sehr hoher Beweglichkeit sein?

    Gibt tausende Möglichkeiten einen Wert zu berechnen. Ich persönlich würde noch den Beweglichkeitswert des Gegners hinzuziehen.
  • TrunX schrieb:

    Du schreibst, was du machen willst, aber nicht woran du scheiterst.
    Willst due eine mathematische Formel für die Ausweichwahrscheinlichkeit?
    Wie groß soll den der Einfluss des Beweglichkeitswertes sein und wie hoch soll die Ausweichwahrscheinlichkeit bei niedriger und sehr hoher Beweglichkeit sein?

    Gibt tausende Möglichkeiten einen Wert zu berechnen. Ich persönlich würde noch den Beweglichkeitswert des Gegners hinzuziehen.


    Den Beweglichkeitswert des Gegners hinzuzufügen wäre nicht schlecht.
    Sry ich bin schon müde, also hab ich wohl das wichtigste vergessen :)

    Also eine Mathematische Formel dafür wäre nicht schlecht.
    bew1 (Die Beweglichkeit des spielers)
    bew2 (Die Beweglichkeit des Gegners)

    ausw = bew1-bew2; dann kommt meistens ein Zahlenwert von 0-10 heraus.
    Sollte ich das dann mit Prozent machen???
    Boah ich hab grad keine Ahnung wie man das am besten lösen könnte.


    Wie machen die das in z.b.: WoW??

    MfG Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Wie wärs wenn du das mit Hitcaps lößt.

    Sprich,
    100 BEW geben dir 1% AUS dazu & reduzieren dadurch AUA
    Schadenspunkte des Gegners werden prozentual von AUS verringert.
    eventuell eine Toleranz (zufall) von 2%+/- hinzufügen

    Grundwert 600 BEW
    Ausrüstung 600 BEW
    Insgesammt 12% AUS

    Gegner Hit 1200 AUA

    100% = 1200AUA
    1% = 1200/100
    88% = 1200/100*88 < Variable ( GRUNDWERT - EIGENWERT )
    x% = 1200/100*88+-x < Variable ( EIGENWERT +- TOLERANZ )
    Ergebnis = Tatsächlich AUA

    Hoffe ich hab keinen Denkfehler drinnen, wenn ja bitte um Korrektur, ist echt früh am Morgen :X
  • ich würd ne variable machen
    z.B. var hit.

    dann setzt du diese variable auf z.B 100.

    werden jetz erfahrungspunkte auf beweglichkeit geskillt, ziehst du für jeden punkt einen von der 100 ab.

    also 10 erfahrungspunkte = hit=100
    11 erfahrungspunkte = hit=99

    jetzt machst du in einem alarm event oder wo du das haben willst,
    verwendest du random (hit) und vergleichst den wert.

    wenn der wert zufällig 0 ist, dann bist du ausgewichen, wenn nicht dann wurdest du getroffen :)

    die beweglichkeit des gegners kannst du dann so einbinden

    hit+=other.hit-100


  • Keviii schrieb:

    Wie wärs wenn du das mit Hitcaps lößt.

    Sprich,
    100 BEW geben dir 1% AUS dazu & reduzieren dadurch AUA
    Schadenspunkte des Gegners werden prozentual von AUS verringert.
    eventuell eine Toleranz (zufall) von 2%+/- hinzufügen

    Grundwert 600 BEW
    Ausrüstung 600 BEW
    Insgesammt 12% AUS

    Gegner Hit 1200 AUA

    100% = 1200AUA
    1% = 1200/100
    88% = 1200/100*88 < Variable ( GRUNDWERT - EIGENWERT )
    x% = 1200/100*88+-x < Variable ( EIGENWERT +- TOLERANZ )
    Ergebnis = Tatsächlich AUA

    Hoffe ich hab keinen Denkfehler drinnen, wenn ja bitte um Korrektur, ist echt früh am Morgen :X


    Hähhh?? :)
    Versteh ich überhaupt nicht. 100 Bew geben 1% Aus dazu (Aus ist wahrscheinlich Ausweichen oder)
    Das heißt wenn ich 500 Bew habe dann hab ich 5% Aus.

    Jetzt sollte eine 5%ige chance sein auszuweichen, aber wie berechnest du das dann???
    das versteh ich grad nicht.

    @Gruen:
    also wenn ich random (hit) nehme (und hit 100 ist) kommt doch zwischen 0 und 100 eine zahl raus. Aber mit welchen Wert soll ich das vergleichen und wie? >= oder > oder <= oder < oder ==

    Danke für die Antworten.
    Aber ich versteh euch trotzdem nicht.

    MfG Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Ein Vorschlag:

    GML-Quellcode

    1. a=max((b1-(b2/2))/2,0)

    a=Ausweichchance (in %)
    b1=Eigene Beweglichkeit
    b2=Gegnerische Beweglichkeit

    Wenn du nun mittels if abfrage prüfen willst ob der Treffer zustande kommt:

    GML-Quellcode

    1. if a>=random(100) then
    2. //treffer, versenkt!