Dafür benötigst du eine globale Variable, sprich schreib es so:
new ticketGeld[MAX_PLAYERS];
ocmd:ticket(playerid,params[])
{
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist kein agestellter bei der Polizei");
if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
new pID, grund[144], betrag;
if(sscanf(params,"usd",pID,grund,betrag)) return SendClientMessage(playerid,HELLBLAU,"Benutze: /Ticket [PLAYERID] [GRUND] [STRAFE]");
format(grund,sizeof(grund),"Du hast ein Ticket bekommen GRUND: %s \nDu musst einen Betrag von %d$ zahlen!", grund, betrag);
ticketGeld[pID] = betrag;
ShowPlayerDialog(pID, DIALOG_TICKET, DIALOG_STYLE_MSGBOX, "TICKET", grund, "Bezahlen", "Flüchten");
return 1;
}
//Und unter OnDialogResponse
if(dialogid == DIALOG_TICKET)
{
if(!response) return SendClientMessage(playerid,WEIß,"Du hast dein Ticket weggeschmissen und Flüchtest"),SetPlayerWantedLevel(playerid,1);
new buffer[128];
format(buffer,sizeof buffer,"Du hast den Betrag %d gezahlt!",ticketGeld[playerid]);
SendClientMessage(playerid,WEIß,buffer),GivePlayerMoney(playerid, -ticketGeld[playerid]);
return 1;
}
PS: Du solltest dir vielleicht etwas ausdenken, wenn er nicht genug Geld auf der Hand hat, da er sonst im negativen Bereich wäre 
mfg. 