Fahrschule Givelicense Geld abziehen

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
  • Hi liebe User ich habe eine Frage zu /givelicense Befehl und zwar wollte ich das so machen das wenn der Fahrlehrer den Schein gibt,
    dass dann dem Fahrschüler der Betrag automatisch abgezogen wird und der Fahrlehrer die hälfte bekommt und die andere Hälfte in die Fkasse geht.



    Hier der /givelicense Befehl:

    if(strcmp(cmd, "/givelicense", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsAnInstructor(playerid))
    {
    if(PlayerInfo[playerid][pRank] < 2)
    {
    SendClientMessage(playerid, COLOR_GREY, "Nur mit Rang 2 oder höher kann man Lizenzen ausstellen !");
    return 1;
    }
    new x_nr[256];
    x_nr = strtok(cmdtext, idx);
    if(!strlen(x_nr)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutzung: /givelicense [Schein] [playerid/Name]");
    SendClientMessage(playerid, COLOR_WHITE, "Scheine: fahren, fliegen, fischen, Boot, Motorrad, Roller, LKW, Waffe");
    return 1;
    }
    if(strcmp(x_nr,"fahren",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense fahren [Spieler ID / Name]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* Du hast %s eine Fahrlizens gegeben..",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir eine Fahrlicense gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pCarLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"fliegen",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense fliegen [Spieler ID / Name]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* Du hast %s einen Flugschein gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "*Lehrer %s hat dir einen Flugschein gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pFlyLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"boot",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense boot [Spieler ID / Name]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* Du hast %s einen Bootschein gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir einen Bootschein gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pBoatLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"fischen",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense fischen [Spieler ID / Name");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* Du hast %s eine Angellizens gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir eine Angellizens gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pFishLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"LKW",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense LKW [Spieler ID / Name");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* Du hast %s ein LKW Schein gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir ein LKW Schein gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pLKWLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"Motorrad",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense Motorrad [Spieler ID / Name");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* Du hast %s ein Motorad Schein gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir ein Motorad Schein gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pMotoLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"Roller",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense Roller [Spieler ID / Name]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* Du hast %s einen Rollerschein gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir einen Rollerschein gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pRollerLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist Offline !");
    return 1;
    }
    }
    else if(strcmp(x_nr,"waffen",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /givelicense waffen [Spieler ID / Name]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pLevel] < 5 && !IsACop(giveplayerid))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Der Spieler ist nicht Level 5!");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    format(string, sizeof(string), "* Du hast %s einen Waffenschein gegeben.",giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Lehrer %s hat dir einen Waffenschein gegeben.",sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    PlayerInfo[giveplayerid][pGunLic] = 1;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Fahrlehrer !");
    return 1;
    }
    }
    return 1;
    }

  • Du weißt ja was ein schein kosten soll...


    z.B. sagen wir Führerschein 2000$


    Dann
    Der den schein kriegen soll das geld abziehen:
    Giveplayermoney giveplayerid -2000


    Dann
    der den gegeben hat geld geben:
    GivePlayerMoney playerid -1000
    Also die hälfte sind 1000


    und dann musste gucken wie man in deinem script der fkasse geld gibt
    und das machste halt dann auch 1000 +


    am besten guckst einfach dort, wo man geld einzahlen kann, kopierst das, wo geld eingezahlt wird, schreibst da manuell die Fraktionsid oder so rein sprich die nummer von der fkasse und dann halt +1000

  • Ok /fkasse
    Danke dir :thumbup:


    Edit:
    DA ist nur das:
    if(strcmp(cmd,"/fkasse",true) == 0)
    {
    new fraktion = 0;
    if(PlayerInfo[playerid][pMember] > 0) fraktion = PlayerInfo[playerid][pMember] - 1;
    if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;
    if(fraktion >= 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse [einzahlen/auszahlen] [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    if(strcmp(tmp,"einzahlen",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse einzahlen [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    new amount = strval(tmp);
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 1 Million Dollar!");
    if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid,COLOR_WHITE," Du hast nicht soviel Geld um es einzuzahlen!");
    FraktionsKasse[fraktion] += amount;
    GivePlayerMoney(playerid,-amount);
    format(string,sizeof(string)," Du hast $%d in die Fraktionskasse eingezahlt! Total: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof(string)," %s hat $%d in die Fraktionskasse eingezahlt! Total: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }

  • new fraktion = 0;
    if(PlayerInfo[playerid][pMember] > 0) fraktion = PlayerInfo[playerid][pMember] - 1;
    if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;
    FraktionsKasse[fraktion] += preis/2;
    GivePlayerMoney(playerid,preis/2);
    SaveFraktionsKassen();



    Tipp bei Givelicense nutze einfach #defines:

    #define KOSTEN_AUTOFÜHRERSCHEIN 5000 // Wären $5000


    // Unter /givelicense vor der Abfrage mit "driving"
    new fraktion = 0;
    if(PlayerInfo[playerid][pMember] > 0) fraktion = PlayerInfo[playerid][pMember] - 1;
    if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;



    // Dazu unter /givelicense in driving:
    new preis = KOSTEN_AUTOFÜHRERSCHEIN;
    GivePlayerMoney(giveplayerid,-preis);
    FraktionsKasse[fraktion] += preis/2;
    GivePlayerMoney(playerid,preis/2);
    SaveFraktionsKassen();

    ungetestet sollte aber so gehn