Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///////////////////////////////////////////////////////////////////
- // ATM SYSTEM BY EQU //
- ///////////////////////////////////////////////////////////////////
- // !!Wichtig!! //
- // Passt die Abfragen wie Geld, Kontostand etc.. euer Script an!!//
- ///////////////////////////////////////////////////////////////////
- #include <a_samp>
- #include <ocmd>
- #include <dini>
- #include <sscanf2>
- // FARBEN
- #define HBLAU "{00E0E6}"
- #define HWEIS "{FFFFFF}"
- #define HGRUN "{5FD84A}"
- #define HORANGE "{E4AD21}"
- #define BLAU 0x0087FFFF
- #define WEIS 0xC8C8C8FF
- #define ORANGE 0xFFAA00FF
- #define HELLROT 0xD83A37CA
- #define DUNKELROT 0x870000FF
- enum SpielerDaten
- {
- pAdminlevel,
- pKontostand,
- pGeld,
- }
- new PlayerDaten[MAX_PLAYERS][SpielerDaten];
- enum
- {
- DIALOG_ATMHILFE,
- }
- enum AInfo
- {
- atmname[16],
- Float:atmx,
- Float:atmy,
- Float:atmz,
- Float:atmxrot,
- Float:atmyrot,
- Float:atmzrot,
- atmobjectid,
- atm_objekt,
- ATMVirtualID,
- Text3D:atm_label
- }
- #define MAXIMUM_ATMS 30
- new ATMInfo[MAXIMUM_ATMS][AInfo];
- ocmd:delatm(playerid,params[])
- {
- new id, string[80], string2[80];
- new ExistsATM[20];
- if(PlayerDaten[playerid][pAdminlevel] != 1)return SendClientMessage(playerid,DUNKELROT," Du hast kein Zugriff auf diesen Befehl!"); // ANPASSEN!!
- if(sscanf(params,"i",id)) return SendClientMessage(playerid,ORANGE," Benutzung: /delatm [ID]");
- format(ExistsATM,sizeof(ExistsATM),"/ATM/%d.ini",id);
- if(dini_Exists(ExistsATM))
- {
- format(string,sizeof(string),""#HWEIS"Geldautomat"#HGRUN"(Nr.%i) "#HWEIS"wurde gelöscht!",id);
- print(string);
- SendClientMessage(playerid,WEIS,string);
- DelATM(id);
- }
- else
- {
- format(string2,sizeof(string2),""#HWEIS"Geldautomat mit der "#HROT"(Nr.%i) "#HWEIS"Existiert nicht!",id);
- SendClientMessage(playerid,WEIS,string2);
- }
- return 1;
- }
- ocmd:atmhilfe(playerid)
- {
- new string[185];
- format(string,sizeof(string), ""#HWEIS" /einzahlen (Wird verwendet um Geld einzuzahlen)\n /auszahlen (Wird verwendet um Geld auszuzahlen)\n /uberweisen (Wird verwendet um Geld an einem anderne Mitspieler zu Überweisen)");
- ShowPlayerDialog(playerid, DIALOG_ATMHILFE, DIALOG_STYLE_MSGBOX, "ATM - Hilfe",string,"Schließen","");
- return 1;
- }
- ocmd:einzahlen(playerid,params[])
- {
- new bool:atmfound = false;
- for(new atmid=1;atmid<MAXIMUM_ATMS;atmid++)
- {
- if(IsPlayerInRangeOfPoint(playerid,3.0,ATMInfo[atmid][atmx],ATMInfo[atmid][atmy],ATMInfo[atmid][atmz]))
- {
- new pID, geldmenge;
- if(sscanf(params,"d", geldmenge))return SendClientMessage(playerid, ORANGE, "Benutzung: /einzahlen [Geldmenge]");
- if(PlayerDaten[playerid][pGeld] < geldmenge)return SendClientMessage(playerid, ORANGE, " Nicht genügend Geld!");
- {
- new string[60];
- format(string, sizeof(string), " Es wurden %d$ Eingezahlt.", geldmenge);
- SendClientMessage(pID, ORANGE, string);
- PlayerDaten[playerid][pKontostand] += geldmenge;
- PlayerDaten[playerid][pGeld] -= geldmenge;
- return 1;
- }
- }
- }
- if(atmfound == false)SendClientMessage(playerid,DUNKELROT," Du befindest dich an keinem Geldautomaten!");
- return 1;
- }
- ocmd:auszahlen(playerid,params[])
- {
- new bool:atmfound = false;
- for(new atmid=1;atmid<MAXIMUM_ATMS;atmid++)
- {
- if(IsPlayerInRangeOfPoint(playerid,3.0,ATMInfo[atmid][atmx],ATMInfo[atmid][atmy],ATMInfo[atmid][atmz]))
- {
- new pID, geldmenge;
- if(sscanf(params,"d", geldmenge))return SendClientMessage(playerid, ORANGE, "Benutzung: /auszahlen [Geldmenge]");
- if(PlayerDaten[playerid][pKontostand] < geldmenge)return SendClientMessage(playerid, ORANGE, " Nicht genügend Geld auf dem Konto!");
- {
- new string[60];
- format(string, sizeof(string), " Es wurden %d$ Ausgezahlt.", geldmenge);
- SendClientMessage(pID, ORANGE, string);
- PlayerDaten[playerid][pKontostand] -= geldmenge;
- PlayerDaten[playerid][pGeld] += geldmenge;
- return 1;
- }
- }
- }
- if(atmfound == false)SendClientMessage(playerid,DUNKELROT," Du befindest dich an keinem Geldautomaten!");
- return 1;
- }
- ocmd:uberweisen(playerid,params[])
- {
- new bool:atmfound = false;
- for(new atmid=1;atmid<MAXIMUM_ATMS;atmid++)
- {
- if(IsPlayerInRangeOfPoint(playerid,3.0,ATMInfo[atmid][atmx],ATMInfo[atmid][atmy],ATMInfo[atmid][atmz]))
- {
- new pID, geldmenge;
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- if(sscanf(params,"ud", pID, geldmenge))return SendClientMessage(playerid, ORANGE, "Benutzung: /uberweisung [Name/ID] [Geldmenge]");
- if(playerid == pID)return SendClientMessage(playerid, ORANGE, " Du kannst dir nicht selber Geld überweisen!");
- if(!IsPlayerConnected(pID))return SendClientMessage(playerid, ORANGE, " Angegebender Spieler ist nicht Online!");
- {
- new string[60];
- format(string, sizeof(string), " Es wurden %d$ an %s Überwiesen.", geldmenge, name[pID]);
- SendClientMessage(playerid, ORANGE, string);
- format(string, sizeof(string), " %s hat dir %d$ Überwiesen.", name[playerid], geldmenge);
- SendClientMessage(pID, ORANGE, string);
- PlayerDaten[playerid][pKontostand] -= geldmenge;
- PlayerDaten[pID][pKontostand] += geldmenge;
- return 1;
- }
- }
- }
- if(atmfound == false)SendClientMessage(playerid,DUNKELROT," Du befindest dich an keinem Geldautomaten!");
- return 1;
- }
- ocmd:catm(playerid,params[])
- {
- if(PlayerDaten[playerid][pAdminlevel] != 1)return SendClientMessage(playerid,DUNKELROT ," Du hast kein Zugriff auf diesen Befehl!"); // ANPASSEN!!
- {
- new Float:x,Float:y,Float:z,string[140], rotation, atmgeldmenge;
- new pVirtualID = GetPlayerVirtualWorld(playerid);
- if(sscanf(params, "id", rotation, atmgeldmenge)) return SendClientMessage(playerid,ORANGE,"Benutzung: /catm [rotationation: 90, 180, 270, 360] [Wie viel Geld soll der ATM besitzen?]");
- if(rotation != 90 && rotation != 180 && rotation != 270 && rotation != 360) return SendClientMessage(playerid,ORANGE,"Es sind nur Rotationen von 90, 180, 270 oder 360 erlaubt!");
- GetPlayerPos(playerid,x,y,z);
- format(string,sizeof(string),""#HWEIS"Erstellt an: "#HWEIS"X: "#HBLAU"%f "#HWEIS"Y: "#HBLAU"%f "#HWEIS"Z: "#HBLAU"%f", x, y, z);
- SendClientMessage(playerid, WEIS, string);
- SetPlayerPos(playerid,x,y,z+2);
- CATM(x, y, z, rotation, pVirtualID);
- }
- return 1;
- }
- stock DelATM(atmid)
- {
- new pfad[50];
- format(pfad,50,"/ATM/%d.ini",atmid);
- DestroyObject(ATMInfo[atmid][atm_objekt]);
- Delete3DTextLabel(ATMInfo[atmid][atm_label]);
- new string[128];
- format(string,sizeof(string)," Geldautomat mit der Nr.%d wurde aus der Datenbank entfernt!",atmid);
- print(string);
- dini_Remove(pfad);
- return 1;
- }
- stock SaveATM(atmid)
- {
- new BDatei[64];
- format(BDatei,50,"/ATM/%d.ini",atmid);
- dini_Set(BDatei,"Object",ATMInfo[atmid][atmobjectid]);
- dini_Set(BDatei,"Text",ATMInfo[atmid][atmname]);
- dini_Set(BDatei,"Text",ATMInfo[atmid][atmname]);
- dini_FloatSet(BDatei,"X",ATMInfo[atmid][atmx]);
- dini_FloatSet(BDatei,"Y",ATMInfo[atmid][atmy]);
- dini_FloatSet(BDatei,"Z",ATMInfo[atmid][atmz]);
- dini_FloatSet(BDatei,"XRot",ATMInfo[atmid][atmxrot]);
- dini_FloatSet(BDatei,"YRot",ATMInfo[atmid][atmyrot]);
- return 1;
- }
- stock CATM(Float:x,Float:y,Float:z, rotation, pVirtualID)
- {
- new BDatei[64];
- for(new atmid=1;atmid<MAXIMUM_ATMS;atmid++)
- {
- format(BDatei,50,"/ATM/%d.ini",atmid);
- if(!fexist(BDatei))
- {
- dini_Create(BDatei);
- dini_Set(BDatei,"Text", "Test");
- dini_IntSet(BDatei,"Object",2942);
- dini_FloatSet(BDatei,"X",x);
- dini_FloatSet(BDatei,"Y",y);
- dini_FloatSet(BDatei,"Z",z);
- dini_FloatSet(BDatei,"XRot",0.000000);
- dini_FloatSet(BDatei,"YRot",0.000000);
- dini_FloatSet(BDatei,"ZRot", rotation);
- dini_IntSet(BDatei,"VirtualID", pVirtualID);
- return LATM(atmid);
- }
- }
- return 1;
- }
- stock LATM(atmid)
- {
- new BDatei[64], string[32];
- format(BDatei,50,"/ATM/%d.ini",atmid);
- if(!fexist(BDatei))return 0;
- format(ATMInfo[atmid][atmname],32,"%s",dini_Get(BDatei,"Text"));
- ATMInfo[atmid][atmobjectid] = dini_Int(BDatei,"Object");
- ATMInfo[atmid][ATMVirtualID] = dini_Int(BDatei,"VirtualID");
- ATMInfo[atmid][atmx] = dini_Float(BDatei,"X");
- ATMInfo[atmid][atmy] = dini_Float(BDatei,"Y");
- ATMInfo[atmid][atmz] = dini_Float(BDatei,"Z");
- ATMInfo[atmid][atmxrot] = dini_Float(BDatei,"XRot");
- ATMInfo[atmid][atmyrot] = dini_Float(BDatei,"YRot");
- ATMInfo[atmid][atmzrot] = dini_Float(BDatei,"ZRot");
- ATMInfo[atmid][atm_objekt] = CreateObject(2942, ATMInfo[atmid][atmx],ATMInfo[atmid][atmy],ATMInfo[atmid][atmz]-0.4, ATMInfo[atmid][atmxrot],ATMInfo[atmid][atmyrot],ATMInfo[atmid][atmzrot],1000);
- format(string,sizeof(string),"Bankautmat (Nr.%i) - /atm",atmid);
- ATMInfo[atmid][atm_label] = Create3DTextLabel(string,BLAU, ATMInfo[atmid][atmx],ATMInfo[atmid][atmy],ATMInfo[atmid][atmz], 40.0, ATMInfo[atmid][ATMVirtualID], 0);
- return 1;
- }
- main()
- {
- print("\n----------------------------------");
- print(" ATM System by EQU");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("Blank Script");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- for(new atmid=1;atmid<MAXIMUM_ATMS;atmid++)
- {
- LATM(atmid);
- }
- return 1;
- }
- public OnGameModeExit()
- {
- for(new atmid=1;atmid<MAXIMUM_ATMS;atmid++)
- {
- SaveATM(atmid);
- }
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/mycommand", cmdtext, true, 10) == 0)
- {
- // Do something here
- return 1;
- }
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement