Frage zu Fahrzeugen / Script

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
  • Guten Abend,


    ich bin auf der suche nach einem Codeschnipsel. Und zwar geht es um Fraktionautos, wie mache ich es dass der Spieler nicht mal reinkommt in das Fahrzeug ?
    Weil normaler weiße kann man erst einsteigen und dann steht da 'Du hast den Schlüssel nicht'. Und wird dann erst rausgeworfen.

  • oben im script:
    new frakcars[5];


    ongamemodeinit:

    frakcars[0] = AddStaticVehicleEx(.....);
    frakcars[1] = AddStaticVehicleEx(.....);
    .....
    frakcars[4] = AddStaticVehicleEx(.....);
    for(new i = 0; sizeof(frakcars) > i; i++)
    {
    SetVehicleParamsEx(frakcars[i], 0, 0, 0, 0, 0, 0, 0);
    }


    Jetzt sind alle Fahrzeuge der Fraktion geschlossen. Nun musst du nur noch nen Befehl erstellen, den nur die Member nutzen können und mit dem sie die Autos auf- bzw. abschließen können.

  • Kein Problem.


    Ich sehe aber gerade, dass es vielleicht auch unter OnPlayerEnterVehicle gehen könnte wenn du dort folgendes machst:
    onplayerentervehicle:

    for(new i = 0; sizeof(frakcars) > i; i++)
    {
    if(vehicleid == frakcars[i])
    {
    if(isPlayerInFrak(playerid)) //Hier deine abfrage ob der spieler in der fraktion ist
    {
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist nicht in der Fraktion!");
    return 0;
    }
    }
    }

  • Ich nehme die SetVehicleParamsEx variante, hab da was jetzt geschrieben 8)


    DrMurphy:


    if (strcmp("/m", cmdtext, true, 10) == 0)
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(vid != INVALID_VEHICLE_ID) {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }
    }
    return 1;
    }


    Kann ich hier auch abfragen ob er in jeweiligen Frak Car sitzt und ein Member ist, wenn ja motor an wenn nein -> aus?

  • Alles klar, hat funktioniert.
    Danke dir !


    Aber geht das nicht kürzer und sparender?


    if(strcmp("/m", cmdtext, true, 10) == 0)
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    for(new i = 0; sizeof(LieferantenH) > i; i++){
    if(GetPlayerVehicleID(playerid) == LieferantenH[i])
    {
    if(SpielerInfo[playerid][Fraktion] == 0)
    {
    return SendClientMessage(playerid,Rot,"Du hast den nötigen Schlüssel nicht.");
    }
    else
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }
    }
    }
    }
    if(vid != INVALID_VEHICLE_ID)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }
    }
    return 1;
    }

    Einmal editiert, zuletzt von headshot. ()