Fraktionsautos lassen sich nicht abschließen

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
  • Nabend Leute,
    ich habe das Problem, dass wenn ich ein Fraktionsauto abschließen möchte, dies entweder die Server Konsole vollspammt oder sagt dass dieses Fahrzeug nicht zu meiner Fraktion gehört.
    Das ganze System ist nach diesem Tutorial aufgebaut: [jTut]Fraktions-Fahrzeug System.
    Danke im Voraus.
    Der Flock Befehl:


    So werden die Fahrzeuge aus der Datenbank ausgeladen:


  • Im oberen Teil greifst du mit der vehicleid (vID) auf den Index zu, das geht nicht.
    Im unteren Teil ist es genau andersherum, da greifst du mit dem Index auf Parameter zu, die die vehicleid (f_vID aus dem enum) verlangen.


    Versuche es so:
    ocmd:flock(playerid,params[])
    {
    if(!IsPlayerOnline(playerid))return SendClientMessage(playerid,Rot,NotOnlineMSG);
    if(!GetPlayerFrak(playerid))return SendClientMessage(playerid,Rot,"Error"#cWeiß": You ar not in any Fraction.");
    new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vID = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    for(new i = 0; i < MAX_FRAC_VEHICLES; i++)
    {
    if(vID != FracVehicle[i][f_vID])continue;
    if(FracVehicle[i][f_fracID] == GetPlayerFrak(playerid))
    {
    if(!LockState[vID])
    {
    SetVehicleParamsEx(vID,engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
    LockState[vID] = true;
    SendClientMessage(playerid,Weiß,"["#cGelb"SInfo"#cWeiß"] You have locked your Vehicle.");
    return 1;
    }
    else
    {
    SetVehicleParamsEx(vID,engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
    LockState[vID] = false;
    SendClientMessage(playerid,Weiß,"["#cGelb"SInfo"#cWeiß"] You have unlocked your Vehicle.");
    return 1;
    }
    }
    else return SendClientMessage(playerid,Rot,"Error"#cWeiß": This Car doesn't belong to your Fraction.");
    }
    return 1;
    }
    else
    {
    new Float:x,Float:y,Float:z;
    for(new f=0;f<MAX_FRAC_VEHICLES;f++)
    {
    GetVehiclePos(FracVehicle[f][f_vID],x,y,z);
    printf("1");
    printf("FracVehicleID = %i |PosX: %f |PosY: %f |PosZ: %f",FracVehicle[f][f_vID],x,y,z);
    if(!IsPlayerInRangeOfPoint(playerid,3.00,x,y,z))continue;
    if(FracVehicle[f][f_fracID] != GetPlayerFrak(playerid)) continue;
    new vID = FracVehicle[f][f_vID];
    if(!LockState[vID])
    {
    printf("5.1");
    SetVehicleParamsEx(vID,engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
    LockState[vID] = true;
    SendClientMessage(playerid,Weiß,"["#cGelb"SInfo"#cWeiß"] You have locked your Vehicle.");
    return 1;
    }
    else
    {
    printf("5.2");
    SetVehicleParamsEx(vID,engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
    LockState[vID] = false;
    SendClientMessage(playerid,Weiß,"["#cGelb"SInfo"#cWeiß"] You have unlocked your Vehicle.");
    return 1;
    }
    }
    }
    return SendClientMessage(playerid,Rot,"Error"#cWeiß": You aren't close to any Fraction Vehicle.");
    }

  • Danke dir klappt nun, hatte nur das Problem, dass ich es vorher ähnlich hatte und er dass letzt erstellte Fraktionsfahrzeug nicht "wahrgenommen" hat, was jetzt aber funktioniert.
    Schönen Abend noch :)