Scheincheck - Fehler

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
  • Hi liebe Brotfische,
    ich wollte mit diesen Publics eine Abfrage machen, wann der Spieler im richtigen Vehicle ist. Allerdings wird zB bei einem Motorrad Auto und Motorrad abgefragt, wenn ich es zuvor returne (beim Auto) nur Auto.^^
    Meine Frage: Wie kann ich die if Abfrage so formulieren, dass es nur für das jeweilige Car gilt?


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    ScheinCheck(playerid,-1);
    }
    return true;
    }


    public ScheinCheck(playerid, carid)
    {
    new modelid = GetVehicleModel(carid);
    if(modelid == IsACar(carid))
    {
    if(PlayerInfo[playerid][pAutoschein] == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast keinen Autoführerschein, fahre vorsichtig um keine Aufmerksamkeit zu erregen!");
    }
    }
    if(modelid == IsAMotorrad(carid))
    {
    if(PlayerInfo[playerid][pMotorradschein] == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast keinen Motorradführerschein, fahre vorsichtig um keine Aufmerksamkeit zu erregen!");
    }
    SendClientMessage(playerid, COLOR_GREY,"Checked");
    }
    if(modelid == IsAMoped(carid))
    {
    if(PlayerInfo[playerid][pMopedschein] == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast keinen Mopedführerschein, fahre vorsichtig um keine Aufmerksamkeit zu erregen!");
    }
    }
    if(modelid == IsABoot(carid))
    {
    if(PlayerInfo[playerid][pSegelschein] == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast keinen Segelschein, fahre vorsichtig um keine Aufmerksamkeit zu erregen!");
    }
    }
    if(modelid == IsAFlugzeug(carid))
    {
    if(PlayerInfo[playerid][pFlugzeugschein] == 0)
    {
    new Float:vX, Float:vY, Float:vZ;
    GetPlayerPos(playerid, vX, vY, vZ);
    SetPlayerPos(playerid, vX, vY, vZ);
    SendClientMessage(playerid, COLOR_RED, "Du weißt nicht, wie man das bedient. Mache den Flugzeugschein und du lernst es.");
    }
    }
    if(modelid == IsAHelikopter(carid) && PlayerInfo[playerid][pHelischein] == 0)
    {
    if(PlayerInfo[playerid][pFlugzeugschein] == 0)
    {
    new Float:vX, Float:vY, Float:vZ;
    GetPlayerPos(playerid, vX, vY, vZ);
    SetPlayerPos(playerid, vX, vY, vZ);
    SendClientMessage(playerid, COLOR_RED, "Du weißt nicht, wie man das bedient. Mache den Helikopterschein und du lernst es.");
    }
    }
    return true;
    }

  • stock IsCar(vehicleid)
    {
    new model GetVehicleModel(GetPlayerVehicleID(playerid));
    switch(model)
    {
    case 411:return 1; // Ist ein Infernus, return 1 = Richtig, genau das gleiche wie return true;
    case 400:return 1; // Landstalker auch richtig


    }
    return 0;
    }


    so z.b. usw. immer weiter case und richtig zurückgeben, case model:return true;
    und das bei jeder klasse, damit baust du dir leicht diese abfragen, nach Auto, Motorad, Luftfahrzeug

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Nein du verstehst mich nicht ich habe das schon richtig definiert, aber wenn ich mich jetzt in ein Motorrad setze, wird angezeigt


    Du hast keinen Autoführerschein, fahre vorsichtig um keine Aufmerksamkeit zu erregen!


    und


    Du hast keinen Motorradführerschein, fahre vorsichtig um keine Aufmerksamkeit zu erregen!


    Hoffe is jetz klarer.. Pls help..

    Einmal editiert, zuletzt von hearteyy ()