Fahrzeug beim Teleportieren mitnehmen!

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
  • Da mir aufgefallen ist, das sehr viele nicht wissen, wie man ein Fahrzeug beim Teleportieren mitnimmt, wollt ich mal ein Tutorial dazu schreiben.
    Es ist mein erstes Tutorial ;)


    Also, ihr geht nun zum Public "OnPlayerCommandText" und gebt da erstmal einen ganz normalen befehlsaufbau ein.
    In unserem Beispiel sieht der so aus:
    if(strcmp(cmdtext,"/bsn-f",true)==0) {


    }



    für was das steht, sollte alles klar sein.


    Nun gebt ihr zwischen die Geschwungenen klammern folgendes ein:


    if(IsPlayerInAnyVehicle(playerid)) { new cid=GetPlayerVehicleID(playerid); SetVehiclePos(cid,1202.8210,-938.4097,42.7448); PutPlayerInVehicle(playerid,cid,0); SendClientMessage(playerid,COLOR_RED,"Du hast dich Teleportiert!"); }


    Wir Fragen oben mit IsPlayerInAnyVehicle ab, ob sich der Spieler in einem Fahrzeug befindet,danach fragen wir mit GetPlayerVehicleID die fahrzeug ID ab, die wir für das Teleportieren brauchen.
    Nachdem wir die Fahrzeug ID (In unserem beispiel haben wir sie cid genannt) haben, können wir das Fahrzeug nun Teleportieren.Das machen wir mit SetVehiclePos.das cid steht dabei für die Fahrzeug ID, und die darauf folgenden Zahlen sind die Koordinaten (Die koordinaten sind auf der Straße vor dem Burger Shot North)


    Nachdem wir das Fahrzeug also Teleportiert haben, muss der Spieler ja auch in den Wagem kommen, das machen wir mit PutPlayerInVehicle.für was playerid steht ist klar, das cid steht für die Fahrzeug ID, und die 0 steht für den Sitz (0 = Fahrer, 1=Beifahrer).
    Dann senden wir dem User noch eine Nachricht, das er Teleportiert wurde.


    direkt unter den code, schreiben wir noch das:
    else { SetPlayerPos(playerid,1202.8210,-938.4097,42.7448); SendClientMessage(playerid,COLOR_RED,"Du hast dich Teleportiert!"); }


    das else steht dafür, falls der spieler (oben geprüft) nicht in einem fahrzeug ist, wird nur der spieler per SetPlayerPos teleportiert, darauf folgt wie oben eine Nachrihct.


    Das wars auch schon!


    Der gesamte code sollte nun so aussehen:
    if(strcmp(cmdtext,"/bsn",true)==0) { if(IsPlayerInAnyVehicle(playerid)) { new cid=GetPlayerVehicleID(playerid); SetVehiclePos(cid,1202.8210,-938.4097,42.7448); PutPlayerInVehicle(playerid,cid,0); SendClientMessage(playerid,COLOR_RED,"Du hast dich Teleportiert!"); } else { SetPlayerPos(playerid,1202.8210,-938.4097,42.7448); SendClientMessage(playerid,COLOR_RED,"Du hast dich Teleportiert!"); } return 1; }



    Mit Freundlichen Grüßen
    Neoner


    PS: Kritik auf das Tutorial erwünscht, ist mein erstes :rolleyes:


    Probleme oder Fragen können auch hier Gepostet werden!

  • Welchen Browser benutzt du, oder war des einfach Copy&Past??


    lg


    pS