Problem mit Führerschein Abfrage

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
  • Morgen,


    also ich habe ein Promblem mit der Abfrage ob ein Spieler einen Führerschein hat, bzw eher ob ein Spieler in einem Auto sitzt. So frage ich ahb ob das Fahrzeug ein Auto ist:
    isEinAuto(vehicleid)
    {
    new result;
    new model = GetVehicleModel(vehicleid);
    switch(model)
    {
    case 411,400,409,416,419,420,423,427,432,433,438,451,470,482,490,496,515,525,528,533,535,536,541,542,550,560,562,582,588,596,597,598,599,601: result = model;
    default: result = 0;
    }
    return result;
    }


    // Edit: ich frage das ganze so unter OnPlayerState ab:
    //Edit:Habe jetzt die Abfrage ein wenig verändert indem ich die modelid aus der datei abfrage:



    new name[MAX_PLAYER_NAME];
    new file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file,sizeof(file),"Cars/%s.ini",name);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(isEinAuto(GetPlayerVehicleID(playerid))||dini_Int(file, "Model")== 411,400,409,416,419,420,423,427,432,433,438,451,470,482,490,496,515,525,528,533,535,536,541,542,550,560,562,582,588,596,597,598,599,601)
    {
    if(GetPVarInt(playerid,"Fuehrerschein") == 0)
    {
    SendClientMessage(playerid, COLOR_ROT, " Du hast keinen Führerschein, ");
    RemovePlayerFromVehicle(playerid);
    }}
    }
    return 1;
    }


    jetzt bekomme ich folgendes Warning:
    .pwn(11557) : warning 206: redundant test: constant expression is non-zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.
    das ist in zeile 7 im pawno schnipsel.


    Jetzt habe ich aber vor kurzem ein Autosystem erstellt. Eben ist mir aufgefallen, das wenn man in ein Auto einsteigt (zB 411 = Infernus) diese Abfrage nicht stattfindet, egal ob das Fahrzeug unter iseinauto defieniert ist...



    Hat jemand vielleicht eine Idee wie ich das abfragen könnte?
    MFG

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

    Einmal editiert, zuletzt von [MM]Marco ()

  • if(isEinAuto(GetPlayerVehicleID(playerid))||dini_Int(file, "Model")== 411,400,409,416,419,420,423,427,432,433,438,451,470,482,490,496,515,525,528,533,535,536,541,542,550,560,562,582,588,596,597,598,599,601)
    Davon ist dieser Teil totaler Müll:
    dini_Int(file, "Model")== 411,400,409,416,419,420,423,427,432,433,438,451,470,482,490,496,515,525,528,533,535,536,541,542,550,560,562,582,588,596,597,598,599,601)
    Du kannst nicht sowas machen:
    modelid == 411 ODER 409 oder 400
    Du müsstest jeden Fall einzelnt abdecken:
    modelid == 411 ODER modelid == 409 ODER modelid == 400

  • mhm okay, könnte ich das dann vllt auch in mein iseinauto mit reinpacken:


    switch (dini_Int(file, "Model"))
    {
    case 411,400,409,416,419,420,423,427,432,433,438,451,470,482,490,496,515,525,528,533,535,536,541,542,550,560,562,582,588,596,597,598,599,601: result = model;

    so zB?

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • mhm okay,
    ich habe das jetzt so gemacht:
    forward IsEinAuto(carid,playerid);


    dann iseinauto:


    isEinAuto(vehicleid,playerid)
    {
    new name[MAX_PLAYER_NAME];
    new file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file,sizeof(file),"Cars/%s.ini",name);

    new result;
    new model = GetVehicleModel(vehicleid);
    switch(model)
    {
    case 411,400,409,416,419,420,423,427,432,433,438,451,470,482,490,496,515,525,528,533,535,536,541,542,550,560,562,582,588,596,597,598,599,601: result = model;
    default: result = 0;
    }
    switch (dini_Int(file, "Model"))
    {
    case 411,400,409,416,419,420,423,427,432,433,438,451,470,482,490,496,515,525,528,533,535,536,541,542,550,560,562,582,588,596,597,598,599,601: result = model;
    }
    return result;
    }
    habe das result erstmal noch gelassen.


    und bei onplayerstate:
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(isEinAuto(GetPlayerVehicleID(playerid)))
    {
    if(GetPVarInt(playerid,"Fuehrerschein") == 0)
    {
    SendClientMessage(playerid, COLOR_ROT, " Du hast keinen Führerschein, ");
    RemovePlayerFromVehicle(playerid);
    }}
    }


    return 1;
    }


    jetzt kriege ich nur einen error, das die iseinautoabfrage bei onplayerstate nicht richtig defieniert ist:

    Zitat

    pwn(11561) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


    wie muss ich das jetzt ändern?
    if(isEinAuto(GetPlayerVehicleID(playerid)))

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • mhm bei mir funktioniert das iwie auch so nicht... mich wundert es ja schon, das nicht die modelid der autos aus der datei nicht richtig ausgelesen werden...

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco