Als FS-Leader Fahrschul autos respawnen

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
  • Hallo !
    Ich habe ein Problem, undzwar möchte ich wissen, wie man als Fahrlehrer (Leader oder Rank 12) die unbesetzten Fahrschul Autos respawnen kann.
    Hier schonmal ein kleiner Versuch, ist aber irgendwie falsch^^
    if(strcmp(cmd, "/fcrespawncars", true) == 0 || strcmp(cmd, "/fsrc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLeader] == 11)
    {
    new bool:unwanted[CAR_AMOUNT];
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
    }
    for(new car = 1; car <= 300; car++)
    {
    if(!unwanted[car]) SetVehicleToRespawn(car);
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Fahrschule: %s hat alle unbesetzten Fahrschul Autos respawnt.", sendername);
    BroadCast(COLOR_WHITE,string);
    }
    return 1;
    }


    Die Fahrschul Autos sind folgendermaßen definiert :
    forward IsAFS(playerid);
    forward IsAFSCar(carid);


    Und :
    //Fahrschule
    new fsCars[21];

  • Probiers mal so:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmd, "/fcrespawncars", true) == 0 || strcmp(cmd, "/fsrc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLeader] == 11)
    {
    new bool:unwanted[CAR_AMOUNT];
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(IsAFSCar(GetPlayerVehicleID(player))) unwanted[GetPlayerVehicleID(player)]=true;
    }
    for(new car = 1; car <= CAR_AMOUNT; car++)
    {
    if(!unwanted[car]) SetVehicleToRespawn(car);
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Fahrschule: %s hat alle unbesetzten Fahrschul Autos respawnt.", sendername);
    BroadCast(COLOR_WHITE,string);
    }
    return 1;
    }
    }
    return 1;
    }
    und der folgende public sollte auch so aussehen


    public IsAFSCar(carid)
    {
    for(new vehid = 0; vehid < sizeof(fsCars); vehid++)
    {
    if(carid == fsCars[vehid]) return true;
    }
    return false;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ok, das hat geklappt danke.
    Ich habe noch ein anders Anliegen^^
    Ich möchte einen Cop Befehl namens /clear weiter ausbauen.
    Die Benutzung soll sein : /clear [Name/Id] [Anzahl der Wanteds, die gecleart werden soll]
    Aber ich habe keinen blassen schimmer wie das geht^^
    Zum clearen soll man cop sein, in einem cop car sitzen und mindestens cop rank 2 haben.
    Hier der pastebin link : http://pastebin.com/jXHZQ2Em
    Kann mir jemand helfen :D ?

  • Versuch das mal hier, ka ob das geht ^^


    if(strcmp(cmd, "/clear", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new member = PlayerInfo[playerid][pMember];
    new leader = PlayerInfo[playerid][pLeader];
    new rank = PlayerInfo[playerid][pRank];
    if(gTeam[playerid] == 2)
    {
    if (IsPlayerInVehicle(IsACop))
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du bist in keinem Polizei Auto");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "BENUTZUNG: /clear [playerid/PartOfName] [Anzahl der Wanteds]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "BENUTZUNG: /clear [playerid/PartOfName] [Anzahl der Wanteds]");
    return 1;
    }
    new wanted = strval(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst clearen!"); return 1; }
    if(wanted < 1 || wanted > 6) return SendClientMessage(playerid, COLOR_GREY, "Die zu löschenend Wanteds nicht kleiner als 1 oder höher als 6!");
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast die Wanted von %s gelöscht.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Polizist %s hat deine Wanteds gelöscht.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    if(wanted > WantedLevel[giveplayerid]) WantedLevel[giveplayerid] = 0;
    else WantedLevel[giveplayerid] -= wanted;
    WantedPoints[giveplayerid] = 0;
    ClearCrime(giveplayerid);
    if(gTeam[giveplayerid]==4)
    {
    gTeam[giveplayerid] = 3;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Name in der Verbrecher Akte nicht gefunden.");
    }
    }
    else if(member == 13||member == 13||leader == 13||leader == 13)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "BENUTZUNG: /clear [playerid/PartOfName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "BENUTZUNG: /clear [playerid/PartOfName] [Anzahl der Wanteds]");
    return 1;
    }
    new wanted = strval(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You cannot Clear yourself!"); return 1; }
    if(wanted < 1 || wanted > 6) return SendClientMessage(playerid, COLOR_GREY, "Die zu löschenend Wanteds nicht kleiner als 1 oder höher als 6!");
    if(rank < 4) { SendClientMessage(playerid, COLOR_GREY, " You need Rank 4 to clear someone's Wanted Points + Records !"); return 1; }
    if(GetPlayerMoney(playerid) < 5000) { SendClientMessage(playerid, COLOR_GREY, " You need $5000 to Clear your Family Member !"); return 1; }
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(member > 0)
    {
    if(PlayerInfo[giveplayerid][pMember] != member)
    {
    SendClientMessage(playerid, COLOR_GREY, " That player is not in your Family !");
    return 1;
    }
    format(string, sizeof(string), "* You cleared the Records and Wanted Points of %s for $5000.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Family Member %s with Rank %d, has cleared your Records and Wanted Points.", sendername, rank);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    }
    else if(leader > 0)
    {
    if(PlayerInfo[giveplayerid][pMember] != leader)
    {
    SendClientMessage(playerid, COLOR_GREY, " That player is not in your Family !");
    return 1;
    }
    format(string, sizeof(string), "* You cleared the Records and Wanted Points of %s for $5000.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Family Leader %s, has cleared your Records and Wanted Points.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    }
    WantedPoints[giveplayerid] = 0;
    if(wanted > WantedLevel[giveplayerid]) WantedLevel[giveplayerid] = 0;
    else WantedLevel[giveplayerid] -= wanted;
    ClearCrime(giveplayerid);
    GivePlayerMoney(playerid, -500000);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Invalid ID/Name!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " You are not an Cop / FBI / National Guard / Family Member !");
    }
    }//not connected
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ja und? Das ist vom GF her so, willst du das weg haben oder was?

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ja, damit nurnoch die Cops clearen können^^
    Also ich möchte halt insgesamt :

    • Nur Cops ab Rank 2 können clearen
    • Müssen im Cop Wagen sein
    • Anzahl kann bestimmt werden (aus /clear [Name/Id] -> wird /clear [Name/Id] [Anzahl der Wanteds])
  • Auch wenn dieses Thema langsam in den GF Thread gehört


    if(strcmp(cmd, "/clear", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new member = PlayerInfo[playerid][pMember];
    new leader = PlayerInfo[playerid][pLeader];
    new rank = PlayerInfo[playerid][pRank];
    if(gTeam[playerid] == 2)
    {
    if (PlayerInfo[playerid][pRank] < 2) return SendClientMessage(playerid, COLOR_GRAD2, " Du benötigst mindestens Rang 2 dafür");
    if (!IsACopCar(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du bist in keinem Polizei Auto");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "BENUTZUNG: /clear [playerid/PartOfName] [Anzahl der Wanteds]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "BENUTZUNG: /clear [playerid/PartOfName] [Anzahl der Wanteds]");
    return 1;
    }
    new wanted = strval(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst clearen!"); return 1; }
    if(wanted < 1 || wanted > 6) return SendClientMessage(playerid, COLOR_GREY, "Die zu löschenend Wanteds nicht kleiner als 1 oder höher als 6!");
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast die Wanted von %s gelöscht.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Polizist %s hat deine Wanteds gelöscht.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    if(wanted > WantedLevel[giveplayerid]) WantedLevel[giveplayerid] = 0;
    else WantedLevel[giveplayerid] -= wanted;
    WantedPoints[giveplayerid] = 0;
    ClearCrime(giveplayerid);
    if(gTeam[giveplayerid]==4)
    {
    gTeam[giveplayerid] = 3;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Name in der Verbrecher Akte nicht gefunden.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " You are not an Cop / FBI / National Guard !");
    }
    }//not connected
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!