Fahrzeug abschließbar machen

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
  • Hey,
    wie ich die variable setzen muss, das man wenn man am fahrzeug steht und enter drückt, nichts passiert.


    kann es sein, das das etwas mit SetVehicleParamsForPlayer zu tun hat?

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • Soll es so geschehen oder ist es so?
    Kannst es auch anders machen. Bei OnPlayerEnterVehicle abfragen ob es das Auto ist und dann
    TogglePlayerControllable(playerid,0);//damit bleibt er stehen
    TogglePlayerControllable(playerid,1);//dann kann er sich wieder bewegen


    SetVehicleParamsForPlayer geht natürlich auch

  • Also ich habe bereits einen Car lock befehl erstellt, Er klappt auch, aber das Fahrzeug ist nur für mich, den der spieler gehört abgeschlossen, alle anderen können in das Fahrzeug.


    Hier mal der befehl:


    if(strcmp(cmd, "/carlock", true) == 0)
    {
    new file[50];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(file,50,"/Cars/%s.txt",name);
    if(gPlayerHasCar[playerid] == 1)
    {
    new v, Float:vehx, Float:vehy, Float:vehz;
    v = Vehicle[playerid];
    GetVehiclePos(v, vehx, vehy, vehz);
    if(IsPlayerInRangeOfPoint(playerid, 3.0, vehx, vehy, vehz))
    {
    if(VehicleInfo[playerid][Locked] == 0)
    {
    SetVehicleParamsForPlayer(v, playerid, 0, 1);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    GameTextForPlayer(playerid, "~r~Fahrzeug abgeschlossen!", 3000, 6);
    dini_IntSet(file,"Locked",1);
    VehicleInfo[playerid][Locked] = 1;

    gVehLocked[v] = 1;
    return 1;
    }
    if(VehicleInfo[playerid][Locked] == 1)
    {
    SetVehicleParamsForPlayer(v, playerid, 0, 0);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    GameTextForPlayer(playerid, "~g~Fahrzeug aufgeschlossen!", 3000, 6);
    dini_IntSet(file,"Locked",0);
    VehicleInfo[playerid][Locked] = 0;
    gVehLocked[v] = 0;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du bist nicht in der Nähe deines Fahrzeuges.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du besitzt kein Fahrzeug.");
    }
    return 1;
    }

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • Mach eine globale Variable:


    new VLock[MAX_VEHICLES];


    Dann setzt du die im Befehl auf 0 oder 1.


    Unter OnPlayerEnterVehicle:


    if(VLock[vehicleid] == 1)
    {
    ClearAnims(playerid);
    }

  • for(new i = 0; i<GetMaxPlayers();i++)
    {
    SetVehicleParamsForPlayer(v, i, 0, 0);
    }
    Statt


    SetVehicleParamsForPlayer(v, playerid, 0, 0);
    schließt für alle auf


    for(new i = 0; i<GetMaxPlayers();i++)
    {
    SetVehicleParamsForPlayer(v, i, 0, 1);
    }
    Statt


    SetVehicleParamsForPlayer(v, playerid, 0, 1);
    schließt für alle ab

    Einmal editiert, zuletzt von H4rd_B4se ()

  • Jo. Und V einfach durch GetPlayerVehicleID(playerid); definieren!

  • okay hard base, ich glaube deine sache ist richtig, ich probiers nachher mal mit nem kumpel aus, wenn er wieder da ist ;) Danke rotzdem, auch an alle anderen, die nadere Möglichkeit Sarruths müsste ja eig auch funktionieren, aber hard_base ist leichter zu ändern ;)


    ja das mit v habe ich ja auch so :D

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • Nein der macht das sofort global und nicht für jeden einzelnen Spieler.
    Egal machs einfach so;)

  • Also, ich habe das ganze jetzt nochmal mit nem Kumpel ausprobiert, aber das klappt immer noch nicht, nur für den besitzer des fahrzeuges ist das fahrzeug abgeschlossen...


    hier nochmal der befehl:


    if(strcmp(cmd, "/carlock", true) == 0)
    {
    new file[50];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(file,50,"/Cars/%s.txt",name);
    for(new i = 0; i<GetMaxPlayers();i++)
    if(gPlayerHasCar[playerid] == 1)
    {
    new v, Float:vehx, Float:vehy, Float:vehz;
    v = Vehicle[playerid];
    GetVehiclePos(v, vehx, vehy, vehz);
    if(IsPlayerInRangeOfPoint(playerid, 3.0, vehx, vehy, vehz))
    {
    if(VehicleInfo[playerid][Locked] == 0)
    {
    SetVehicleParamsForPlayer(v, i, 0, 1);
    //SetVehicleParamsForPlayer(v, playerid, 0, 1);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    GameTextForPlayer(playerid, "~r~Fahrzeug abgeschlossen", 3000, 6);
    dini_IntSet(file,"Locked",1);
    VehicleInfo[playerid][Locked] = 1;
    //VLock[vehicleid] = 1;//algemeine variable abgeschlossen
    gVehLocked[v] = 1;
    return 1;
    }
    if(VehicleInfo[playerid][Locked] == 1)
    {


    SetVehicleParamsForPlayer(v, i, 0, 0);
    //SetVehicleParamsForPlayer(v, playerid, 0, 0);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    GameTextForPlayer(playerid, "~g~Fahrzeug aufgeschlossen", 3000, 6);
    dini_IntSet(file,"Locked",0);
    VehicleInfo[playerid][Locked] = 0;
    gVehLocked[v] = 0;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du bist nicht in der Nähe deines Fahrzeuges.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du besitzt kein Fahrzeug.");
    }
    return 1;
    }

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco


  • new Engine, Lights, Alarm, Doors, Bonnet, Boot, Objective;
    if(strcmp(cmd, "/carlock", true) == 0)
    {
    new file[50];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(file,50,"/Cars/%s.txt",name);
    if(gPlayerHasCar[playerid] == 1)
    {
    new v, Float:vehx, Float:vehy, Float:vehz;
    v = Vehicle[playerid];
    GetVehiclePos(v, vehx, vehy, vehz);
    if(IsPlayerInRangeOfPoint(playerid, 3.0, vehx, vehy, vehz))
    {
    if(VehicleInfo[playerid][Locked] == 0)
    {
    GetVehicleParamsEx(v, Engine, Lights, Alarm, Doors, Bonnet, Boot, Objective);
    SetVehicleParamsEx(v, Engine, Lights, Alarm, VEHICLE_PARAMS_ON, Bonnet, Boot, Objective);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    GameTextForPlayer(playerid, "~r~Fahrzeug abgeschlossen!", 3000, 6);
    dini_IntSet(file,"Locked",1);
    VehicleInfo[playerid][Locked] = 1;
    gVehLocked[v] = 1;
    return 1;
    }
    if(VehicleInfo[playerid][Locked] == 1)
    {
    GetVehicleParamsEx(v, Engine, Lights, Alarm, Doors, Bonnet, Boot, Objective);
    SetVehicleParamsEx(v, Engine, Lights, Alarm, VEHICLE_PARAMS_OFF, Bonnet, Boot, Objective);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    GameTextForPlayer(playerid, "~g~Fahrzeug aufgeschlossen!", 3000, 6);
    dini_IntSet(file,"Locked",0);
    VehicleInfo[playerid][Locked] = 0;
    gVehLocked[v] = 0;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du bist nicht in der Nähe deines Fahrzeuges.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du besitzt kein Fahrzeug.");
    }
    return 1;
    }

  • new vehicleid = GetPlayerVehicleID(playerid);
    if (strcmp(cmdtext, "/lock", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Stat5 ;
    Stat5=GetPlayerState(playerid);
    if(Stat5!=PLAYER_STATE_DRIVER)
    {
    SendClientMessage(playerid,0xAA3333AA,"Nur der Fahrer kann das Fahrzeug abschließen!");
    return 1;
    }
    new i;
    for(i=0;i<MAX_PLAYERS;i++)
    {
    if(i != playerid)
    {
    SetVehicleParamsForPlayer(vehicleid,i, 0, 1);
    }
    }
    SendClientMessage(playerid, 0x33AA33AA, "Fahrzeug abgeschlossen!");
    }
    else
    {
    SendClientMessage(playerid, 0xAA3333AA, "Sie besitzen kein Fahrzeug!");
    }
    return 1;
    }
    if (strcmp(cmdtext, "/unlock", true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Stat6 ;
    Stat6 = GetPlayerState(playerid);
    if(Stat6!=PLAYER_STATE_DRIVER)
    {
    SendClientMessage(playerid,0xAA3333AA,"Nur der Fahrer kann das Fahrzeug abschließen!");
    return 1;
    }
    new i;
    for(i=0;i<MAX_PLAYERS;i++)
    {
    SetVehicleParamsForPlayer(vehicleid,i, 0, 0);
    }
    SendClientMessage(playerid, 0x33AA33AA, "Fahrzeug abgeschlossen!");
    }
    else
    {
    SendClientMessage(playerid, 0xAA3333AA, "Sie besitzen kein Fahrzeug!");
    }
    return 1;
    }

  • Danke funktioniert ! :D

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco