Lock befehl überarbeiten

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
  • Hier ma der ganze Befehl


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/zu", true)==0 || strcmp(cmdtext, "/lock", true) == 0) //
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Statu ;
    Statu=GetPlayerState(playerid);
    new vehicleid = GetPlayerVehicleID(playerid);
    if(Statu!=PLAYER_STATE_DRIVER)
    {
    SendClientMessage(playerid,COLOR_GREY,"Nur der Fahrer kann abschliessen!");
    return 1;
    }
    new i;
    for(i=0;i<MAX_PLAYERS;i++)
    {
    if(i != playerid)
    {
    SetVehicleParamsForPlayer(vehicleid,i, 0, 1);
    }
    }
    new Float:X;
    new Float:Y;
    new Float:Z;
    SendClientMessage(playerid, COLOR_GREEN, "Fahrzeug abgeschlossen");
    GetPlayerPos(playerid,X,Y,Z);
    PlayerPlaySound(playerid,1056,X,Y,Z);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du kannst nur in einem Auto ein Fahrzeug abschliessen!");
    }
    return 1;
    }


    if (strcmp(cmdtext, "/auf", true) == 0 || strcmp(cmdtext, "/unlock", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Status ;
    Status = GetPlayerState(playerid);
    new vehicleid = GetPlayerVehicleID(playerid);
    if(Status!=PLAYER_STATE_DRIVER)
    {
    SendClientMessage(playerid,COLOR_RED,"Nur der Fahrer hat den Schluessel zum aufschliessen!");
    return 1;
    }
    new i;
    for(i=0;i<MAX_PLAYERS;i++)
    {
    SetVehicleParamsForPlayer(vehicleid,i, 0, 0);
    }
    SendClientMessage(playerid, COLOR_GREEN, "Fahrzeug aufgeschlossen");
    new Float:X;
    new Float:Y;
    new Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    PlayerPlaySound(playerid,1057,X,Y,Z);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist in keinem Fahrzeug!");
    }
    return 1;
    }


    So was ich will einmal


    1. Das man Newbies Roller nicht abschließen kann.
    2. Das wenn Spieler x in Fraktion Cop ist und den Befehl macht sollten andere leute die in der Fraktion sind auch rein können wie funkt das?


    Danke für euer Hilfe :D

  • Also Nummer 1 machst du so.
    Die Funktion oben da musste eben einfügen, wie du deine Newbie Roller definierst.


    Bei Nummer 2 kann ich nur sagen:
    Mach ne Teamabfrage rein und lass die einfach für Teamler immer offen.
    Ist doch besser!?


    stock isNewbieRoller(vehicleid)
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (!strcmp(cmdtext, "/zu", true) || !strcmp(cmdtext, "/lock", true))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Status = GetPlayerState(playerid),
    vehicleid = GetPlayerVehicleID(playerid);
    if(isNewbieRoller(vehicleid))
    return SendClientMessage(playerid, COLOR_GREY, "Du kannst keinen Newbie Roller abschließen!");
    if(Status != PLAYER_STATE_DRIVER)
    return SendClientMessage(playerid, COLOR_GREY, "Nur der Fahrer kann abschliessen!");
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(i != playerid)
    SetVehicleParamsForPlayer(vehicleid, i, 0, 1);
    new Float:Pos[3];
    SendClientMessage(playerid, COLOR_GREEN, "Fahrzeug abgeschlossen");
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    PlayerPlaySound(playerid, 1056, Pos[0], Pos[1], Pos[2]);
    }
    else
    SendClientMessage(playerid, COLOR_RED, "Du kannst nur in einem Auto ein Fahrzeug abschliessen!");
    return 1;
    }


    if (!strcmp(cmdtext, "/auf", true) || !strcmp(cmdtext, "/unlock", true))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Status = GetPlayerState(playerid),
    vehicleid = GetPlayerVehicleID(playerid);
    if(isNewbieRoller(vehicleid))
    return SendClientMessage(playerid, COLOR_GREY, "Du kannst keinen Newbie Roller abschließen!");
    if(Status != PLAYER_STATE_DRIVER)
    return SendClientMessage(playerid,COLOR_RED,"Nur der Fahrer hat den Schluessel zum aufschliessen!");
    for(new i = 0; i < MAX_PLAYERS; i++)
    SetVehicleParamsForPlayer(vehicleid,i, 0, 0);
    SendClientMessage(playerid, COLOR_GREEN, "Fahrzeug aufgeschlossen");
    new Float:Pos[3];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    PlayerPlaySound(playerid, 1057, Pos[0], Pos[1], Pos[2]);
    }
    else
    SendClientMessage(playerid, COLOR_GREY, "Du bist in keinem Fahrzeug!");
    return 1;
    }
    //} // Ende des OnPlayerCommandText()

    Miete mich (nicht) :love: