Nach /ticket Geld in die Fraktionskasse

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
  • Normal ist es ja immer wenn ein Cop /ticket machet bekommt er selber das geld. Das ist leider nicht immer überschaubar und so kann es auch zu korruption kommen


    Nun habe ich mir überlegt das das eingetriebene Geld von den Tickets automatisch in die Fraktionskasse gelangen soll


    Hier mein /ticket



    if(strcmp(cmd, "/ticket", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 2 && PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] != 3 && PlayerInfo[playerid][pMember] != 3 && PlayerInfo[playerid][pLeader] != 13 && PlayerInfo[playerid][pMember] != 13 && PlayerInfo[playerid][pLeader] != 11 && PlayerInfo[playerid][pMember] != 11)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter6!");
    return 1;
    }
    if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht im Dienst!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /ticket [spielerid/teildesnamens] [preis] [grund]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /ticket [spielerid/teildesnamens] [preis] [grund]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 1 || moneys > 99999) { SendClientMessage(playerid, COLOR_GREY, "Das Ticketgeld kann nicht unter 1$ und über 99999$ sein!"); return 1; }
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if (ProxDetectorS(8.0, playerid, giveplayerid))
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /ticket [spielerid/teildesnamens] [preis] [grund]");
    return 1;
    }
    format(string, sizeof(string), "* Du hast %s ein Ticket für %d$ gegeben, Grund: %s", giveplayer, moneys, (result));
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Officer %s hat dir ein Ticket für %d$ gegeben, Grund: %s", sendername, moneys, (result));
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* Tippe /accept ticket, um anzunehmen.");
    TicketOffer[giveplayerid] = playerid;
    TicketMoney[giveplayerid] = moneys;
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist zu weit entfernt!");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Diesen Spieler gibt es nicht!");
    return 1;
    }
    }
    return 1;
    }



    So wird normal in die Kasse eingezahlt:


    if(strcmp(cmd,"/givekmoney",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(PlayerInfo[playerid][pTeam] == 0) { return SendClientMessage(playerid,COLOR_GRAD2,"Du bist Zivilist, du hast keine Teamkasse."); }
    if(!strlen(tmp)) { return SendClientMessage(playerid,COLOR_GRAD2,"Benutzung: /givekmoney [Betrag]"); }
    if(PlayerInfo[playerid][pLocal] != 103)
    {
    new geld = strval(tmp);
    if(geld > GetPlayerMoney(playerid)) { return SendClientMessage(playerid,COLOR_GRAD2,"Du hast nicht soviel Geld."); }
    TeamInfo[PlayerInfo[playerid][pTeam]][tKasse] = TeamInfo[PlayerInfo[playerid][pTeam]][tKasse] + geld;
    GivePlayerCash(playerid,-geld);
    for(i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pLeader] == PlayerInfo[playerid][pTeam])
    {
    SendClientMessage(i,COLOR_GRAD2,"Es wurde Geld in die Teamkasse gezahlt, sieh per /seekasse nach wieviel jetzt drauf ist.");
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du musst bei der Teamkasse stehen!.");
    }
    return 1;
    }

  • Du must dann bei "7accept Ticket" das rein machen wenn er Bezahlt


    TeamInfo[TeamKassenID][tKasse] += TicketMoney[playerid];


    den wir das Geld der Kasse hinzugefügt.


    bei TeamKassenID must du die ID der Fraktion hinzufügen...