Frage zum ermitteln von Fahrzeugbesitzer

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
  • Du gehst jeden Spieler durch fragst ab ob er im Fahrzeug ist [wiki]IsPlayerInVehicle[/wiki] und dann entweder [wiki]GetPlayerVehicleSeat[/wiki] nutzen 0 ist der Fahrer oder nutzt [wiki]GetPlayerState[/wiki] PLAYER_STATE_DRIVER.

  • Alles klar, das ist geschafft.


    Ein Fehler habe ich derzeit allerdings noch. Er zeigt mir an das der Motor angeschaltet wird. In wirklichkeit wird die Abfrage nicht ausgeführt und der Motor bleibt aus




  • ich merke das der Motor auch beim eigenen Fahrzeug nicht angeht. Das muss iwie am


    Code
    if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return 1;

    vom

  • lösch das mal du hast doch schon eine abfrage oder nich :thumbup:


    if(Vehicle != INVALID_VEHICLE_ID)

    Xbox Modding Profi
    Mein Xbox Setup:


    Xbox360 Trinity/Valhalla Reach Edition (Flash , Retail)
    Xbox360 Corona (xk3y, Retail)
    Xbox360 Corona (RGH2)
    Xbox360 Xenon (JTAG)
    2x XboxOne (Retail)

  • Oh danke. Da habe ich versehentlich eines doppelt abgefragt. Allerdings ist das noch nicht alles. Der Motor kann immernoch von jeder Person gestartet werden obwohl es nicht sein Fahrzeug ist

  • du benutzt bestimmt mrm oder? da kann man einfach abfragen ob der jenige der besitzer ist oder nicht
    das könnte dir glaube ich helfen:


    PlayerAuto[i][vkey]

    Xbox Modding Profi
    Mein Xbox Setup:


    Xbox360 Trinity/Valhalla Reach Edition (Flash , Retail)
    Xbox360 Corona (xk3y, Retail)
    Xbox360 Corona (RGH2)
    Xbox360 Xenon (JTAG)
    2x XboxOne (Retail)

  • ja und mit dem oberen was ich gepostet habe könntest du was anfangen :D


    edit: der code ließt den besitzer aus

    Xbox Modding Profi
    Mein Xbox Setup:


    Xbox360 Trinity/Valhalla Reach Edition (Flash , Retail)
    Xbox360 Corona (xk3y, Retail)
    Xbox360 Corona (RGH2)
    Xbox360 Xenon (JTAG)
    2x XboxOne (Retail)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • if(strcmp(PlayerAuto[i][vkey],SpielerName(playerid),true))return SendClientMessage(playerid,COLOR_LIGHTRED,"Dieses Auto gehört nicht dir!");

    Xbox Modding Profi
    Mein Xbox Setup:


    Xbox360 Trinity/Valhalla Reach Edition (Flash , Retail)
    Xbox360 Corona (xk3y, Retail)
    Xbox360 Corona (RGH2)
    Xbox360 Xenon (JTAG)
    2x XboxOne (Retail)

  • if(strcmp(PlayerAuto[i][vkey],SpielerName(playerid),true))return SendClientMessage(playerid,COLOR_LIGHTRED,"Dieses Auto gehört nicht dir!");

    Scheint nicht zuklappen. Musste es ein wenig umschreiben damit es passt



  • Habs nun wie folgt erledigt




    Einmal editiert, zuletzt von TobiSagu ()

  • Funktioniert es dann so wie du es möchtest?
    Wenn ja, dann sehe ich trotzdem noch einen Fehler, und zwar weist du der Variable "engine" in dem Befehl nie einen Wert zu, sprich du kannst den Motor nicht mehr ausschalten. Das musst du noch via GetVehicleParamsEx abfragen.

  • Ohja. Ist mir garnicht aufgefallen. Vielleicht kannst du mir aber noch bei einer Sache helfen.


    Nun soll der Besitzer sein Fahrzeug starten können. Allerdings soll der User auch die Fraktionsfahrzeuge starten können in der Fraktion in die er ist. Zurzeit habe ich es so aufgebaut



    Allerdings passiert beim versuch des Starten des Motors nichts.

  • Versuche es so:
    ocmd:motor(playerid,params[])
    {
    #pragma unused params
    if(!IsPlayerInAnyVehicle(playerid))return 1;
    new vehicleid=GetPlayerVehicleID(playerid);
    if(vehicleid==INVALID_VEHICLE_ID)return 1;
    if(EventCar[GetPlayerVehicleID(playerid)] && !adminduty[playerid]) return ErrorMsg(playerid, "Das ist ein Eventfahrzeug.");
    if(GetVehicleModel(vehicleid)==481||GetVehicleModel(vehicleid)==509||GetVehicleModel(vehicleid)==510)
    {
    return 1;
    }
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    for(new i = 0; i < sizeof(PlayerAuto); i++)
    {
    if(!strcmp(SpielerName(playerid),PlayerAuto[i][vkey],true)&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid||!strcmp(SpielerName(playerid),PlayerAuto[i][key1],true)&&strlen(PlayerAuto[i][key1])&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid||!strcmp(SpielerName(playerid),PlayerAuto[i][key2],true)&&strlen(PlayerAuto[i][key2])&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid
    ||!strcmp(SpielerName(playerid),PlayerAuto[i][key3],true)&&strlen(PlayerAuto[i][key3])&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid||!strcmp(SpielerName(playerid),PlayerAuto[i][key4],true)&&strlen(PlayerAuto[i][key4])&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid||!strcmp(SpielerName(playerid),PlayerAuto[i][key5],true)&&strlen(PlayerAuto[i][key5])&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid)
    {
    if(engine==1)
    {
    engineOff(vehicleid);
    GameTextForPlayer(playerid,"~w~Motor ~r~ausgeschaltet",1500,4);
    }
    else
    {
    if(tank[vehicleid]>0)
    {
    if(istkaputt[vehicleid]==0)
    {
    engineOn(vehicleid);
    GameTextForPlayer(playerid,"~w~Motor ~g~angeschaltet",1500,4);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Der Motor ist kaputt.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"ACHTUNG: Kein Benzin!");
    }
    }
    }
    }
    for(new i = 0; i < sizeof(FraktAuto); i++)
    {
    if(vehicleid == FraktAuto[i][id_x])
    {
    if(!IsPlayerInFrakt(playerid,FraktAuto[i][besitzer]))
    {
    SendClientMessage(playerid, 0xFF0000FF, "Error: Du bist nicht in der Fraktion dieses Fahrzeugs.");
    return 1;
    }
    if(engine==1)
    {
    engineOff(vehicleid);
    GameTextForPlayer(playerid,"~w~Motor ~r~angeschaltet",1500,4);
    }
    if(engine==0)
    {
    engineOn(vehicleid);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~aus!", 2000, 5);
    }
    break;
    }
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen