Egal welches Auto werde rausgeworfen

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
  • Yoa hi,
    ich wollte grade mein Autohaus testen jedoch wenn ich jetzt ein Auto betrete oder
    eins Spawn und das betrete kommt immer Du bist kein Beamter der Bundespolizei
    Hier der Code:
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(GetPlayerVehicleID(playerid) == PolizeiFahrzeug(vehicleid))
    {
    if(pInfo[playerid][team] != 1)
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Beamter der Bundespolizei!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    else if(GetPlayerVehicleID(playerid) == SaniFahrzeug(vehicleid))
    {
    if(pInfo[playerid][team] != 2)
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Beamter Notärtzte/Sanitäter!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    else if(GetPlayerVehicleID(playerid) == CamorasFahrzeug(vehicleid))
    {
    if(pInfo[playerid][team] != 3)
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Mitglied der „Blood Angel„ Gang!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    else if(GetPlayerVehicleID(playerid) == BlackHandFahrzeug(vehicleid))
    {
    if(pInfo[playerid][team] != 4)
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Mitglied der „Black Hand„ Mafia!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    else if(GetPlayerVehicleID(playerid) == NewsFahrzeug(vehicleid))
    {
    if(pInfo[playerid][team] != 5)
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Mitglied der Newsreporter!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    else if(GetPlayerVehicleID(playerid) == FahrschulFahrzeug(vehicleid) || fahrstunde[playerid] == false)
    {
    if(pInfo[playerid][team] != 6)
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Mitglied der Fahrschule oder du nimmst grade keine Fahrstunde");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }

    return 1;
    }
    Ich hoffe einer weis weiter und kann mir helfen.
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

  • Es wäre interessant zu wissen, wie deine PolizeiFahrzeug-Funktion aussieht. Außerdem könnte man es noch ein wenig verbessern:
    new vehicleid = GetPlayerVehicleID(playerid);
    if(GetPlayerVehicleID(playerid)
    Warum nutzt du dann nicht die Variable?
    Außerdem kann man alles in eine Abfrage machen, das ist kürzer, hat aber den selben Effekt.
    if(GetPlayerVehicleID(playerid) == PolizeiFahrzeug(vehicleid) && pInfo[playerid][team] != 1)
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Beamter der Bundespolizei!");
    RemovePlayerFromVehicle(playerid);
    }

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Das buggt tortzdem rum.
    jetzt habe ich das etwas anders gemacht:
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new veh = GetPlayerVehicleID(playerid);
    for(new v=0; v<sizeof(Kaufliste); v++)
    {
    if(veh == Kaufliste[v][aId])
    {
    new string[250];
    format(string, (sizeof string), "Fahrzeugname: %s\nPreis: %d\nReperaturskosten: %d",Kaufliste[v][aname],Kaufliste[v][apreis],Kaufliste[v][reperatur]);
    ShowPlayerDialog(playerid,538,DIALOG_STYLE_MSGBOX,"Fahrzeugkauf",string,"Kaufen","Abbrechen");
    }
    }
    for(new v = 0; v < sizeof(PolizeiAuto); v++)
    {
    if(veh == PolizeiAuto[v])
    {
    if(pInfo[playerid][team] != 1)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Beamter der Bundespolizei!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    for(new v = 0; v < sizeof(SanitaeterAuto); v++)
    {
    if(veh == SanitaeterAuto[v])
    {
    if(pInfo[playerid][team] != 2)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied der Sanitäter!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    for(new v = 0; v < sizeof(CamorasAuto); v++)
    {
    if(veh == CamorasAuto[v])
    {
    if(pInfo[playerid][team] != 3)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied der las Camoras Mafia!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    for(new v = 0; v < sizeof(BlackHandAuto); v++)
    {
    if(veh == BlackHandAuto[v])
    {
    if(pInfo[playerid][team] != 4)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied der Black Hand Gang!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    for(new v = 0; v < sizeof(NewsAuto); v++)
    {
    if(veh == NewsAuto[v])
    {
    if(pInfo[playerid][team] != 5)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied der Newsreporter!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    for(new v = 0; v < sizeof(FahrschulAuto); v++)
    {
    if(veh == FahrschulAuto[v])
    {
    if(pInfo[playerid][team] != 6 || fahrstunde[playerid] == false)
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Mitglied der Fahrschule oder du nimmst grade keine Fahrstunde");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    }
    return 1;
    }
    Wenn ich jetzt in ein Kaufbares Auto einsteige erscheint mir zwar der Dialog aber es spammt mich mit 10-20 Nachrichten voll mit Du bist kein Beamter der...
    Du bist kein Mitglied....
    von allem anderen halt.
    Kannste mir das erklären warum das jetzt so ist und wie es richtig sein muss?


    //edit An sich wenn ich sagen wir in ein Autohausauto einsteige wird mir der Dialog gezeigt.
    Jedoch werde ich aus dem Auto rausgeschmissen und bekomme 10-20 nachrichten von jeder Fraktion das ich nicht in der Fraktion bin.
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

    Einmal editiert, zuletzt von lollipop ()

  • Return, der Retter in der Not.
    Entweder je nach der letzten Funktion ein return oder einfach die Fuktion returnen, geht ebenso, da sie, wenn er erfolgreich angezeigt wird, 1 returnt/zurückgegeben. Das heißt:

    // Entweder
    ShowPlayerDialog(playerid,538,DIALOG_STYLE_MSGBOX,"Fahrzeugkauf",string,"Kaufen","Abbrechen");
    return 1;
    // Oder
    return ShowPlayerDialog(playerid,538,DIALOG_STYLE_MSGBOX,"Fahrzeugkauf",string,"Kaufen","Abbrechen");


    Bei den Anderen musst du das gleiche machen. Außerdem würde ich String nicht immer neu erstellen, sondern lieber einmal und global (außerhalb eines Publics und am besten über dem ersten Public, in dem er genutzt wird -> ganz oben).

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.