Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <dini>
- #define MAX_ATMS 1
- #define DIALOG_BANK 1
- #define DIALOG_EINZAHLEN 2
- #define DIALOG_ABHEBEN 3
- #define DIALOG_NEWMONEY 4
- #define DIALOG_UBERWEISEN 5
- #define DIALOG_UBERWEISUNG 6
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_GREY 0xAFAFAFAA
- enum Bank
- {
- Float:atmx,
- Float:atmy,
- Float:atmz,
- }
- new position[MAX_ATMS][Bank];
- new Betrag[MAX_PLAYERS];
- new tmpid[MAX_PLAYERS];
- new tmpmoney[MAX_PLAYERS];
- AddAtm(atmid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ)
- {
- CreateObject(2942, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, 300.0);
- position[atmid][atmx] = Float:X;
- position[atmid][atmy] = Float:Y;
- position[atmid][atmz] = Float:Z;
- }
- stock GivePlayerBankCash(playerid, amount)
- {
- Betrag[playerid] += amount;
- return 1;
- }
- stock SetPlayerBankCash(playerid, amount)
- {
- Betrag[playerid] = amount;
- }
- stock GetPlayerBankCash(playerid)
- {
- return Betrag[playerid];
- }
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Banksystem by BRain_storming");
- print(" loaded...");
- print("--------------------------------------\n");
- AddAtm(0, 2280.10424805, 2432.39428711, 10.46321201, 0.00000000, 0.00000000, 0.00000000);
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new pName[MAX_PLAYER_NAME],userdatei[50];
- GetPlayerName(playerid, pName, sizeof(pName));
- format(userdatei,sizeof(userdatei),"%s.cash",pName);
- if(dini_Exists(userdatei))
- {
- Betrag[playerid] = dini_Int(userdatei,"cash");
- }
- else
- {
- dini_Create(userdatei);
- dini_IntSet(userdatei,"cash",0);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new pName[MAX_PLAYER_NAME],userdatei[50];
- GetPlayerName(playerid, pName, sizeof(pName));
- format(userdatei,sizeof(userdatei),"%s.cash",pName);
- if(dini_Exists(userdatei))
- {
- dini_IntSet(userdatei,"cash",Betrag[playerid]);
- }
- Betrag[playerid] = 0;
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp(cmdtext, "/atm", true) == 0)
- {
- for(new i=0;i<MAX_ATMS;i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,3.0,position[i][atmx],position[i][atmy],position[i][atmz]))
- {
- ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
- return 1;
- }
- }
- SendClientMessage(playerid, COLOR_GREY,"Kein ATM in der nähe");
- return 1;
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(response)
- {
- switch(dialogid)
- {
- case DIALOG_BANK:
- {
- switch(listitem)
- {
- case 0: ShowPlayerDialog(playerid,DIALOG_ABHEBEN,1,"Abheben","Wie viel Geld willst du abheben?","Bestätigen","Abbrechen");
- case 1: ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,1,"Einzahlen","Wie viel Geld willst du einzahlen?","Bestätigen","Abbrechen");
- case 2: ShowPlayerDialog(playerid,DIALOG_UBERWEISEN,1,"Überweisen","Wenn möchtest du Geld Überweisen?","Bestätigen","Abbrechen");
- case 3:
- {
- new string[128];
- format(string,sizeof(string),"=================================\n\n[Kontostand]: %i$ \n\n=================================",GetPlayerBankCash(playerid));
- ShowPlayerDialog(playerid,DIALOG_NEWMONEY,0,"Kontoauszug",string,"Bestätigen","Abbrechen");
- }
- }
- }
- case DIALOG_ABHEBEN:
- {
- if(strval(inputtext) > GetPlayerBankCash(playerid) || strval(inputtext) <= 0)
- {
- ShowPlayerDialog(playerid,DIALOG_ABHEBEN,1,"Abheben","[ERROR]\nWie viel Geld willst du abheben?","Bestätigen","Abbrechen");
- }
- else
- {
- GivePlayerMoney(playerid, strval(inputtext));
- GivePlayerBankCash(playerid, -strval(inputtext));
- new string[123];
- format(string,sizeof(string),"=================================\n\n[Alter Kontostand]: %i$ \n\n[Neuer Kontostand]: %i$ \n\n=================================",GetPlayerBankCash(playerid)+strval(inputtext),GetPlayerBankCash(playerid));
- ShowPlayerDialog(playerid,DIALOG_NEWMONEY,0,"Kontoauszug",string,"Bestätigen","Abbrechen");
- }
- }
- case DIALOG_EINZAHLEN:
- {
- if(strval(inputtext) > GetPlayerMoney(playerid) || strval(inputtext) <= 0)
- {
- ShowPlayerDialog(playerid,DIALOG_ABHEBEN,1,"Abheben","[ERROR]\nWie viel Geld willst du abheben?","Bestätigen","Abbrechen");
- }
- else
- {
- GivePlayerMoney(playerid, -strval(inputtext));
- GivePlayerBankCash(playerid, strval(inputtext));
- new string[123];
- format(string,sizeof(string),"=================================\n\n[Alter Kontostand]: %i$ \n\n[Neuer Kontostand]: %i$ \n\n=================================",GetPlayerBankCash(playerid)-strval(inputtext),GetPlayerBankCash(playerid));
- ShowPlayerDialog(playerid,DIALOG_NEWMONEY,0,"Kontoauszug",string,"Bestätigen","Abbrechen");
- }
- }
- case DIALOG_NEWMONEY:
- {
- ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
- }
- case DIALOG_UBERWEISEN:
- {
- if(IsNumeric(inputtext))
- {
- if(strval(inputtext) == playerid)
- {
- ShowPlayerDialog(playerid,DIALOG_UBERWEISEN,1,"Überweisen","[ERROR]\nWenn möchtest du Geld Überweisen?","Bestätigen","Abbrechen");
- return 1;
- }
- if(IsPlayerConnected(strval(inputtext)))
- {
- tmpid[playerid] = strval(inputtext);
- tmpmoney[playerid] = strval(inputtext);
- ShowPlayerDialog(playerid,DIALOG_UBERWEISUNG,1,"Überweisen","Wie viel möchtest du Überweisen?","Bestätigen","Abbrechen");
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_UBERWEISEN,1,"Überweisen","[ERROR]\nWenn möchtest du Geld Überweisen?","Bestätigen","Abbrechen");
- }
- }
- else
- {
- new pID = GetPlayerId(inputtext);
- if(pID == playerid)
- {
- ShowPlayerDialog(playerid,DIALOG_UBERWEISEN,1,"Überweisen","[ERROR]\nWenn möchtest du Geld Überweisen?","Bestätigen","Abbrechen");
- return 1;
- }
- if(IsPlayerConnected(pID))
- {
- tmpid[playerid] = pID;
- tmpmoney[playerid] = strval(inputtext);
- ShowPlayerDialog(playerid,DIALOG_UBERWEISUNG,1,"Überweisen","Wie viel möchtest du Überweisen?","Bestätigen","Abbrechen");
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_UBERWEISEN,1,"Überweisen","[ERROR]\nWenn möchtest du Geld Überweisen?","Bestätigen","Abbrechen");
- }
- }
- }
- case DIALOG_UBERWEISUNG:
- {
- if(GetPlayerBankCash(playerid) < strval(inputtext) || strval(inputtext) <= 0)
- {
- ShowPlayerDialog(playerid,DIALOG_UBERWEISUNG,1,"Überweisen","[ERROR]\nWie viel möchtest du Überweisen?","Bestätigen","Abbrechen");
- }
- else
- {
- GivePlayerBankCash(playerid, -strval(inputtext));
- GivePlayerBankCash(tmpid[playerid], strval(inputtext));
- new string[123], string2[123],string3[123], name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
- format(string,sizeof(string),"=================================\n\n[Alter Kontostand]: %i$ \n\n[Neuer Kontostand]: %i$ \n\n=================================",GetPlayerBankCash(playerid)+strval(inputtext),GetPlayerBankCash(playerid));
- ShowPlayerDialog(playerid,DIALOG_NEWMONEY,0,"Kontoauszug",string,"Bestätigen","Abbrechen");
- GetPlayerName(tmpid[playerid],name2, sizeof(name2));
- GetPlayerName(playerid, name, sizeof(name));
- format(string2, sizeof(string2),"%s hat dir %i$ überwiesen!",name,tmpmoney[playerid]);
- format(string3, sizeof(string3),"Du hast %s %i$ überwiesen!",name2,tmpmoney[playerid]);
- SendClientMessage(playerid, COLOR_GREY, string3);
- SendClientMessage(tmpid[playerid],COLOR_GREY, string2);
- }
- }
- }
- }
- else
- {
- switch(dialogid)
- {
- case DIALOG_EINZAHLEN: ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
- case DIALOG_ABHEBEN: ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
- case DIALOG_NEWMONEY: ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
- case DIALOG_UBERWEISEN: ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
- case DIALOG_UBERWEISUNG: ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
- }
- }
- return 1;
- }
- stock IsNumeric(const string[]) //By Mike
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- stock GetPlayerId(playername[]) //By Alex "Y_Less" Cole (Edited by Sacky)
- {
- new playername2[MAX_PLAYER_NAME];
- for (new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i))
- {
- GetPlayerName(i,playername2,sizeof(playername2));
- if(strcmp(playername,playername2,true)==0)
- {
- return i;
- }
- }
- }
- return INVALID_PLAYER_ID;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement