Objeckt vor Fahrzeug erstellen

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
  • hey... wie kann ich ein Objeckt oder ein anderes Fahrzeug vor dem eigenen erstellen?

    MFG.:
    manumeyer


    if (strcmp("/Hatschi", cmdtext, true) == 0)
    {
    SendClientMessage(playerid,0xAA3333,"Gesundheit!");
    return 1;
    }

  • Auslesen, welche Position du hast (GetPlayerPos Funktion),
    dannach hast du die X, Y, Z und Rotations Achse,
    nun einfach CreateObject(ObjectID, X, Y, Z, Rotation);
    die Koordinaten um z.B. +1 verschieben, halt so, das das Object vor dir kommt.
    Das gleiche geht dann für Autos auch ;)

    Wer Rechtschreibfehler findet, darf sie behalten ;)
    -> Forentechniker | WBB Entwickler pn

  • dazu brauchst du diese Funktion (nicht von mir):



    stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance) { //Credits to Y_Less
    new
    vid=GetPlayerVehicleID(playerid),
    Float:a;
    if (vid) {
    GetVehiclePos(vid,x,y,a);
    GetVehicleZAngle(vid, a);
    }
    else {
    GetPlayerPos(playerid, x, y, a);
    GetPlayerFacingAngle(playerid, a);
    }
    x += (distance * floatsin(-a, degrees));
    y += (distance * floatcos(-a, degrees));
    }


    und dann



    //z.B. irgendein cmd
    new
    Float:fX,
    Float:fY;
    GetXYInFrontOfPlayer(playerid, fX, fY, 10.0) //beliebig anpassen
    //createobject o.ä. mit fX, fY als x und y koordnaten

    Keine Scripting-Fragen per PM!

  • mach so ;)


    ganz oben in script


    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1


    dan unter OnPlayercommandtext


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(vspawn,6,cmdtext);

    dan ganz unten in script


    dcmd_vspawn(playerid,params[])
    {
    #pragma unused params
    if(IsPlayerAdmin(playerid))//ist erstmal jetzt als rcon abfrage also in game dann /rcon login das passwort
    {
    return 0;
    }
    else
    {
    new plv = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(plv);
    }
    return 1;
    dcmd_vfarbe(playerid,params[])
    {
    new c1,c2,vid;
    if (sscanf(params, "dd", c1,c2))
    {
    return SendClientMessage(playerid,0xFF0000FF,"Benutzung: /vfarbe [Farbe 1] [Farbe 2]");
    }
    if(!IsPlayerAdmin(playerid))
    {
    return 0;
    }
    if(!(vid=GetPlayerVehicleID(playerid)))
    {
    return SendClientMessage(playerid,0xFF0000FF,"Du sitzt nicht im Auto!");
    }
    else if(c1 < 0 || c1 > 252 || c2 < 0 || c2 > 252)
    {
    SendClientMessage(playerid,0xFF0000FF,"Ungültige Color Id!");
    }
    else
    {
    ChangeVehicleColor(vid,c1,c2);
    SendClientMessage(playerid,0xFF7F00FF,"Autofarbe geändert!");
    }
    return 1;
    }
    }

  • Crank93


    Klappt perfect!



    @jona Vark


    ... das is nen Befehl um nen auto zu respawnen und einer um die Fahrzeugcolor zu ändern


    edit//
    edit vergessen

    MFG.:
    manumeyer


    if (strcmp("/Hatschi", cmdtext, true) == 0)
    {
    SendClientMessage(playerid,0xAA3333,"Gesundheit!");
    return 1;
    }

    Einmal editiert, zuletzt von manumeyer ()