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;
}