Dialog im bestimmten bereich

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
  • juten tach


    mal wieder ne blöde frage von mir. wie kann ich das machen, dass wenn ein spieler sich in einem bestimmten bereich befindet ein dialog kommt. es soll natürlich ohne irgendein icon oder so gehen. ich habe nichts brauchbares im netz gefunden. deswegen wäre ich für jede hilfe dankbar.


    mfg :thumbup:

  • Könntest per Timer oder per OnPlayerUpdate arbeiten.


    dann IsPlayerInRangeOfPoint -> Dialog anzeigen.
    Vorher aber absichern, das der Dialog nicht dauerhaft wieder aufploppt, sonst haste nen Problem ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • also. ich hab das jetzt unter OnPlayerUpdate gemacht. nun kommt das aber immer und immer wieder.
    wenn ich das mim timer mache, dann kann ich doch den timer unter ongamemodeinit jede sek. abfragen ob der spieler in dieser position ist, oder?
    die frage ist, wie ressourcend fressend ist das?? ich möchte nämlich vermeiden, dass es anfängt zu laggen.

  • Wieso sollte es ?
    Wenn der Timer in unter 10MS pro Sekunde (1000/10 = 100 Mal Pro Sekunde)
    Dann könnte es sein.
    Zurück zu deinem Dialog.
    Wenn du den Timer wieder weg haben willst, damit dein Dialog nicht wieder auftaucht KillTimer(spec. Timer)
    Dazu müsstest du dein Timer als neue Variable angeben:

    new Timer = SetTimer(//);
    func OnTimerexpire
    {
    KillTimer(Timer);


    }

  • also. ich hab das jetzt unter OnPlayerUpdate gemacht. nun kommt das aber immer und immer wieder.


    Vorher aber absichern, das der Dialog nicht dauerhaft wieder aufploppt, sonst haste nen Problem ;)



    Genau das meinte ich :D


    setz eine Variable z.B.
    bool:Dialogpopped[MAX_PLAYERS];


    und dann fänsgt du das so ab.


    Das gleich Problem hast du auch bei nem 1 Sekundentimer :P

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski