Problem mit den Scheinen

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
  • Hallo,
    ich habe folgendes Problem mit den Führerscheinen.
    Wenn ich in ein Auto einsteige, ohne Schein, kommt die Nachricht " Du hast kein Führerschein! ".
    Das ist ja auch gut, jedoch wenn ich in ein Bike einsteige, kommt die selbe Nachricht, obwohl eigentlich die Nachricht "Du hast kein Motorradschein!" kommen sollte.


    OnPlayerEnterVehicle:
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(Spielerinfo[playerid][Motorradschein] == 0)
    {
    if(IsABike(vehicleid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Motorradschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }

    if(Spielerinfo[playerid][Flugschein] == 0)
    {
    if(IsAFlieger(vehicleid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Flugschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }


    if(Spielerinfo[playerid][Autoschein] == 0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Führerschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Strafe zahlen!");
    }
    return 1;
    }
    }
    return 1;
    }

    IsABike und IsAFlieger:
    public IsABike(carid)
    {
    if(carid == 581 && 522 && 461 && 521 && 523 && 463 && 586 && 468 && 471)
    {
    return 1;
    }
    return 0;
    }
    public IsAFlieger(carid)
    {
    if(carid == 592 && 577 && 511 && 512 && 593 && 520 && 553 && 476 && 519 && 460 && 513 && 548 && 425 && 417 && 487 && 488 && 497 && 563 && 447 && 469)
    {
    return 1;
    }
    return 0;
    }


    Kann mir jemand helfen?


    LG

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.

  • Hmm.. geht immer noch nicht.

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.

  • Packs lieber unter OnPlayerStateChange.


    Machste



    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {

  • Da bekomm ich die Errors:


    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(662) : error 017: undefined symbol "carid"D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(669) : error 017: undefined symbol "carid"



    Die sind halt in den Zeilen mit if(IsABike(carid)) und if(IsAFlieger(carid))

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.

  • Machste:

    new carid = GetPlayerVehicleID(playerid);
    //e: Berichtigt!

  • Also, ich hab das jetzt so:


    OnPlayerStateChange:
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new carid = GetPlayerVehicleID(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(Spielerinfo[playerid][Motorradschein] == 0)
    {
    if(IsABike(carid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Motorradschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }
    if(Spielerinfo[playerid][Flugschein] == 0)
    {
    if(IsAFlieger(carid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Flugschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }
    if(Spielerinfo[playerid][Autoschein] == 0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Führerschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Strafe zahlen!");
    }
    return 1;
    }
    }
    }
    return 1;
    }
    IsABike & IsAFlieger:
    forward IsABike(playerid);
    forward IsAFlieger(playerid);


    public IsABike(playerid)
    {
    new carid = GetPlayerVehicleID(playerid);
    if(carid == 581 || carid == 522 || carid == 461 || carid == 521 || carid == 523 || carid == 463 || carid == 586 || carid == 468 || carid == 471)
    {
    return 1;
    }
    return 0;
    }
    public IsAFlieger(playerid)
    {
    new carid = GetPlayerVehicleID(playerid);
    if(carid == 592 || carid == 577 || carid == 511 || carid == 512 || carid == 593 || carid == 520 || carid == 553 || carid == 476 || carid == 519 || carid == 460 || carid == 513 || carid == 548 || carid == 425 || carid == 417 || carid == 487 || carid == 488 || carid == 497 || carid == 563 || carid == 447 || carid == 469)
    {
    return 1;
    }
    return 0;
    }


    Funktioniert aber immer noch nicht.

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.

  • Ich sehe gerade , dass es logisch ist , dass es nicht funktioniert.
    Schließlich fragst du gar nicht ab , ob der Spieler in einem Auto ist.
    Außerdem wird die Abfrage if(Spielerinfo[playerid][Motorradschein] == 0) nicht geschlossen, sondern auf den Rest übertragen!
    Musste nochmal genau hinsehen!

  • public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new carid = GetPlayerVehicleID(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(Spielerinfo[playerid][Motorradschein] == 0)
    {
    if(IsABike(carid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Motorradschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }
    }
    if(Spielerinfo[playerid][Flugschein] == 0)
    {
    if(IsAFlieger(carid))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Flugschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }
    }
    else if(Spielerinfo[playerid][Autoschein] == 0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Führerschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Strafe zahlen!");
    }
    return 1;
    }
    return 1;
    }


    So besser?
    //edit: Wenn ich das so mache, passiert InGame garnichts.

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.

    2 Mal editiert, zuletzt von Key ()


  • if(newstate == PLAYER_STATE_DRIVER)
    {
    if(IsABike(carid) && SpielerInfo[playerid][Motorradschein == 0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast kein Motorradschein!");
    SendClientMessage(playerid,COLOR_WHITE,"Lass dich nicht von den Cops erwischen, sonst musst du Stafe zahlen!");
    }
    }


    Das musst du dann noch mit deinen anderen Scheinen machen :)


    mfg Lambo