Autospawner funktioniert nicht nach facingangle

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,
    wenn ich hier mein Autospawner eintippe also den CMD dann spawnt es nicht nach Facing angle. Es spawnt immer an der gleichen stelle egal wo hin ich gucke.
    Hier mein Code:


    COMMAND:spawn(playerid,params[])
    {
    new spawncar;
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,FARBE_ROT,"Du bist nicht mindestens Adminrank Supporter!");
    if(sscanf(params, "d", spawncar))
    {
    return SendClientMessage(playerid,FARBE_ROT,"Tippe: /spawn [ID]");
    }


    if(spawncar < 400 || spawncar > 611)
    {
    return SendClientMessage(playerid,FARBE_GELB,"Nur Fahrzeug-ID's von 400-611 benutzen!");
    }


    else
    {
    new Float:x, Float:y, Float:z, Float:a;
    new string[256];
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid,a);
    new vehicleid = CreateVehicle(spawncar, x+5, y, z+3, a, 0, 0, -1);
    autospawn[vehicleid] = 1;


    format(string, sizeof(string), "Du hast ein Fahrzeug mit der [ID: %d] gespawnt.", spawncar);
    SendClientMessage(playerid, FARBE_BLAU, string);
    }
    return 1;
    }

    MfG SkrilLinux


    Ich habe euch erfolgreich geholfen?
    -Dann wäre es nett wenn ihr 1x auf Bedanken klickt :)

    Einmal editiert, zuletzt von Freestyyler ()

  • @Freestyyler


    Da bitte ;)
    So wird es funktionieren::


    COMMAND:spawn(playerid,params[])
    {
    new spawncar;
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,FARBE_ROT,"Du bist nicht mindestens Adminrank Supporter!");
    if(sscanf(params, "d", spawncar)) return SendClientMessage(playerid,FARBE_ROT,"Tippe: /spawn [ID]");
    if(spawncar < 400 || spawncar > 611) return SendClientMessage(playerid,FARBE_GELB,"Nur Fahrzeug-ID's von 400-611 benutzen!");
    new Float:x1, Float:y1, Float:z1, Float:pa, Float:x2, Float:y2, Float:z2, Float:end_x, Float:end_y, Float:end_z;
    new string[256];
    GetPlayerFacingAngle(playerid,pa);
    const Float:fScale = 20.0;
    GetPlayerCameraPos(playerid, x1, y1, z1);
    GetPlayerCameraFrontVector(playerid, x2, y2, z2);
    end_x = x1 + floatmul(x2, fScale);
    end_y = y1 + floatmul(y2, fScale);
    end_z = z1 + floatmul(z2, fScale);
    new vehicleid = CreateVehicle(spawncar, end_x, end_y, end_z, pa, 0, 0, -1);
    autospawn[vehicleid] = 1;
    format(string, sizeof(string), "Du hast ein Fahrzeug mit der [ID: %d] gespawnt.", spawncar);
    SendClientMessage(playerid, FARBE_BLAU, string);
    return 1;
    }


    //EDIT;;
    Du solltest fScale aber senken.. Bei 20 spawnt der sehr weit vorne ;)


    //EDIT2;;
    Ich würde es eher so machen, da ist das Auto dann direkt vor einem ;)


    /Spawn [ID]

    Spoiler anzeigen
    COMMAND:spawn(playerid,params[])
    {
    new spawncar;
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,FARBE_ROT,"Du bist nicht mindestens Adminrank Supporter!");
    if(sscanf(params, "d", spawncar)) return SendClientMessage(playerid,FARBE_ROT,"Tippe: /spawn [ID]");
    if(spawncar < 400 || spawncar > 611) return SendClientMessage(playerid,FARBE_GELB,"Nur Fahrzeug-ID's von 400-611 benutzen!");
    new Float:x1, Float:y1, Float:z1, Float:pa, Float:x2, Float:y2, Float:z2, Float:end_x, Float:end_y, Float:end_z;
    new string[256];
    GetPlayerFacingAngle(playerid,pa);
    const Float:fScale = 6.0;
    GetPlayerCameraPos(playerid, x1, y1, z1);
    GetPlayerCameraFrontVector(playerid, x2, y2, z2);
    end_x = x1 + floatmul(x2, fScale);
    end_y = y1 + floatmul(y2, fScale);
    end_z = z1 + floatmul(z2, fScale);
    new vehicleid = CreateVehicle(spawncar, end_x, end_y, end_z, pa-90, 0, 0, -1);
    autospawn[vehicleid] = 1;
    format(string, sizeof(string), "Du hast ein Fahrzeug mit der [ID: %d] gespawnt.", spawncar);
    SendClientMessage(playerid, FARBE_BLAU, string);
    return 1;
    }

    Einmal editiert, zuletzt von Sh12 ()


  • Ich habe es jetzt so:
    const Float:fScale = 8.0;
    So ist es Perfekt Vielen Dank!!

    MfG SkrilLinux


    Ich habe euch erfolgreich geholfen?
    -Dann wäre es nett wenn ihr 1x auf Bedanken klickt :)