(leicht?)Zugriffsrecht auf Fahrzeug

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 ho,
    ich arbeite gerade an einem kleinem filterscript ^^
    und da hab ich grad iwie ein problem:


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new string[128];
    new plname[MAX_PLAYER_NAME];
    if(Fahrzeug(vehicleid))
    {
    if(!strcmp(plname, "NAME", true))
    {
    format(string, sizeof(string), "Willkommen NAME!", plname);
    SendClientMessage(playerid, COLOR_WHITE, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist nicht NAME");
    //SafeRemovePlayerFromVehicle(playerid);//ausgeklammert da es damit nicht wollte
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    return 1;
    }


    wenn jemand einsteigt ohne berechtigt zu sein sprich er heißt nicht NAME dann bleibt er drin sollte aber rausgeworfen werden was is falsch?
    danke im vorraus :thumbup:

    Entspurt!!!
    Ihr dürft euch noch für die Closed Beta eintragen!!!
    Es wird der Hamma, einige User freuen sich bereits!!!


    http://www.another-day.de

  • public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new string[128];
    new plname[MAX_PLAYER_NAME];
    if(Fahrzeug(vehicleid))
    {
    GetPlayerName(playerid, plname, sizeof(plname));
    if(!strcmp(plname, "NAME", true))
    {
    format(string, sizeof(string), "Willkommen NAME!", plname);
    SendClientMessage(playerid, COLOR_WHITE, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist nicht NAME");
    //SafeRemovePlayerFromVehicle(playerid);//ausgeklammert da es damit nicht wollte
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    return 1;
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • habe das eingebaut die nachricht das man nicht NAME ist kommt zwar aber man wird nicht rausgeworfen?
    wie wo muss ich das definieren?
    RemovePlayerFromVehicle(playerid);

    also das weil der bleibt einfach drin sitzen

    Entspurt!!!
    Ihr dürft euch noch für die Closed Beta eintragen!!!
    Es wird der Hamma, einige User freuen sich bereits!!!


    http://www.another-day.de


  • new Float:pos[3];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);


    Dann ist er auf jeden Fall draußen.


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • Die Klasse OnPlayerEnter Vehicle wird aufgerufen, wenn der Spieler die Einsteigentaste (Standart: f oder enter) drückt. Da er dann aber noch nicht im Auto sitzt, kann er auch nicht rausgeworfen werden. Darum musst du die Methode von Snail zum "rauswerfen" nutzen. Wenn du jedoch RemovePlayerFromVehicle nutzen willst, dann musst du alles in der Klase OnPlayerStateChange ausführen, weil diese den State erst verändert, wenn der Spieler schon hinter dem Steuer sitzt.



    public OnPlayerStateChange(playerid,newstate,oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new string[128];
    new plname[MAX_PLAYER_NAME];
    new Fahrzeug = GetPlayerVehicleID(playerid);
    if(Fahrzeug(vehicleid))
    {
    GetPlayerName(playerid, plname, sizeof(plname));
    if(!strcmp(plname, "NAME", true))
    {
    format(string, sizeof(string), "Willkommen %s!", plname);
    SendClientMessage(playerid, COLOR_WHITE, string);
    }
    else
    {
    format(string, sizeof(string), "Du bist nicht %s!", plname);
    SendClientMessage(playerid, COLOR_RED,string);
    //SafeRemovePlayerFromVehicle(playerid);//ausgeklammert da es damit nicht wollte
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }


    }
    return 1;
    }

  • hagi danke erstmal ^^
    aber das problem nun ist das folgende


    new Fahrzeug = GetPlayerVehicleID(playerid);
    das hier kann ich nicht dort vereinbaren
    weil Fahrzeug oben schon vereinbart ist als EvilCar und wenn ich es nun aber compile
    D:\Users\Lars\Desktop\Secretproject.pwn(543) : error 012: invalid function call, not a valid address
    D:\Users\Lars\Desktop\Secretproject.pwn(543) : error 017: undefined symbol "vehicleid"
    D:\Users\Lars\Desktop\Secretproject.pwn(543) : error 029: invalid expression, assumed zero
    D:\Users\Lars\Desktop\Secretproject.pwn(543) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    kommen diese errors


    wer weiß weiter
    weil er soll eigendlich ja aussteigen desshalb das remove
    aber auch danke an snail wenn das iwie gar nicht geht nutze ich das

    Entspurt!!!
    Ihr dürft euch noch für die Closed Beta eintragen!!!
    Es wird der Hamma, einige User freuen sich bereits!!!


    http://www.another-day.de

  • public OnPlayerStateChange(playerid,newstate,oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new string[128],
    plname[MAX_PLAYER_NAME],
    vehicleid = GetPlayerVehicleID(playerid);
    if(Fahrzeug(vehicleid))
    {
    GetPlayerName(playerid, plname, sizeof(plname));
    if(!strcmp(plname, "NAME", true))
    {
    format(string, sizeof(string), "Willkommen %s!", plname);
    SendClientMessage(playerid, COLOR_WHITE, string);
    }
    else
    {
    format(string, sizeof(string), "Du bist nicht %s!", plname);
    SendClientMessage(playerid, COLOR_RED,string);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    }
    return 1;
    }

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • das hat zwar vehicle id gemacht
    aber nun kommen trotzdem errors


    D:\Users\Lars\Desktop\Secretproject.pwn(544) : error 012: invalid function call, not a valid address
    D:\Users\Lars\Desktop\Secretproject.pwn(544) : warning 215: expression has no effect
    D:\Users\Lars\Desktop\Secretproject.pwn(544) : error 001: expected token: ";", but found ")"
    D:\Users\Lars\Desktop\Secretproject.pwn(544) : error 029: invalid expression, assumed zero
    D:\Users\Lars\Desktop\Secretproject.pwn(544) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    Zeile 544 ist


    if(Secret(vehicleid))

    Entspurt!!!
    Ihr dürft euch noch für die Closed Beta eintragen!!!
    Es wird der Hamma, einige User freuen sich bereits!!!


    http://www.another-day.de

  • zu der sache von snail
    new Float:pos[3];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);


    wenn ich es einfüge kommt bei mir immer undefiniert getplayer pos und so
    kann mir das wer einbauen?



    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new string[128];
    new plname[MAX_PLAYER_NAME];
    if(EvilCar(vehicleid))
    {
    GetPlayerName(playerid, plname, sizeof(plname));
    if(!strcmp(plname, "Name", true))
    {
    format(string, sizeof(string), "Willkommen", plname);
    SendClientMessage(playerid, COLOR_WHITE, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist nicht Name");
    return 1;
    }
    }
    return 1;
    }

    Entspurt!!!
    Ihr dürft euch noch für die Closed Beta eintragen!!!
    Es wird der Hamma, einige User freuen sich bereits!!!


    http://www.another-day.de

  • Mir ist zwar immer noch nicht klar was EvilCar sein soll, aber so sollte es funktionieren.


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new string[128];
    new plname[MAX_PLAYER_NAME];
    if(EvilCar(vehicleid))
    {
    GetPlayerName(playerid, plname, sizeof(plname));
    if(!strcmp(plname, "Name", true))
    {
    format(string, sizeof(string), "Willkommen", plname);
    SendClientMessage(playerid, COLOR_WHITE, string);
    }
    else
    {
    new Float:pos[3];
    GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
    SetPlayerPos(playerid, pos[0], pos[1], pos[2]);


    SendClientMessage(playerid, COLOR_RED,"Du bist nicht Name");
    return 1;
    }
    }
    return 1;
    }

  • D:\Users\Lars\Desktop\Secretproject.pwn(176) : error 017: undefined symbol "Pos"
    D:\Users\Lars\Desktop\Secretproject.pwn(176) : warning 215: expression has no effect
    D:\Users\Lars\Desktop\Secretproject.pwn(176) : error 001: expected token: ";", but found "]"
    D:\Users\Lars\Desktop\Secretproject.pwn(176) : error 029: invalid expression, assumed zero
    D:\Users\Lars\Desktop\Secretproject.pwn(176) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    das die zeile

    Entspurt!!!
    Ihr dürft euch noch für die Closed Beta eintragen!!!
    Es wird der Hamma, einige User freuen sich bereits!!!


    http://www.another-day.de