Auto spawn - Spieler ins Auto - Teleport

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
  • Hallo,


    folgendes hab ich vor:


    -Spieler gibt einen Command ein, landet in einem Auto und wird Teleportiert.


    Beispiel:
    Spieler gibt /derby ein. Er landet auf einem Bike und wird in die Area teleportiert.


    Ist doch möglich oder?

  • Ich weiss zumindest das man folgendes Braucht:


    Code
    GetPlayerPos
    CreateVehicle
    SetPlayerPos
    SetVehiclePos


    EDIT: Habs teilweise hinbekommen. Nur ein Problem: Das Fahrzeug wird nicht teleportiert.


    dcmd_bike(id,o[]) {
    new Float:x, Float:y, Float:z;
    new bike;
    #pragma unused o
    if (!IsPlayerInAnyVehicle(id)) {
    GetPlayerPos(id, x, y, z);
    bike = CreateVehicle(468, x, y, z, 82.2873, 3, 6, 500);
    PutPlayerInVehicle(id, bike, 0);
    SetPlayerInterior(id, 4);
    SetVehiclePos(bike, -1419.5884,-722.7014,1055.1520);
    SetPlayerPos(id, -1419.5884,-722.7014,1055.1520);
    } else return SendClientMessage(COLOR_RED,id, "Verlasse Dein Fahrzeug!");
    return 1;
    }

    Einmal editiert, zuletzt von Silent ()

  • carid = GetPlayerVehicleID(playerid);
    carid = CreateVehicle(411,X,Y,Z,Angle,-1,-1,600); // 411 ist die Car ID
    PutPlayerInVehicle(playerid,carid,0);


    so vllt? :)

    Werden die SAMP User ("Scripter") immer Jünger? Oder nur Dümmer? - oder doch beides?
    Sie überlegen kein stück, können nichts posten und flamen einfach drauf los. 8|

  • Danke, aber der der Teleport soll in ein Stadion.


    dcmd_bike(id,o[]) {
    #pragma unused o
    new Float:x, Float:y, Float:z;
    new bike;
    //if (!IsPlayerInAnyVehicle(id)) {
    //SendClientMessage(COLOR_RED,id,"SERVER: Verlasse Dein Auto!");
    //return 1;
    //}
    GetPlayerPos(id, x, y, z);
    bike = CreateVehicle(468, x, y, z, 82.2873, 3, 6, 500);
    SetVehiclePos(bike, -1419.5884,-722.7014,1055.1520);
    LinkVehicleToInterior(bike, 4);
    SetPlayerPos(id, -1419.5884,-722.7014,1055.1520);
    SetPlayerInterior(id, 4);
    PutPlayerInVehicle(id, bike, 0);
    return 1;
    }


    Funktioniert ja, nur die Welt ist unsichtbar -.-

  • Habs mal so gemacht:


    dcmd_bike(id,o[]) {
    #pragma unused o
    new Float:x, Float:y, Float:z;
    new bike;
    //if (!IsPlayerInAnyVehicle(id)) {
    //SendClientMessage(COLOR_RED,id,"SERVER: Verlasse Dein Auto!");
    //return 1;
    //}
    GetPlayerPos(id, x, y, z);
    SetPlayerPos(id, -1419.5884,-722.7014,1055.1520);
    SetPlayerInterior(id, 4);
    bike = CreateVehicle(468, x, y, z, 82.2873, 3, 6, 500);
    LinkVehicleToInterior(bike, 4);
    PutPlayerInVehicle(id, bike, 0);
    SetVehiclePos(bike, -1419.5884,-722.7014,1055.1520);
    return 1;
    }


    Funktioniert ohne Probleme. Nur das Radio geht nicht^^

  • Mal so als kleine Frage... warum holst du die Position vom Spieler, createst das Fahrzeug mit der Position, um es anschließend an eine andere, feste, Position zu teleportieren?
    Erstell das Fahrzeug doch gleich im Stadion:
    dcmd_bike(id,o[]) {
    #pragma unused o
    SetPlayerInterior(id, 4);
    new bike = CreateVehicle(468, -1419.5884,-722.7014,1055.1520, 82.2873, 3, 6, 500);
    LinkVehicleToInterior(bike, 4);
    PutPlayerInVehicle(id, bike, 0);
    return 1;
    }

  • Hey Danke.
    Noch ne andere Frage: Was ist an der if Abfrage falsch? Die funktioniert nicht.


    Und:


    dcmd_ws(id,o[]) {
    #pragma unused o
    if(gTeam[id] == TEAM_WS)
    {
    SendClientMessage(COLOR_RED,id, "Du gehörst nicht zu der Gruppe!");
    return 1;
    }
    SetPlayerPos(id,293.0359,2037.1252,17.6406);
    SendClientMessage(COLOR_LIGHTBLUE,id, "Willkommen in der WS Area!");
    return 1;
    }


    Funktioniert auch nicht :(
    Passiert nichts.

  • dcmd_ws(id,o[])
    {
    #pragma unused o
    if(gTeam[id] == TEAM_WS)
    {
    SendClientMessage(COLOR_RED,id, "Du gehörst nicht zu der Gruppe!");
    }
    SetPlayerPos(id,293.0359,2037.1252,17.6406);
    SendClientMessage(COLOR_LIGHTBLUE,id, "Willkommen in der WS Area!");
    return 1;
    }


    ohne return 1;

  • habe noch zwei syntax fehler gefunden:


    dcmd_ws(id,o[])
    {
    #pragma unused o
    if(gTeam[id] == TEAM_WS)
    {
    SendClientMessage(id,COLOR_RED, "Du gehörst nicht zu der Gruppe!");
    }
    SetPlayerPos(id,293.0359,2037.1252,17.6406);
    SendClientMessage(id,COLOR_LIGHTBLUE, "Willkommen in der WS Area!");
    return 1;
    }


    "id" und "color" waren genau verkehrt rum wenn du noch errors/warnings bekommst - posten!

  • Danke :)


    Die Messages kommen jetzt.
    Nur die if Abfragen werden falsch ausgeführt.
    Habs ja so festgelegt, das nur Team_WS den Command /ws benutzten kann. Jetzt kann ihn aber jeder benutzen.

  • Dann macht mans so:
    dcmd_ws(id,o[])
    {
    #pragma unused o
    if(gTeam[id] != TEAM_WS)
    {
    return SendClientMessage(id,COLOR_RED, "Du gehörst nicht zu der Gruppe!");
    }
    SetPlayerPos(id,293.0359,2037.1252,17.6406);
    SendClientMessage(id,COLOR_LIGHTBLUE, "Willkommen in der WS Area!");
    return 1;
    }