Bug beim GetVehicleModel

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
  • Hi ich bekomm hier immer in der nähe eines Cars bei /carinfo:
    ModelID: 0
    soll eigendlich die richtige Modelid des Fahrzeugs anzeigen.
    wenn ich im rangepoint von 5 von nem car weg bin kommt nichts (is ja normal^^)


    {
    if (strcmp(cmdtext, "/carinfo", true) == 0)
    {
    if(PlayerIsAtAnyCar(playerid,5.0))
    {
    new string [256];
    new ModelID = GetVehicleModel(playerid);


    format(string,sizeof(string),"ModelID: %d",ModelID);


    SendClientMessage(playerid,COLOR_ORANGE,"######### VehicleInfos #########");
    SendClientMessage(playerid,COLOR_ORANGE,string);
    }
    return 1;
    }
    und


    PlayerIsAtAnyCar(playerid,Float:radius)
    {
    new Float:vx,Float:vy,Float:vz;
    for(new v = 0; v <= MAX_VEHICLES; v++)
    {
    GetVehiclePos(v,vx,vy,vz);
    if(IsPlayerInRangeOfPoint(playerid,radius,vx,vy,vz)) return 1;
    }
    return 0;
    }


    Für hilfe, danke schonmal im Vorraus :D


    MfG Martin08

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür

    2 Mal editiert, zuletzt von Martin08 ()

  • Ohgott, wie bekomme ich das denn da passend rein?
    Kannst du es vll an nem beispiel zeigen? ^^


    Danke aber schonmal
    und Air die klammer war da nur ausvesehn^^

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür

  • Leider das gleiche Problem

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür

  • ich weiss zwar nicht genau aber probiere mal:


    {
    if (strcmp(cmdtext, "/carinfo", true) == 0)
    {
    if(PlayerIsAtAnyCar(playerid,5.0))
    {
    new string [256];
    new ModelID = GetVehicleModel(vehicleid);


    format(string,sizeof(string),"ModelID: %d",ModelID);


    SendClientMessage(playerid,COLOR_ORANGE,"######### VehicleInfos #########");
    SendClientMessage(playerid,COLOR_ORANGE,string);
    }
    return 1;
    }

  • Du kannst die Funktion GetVehicleID nur nutzen wenn du auch im Fahrzeug bist.
    Ansonsten müsstest du die PlayerIsAtCar Funktion umbauen :)

  • So müsste es gehen...

  • So müsste es gehen...


    Öh nein? :pinch: oh man...


    Hier so funzt es! Hab es getestet es geht 100%ig ;)

    if (strcmp(cmdtext, "/carinfo", true) == 0)
    {
    if(PlayerIsAtAnyCar(playerid,5.0))
    {
    new string [256];
    SendClientMessage(playerid,0xF97804FF,"######### VehicleInfos #########");
    format(string,sizeof(string),"ModelID: %d CarID: %d",GetVehicleModel(GetPlayerNearestCarID(playerid,5.0)),GetPlayerNearestCarID(playerid,5.0));
    SendClientMessage(playerid,0xF97804FF,string);
    }
    else
    {
    SendClientMessage(playerid,0xF97804FF,"Du bist nicht in der Nähe von einem Auto!");
    }
    return 1;
    }



    PlayerIsAtAnyCar(playerid,Float:radius)
    {
    new Float:vx,Float:vy,Float:vz;
    for(new v = 0; v <= MAX_VEHICLES; v++)
    {
    GetVehiclePos(v,vx,vy,vz);
    if(IsPlayerInRangeOfPoint(playerid,radius,vx,vy,vz))
    {
    return 1;
    }
    }
    return 0;
    }


    GetPlayerNearestCarID(playerid,Float:radius)
    {
    new Float:vx,Float:vy,Float:vz,carid;
    for(new v = 0; v <= MAX_VEHICLES; v++)
    {
    GetVehiclePos(v,vx,vy,vz);
    if(IsPlayerInRangeOfPoint(playerid,radius,vx,vy,vz))
    {
    carid = v;
    return carid;
    }
    }
    return 1;
    }
    MFG INk :D

  • GetPlayerNearestCarID(playerid,Float:radius)
    {
    new Float:vx,Float:vy,Float:vz,carid;
    for(new v = 0; v <= MAX_VEHICLES; v++)
    {
    GetVehiclePos(v,vx,vy,vz);
    if(IsPlayerInRangeOfPoint(playerid,radius,vx,vy,vz))
    {
    carid = v;
    return carid;
    }
    }
    return 1;
    }
    Die Funktion würde generell immer true zurück geben,weshalb sie relativ sinnlos ist.
    GetPlayerNearestCarID(playerid,Float:radius)
    {
    new Float:vx,Float:vy,Float:vz,carid;
    for(new v = 1; v <= MAX_VEHICLES; v++) // VehicleID's starten bei 1
    {
    GetVehiclePos(v,vx,vy,vz);
    if(IsPlayerInRangeOfPoint(playerid,radius,vx,vy,vz))
    {
    carid = v;
    return carid;
    }
    }
    return 0; // Hier muss 0 - false hin
    }

  • Vielen Dank, das funzt so :thumbup:


    Aber ich hab es schonmal in nem anderem Thema erwähnt (hat leider niemand geantwortet), ob es möglich wäre, die als CarID ne bestimmte ini.worauf das car gesaved is anzuzeigen:


    im Moment mache ich n car so:
    {
    new id=strval(params);
    if(!strlen(params) || !IsNumeric(params))
    {
    return SendClientMessage(playerid,COLOR_RED,"/createcar [carID]");
    }
    else
    {
    new Float:x, Float:y, Float:z, Float:a;
    GetPlayerFacingAngle(playerid,a);
    GetPlayerPos(playerid, x, y, z);
    GetXYInFrontOfPlayer(playerid,x,y, 4.0);
    new Car = CreateVehicle(id, x, y, z+2,a+90,1,1,0);
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    //new carID = GetPlayerVehicleID(Car);
    new carModelID = GetVehicleModel(Car);
    new Float:carPosX, Float: carPosY, Float: carPosZ, Float: carZAngle;
    new Counter = freeslot(1000);
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    GetVehiclePos(Car, carPosX, carPosY, carPosZ);
    GetVehicleZAngle(Car, carZAngle);


    format(carFile,sizeof(carFile),"%d.ini",Counter);
    //format(carFile,sizeof(carFile),"%d.ini",Car);
    if(!dini_Exists(carFile))


    Das hier ist by [SRG]Bullet:
    stock freeslot(max)
    {
    new str[32];
    for(new i=0; i<max; i++)
    {
    format(str, sizeof(str), "%d.ini",i);
    if(!fexist(str)) return i;
    }
    return 1;
    }


    Kann man diesen filename nun auch bei /carinfo anzeigen lassen? Bzw. ist das überhaupt iwie möglich. Wenn s da ne möglichkeit gäbe, wäre ich euch ma echt richtig dankbar.

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür