Ärzte sollen wiederbeleben können

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,
    ich hätte gerne das Ärzte User wiederbeleben können.
    Also ich habe mir das so vorgestellt:
    Wenn der Spieler 1 HP hat, soll er gefreezed werden und am boden liegen.
    Es erscheint ein Text wo drinne steht:
    "Du bist Tot!Rufe schnell einen Arzt mit /service damit er dich wiederbeleben kann!"
    Und wenn er das macht soll so eine Wiederbeleben Animation kommen,
    und nach 5 Sekunden steht der wo tot ist dann wieder und kann normal weiter spielen mit vollem leben.


    Nur weis ich nicht wie ich das ganze umsetzen soll.
    Deswegen frage ich euch.
    Ich hoffe einer hier im Forum wird mir helfen...


    LG
    MysteriX

  • Also, wenn der Spieler mit 1-HP gefreezed wird, musst du eigentlich in dem Moment, wo er gefreezed wird, den Sanitätern eine Meldung anzeigen lassen, mit der jeweiligen Position (x,y,z) des Verletzten.
    Dann müssen die Sanitäter hinfahren, und ihn im Endeffekt nur Entfreezen und volle HP setzen.

  • Also, wenn der Spieler mit 1-HP gefreezed wird, musst du eigentlich in dem Moment, wo er gefreezed wird, den Sanitätern eine Meldung anzeigen lassen, mit der jeweiligen Position (x,y,z) des Verletzten.
    Dann müssen die Sanitäter hinfahren, und ihn im Endeffekt nur Entfreezen und volle HP setzen.


    Ja das weis ich auch, habe ich ja auch schon oben geschrieben.
    Nur ich weis nicht recht wie ich das ganze umsetzen soll...

  • OnPlayerDeath:
    Playerfreezen
    Team-Message an die Fraktion der Sanitäter, den Sanitätern ein Checkpoint anzeigen lassen, wo der Spieler ist. (GetPlayerPos(VERLETZENID, x,y,z) (SetPlayerCheckPoint(SanitäterFraktionMaxPlayersOderSo,x,y,z,2); )
    Verletzen User eine Variable setzen "Tot"


    Befehl:
    /wiederbeleben
    Abfragen ob der Spieler Tot ist, dann kann er nur wiederbelebt werden
    Spieler HP 100
    Entfreezen

  • Problem 1: Den Spieler bei 1 HP freezen


    Das ist fast unmöglich umzusetzen, da z.B. ein Fall aus großer Höhe direkt tötlich ist. Oder man einen Timer mit sehr kleiner Zeitspanne laufen lassen müsste um sonstige Verletzungen (Beschuss o.Ä) zu registrieren.


    Besser ist hier bei OnPlayerDeath die Position zu speichern (ggf. eine Variable auf true setzten, dass der Spieler tot ist) und dann bei OnPlayerSpawn diese Variable abfragen, den Spieler an die gespeicherte Position setzten und freezen (TogglePlayerControllable).


    Problem 2: Den Medics bescheid geben


    Geschieht auch in OnPlayerSpawn. Dort die gespeicherten koordinaten z.B. für einen Marker benutzen, welcher allen Spieler gesetzt wird, welche den Beruf des Sanitäters ausüben. (per for alle Spieler durchgehen).


    Problem 3: Den Verletzten wiederbeleben


    Einen Command erstellen, mit dem man jemanden Wiederbeleben kann. Dazu soll folgendes Sequenz-Struktogramm dienen:


    Code
    Abfrage ob Spieler Medic
    Abfrage ob Spieler neben anderen Spieler (IsPlayerInRangeOfPoint)
    Abfrage ob anderer Spieler tot (Ist die Totvariable gesetzt?)
    Anderen Spieler unfreezen (TogglePlayerControllable)
    Anderen Spieler volle HP geben (sollte aber durch OnPlayerSpawn schon geschehen sein)
    Spieler eine Animation ausführen lassen


    Und das wars auch schon.