Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Dieses Filterscript wurde von K3VIN am 11.06.2013
- um 13:40 erstellt.
- Ihr könnt hiermit machen was ihr wollt, lediglich gebe ich
- nur Support zu diesem Filterscript, wenn dadurch Bugs mit
- eurem Gamemode enstehen müsst ihr diese selber ausbaden.
- Greetz K3VIN
- PS: Kommt nicht auf dumme gedanken es wieder als eures auszugeben.
- */
- #include <a_samp>
- #include <ocmd>
- #include <a_mysql>
- #include <streamer>
- //==== [ Zugang ] ====//
- #define My_Host "localhost" // MYSQL Host Eintragen
- #define My_User "root" // Mysql Benutzername/Username eintragen
- #define My_Pass "123" // Mysql Passwort Eintragen
- #define My_DB "samp" // Mysql Datenbank Name eintragen
- #define Rot 0xFF2D35FF
- #define Weiss 0xFFFFFFFF
- #define Orange 0xFF9C00FF
- #define Gruen 0x4BB400FF
- #define DIALOG_PORTEN 0
- #define DIALOG_BANK 1
- #define DIALOG_DATEN 2
- #define DIALOG_VERWALTEN 3
- #define DIALOG_EINZAHLEN 4
- #define DIALOG_PINABFRAGE 5
- #define DIALOG_AUSZAHLEN 6
- #define DIALOG_ATM 7
- #define DIALOG_UEBERWEISEN 8
- #define DIALOG_UEBERWEISEN1 9
- #define Function%0(%1) forward%0(%1); public%0(%1)//
- #define String(%0,%1,%2,%3) do {new _msg[128]; format(_msg,sizeof(_msg),%2,%3); SendClientMessage(%0,%1,_msg); } while(FALSE)
- new bool:FALSE = false;
- #define KEY_N 131072
- #define Geschenk 25
- stock CreatePickupEx(modelid, spawntype, Float:x, Float:y, Float:z, text[])
- {
- CreateDynamic3DTextLabel(text, Weiss, x, y, z, 15.0);
- return CreatePickup(modelid, spawntype, x, y, z);
- }
- main()
- {
- }
- enum SpielerKonto
- {
- Konto,
- Kontostand,
- Beantragt,
- Pin,
- Kontonummer,
- Abholen,
- Partner
- }
- new Bank[MAX_PLAYERS][SpielerKonto],
- GlobalString[1024];
- new Float:ATMS[][3] =
- {
- {1507.69995, -1276.09998, 14.2}
- };
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("Bank System by K3VIN ");
- print("--------------------------------------\n");
- C_T_D();
- mysql_query("CREATE TABLE IF NOT EXISTS `bkonto` (`id` int(11) NOT NULL AUTO_INCREMENT, `bname` varchar(24), `Konto` varchar(40), `Kontostand` int(11), `Beantragt` int(11),`Pin` int(11),`Kontonummer` int(11),`Abholen` int(11),PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
- CreatePickupEx(1274, 1, 1501.8632,-1277.8013,14.5625,"Sparkasse\nbenutze die Taste 'N'");
- // ============== [ Atm ] ============== //
- CreateDynamicObject(2942, 1507.69995, -1276.09998, 14.2, 0, 0, 0);
- for(new o=0; o<sizeof(ATMS); o++)
- {
- format(GlobalString,sizeof(GlobalString),"Geldautomat\nBenutze die Taste 'N'",ATMS[o][0],ATMS[o][1],ATMS[o][2]);
- Create3DTextLabel(GlobalString,Weiss,ATMS[o][0],ATMS[o][1],ATMS[o][2]+1,25,0,1);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- BankSpeichern(i);
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- BankLaden(playerid);
- String(playerid,Orange,"Willkommen %s, Banksystem by K3VIN",SpielerName(playerid));
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- BankSpeichern(playerid);
- Bank[playerid][Konto] = 0;
- Bank[playerid][Kontostand] = 0;
- Bank[playerid][Beantragt] = 0;
- Bank[playerid][Pin] = 0;
- Bank[playerid][Kontonummer] = 0;
- return 1;
- }
- // ==================================================================== //
- ocmd:porten(playerid,params[])
- {
- ShowPlayerDialog(playerid,DIALOG_PORTEN,DIALOG_STYLE_LIST,"Wohin ?","Los Santos Bank","Auswahl","Abbrechen");
- return 1;
- }
- ocmd:geld(playerid,params[]) return GivePlayerMoney(playerid,500);
- // ==================================================================== //
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_N)
- {
- if(IsPlayerInRangeOfPoint(playerid,2.0,1501.8632,-1277.8013,14.5625))
- {
- ShowPlayerDialog(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Sparkasse","Konto erstellen\nKonto abholen\nVerwalten","Auswahl","Abbrechen");
- return 1;
- }
- for(new o=0; o<sizeof(ATMS); o++)
- {
- if(IsPlayerInRangeOfPoint(playerid,3.0,ATMS[o][0],ATMS[o][1],ATMS[o][2]))
- {
- if(Bank[playerid][Konto] == 0)return SendClientMessage(playerid,Orange,"Du besitzt noch kein Konto!");
- ShowPlayerDialog(playerid,DIALOG_PINABFRAGE,DIALOG_STYLE_INPUT,"Geldautomat","Um auch wirklich sicher zu gehen, dass das dein Konto ist,\ngib bitte den Konto Pin an!","Absenden","Abbrechen");
- return 1;
- }
- }
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid==DIALOG_PORTEN)
- {
- if(response)
- {
- if(listitem==0)
- {
- SetPlayerPos(playerid,1521.3539,-1284.2428,14.4892);
- SetPlayerInterior(playerid,0);
- SetCameraBehindPlayer(playerid);
- SetPlayerFacingAngle(playerid,37.2782);
- SendClientMessage(playerid,Weiss,"Du hast dich erfolgreich zur Los Santos Bank geportet!");
- return 1;
- }
- }
- }
- if(dialogid==DIALOG_BANK)
- {
- if(response)
- {
- if(listitem==0)
- {
- if(Bank[playerid][Konto] == 1)return SendClientMessage(playerid,Orange,"Du besitzt bereits ein Konto!");
- String(playerid,Weiss,"Vielen Danke %s, das Sie sich für die Sparkasse entschieden habe.",SpielerName(playerid));
- SetTimerEx("Kontobeantragt",10000,0,"d",playerid);
- Bank[playerid][Beantragt] = 1;
- return 1;
- }
- if(listitem==1)
- {
- new string[512],query[200];
- if(Bank[playerid][Konto] == 1)return SendClientMessage(playerid,Orange,"Du besitzt bereits ein Konto!");
- if(Bank[playerid][Beantragt] == 0)return SendClientMessage(playerid,Orange,"Du hast kein Konto beantragt!");
- if(Bank[playerid][Abholen] == 0)return SendClientMessage(playerid,Orange,"Dein Konto ist noch nicht fertig!");
- new pin = random(8999) + 1000, nummer = random(18999) + 1000;
- Bank[playerid][Abholen] = 0;
- Bank[playerid][Beantragt] = 0;
- Bank[playerid][Konto] = 1;
- Bank[playerid][Pin] = pin;
- Bank[playerid][Kontonummer] = nummer;
- Bank[playerid][Kontostand] += Geschenk;
- format(string,sizeof(string),"{FEFEFE}Dein Konto ist fertiggestellt.\n\nDeine Kontonummer lautet: {23FF00}%i{FEFEFE}\nDein Bankpin lautet: {23FF00}%i{FEFEFE}\n\nGib auf dein Bankpin gut acht!",pin,nummer);
- ShowPlayerDialog(playerid,DIALOG_DATEN,DIALOG_STYLE_MSGBOX,"Dein Konto",string,"Fertig","");
- String(playerid,Gruen,"Als Geschenk erhälst du von uns %i$ auf dein Konto gutgeschrieben.",Geschenk);
- format(query,sizeof(query),"INSERT INTO `bkonto` (`bname`,`Konto`,`Kontostand`,`Beantragt`,`Pin`,`Kontonummer`,`Abholen`) VALUES ('%s','%d','%d','%d','%d','%d','%d')",
- SpielerName(playerid),Bank[playerid][Konto],Bank[playerid][Kontostand],Bank[playerid][Beantragt],Bank[playerid][Pin],Bank[playerid][Kontonummer],Bank[playerid][Abholen]);
- mysql_query(query);
- return 1;
- }
- if(listitem==2)
- {
- if(Bank[playerid][Konto] == 0)return SendClientMessage(playerid,Orange,"Du besitzt kein Konto!");
- ShowPlayerDialog(playerid,DIALOG_PINABFRAGE,DIALOG_STYLE_INPUT,"Sparkasse - Konto Verwalten","Um auch wirklich sicher zu gehen, dass das dein Konto ist,\ngib bitte den Konto Pin an!","Absenden","Abbrechen");
- return 1;
- }
- }
- }
- if(dialogid==DIALOG_PINABFRAGE)
- {
- if(!response)return ShowPlayerDialog(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Sparkasse","Konto erstellen\nKonto abholen\nVerwalten","Auswahl","Abbrechen");
- if(response)
- {
- if(strval(inputtext) != Bank[playerid][Pin])return ShowPlayerDialog(playerid,DIALOG_PINABFRAGE,DIALOG_STYLE_INPUT,"Sparkasse - Konto Verwalten","{E10000}Falscher Pin!\n\n{FEFEFE}Bitte gib den Korrekten Pin ein!","Absenden","Abbrechen");
- ShowPlayerDialog(playerid,DIALOG_VERWALTEN,DIALOG_STYLE_LIST,"Konto Verwaltung","Kontostand\nEinzahlen\nAuszahlen\nÜberweisen","Auswahl","Abbrechen");
- return 1;
- }
- }
- if(dialogid==DIALOG_VERWALTEN)
- {
- if(!response)return ShowPlayerDialog(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Sparkasse","Konto erstellen\nKonto abholen\nVerwalten","Auswahl","Abbrechen");
- if(response)
- {
- if(listitem==0)
- {
- SendClientMessage(playerid,Weiss, " ");
- SendClientMessage(playerid,Orange,"| ==================== |");
- SendClientMessage(playerid,Weiss, " ");
- String(playerid,Weiss,"Aktueller Kontostand: {23FF00}%i$",Bank[playerid][Kontostand]);
- SendClientMessage(playerid,Weiss, " ");
- SendClientMessage(playerid,Orange,"| ==================== |");
- ShowPlayerDialog(playerid,DIALOG_VERWALTEN,DIALOG_STYLE_LIST,"Konto Verwaltung","Kontostand\nEinzahlen\nAuszahlen\nÜberweisen","Auswahl","Abbrechen");
- return 1;
- }
- if(listitem==1)
- {
- ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Geld einzahlen","Wieviel Geld möchtest du auf dein Konto einzahlen ?","Einzahlen","Abbrechen");
- return 1;
- }
- if(listitem==2)
- {
- ShowPlayerDialog(playerid,DIALOG_AUSZAHLEN,DIALOG_STYLE_INPUT,"Geld auszahlen","Wieviel Geld möchtest du von deinem Konto auszahlen ?","Auszahlen","Abbrechen");
- return 1;
- }
- if(listitem==3)
- {
- ShowPlayerDialog(playerid,DIALOG_UEBERWEISEN,DIALOG_STYLE_INPUT,"Überweisung","An welchen Spieler möchtest du Geld überweisen ?\nGib die Kontonummer des Spielers an!","Absenden","Abbrechen");
- return 1;
- }
- }
- }
- if(dialogid==DIALOG_UEBERWEISEN)
- {
- new string[128], pID = Kontonummerrichtig(strval(inputtext));
- if(pID == -1)return ShowPlayerDialog(playerid,DIALOG_UEBERWEISEN,DIALOG_STYLE_INPUT,"Überweisung","{E10000}Dieses Konto Exisitiert nicht oder der Besitzer ist nicht Online!\n\n{FEFEFE}An welchen Spieler möchtest du Geld überweisen ?\nGib die Kontonummer des Spielers an!","Absenden","Abbrechen");
- format(string,sizeof(string),"Wieviel Geld möchtest du an {23FF00}%s{FEFEFE} Überweisen ?",SpielerName(pID));
- ShowPlayerDialog(playerid,DIALOG_UEBERWEISEN1,DIALOG_STYLE_INPUT,"Überweisung",string,"Absenden","Abbrechen");
- Bank[playerid][Partner] = pID;
- return 1;
- }
- if(dialogid==DIALOG_UEBERWEISEN1)
- {
- new pID = Bank[playerid][Partner];
- if(strval(inputtext) > Bank[playerid][Kontostand])return ShowPlayerDialog(playerid,DIALOG_UEBERWEISEN1,DIALOG_STYLE_INPUT,"Überweisung","Bitte gib einen Betrag an den du auch besitzt","Absenden","Abbrechen");
- Bank[playerid][Kontostand] -= strval(inputtext);
- Bank[pID][Kontostand] += strval(inputtext);
- String(playerid,Weiss,"Du hast an %s {23FF00}%i${FEFEFE} überwiesen.\nAktuelles Guthaben {23FF00}%i$",SpielerName(pID),strval(inputtext),Bank[playerid][Kontostand]);
- String(pID,Weiss,"%s hat dir {23FF00}%i${FEFEFE} überwiesen.\nAktueller Kontostand {23FF00}%i$",SpielerName(playerid),strval(inputtext),Bank[pID][Kontostand]);
- Bank[playerid][Partner] = -1;
- return 1;
- }
- if(dialogid==DIALOG_EINZAHLEN)
- {
- if(!response)return ShowPlayerDialog(playerid,DIALOG_VERWALTEN,DIALOG_STYLE_LIST,"Konto Verwaltung","Kontostand\nEinzahlen\nAuszahlen\nÜberweisen","Auswahl","Abbrechen");
- if(strval(inputtext) > GetPlayerMoney(playerid))return ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Geld einzahlen","{E10000}So viel Geld besitzt du nicht!\n{FEFEFE}Bitte gib einen Betrag an den du auch besitzt!","Einzahlen","Abbrechen");
- GivePlayerMoney(playerid,-strval(inputtext));
- Bank[playerid][Kontostand] += strval(inputtext);
- SendClientMessage(playerid,Weiss, " ");
- String(playerid,Weiss,"Du hast {23FF00}%i${FEFEFE} in dein Konto eingezahlt!",strval(inputtext));
- String(playerid,Weiss,"Aktueller Kontostand: {23FF00}%i$",Bank[playerid][Kontostand]);
- return 1;
- }
- if(dialogid==DIALOG_AUSZAHLEN)
- {
- if(!response)return ShowPlayerDialog(playerid,DIALOG_VERWALTEN,DIALOG_STYLE_LIST,"Konto Verwaltung","Kontostand\nEinzahlen\nAuszahlen\bÜberweisen","Auswahl","Abbrechen");
- if(strval(inputtext) > Bank[playerid][Kontostand])return ShowPlayerDialog(playerid,DIALOG_AUSZAHLEN,DIALOG_STYLE_INPUT,"Geld auszahlen","{E10000}So viel Geld besitzt du nicht!\n{FEFEFE}Bitte gib einen Betrag an den du auch besitzt!","Auszahlen","Abbrechen");
- Bank[playerid][Kontostand] -= strval(inputtext);
- GivePlayerMoney(playerid, GetPlayerMoney(playerid) +strval(inputtext));
- SendClientMessage(playerid,Weiss," ");
- String(playerid,Weiss,"Du hast dir {23FF00}%i${FEFEFE} von deinem Konto ausgezahlt!",strval(inputtext));
- String(playerid,Weiss,"Aktueller Kontostand: {23FF00}%i$",Bank[playerid][Kontostand]);
- return 1;
- }
- return 1;
- }
- Function Kontobeantragt(playerid)
- {
- String(playerid,Orange,"Die Sparkasse meldet, das Ihr Konto fertig ist %s",SpielerName(playerid));
- Bank[playerid][Abholen] = 1;
- return 1;
- }
- stock Kontonummerrichtig(Kontonummer1)
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && !IsPlayerNPC(i))
- {
- if(Bank[i][Kontonummer] == Kontonummer1 && Kontonummer1 != 0)
- return i;
- }
- }
- return -1;
- }
- stock SpielerName(playerid)
- {
- new Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Name,sizeof(Name));
- return Name;
- }
- stock BankLaden(playerid)
- {
- new query[150],val[128];
- format(query,sizeof(query),"SELECT * FROM `bkonto` WHERE `bname` = '%s'",SpielerName(playerid));
- mysql_query(query);
- mysql_store_result();
- if(mysql_num_rows())
- {
- mysql_fetch_row_format(query);
- mysql_fetch_field_row(val,"Konto"); Bank[playerid][Konto] = strlen(val);
- mysql_fetch_field_row(val,"Kontostand"); Bank[playerid][Kontostand] = strval(val);
- mysql_fetch_field_row(val,"Beantragt"); Bank[playerid][Beantragt] = strval(val);
- mysql_fetch_field_row(val,"Pin"); Bank[playerid][Pin] = strval(val);
- mysql_fetch_field_row(val,"Kontonummer"); Bank[playerid][Kontonummer] = strval(val);
- mysql_fetch_field_row(val,"Abholen"); Bank[playerid][Abholen] = strval(val);
- }
- mysql_free_result();
- return 1;
- }
- stock BankSpeichern(playerid)
- {
- new query[200];
- format(query,sizeof(query),"UPDATE `bkonto` SET `Konto` = '%d',`Kontostand` = '%d',`Beantragt` = '%d',`Pin` = '%d',`Kontonummer` = '%d',`Abholen` = '%d' WHERE `bname` = '%s'",
- Bank[playerid][Konto],Bank[playerid][Kontostand],Bank[playerid][Beantragt],Bank[playerid][Pin],Bank[playerid][Kontonummer],Bank[playerid][Abholen],SpielerName(playerid));
- mysql_query(query);
- return 1;
- }
- stock IsNumeric(const string[]) {
- new length=strlen(string);
- if (length==0) return false;
- for (new i = 0; i < length; i++) {
- if (
- (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+')
- || (string[i]=='-' && i!=0)
- || (string[i]=='+' && i!=0)
- ) return false;
- }
- if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
- return true;
- }
- stock C_T_D()
- {
- mysql_connect(My_Host, My_User, My_DB, My_Pass);
- if(mysql_ping() == 1)
- {
- print("||>>|| [ Mysql ] Die Verbindung zur DB (= Datenbank) wurde hergestellt ||<<||");
- return true;
- }
- else
- {
- print("||>>|| [ Mysql ] Die Verbindung zur DB konnte nicht hergestellt werden ||<<||!");
- print("||>>|| [ Mysql ] Es wird versucht erneut zur DB zu Connecten ||<<||");
- mysql_connect(My_Host, My_User, My_DB, My_Pass);
- if(mysql_ping() == 1)
- {
- print("||>>|| [ Mysql ] Die Verbindung zur DB (= Datenbank) wurde hergestellt (2)||<<||");
- return true;
- }
- else
- {
- print("||>>|| [ Mysql ] Die Verbindung zur DB konnte nicht hergestellt werden ||<<||");
- print("||>>|| [ Mysql ] Das Filterscript Banksystem_K3VIN wird heruntergefahren ||<<||!");
- SendRconCommand("unloadfs Banksystem_K3VIN");
- return true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement