Kamerafahrt, Warten, nächste Kamerafahrt

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Wer kennt das nicht?
    Man Joint ins Spiel und wird gefragt ob man ein "Rundgang" haben möchte, oder sowas ähnliches. Wo dann unterschiedliche Orte gezeigt werden & ein Text erscheint wo z.B. steht "Hier siehst du...." und die Kamera um das Gebäude herumschwirrt, oder vor dem Gebäude.
    Sowas möchte ich auch machen.
    Ich habe alle Informationen die ich brauch (wohin muss die Kamera etc.) nun möchte ich aber das zwischen jeder Kamerafahrt gewartet wird.


    Beispiel:
    Kamerafahrt 1: Stadthalle
    --Text zur Stadthalle--
    WARTEN (6 Sekunden z.B. zum lesen)
    Kamerafahrt 2: Los Santos Bank
    --Text zur Los Santos Bank--
    WARTEN (6 Sekunden)


    Ich habe vieles versucht, z.B. SetTimer, SetTimerEx weiß aber nicht wie ich das auf meinem Beispiel übertragen soll. Als ich versuchte einen Timer namens "Bank" zu erstellen und in dem public dann "SendClientMessage" zu machen zeigte er mir einen Fehler an, das "playerid" schon vorhanden sei.


    Hat jemand irgendeine Idee?

  • Zuerst einmal:
    Tipps: Scripting-Probleme richtig erklären




    Ohne Code können wir dir nicht, bis kaum helfen.


    Ich selbst habe in meinem Script diese Kamerafahrt nicht drinnen, aber ich glaube du weißt ja an sich wie du die Kamera Fahrt erstellst nehme ich an. ( InterpolateCameraPos etc.)


    Da InterpolateCameraPos keinen Wert zurückgibt wenn es fertig bewegt hat musst du das selber mit einem Timer machen.


    (Ich bin mir nicht sicher ob das die beste Weise ist das zu machen aber funktionieren sollte es):


    Dort wo die Kamera sich beginnt zu bewegen, also unter InterpolateCameraPos, erstellst du dir einen Timer der genauso lange dauert wie du die ms bei InterpolateCameraPos angegeben hast. Dort lässt du dir dann die Client Message anzeigen, erstellst einen 6 Sekunden Timer (z.B) und in diesem Public schickst du die Kamera weiter usw.



    Du kannst es statt mit ClientMessages es auch mit Dialogen machen, sieht 1. besser aus und 2. Sparst du dir einen Timer, da du abfragen kannst ob der Spieler den Dialog bestätigt hat.

  • Ich habe das schonmal so probiert:



    Aber im public geht eben nicht das "SendClientMessage" natürlich muss man noch bei dem "SetTimer" ein Forward machen, was ich natürlich auch gemacht habe. Aber anstatt 6 Sekunden zu warten, und das sich DANN der Timer aktiviert, aktiviert er sich sofort und das ganze wird nur heruntergerackert.

  • Du musst mit "SetTimerEx" arbeiten wenn du in deinem public einem Spieler eine Nachricht schicken möchtest, da du bei "SetTimerEx" die playerid mit an das public übergeben kannst. (https://wiki.sa-mp.com/wiki/SetTimerEx)


    Das Problem, dass der neue Timer direkt anfängt ohne die 6 Sekunden zu warten hatte ich auch mal. Weiß aber gerade nicht mehr wie ich das damals geschafft habe. Wenn es mir wieder einfällt melde ich mich nochmal.


    Hab vor fast zwei Jahren mal ein Tutorial auf YouTube zu dem Thema Ingame Tutorial gemacht. Vielleicht hilft dir das auch weiter:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Du musst mit "SetTimerEx" arbeiten wenn du in deinem public einem Spieler eine Nachricht schicken möchtest, da du bei "SetTimerEx" die playerid mit an das public übergeben kannst. (https://wiki.sa-mp.com/wiki/SetTimerEx)


    Das Problem, dass der neue Timer direkt anfängt ohne die 6 Sekunden zu warten hatte ich auch mal. Weiß aber gerade nicht mehr wie ich das damals geschafft habe. Wenn es mir wieder einfällt melde ich mich nochmal.


    Hab vor fast zwei Jahren mal ein Tutorial auf YouTube zu dem Thema Ingame Tutorial gemacht. Vielleicht hilft dir das auch weiter:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Ich danke dir, genau dieses Video habe ich gesucht! GENAU DAS! Aber ich wusste nicht mehr wie du hießt. Danke.