Fraktionsautos abschliessen/öffnen

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 hänge aktuell bei dem Fraktionsauto und habe ein Problem:


    ich finde keinen weg die Autos abzuschliessen.


    Zuerst mal zum FCarsystem:


    der aufbau ist:
    fraktionscar[FRAKTIONSID][AUTOID]


    z.b.
    fraktionscar[4][4] = das 5. Auto der 4. Fraktion


    Nun möchte ich das Fraktionsmitglieder das Auto öffnen/schliessen können, nur wie frage ich die Autos ab um zu prüfen ob der Spieler im auto sitzt?


    mfg, Abi

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • Ob der Spieler im Auto sitzt, fragst du so ab:


    if(IsPlayerInVehicle(playerid, fraktionscar[FRAKTIONSID][AUTOID]))
    {
    ...


    So fragst du nach einem bestimmten Fahrzeug.


    Wenn du aber abfragen willst, ob ein Member in einem seiner Fraktionsautos sitzt, machst du es so:


    if( HIER ABFRAGEN IN WELCHER FRAKTION DER MEMBER IST )
    {
    new fraktion = DIE OBIGE ABFRAGE;
    for(new i = 0; i<sizeof(fraktionscar); i++)
    {
    if(IsPlayerInVehicle(playerid, fraktionscar[fraktion][i]))
    {
    // was passiert dann
    }
    else
    {
    // was passiert, wenn er in keinem der Fahrzeuge sitzt, die zu seiner Fraktion gehören
    }
    }
    }

  • Ich habe mich mal dran versucht, der GameText kommt auch, das war aber auch
    dcmd_flock(playerid) {
    if(PlayerInfo[playerid][fraktion])
    {
    for(new i = 0; i<sizeof(fraktionscar); i++)
    {
    if(IsPlayerInVehicle(playerid, fraktionscar[PlayerInfo[playerid][fraktion]][i]))
    {
    new string[128];
    if(CarInfo[i][locked] == 1)
    {
    CarInfo[i][locked] = 0;
    format(string, sizeof(string), "~w~Fahrzeug ~g~ Aufgeschlossen");
    new i2;
    for(i2=0;i2<MAX_PLAYERS;i2++)
    {
    if(PlayerInfo[i2][fraktion] == PlayerInfo[playerid][fraktion])
    {
    SetVehicleParamsForPlayer(PlayerInfo[i2][cars],i, 0, 0);
    }
    }
    GameTextForPlayer(playerid, string, 3000, 6);
    }
    else
    {
    CarInfo[i][locked] = 1;
    format(string, sizeof(string), "~w~Fahrzeug ~r~ Abgeschlossen");
    new i2;
    for(i2=0;i2<MAX_PLAYERS;i2++)
    {
    if(PlayerInfo[i2][fraktion] == PlayerInfo[playerid][fraktion])
    {
    SetVehicleParamsForPlayer(PlayerInfo[i2][cars],i, 0, 1);
    }
    }
    GameTextForPlayer(playerid, string, 3000, 6);
    }

    }
    }
    }
    return 1;
    }


    hat jemand einen tipp was da nicht funktionerit

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • Wenn dann muss es so sein
    dcmd_flock(playerid) {
    if(PlayerInfo[playerid][fraktion])
    {
    for(new i = 0; i<sizeof(fraktionscar); i++)
    {
    if(IsPlayerInVehicle(playerid, fraktionscar[PlayerInfo[playerid][fraktion]][i]))
    {
    new string[128];
    if(CarInfo[i][locked] == 1)
    {
    CarInfo[i][locked] = 0;
    format(string, sizeof(string), "~w~Fahrzeug ~g~ Aufgeschlossen");
    new i2;
    for(i2=0;i2<MAX_PLAYERS;i2++)
    {
    if(PlayerInfo[i2][fraktion] == PlayerInfo[playerid][fraktion])
    {
    SetVehicleParamsForPlayer(PlayerInfo[i2][cars],i2, 0, 0);
    }
    }
    GameTextForPlayer(playerid, string, 3000, 6);
    }
    else
    {
    CarInfo[i][locked] = 1;
    format(string, sizeof(string), "~w~Fahrzeug ~r~ Abgeschlossen");
    new i2;
    for(i2=0;i2<MAX_PLAYERS;i2++)
    {
    if(PlayerInfo[i2][fraktion] == PlayerInfo[playerid][fraktion])
    {
    SetVehicleParamsForPlayer(PlayerInfo[i2][cars],i2, 0, 1);
    }
    }
    GameTextForPlayer(playerid, string, 3000, 6);
    }

    }
    }
    }
    return 1;
    }

  • wurde getestet, aber weder Gametext wird angezeigt, oder Auto angezeigt :/


    ich hab leider auch keine ahnung was man da machen muss :7

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.

  • Schau am besten nochmal im Wiki nach.


    http://wiki.sa-mp.com/wiki/SetVehicleParamsForPlayer

    Zitat

    Note: From 0.3 you will have to re-apply this function when OnVehicleStreamIn is called!

    Wenn mein Englisch noch gut genug ist, heißt das das du die Funktion nur unter OnVehicleStreamIn benutzten kannst. Das heißt das es in deinem Befehl welcher ja normalerweise unter OnPlayerCommandText ist nicht funktioniert.


    Falls ich mich irre, könnt ihr mich auch verbessern ;)

  • das funktioniert schon, ich nutz es ja auch bei /carlock, und da geht das ohne probleme.


    ich habirgentwie das gefühl die fahrzeugid wird nicht richtig ausgelessen °.o aber ich finde halt nichts :/

    Ich helfe gerne, aber nur wenn die andere Person wenigstens versucht es zu schaffen.
    Solange sie nicht so dreist sind und mich beim Zocken zuspammen.