Opark system

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,


    ich habe das Problem das mein Opark system nicht Funktioniert bei allen Fahrzeugen.
    Es Funktioniert nur bei Privat Fahrzeugen.


    Code:
    if (strcmp("/opark", cmd, true, 10) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 525 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(PlayerInfo[playerid][pMember] == 24||PlayerInfo[playerid][pLeader] == 24)
    {
    if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, COLOR_GREY, " An deinem Abschleppwagen ist kein Auto angehängt!");
    return 1;
    }
    new trail_car = GetVehicleTrailer(GetPlayerVehicleID(playerid));
    if(IsADtCar(trail_car))
    {
    new Float:X,Float:Y,Float:Z;
    new Float:z_rot;
    GetVehiclePos(trail_car, X,Y,Z);
    GetVehicleZAngle(trail_car, z_rot);
    new carowner = GetDtCarOwner(trail_car);
    printf("carowner: %d", carowner);
    new slot = GetDtCarOwnerSlot(carowner,trail_car);
    printf("slot: %d", slot);
    PlayerCar[carowner][slot][CarPos_x] = X;
    PlayerCar[carowner][slot][CarPos_y] = Y;
    PlayerCar[carowner][slot][CarPos_z] = Z;
    PlayerCar[carowner][slot][CarArrest] = 1;
    PlayerCar[carowner][slot][CarRotate] = z_rot;
    printf("Abgeschleppt");
    new fkasse = 2000 + random(2999);
    FraktionsKasse[23] += fkasse;
    if(carowner != 555)
    {
    OnPlayerCarUpdate(carowner);
    SendClientMessage(carowner, COLOR_WHITE, " Ihr Fahrzeug wurde abgeschleppt, Fahren zu zur Ordnungsamt Base, um ihr auto wieder Freizukaufen.");
    PlayerInfo[carowner][pRest] = 1;
    SetTimerEx("PlayerCarSpawn",1000,0,"i",carowner);
    }
    DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid, COLOR_YELLOW, " Du hast das Fahrzeug erfolgreich abgeschleppt!");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast kein oder kein erlaubtes Fahrzeug dabei!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Mitglied des Ordnungsamtes!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du musst einen Abschleppwagen fahren!");
    }
    return 1;
    }


    Car System?
    Function OnPlayerCarUpdate(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    for(new x = 0; x < MaxVeh; x++)
    {
    if(Dtc_PlayerHaveCar[playerid][x])
    {
    DestroyVehicle(PlayerCar[playerid][x][CarId]);
    Dtc_Carlock[PlayerCar[playerid][x][CarId]] = 0;
    Dtc_LockCar(PlayerCar[playerid][x][CarId]);
    new string3[128];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "/Autos/%s%d.dtcar", playername3,x);
    new File: hFile = fopen(string3, io_write);
    if (hFile)
    {
    new var[32];
    format(var, 32, "CarId=%d\n",PlayerCar[playerid][x][CarId]);fwrite(hFile, var);
    format(var, 32, "CarModel=%d\n",PlayerCar[playerid][x][CarModel]);fwrite(hFile, var);
    format(var, 32, "CarPos_x=%.3f\n",PlayerCar[playerid][x][CarPos_x]);fwrite(hFile, var);
    format(var, 32, "CarPos_y=%.3f\n",PlayerCar[playerid][x][CarPos_y]);fwrite(hFile, var);
    format(var, 32, "CarPos_z=%.3f\n",PlayerCar[playerid][x][CarPos_z]);fwrite(hFile, var);
    format(var, 32, "CarRotate=%.3f\n",PlayerCar[playerid][x][CarRotate]);fwrite(hFile, var);
    format(var, 32, "CarNitro=%d\n",PlayerCar[playerid][x][CarNitro]);fwrite(hFile, var);
    format(var, 32, "CarHyd=%d\n",PlayerCar[playerid][x][CarHyd]);fwrite(hFile, var);
    format(var, 32, "CarWheel=%d\n",PlayerCar[playerid][x][CarWheel]);fwrite(hFile, var);
    format(var, 32, "CarAusp=%d\n",PlayerCar[playerid][x][CarAusp]);fwrite(hFile, var);
    format(var, 32, "CarSideL=%d\n",PlayerCar[playerid][x][CarSideL]);fwrite(hFile, var);
    format(var, 32, "CarSideR=%d\n",PlayerCar[playerid][x][CarSideR]);fwrite(hFile, var);
    format(var, 32, "CarFB=%d\n",PlayerCar[playerid][x][CarFB]);fwrite(hFile, var);
    format(var, 32, "CarRB=%d\n",PlayerCar[playerid][x][CarRB]);fwrite(hFile, var);
    format(var, 32, "CarSpoiler=%d\n",PlayerCar[playerid][x][CarSpoiler]);fwrite(hFile, var);
    format(var, 32, "CarRoof=%d\n",PlayerCar[playerid][x][CarRoof]);fwrite(hFile, var);
    format(var, 32, "CarHood=%d\n",PlayerCar[playerid][x][CarHood]);fwrite(hFile, var);
    format(var, 32, "CarVents=%d\n",PlayerCar[playerid][x][CarVents]);fwrite(hFile, var);
    format(var, 32, "CarLamps=%d\n",PlayerCar[playerid][x][CarLamps]);fwrite(hFile, var);
    format(var, 32, "CarPJ=%d\n",PlayerCar[playerid][x][CarPJ]);fwrite(hFile, var);
    format(var, 32, "CarC1=%d\n",PlayerCar[playerid][x][CarC1]);fwrite(hFile, var);
    format(var, 32, "CarC2=%d\n",PlayerCar[playerid][x][CarC2]);fwrite(hFile, var);
    format(var, 32, "Preis=%d\n",PlayerCar[playerid][x][CarPreis]);fwrite(hFile, var);
    format(var, 32, "CarArrest=%d\n",PlayerCar[playerid][x][CarArrest]);fwrite(hFile, var);
    format(var, 32, "Plate=%s\n",PlayerCar[playerid][x][Plate]);fwrite(hFile, var);
    fclose(hFile);
    }
    }
    }
    }
    }
    Function Dtc_LockCar(carid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(carid,i,0,1);
    }
    }
    }

    Car System?
    Function Dtc_UnLockCar(carid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    SetVehicleParamsForPlayer(carid,i,0,0);
    }
    }
    }


    Fraktionsenum etc

    new FactionBuylist[][fBuylist] = {
    {405,1461.19995117,-2224.80004883,13.30000019,0.00000000,100000}, // Sentinal 1
    {580,1457.80004883,-2224.69995117,13.30000019,0.00000000,100000}, // Stafford 2
    {554,1454.50000000,-2224.69995117,13.30000019,0.00000000,100000}, // Yosemite 3
    {468,1451.30004883,-2224.69995117,13.30000019,0.00000000,250000}, // Sanchez 4
    {458,1448.09997559,-2224.69995117,13.30000019,0.00000000,100000}, // Solair 5
    {439,1444.80004883,-2224.69995117,13.30000019,0.00000000,150000},// Stallion 6
    {445,1441.40002441,-2224.69995117,13.30000019,0.00000000,175000}, // Admiral 7
    {482,1438.19995117,-2224.69995117,13.30000019,0.00000000,200000}, // Burrito 8
    {475,1435.40002441,-2236.50000000,13.30000019,38.00000000,175000}, // Sabre 9
    {422,1432.50000000,-2238.80004883,13.30000019,37.99621582,200000}, // Bobcat 10
    {479,1429.80004883,-2241.00000000,13.30000019,37.99621582,100000}, // Regina 11
    {426,1421.19995117,-2241.69995117,13.30000019,359.99621582,100000},// Premier 12
    {478,1424.69995117,-2241.80004883,13.30000019,359.99450684,75000},// Walton 13
    {461,1452.09997559,-2208.50000000,13.30000019,180.00000000,150000}, // PCJ- 600 14
    {600,1448.69995117,-2208.39990234,13.30000019,180.00000000,175000},// Picador 15
    {535,1445.00000000,-2208.39990234,13.30000019,180.00000000,200000}, // Slamvan 16
    {471,1440.90002441,-2208.50000000,13.30000019,180.00000000,125000}, // Quad 17
    {579,1436.50000000,-2208.50000000,13.30000019,180.00000000,200000}, // Huntley 18
    {565,1432.19995117,-2208.50000000,13.30000019,180.00000000,250000}, // Flash 19
    {587,1427.90002441,-2208.50000000,13.30000019,180.00000000,250000}, // Euros 20
    {589,1423.50000000,-2208.50000000,13.30000019,180.00000000,250000}, // Club 21
    {560,1422.59997559,-2214.39990234,13.30000019,270.00000000,250000}, // Sultan 22
    {487,1422.50000000,-2218.69995117,13.30000019,270.00000000,1000000}, // Maverik 23
    {581,1422.40002441,-2223.10009766,13.30000019,270.00000000,150000}, // BF-400 24
    {409,1432.80004883,-2222.30004883,13.30000019,0.00000000,750000}, // LIMO 25
    {522,1422.3302,-2225.2390,13.1157,269.7493,500000} // NRG
    };
    new Float:FactionBuySpawn[4]={1487.4332,-2223.3076,13.1737,88.7858};

    Fraktionsenum etc
    enum fCar
    {
    fCarid,
    fVehid,
    Float:fPos[4],
    fCol[2],
    fFaction[5],
    fTuning[14],
    fPrice,
    #if defined FACTION_CARS_LOCKABLE
    bool:fLock
    #endif
    };

    Fraktionsenum etc
    new FactionCars[MAX_FACTION_CARS][fCar];


    Hoffe das Reicht xD
    Jeffry:

  • Naja, kommt drauf an was du haben willst. Für folgendes hat es gereicht:
    Function IsAFrakCar(car)
    {
    for(new x = 0; x < sizeof(FactionCars); x++)
    {
    if(car == FactionCars[x][fCarid])
    {
    return x;
    }
    }
    return -1;
    }



    if (strcmp("/opark", cmd, true, 10) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 525 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(PlayerInfo[playerid][pMember] == 24||PlayerInfo[playerid][pLeader] == 24)
    {
    if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, COLOR_GREY, " An deinem Abschleppwagen ist kein Auto angehängt!");
    return 1;
    }
    new fcarid = IsAFrakCar(trail_car);
    new trail_car = GetVehicleTrailer(GetPlayerVehicleID(playerid));
    if(IsADtCar(trail_car))
    {
    new Float:X,Float:Y,Float:Z;
    new Float:z_rot;
    GetVehiclePos(trail_car, X,Y,Z);
    GetVehicleZAngle(trail_car, z_rot);
    new carowner = GetDtCarOwner(trail_car);
    printf("carowner: %d", carowner);
    new slot = GetDtCarOwnerSlot(carowner,trail_car);
    printf("slot: %d", slot);
    PlayerCar[carowner][slot][CarPos_x] = X;
    PlayerCar[carowner][slot][CarPos_y] = Y;
    PlayerCar[carowner][slot][CarPos_z] = Z;
    PlayerCar[carowner][slot][CarArrest] = 1;
    PlayerCar[carowner][slot][CarRotate] = z_rot;
    printf("Abgeschleppt");
    new fkasse = 2000 + random(2999);
    FraktionsKasse[23] += fkasse;
    if(carowner != 555)
    {
    OnPlayerCarUpdate(carowner);
    SendClientMessage(carowner, COLOR_WHITE, " Ihr Fahrzeug wurde abgeschleppt, Fahren zu zur Ordnungsamt Base, um ihr auto wieder Freizukaufen.");
    PlayerInfo[carowner][pRest] = 1;
    SetTimerEx("PlayerCarSpawn",1000,0,"i",carowner);
    }
    DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid, COLOR_YELLOW, " Du hast das Fahrzeug erfolgreich abgeschleppt!");
    }
    else if(fcarid != -1)
    {
    FactionCars[fcarid][fPos][0] = X;
    FactionCars[fcarid][fPos][1] = Y;
    FactionCars[fcarid][fPos][2] = Z;
    FactionCars[fcarid][fPos][3] = z_rot;
    DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid, COLOR_YELLOW, " Du hast das Fahrzeug erfolgreich abgeschleppt!");
    //Hier weitere Dinge...
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast kein oder kein erlaubtes Fahrzeug dabei!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Mitglied des Ordnungsamtes!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du musst einen Abschleppwagen fahren!");
    }
    return 1;
    }

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry () aus folgendem Grund: CarId -> fCarid

  • Beitrag von The Sensei ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Haha danke, es funktioniert.
    Da dieser Thread offen ist.
    Weißt du wieso er beim Punktesystem insta Punkte gibt?
    ocmd:punkte(playerid,params[]){
    if(PlayerInfo[playerid][pMember] == 24 || PlayerInfo[playerid][pLeader] == 24 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 23 || PlayerInfo[playerid][pLeader] == 23)
    {
    new pID,reason[64],string[144],punkte, sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME];
    GetPlayerName(pID, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(!sscanf(params,"uis[64]",pID,punkte,reason))return SendClientMessage(playerid,GELB,"Tippe: /punkte [ID][Anzahl][Grund]");
    format(string,144,"Ordnungsbeamter %s hat dir %d Strafpunkte eingetragen! Grund: %s",sendername,punkte,reason),SendClientMessage(pID,COLOR_LIGHTRED,string);
    format(string,144,"Du hast %s %d Strafpunkte eingetragen! Grund: %s",giveplayer,punkte,reason),SendClientMessage(playerid,COLOR_LIGHTRED,string);
    format(string,144,"(( HQ: %s hat %s %d Strafpunkte eingetragen! Grund: %s ))",sendername,giveplayer,punkte,reason);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i) && IsADChatter(i))
    {
    SendClientMessage(i,COLOR_ALLDEPT,string);
    }
    }
    PlayerInfo[pID][pStrafpunkte] = punkte;
    Log("PunkteLog", string);
    }
    else
    {
    SendClientMessage(playerid,-1,"Du bist nicht beim Ordnungsamt");
    }
    return 1;
    }


    Also es kommt sofort die Message im Department Chat %s hat %s punkte eingetragen blabla