Auto auswahl statt Befehl

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
  • Ich weiß nicht genau wie ich das beschreiben soll.
    Ich benötige einen Gedankenansatz wie ich meine Autos spawnen kann. Also ich möchte eine Vorschau der Autos erstellen die dann mit einem Befehl aufzurufen ist. Derzeit ist es so das man einen Befehl eingibt (bei mir ist es /newcar) und dann kommt die ID und dann die beiden Farben der Autos. Das funktioniert auhc alles aber ich möchte nciht jedesmal im Wiki nachsehen welches Auto welche ID hat und wie dann die Farben daran aussehen. Darum möchte ich einen Befehl der mir die autos mit "nach RECHTS klicken" und "nach LINKS klicken" anzeigt und vorstellt. Wenn man sich dann für ein Auto entschieden hat so soll man dann die beiden Farben nacheinander auswählen können. Wieder mit "RECHTS" und "LINKS". Danach soll exat dieses Auto gespawnt werden und der player soll drin sein...


    Phu... Aufsatz ende


    Ich hoffe ihr versteht was ich möchte.


    Danke schonmal für eure Hilfe

  • Gut, Ich versuch das mal zu erklären, ich hoffe du fängst was damit an.^^


    • /automenu => OnPlayerCommandText natürlich
    • Das setzt die CameraPos des Spielers (SetPlayerCameraPos, SetPlayerCameraLookAt) zu der stelle, wo du eben das automenu haben willst. Also entweder irgendwie vor dem spieler, obwohl das im Gelände nicht so schon wird, oder eben an einer definierten Stelle, wobei du dann jedem Spieler eine extra Virtual World zuweisen solltest, sonnst wirds chaotisch wenn 2 Leute den Command benutzen. Und Eben: PlayerVehicle[playerid] = CreateVehicle...
    • Als Nächstes dann über OnPlayerKeyStateChange (oder OnPlayerUpdate mit GetPlayerKeys, für Links/Rechts/Hoch/Runter) die Keys abfragen, und mit einer Spieler Variable überprüfen, ob der Spieler auch den Command benutzt hat (die setzt du wenn der Command eingegeben wird zu 1).
    • Das selbe für alle weiteren Einstellungen, musst eben wenn du die Einstellung wechselst (z.B. mit Hoch/Runter) einer anderen Spieler variable zuweisen, in welcher Einstellung der Spieler sich befindet, damit der Server bei dem jeweiligen Tastendruck auch weiß, ob er nun Farbe, Model oder sonst was zu ändern hat.
    • Wenn fertig, dann den Spieler in das Auto setzen, und SetCameraBehindPlayer. Die Spieler Variablen wieder zu 0 setzen. Ende.


    Naja, wenn du Fragen hast, fragen. ^^

  • Ok das bringt mich ein deutliches stück weiter.
    Danke dafür


    Wenn ich das richtig verstanden habe, dann muss ich also jedes Auto spawnen lassen und wenn der spieler sich für eine andere farbe entscheidet muss das auto wieder weg und dann muss ein neues mit der farbe her?


    Phu das sind aber viele Zeilen...



    Ist das so richtig wie ich denke?

  • Nein, das musst du nur bei der Änderung des Modells machen, bei der Farbe kannst du ja ChangeVehicleColor machen.
    Außerdem musst einjährige nicht jedes Auto in jeder Farbe in deinen Code schreiben, das kannst du ja schön mit Variablen machen, das heißt um das Auto zu ändern fallen nur maximal zwei Zeilen an. Bei Modell ändern: Auto löschen und wieder erstellen. Bei Farbe: ChangeVehicleColor.


    Das ganze braucht eigentlich gar nicht viel Code, wenn du es richtig machst. :)

  • Ok Danke dir dann schau ich mal was ich so hinbekomme.


    ChangeVehicleColor kannte ich bis gerade eben nicht darum bin ich ein wenig vor der arbeit zurückgeschreckt. Aber mit dem befehl denke ich wird es definitiv leichter sein :D

  • Naja, effektiv sparst du genau eine Zeile an Code dadurch dass du den Befehl kennst. :D
    Aber mit dem ChangeVehicleColor sieht die ganze Auswahl an sich wesentlich besser aus, da das Auto nicht jedes mal neu spawnt.
    Dann mal viel Erfolg, wenn Fragen auftauchen kannste gerne fragen.