Problem bei Teambezogenen Autos

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


    Ich habe ein Problem. Wenn ich als z.B. Rocker versuche in ein z.B. Ballas Auto einzusteigen sollte es nicht gehen. Aber ich komme leider in jedes Auto.
    Und vllt könnt ihr ja helfen das dann der Text kommt: Sie können nicht in das (Fraktionsname)auto einsteigen..


    Code:


    news:
    new YakuzaCar[11];
    new RockerCar[14];
    new SfpdCar[16];
    new BallasCar[14];


    AddStaticVehicle
    YakuzaCar[0] = AddStaticVehicle(402,-2737.7258,-296.7589,6.8436,47.6553,1,1);
    YakuzaCar[1] = AddStaticVehicle(402,-2740.8315,-300.0093,6.8446,48.5439,1,1);
    YakuzaCar[2] = AddStaticVehicle(402,-2743.8796,-303.2629,6.8568,49.2704,1,1);
    usw...


    OnPlayerStateChange
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new vY=0; vY<sizeof(YakuzaCar); vY++)
    {
    if(GetPlayerVehicleID(playerid) == YakuzaCar[vY] && gTeam[playerid] != TEAM_YAKUZA) TogglePlayerControllable(playerid,1);
    }
    for(new vR=0; vR<sizeof(RockerCar); vR++)
    {
    if(GetPlayerVehicleID(playerid) == RockerCar[vR] && gTeam[playerid] != TEAM_ROCKER) TogglePlayerControllable(playerid,1);
    }
    for(new vS=0; vS<sizeof(SfpdCar); vS++)
    {
    if(GetPlayerVehicleID(playerid) == SfpdCar[vS] && gTeam[playerid] != TEAM_SFPD) TogglePlayerControllable(playerid,1);
    }
    for(new vB=0; vB<sizeof(BallasCar); vB++)
    {
    if(GetPlayerVehicleID(playerid) == BallasCar[vB] && gTeam[playerid] != TEAM_BALLAS) TogglePlayerControllable(playerid,1);
    }
    }
    return 1;
    }


    Mfg,
    Seb

    Einmal editiert, zuletzt von Seb_Mcpepp ()

  • SendClientMessage(playerid,COLOR_RED,"Du hast keine Schlüssel!");
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);


    Diesen Code bitte drunter, dann sollte es funken.


    Toggle..... er fesselt ihn und entfesselt ihr, Remove.... wirft den Spieler raus. Send.... sendet ne Nachricht.


  • Guck dir mal meinen Code an und dann deinen Kram. TooglePlayerControllable wird bereits verwendet und normalerweise hat es bei mir immer ausgereicht wenn ich einfach nur wie du sagst "entfesselst" habe. Dann kam auch keiner rein. Und der Text muss doch auch höchstwarscheinlich irgentwie hinter oder vor oder sonstwas bei TooglePlayerControllable.


    Mfg,
    Seb

  • Anonymous hat leider recht, dein code brinkt nichts, wenn der spieler ins auto einsteigt bekommt er seine kontrolle wieder, welche warscheinlich nie weg war. na und wenn er seine Kontrolle hat kann er fahren

  • Ist ja auch logisch...


    OnPlayerStateChange // wenn der State geändert wird
    {
    if(newstate == PLAYER_STATE_DRIVER) // wenn der State zu Fahrer geworden ist.
    }
    Wie soll der denn dann die Kontrolle vorher verlieren?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Hmm. Ist es nicht aber so, dass wenn der State zum Fahrer wird im newstate abgefragt wird was los ist und wann er die Kontrolle verlieren soll, in meinem Fall wenn ein Rocker in ein Ballas Auto möchte.


    Reintheoretisch müsste es mit RemovePlayerFromVehicle ohne Probleme gehen oder? Was für nen State soll ich denn benutzen wenn schon bevor er überhaupt ins Auto versucht einzusteigen TooglePlayerControllable einsetzten soll?

  • Ich habe es jetzt so versucht:


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(vehicleid == YakuzaCar[0] || YakuzaCar[1] || YakuzaCar[2] || YakuzaCar[3] || YakuzaCar[4] || YakuzaCar[5] || YakuzaCar[6] || YakuzaCar[7] || YakuzaCar[8] || YakuzaCar[9] || YakuzaCar[10])
    {
    if(gTeam[playerid] == TEAM_YAKUZA)
    {
    TogglePlayerControllable(playerid,0);
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,COLOR_RED,"Sie sind kein Mitglied der Yakuza.");
    }
    }
    if(vehicleid == RockerCar[0] || RockerCar[1] || RockerCar[2] || RockerCar[3] || RockerCar[4] || RockerCar[5] || RockerCar[6] || RockerCar[7] || RockerCar[8] || RockerCar[9] || RockerCar[10] || RockerCar[11] || RockerCar[12] || RockerCar[13])
    {
    if(gTeam[playerid] == TEAM_ROCKER)
    {
    TogglePlayerControllable(playerid,0);
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,COLOR_RED,"Sie sind kein Mitglied der Rocker.");
    }
    }
    if(vehicleid == SfpdCar[0] || SfpdCar[1] || SfpdCar[2] || SfpdCar[3] || SfpdCar[4] || SfpdCar[5] || SfpdCar[6] || SfpdCar[7] || SfpdCar[8] || SfpdCar[9] || SfpdCar[10] || SfpdCar[11] || SfpdCar[12] || SfpdCar[13] || SfpdCar[14] || SfpdCar[15])
    {
    if(gTeam[playerid] == TEAM_SFPD)
    {
    TogglePlayerControllable(playerid,0);
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,COLOR_RED,"Sie sind kein Mitglied des SFPDs.");
    }
    }
    if(vehicleid == BallasCar[0] || BallasCar[1] || BallasCar[2] || BallasCar[3] || BallasCar[4] || BallasCar[5] || BallasCar[6] || BallasCar[7] || BallasCar[8] || BallasCar[9] || BallasCar[10] || BallasCar[11] || BallasCar[12] || BallasCar[13])
    {
    if(gTeam[playerid] == TEAM_BALLAS)
    {
    TogglePlayerControllable(playerid,0);
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,COLOR_RED,"Sie sind kein Mitglied der Ballas.");
    }
    }
    return 1;
    }


    doch da gibt er mir die Meldung wenn ich als Rocker in ein RockerAuto rein möchte das ich kein Rocker bin^^ Woran liegt das? habs auch schon mit if(gteambla != ballas) versucht aber ging auch nicht so recht.


    Mfg,
    Seb

    Einmal editiert, zuletzt von Seb_Mcpepp ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ja vielleicht an der sau blöden aubfrage.
    if(vehicleid == YakuzaCar[0] || YakuzaCar[1] || YakuzaCar[2] ...)
    Du fragst ab ob die VehicleID die von YakuzaCar[0] ist dann oder YakuzaCar[1] nicht 0
    wo ist da der Sinn?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • if(gTeam[playerid] != TEAM_BALLAS){TogglePlayerControllable(playerid,0);TogglePlayerControllable(playerid,1);SendClientMessage(playerid,COLOR_RED,"Sie sind kein Mitglied der Ballas."); }

  • if(vehicleid == YakuzaCar[0] || vehicleid == YakuzaCar[1] || vehicleid == YakuzaCar[2] ...)


    Was nützt es dir denn in diesem Fall abzufragen ob eine Variable nicht 0 ist?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Du fragst ab ob das auto zu der fraktion/gang gehört dann wenn es zu den jenigen team gehört soll er gefreezt dann wieder entfreezt werden? WTF


    Wenn es nicht "!="


    nicht "=="

  • Zur not machst negierst du das einfach -.-


    if(!(vehicleid == YakuzaCar[0] || vehicleid == YakuzaCar[1] || vehicleid == YakuzaCar[2] ...))

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski