Ergebnis 1 bis 4 von 4

Thema: Wie heißt die Funktion, mit der man überprüfen kann, ob jemand getroffen wurde?

  1. #1
    Erfahrener Benutzer Avatar von racer simon
    Registriert
    02.07.2010
    Alter
    22
    Beiträge
    297
    ManiaPlanet
    Challenger
    Login: racer_simon
    Nickname: Challenger
    Zone: World » Europe » Germany » Nordrhein-Westfalen » Düsseldorf
    Multiplayer: 7.866 (61.169 LP)
    Soloplayer: 12.298 (5.473 SP)
    Clan: Global Rebels
    TrackMania
    Challenger
    Login: racer_simon United
    Nickname: Challenger
    Zone: World » Germany » North Rhine-Westphalia » Düsseldorf
    Multiplayer: 46.775 (65.778 LP)
    Soloplayer: 12.811 (46.555 SP)
    Clan: Global Rebels
    Links: TM-Ladder

    Wie heißt die Funktion, mit der man überprüfen kann, ob jemand getroffen wurde?

    Mich würde mal interessieren, wie die die Funktion, mit der man überprüfen kann, ob jemand getroffen wurde, in Maniascript heißt und in welcher Datei sie liegt.

  2. #2
    Was du suchst ist "Event-Handling".

    Ich schätze mit "Datei" meinst du das Objekt/den Typ des Objekts, in dem du die Funktion/Methode findest.
    Da jemand mehrmals getroffen werden kann, gibt es keinen Wahrheitswert (Typ: Boolean) oder ähnliches, der einfach angibt, ob der Spieler bereits getroffen wurde oder nicht.
    Insofern würde ich mich an deiner Stelle mal mit der Eventverarbeitung beschäftigen.
    In PendingEvents (CSmMode) findest du alle Events. (Die werden da vom System/Server einfach reingeschoben/angehängt.) Du kannst sie z.B. mit einer foreach-Schleife in deiner Main-Schleife abarbeiten.
    Das Event selbst ist dann vom Typ CSmModeEvent.
    CSmModeEvent enthält eine Definition für ein Enum-Objekt namens Type vom Typ EType.

    Zitat Zitat von Dokumentation
    EType - Enumerator:
    Unknown
    OnShoot
    OnHit
    OnArmorEmpty
    OnCapture
    OnPlayerRequestRespawn
    Das, was du suchst, ist sehr wahrscheinlich das OnHit-Event.
    Schlussendlich kannst du es dann so abfangen/überprüfen:

    ManiaScript:
    foreach(Event in PendingEvents) {
        if(Event.Type == CSmModeEvent::EType::OnHit) {
            // Executed if someone was hit.
        {
    }


    Das alles ist natürlich genauso übertragbar für all die anderen Events.
    Mehr zu Event-Handling:
    Destroflyers Nachschlagewerk - Event-Handling
    Marcels Tutorial - Behandeln von Ereignissen
    (Ist zwar mehr im Bezug auf Manialinks, kann aber einfach übertragbar verwendet werden.)
    */

  3. #3
    Erfahrener Benutzer Avatar von racer simon
    Registriert
    02.07.2010
    Alter
    22
    Beiträge
    297
    ManiaPlanet
    Challenger
    Login: racer_simon
    Nickname: Challenger
    Zone: World » Europe » Germany » Nordrhein-Westfalen » Düsseldorf
    Multiplayer: 7.866 (61.169 LP)
    Soloplayer: 12.298 (5.473 SP)
    Clan: Global Rebels
    TrackMania
    Challenger
    Login: racer_simon United
    Nickname: Challenger
    Zone: World » Germany » North Rhine-Westphalia » Düsseldorf
    Multiplayer: 46.775 (65.778 LP)
    Soloplayer: 12.811 (46.555 SP)
    Clan: Global Rebels
    Links: TM-Ladder
    Danke, genau das hab ich gebraucht.

  4. #4
    Benutzer Ein halbes Jahrhundert Avatar von Frippi
    Registriert
    16.06.2012
    Ort
    Berlin
    Alter
    34
    Beiträge
    50
    ManiaPlanet
    -=Frippi=-
    Login: frippi
    Nickname: -=Frippi=-
    Zone: World » Europe » Germany » Berlin
    Multiplayer: 4.939 (70.143 LP)
    Soloplayer: 19.532 (2.760 SP)
    Clan: Global Rebels Gaming
    Bahnhof

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •