Oparksystem

  • Halloa,

    ich hab ein Problemchen mal wieder :)

    [pwn] if(dialogid == DIALOG_FREIKAUFEN)
    {
    if(!response)
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast das Fahrzeug nicht freigekauft!");
    RemovePlayerFromVehicle(playerid);
    UnFreeze(playerid);
    }
    if(response)
    {
    new newcar = GetPlayerVehicleID(playerid);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if (newcar == PlayerCar[Dtc_PlayerKey[i]][CarId])
    {
    new vid = GetPlayerVehicleID(playerid);
    SendClientMessage(playerid,COLOR_BLUE,"Du hast das Fahrzeug freigekauft! ");
    UnFreeze(playerid);
    PlayerCar[i][Dtc_PlayerKey[i]][CarPos_x] = 2332.4651;
    PlayerCar[i][Dtc_PlayerKey[i]][CarPos_y] = 1922.2515;
    PlayerCar[i][Dtc_PlayerKey[i]][CarPos_z] = 10.5403;
    PlayerCar[i][Dtc_PlayerKey[i]][CarGesperrt] = 0;
    PlayerCar[i][Dtc_PlayerKey[i]][CarPreis] = 0;
    PlayerCar[i][Dtc_PlayerKey[i]][CarRotate] = 358.1496;
    SetVehiclePos(vid, 2332.4651,1922.2515,10.5403);
    }
    }
    }
    }[/pwn]

    [pwn]Function OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(PlayerCar[playerid][CarGesperrt] == 1)
    {
    new string[265];
    SetTimer("Freikaufen", 4000, 0);
    }[/pwn]

    [pwn]enum dtc_PlayerCar
    {
    CarArrest,
    CarId,
    CarOwner[MAX_PLAYER_NAME],
    CarModel,
    Float:CarPos_x,
    Float:CarPos_y,
    Float:CarPos_z,
    Float:CarRotate,
    CarNitro,
    CarHyd,
    CarWheel,
    CarAusp,
    CarSideL,
    CarSideR,
    CarFB,
    CarRB,
    CarSpoiler,
    CarRoof,
    CarHood,
    CarVents,
    CarLamps,
    CarPJ,
    CarC1,
    CarC2,
    Plate[15],
    CarGesperrt,
    CarPreis
    };

    new PlayerCar[MAX_PLAYERS][MaxVeh][dtc_PlayerCar];[/pwn]

    Also irgendwie geht die Abfrage nicht so richtig ^^

    Wie kann ich die Fixxen und wie mache ich das ich abfrage ob das CarGesperrt ist?

    Lg
  • [pwn]dcmd_opark(playerid,params[])
    {
    if(PlayerInfo[playerid][pMember] == 24||PlayerInfo[playerid][pLeader] == 24 || PlayerInfo[playerid][pMember] == 1 ||PlayerInfo[playerid][pLeader] == 1)
    {
    new string[265];
    //new preis;
    /*if(sscanf(params,"i",preis))
    return SendClientMessage(playerid,COLOR_RED,"Verwendung: /opark [Preis]");*/
    new newcar = GetPlayerVehicleID(playerid);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if (newcar == PlayerCar[Dtc_PlayerKey[i]][CarId])
    {
    new Float:X,Float:Y,Float:Z;
    new Float:z_rot;
    GetPlayerPos(playerid, X,Y,Z);
    GetVehicleZAngle(newcar, z_rot);
    PlayerCar[i][Dtc_PlayerKey[i]][CarPos_x] = X;
    PlayerCar[i][Dtc_PlayerKey[i]][CarPos_y] = Y;
    PlayerCar[i][Dtc_PlayerKey[i]][CarPos_z] = Z;
    //PlayerCar[i][Dtc_PlayerKey[i]][CarGesperrt] = 1;
    //PlayerCar[i][Dtc_PlayerKey[i]][CarPreis] = preis;
    PlayerCar[i][Dtc_PlayerKey[i]][CarRotate] = z_rot;
    SendClientMessage(playerid, COLOR_YELLOW, " Das Fahrzeug ist nun hier geparkt!");
    SendClientMessage(i, COLOR_YELLOW, " Ein Ordnungsbeamter hat dein Fahrzeug geparkt. Du kannst es finden an der Verwahrstelle! ( /gps )");
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY," Du bist ist keinem Fahrzeug!");
    return 1;
    }
    }
    SendClientMessage(playerid, COLOR_YELLOW, "Du hast das Fahrzeug erfolgreich abgeschleppt!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du gehörst doch nicht zum Ordnungsamt!");
    }
    return 1;
    }[/pwn]

    So mache ich das ja und ich will eigentlich nur abfragen ob das car gesperrt ist ^^

    Mehr wollte ich garnicht
  • ^^ hier muss anscheinend profis dran


    [pwn]CarArrest unter enum dtc_PlayerCar einfügen und


    forward GetDtCarOwnerSlot(playerid,veh);
    public GetDtCarOwnerSlot(playerid,veh)
    {
    for(new X = 0; X < MaxVeh; X++)
    {
    if(PlayerCar[playerid][X][CarId] == veh)
    {
    return X;
    }
    }
    return 555;
    }

    forward GetDtCarOwner(veh);
    public GetDtCarOwner(veh)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    for(new X = 0; X < MaxVeh; X++)
    {
    if(PlayerCar[X][CarId] == veh){return i;}
    }
    }
    return 1;
    }


    ganz unten im script einfügen

    pRest unter enum pInfo[/pwn]

    :) mach das da so wie ich es da geschrieben habe

    also das mit ganz unten im script einfügen meine ich die mit dem forward und puplic halt :) :thumbup: prest unter enum pinfo einfügen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Angel ()