Problem mit /lock -Befehl

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
  • Also bei mir ging es. Weiß du wie das Vehicle_AddStatic deklariert ist?


    Wenn nein, mach es so: (mach das andere wieder raus)
    stock ex_Vehicle_AddStatic(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vID = Vehicle_AddStatic(modelid, x, y, z, angle, color1, color2, respawn_delay);
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vID,engine,lights,alarm,0,bonnet,boot,objective);
    return vID;
    }
    Füge das ganz unten in den Gamemode ein.


    Dann mach:
    STRG+H
    Vehicle_AddStatic
    ex_Vehicle_AddStatic
    -> Alle ersetzen.

  • Beitrag von Kriegerbeere ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Ich habe es mit diesem Test-Filterscript getestet:

    Spoiler anzeigen
    #include <a_samp>

    Spoiler anzeigen
    stock ex_CreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vID = CreateVehicle(modelid, x, y, z, angle, color1, color2, respawn_delay);
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vID,engine,lights,alarm,0,bonnet,boot,objective);
    return vID;
    }

    Spoiler anzeigen
    #if defined _HOOK_CreateVehicle
    #undef CreateVehicle
    #else
    #define _HOOK_CreateVehicle
    #endif
    #define CreateVehicle ex_CreateVehicle

    Spoiler anzeigen
    public OnFilterScriptInit()
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/vehspawn"))
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x,y,z);
    new vid = CreateVehicle(411,x+5,y,z,0,-1,-1,-1);
    printf("%d", vid);
    return 1;
    }
    if(!strcmp(cmdtext, "/locktest"))
    {
    if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,0xF3CA00FF,"Du musst der Fahrer eines Fahrzeugs sein um dein Auto auf/abzuschliessen");
    new vID=GetPlayerVehicleID(playerid),
    tmp_engine,
    tmp_lights,
    tmp_alarm,
    tmp_doors,
    tmp_bonnet,
    tmp_boot,
    tmp_objective;
    //an/aufschliessen
    GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    if(tmp_doors==0){
    tmp_doors =1;
    SendClientMessage(playerid, 0xF3CA00FF, "*Du hast das Fahrzeug abgeschlossen*");
    }else{
    tmp_doors = 0;
    SendClientMessage(playerid, 0xF3CA00FF, "*Du hast das Fahrzeug aufgeschlossen*");
    }
    SetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    return 1;
    }
    return 0;
    }


    Erstelle bei dir mal einen neuen Filterscript und lade ihn. Dann mach /vehspawn und im Fahrzeug dann /locktest.
    Dann siehst du, dass es beim ersten mal abgeschlossen wird.




    Wenn du bei dir im Code all "Vehicle_AddStatic" mit "ex_Vehicle_AddStatic" ersetzt (STRG+H), sollte es auch klappen.
    (!!Nicht das "Vehicle_AddStatic" in dem stock ex_Vehicle_AddStatic setzen!!)

  • Beitrag von Kriegerbeere ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Ist klar, dass es im Filterscript nur mit dem Fahrzeug klappt, das du damit erstellt hast. :)


    Wie erstellst du denn jetzt deine Fahrzeuge im Gamemode? Hast du meinen stock eingefügt?
    Kannst du mal nach der Vehicle_AddStatic Funktion suchen (also die Deklaration davon)? Weil normalerweise heißt es ja AddStaticVehicle.

  • Beitrag von Kriegerbeere ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Ahh, ok. Dann mach das was du gemacht hast wieder rückgängig. Und füge nur das hier ein, direkt unter den Includes (oder eben bevor CreateVehicle/AddStaticVehiclEx das erste mal benutzt wird. Wenn nur in den zwei Funktionen, kannst du es auch da drüber einfügen) :


    stock ex_CreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vID = CreateVehicle(modelid, x, y, z, angle, color1, color2, respawn_delay);
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vID,engine,lights,alarm,0,bonnet,boot,objective);
    return vID;
    }


    #if defined _HOOK_CreateVehicle
    #undef CreateVehicle
    #else
    #define _HOOK_CreateVehicle
    #endif
    #define CreateVehicle ex_CreateVehicle



    stock ex_AddStaticVehicleEx(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vID = AddStaticVehicleEx(modelid, x, y, z, angle, color1, color2, respawn_delay);
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vID,engine,lights,alarm,0,bonnet,boot,objective);
    return vID;
    }


    #if defined _HOOK_AddStaticVehicleEx
    #undef AddStaticVehicleEx
    #else
    #define _HOOK_AddStaticVehicleEx
    #endif
    #define AddStaticVehicleEx ex_AddStaticVehicleEx


    Dann ist es genau gleich wie im Filterscript.

  • Beitrag von Kriegerbeere ()

    Dieser Beitrag wurde vom Autor gelöscht ().