Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- _ _
- | | | |_ ____ _ _ __ __ _
- | |_| \ \ /\ / / _` | '_ \ / _` |
- | _ |\ V V / (_| | | | | (_| |
- |_| |_| \_/\_/ \__,_|_| |_|\__, |
- |___/
- Sosyal Medya Hesaplarım:
- - Facebook: http://www.facebook.com/EmirKoseoglu99
- - Twitter: http://www.twitter.com/EmirKoseoglu99
- - GTATurk: http://www.gtaturk.com/forum/profile/1011248/
- ATM Sistemi (DINI)
- Bu sistem istek duyulduğundan dolayı yapılmıştır. Hırsız Polis sunucularına yapılmıştır.
- İndirdiğiniz için teşekkürler, iyi kullanımlar! :)
- */
- #include <a_samp>
- #include <streamer>
- #include <sscanf2>
- #include <dini>
- #define MAX_ATM (50)
- #define MAX_ATM_PARA (8000) //maximum 8000$ verir
- #define MIN_ATM_PARA (1000) //minimum 1000$ verir
- #define ATM_SOYGUN_SAYAC (25) //25 den geri sayar
- #define ATM_TEKRAR_SOYGUN (60) //ATM Tekrar 60 saniye sonra soyulabilir
- enum atm_Info
- {
- Float:aaX,
- Float:aaY,
- Float:aaZ,
- Float:aaA,
- aID,
- aCP,
- bool: aDurum,
- Text3D:aLabel,
- aObje,
- aTime,
- aName[56]
- };
- new
- ATMInfo[MAX_ATM][atm_Info],
- atm_class = 1,
- ATMTimer[MAX_PLAYERS],
- ATM_Sayac[MAX_PLAYERS] = ATM_SOYGUN_SAYAC,
- ATMCalinan[MAX_PLAYERS],
- ATMTimerX
- ;
- #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- public OnFilterScriptInit()
- {
- ATM_Yukle();
- print("\n--------------------------------------");
- print(" ATM Sistemi Aktif Edildi");
- print("--------------------------------------\n");
- ATMTimerX = SetTimer("ATM_TimeUpdater", 1000, true);
- return true;
- }
- public OnFilterScriptExit()
- {
- print("\n--------------------------------------");
- print(" ATM Sistemi De-Aktif Edildi");
- print("--------------------------------------\n");
- DestroyATM();
- return true;
- }
- public OnPlayerConnect(playerid)
- {
- KillTimer(ATMTimer[playerid]);
- ATM_Sayac[playerid] = ATM_SOYGUN_SAYAC;
- ATMCalinan[playerid] = 0;
- return true;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- KillTimer(ATMTimer[playerid]);
- ATM_Sayac[playerid] = ATM_SOYGUN_SAYAC;
- return true;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(atmekle, 7, cmdtext);
- dcmd(atmsil, 6, cmdtext);
- return false;
- }
- dcmd_atmekle(playerid, params[])
- {
- new aNeym[56];
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Bunun icin RCON Admin olmalisiniz!");
- if(sscanf(params, "s[56]", aNeym)) return SendClientMessage(playerid, -1, "Kullanım: /atmekle [ATM Adı]");
- if(atm_class >= MAX_ATM) return SendClientMessage(playerid, -1, "Maximum limite ulastiniz!");
- else {
- new
- string[126], Float: gPos[4];
- GetPlayerPos(playerid, gPos[0], gPos[1], gPos[2]);
- GetPlayerFacingAngle(playerid, gPos[3]);
- format(string, sizeof string, "ATM/ATM_%i.txt", atm_class);
- dini_Create(string);
- dini_Set(string, "isim", aNeym);
- dini_FloatSet(string, "atmx", gPos[0]);
- dini_FloatSet(string, "atmy", gPos[1]);
- dini_FloatSet(string, "atmz", gPos[2]);
- dini_FloatSet(string, "atma", gPos[3]);
- CreateATM(aNeym, gPos[0], gPos[1], gPos[2], gPos[3]);
- format(string, sizeof string, "Basariyla %s adli atm olusturdunuz. ATM ID: %d", aNeym, atm_class-1);
- SendClientMessage(playerid, -1, string);
- }
- return true;
- }
- dcmd_atmsil(playerid, params[])
- {
- new aid;
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Bunun icin RCON Admin olmalisiniz!");
- if(sscanf(params, "i", aid)) return SendClientMessage(playerid, -1, "Kullanım: /atmsil [ATM ID]");
- else {
- new
- string[126];
- format(string, sizeof string, "ATM/ATM_%i.txt", aid);
- dini_Remove(string);
- ATMInfo[aid][aaX] = -1;
- ATMInfo[aid][aaY] = -1;
- ATMInfo[aid][aaZ] = -1;
- ATMInfo[aid][aaA] = -1;
- ATMInfo[aid][aID] = -1;
- ATMInfo[aid][aDurum] = false;
- ATMInfo[aid][aTime] = -1;
- Delete3DTextLabel(ATMInfo[aid][aLabel]);
- DestroyDynamicCP(ATMInfo[aid][aCP]);
- DestroyDynamicObject(ATMInfo[aid][aObje]);
- atm_class--;
- if(atm_class == 0) atm_class = 1;
- }
- return true;
- }
- forward ATM_Yukle(); public ATM_Yukle()
- {
- new
- string[126]
- ;
- for(new i = false; i <= MAX_ATM; i++)
- {
- format(string, sizeof string, "ATM/ATM_%i.txt", i);
- if(dini_Exists(string))
- {
- CreateATM(dini_Get(string, "isim"), floatstr(dini_Get(string, "atmx")), floatstr(dini_Get(string, "atmy")), floatstr(dini_Get(string, "atmz")), floatstr(dini_Get(string, "atma")));
- printf("ATM: %s yuklendi.", dini_Get(string, "isim"));
- }
- }
- return true;
- }
- public OnPlayerLeaveCheckpoint(playerid){
- if(GetPVarInt(playerid, "ATM_Soydugu") > 0)
- {
- SetPVarInt(playerid, "ATM_Soydugu", 0);
- KillTimer(ATMTimer[playerid]);
- GameTextForPlayer(playerid, "", 2000, 5);
- ATM_Sayac[playerid] = ATM_SOYGUN_SAYAC;
- }
- return true;
- }
- public OnPlayerEnterDynamicCP(playerid, checkpointid)
- {
- for(new i = false; i <= MAX_ATM; i++)
- {
- if(checkpointid == ATMInfo[i][aCP]){
- if(ATMInfo[i][aDurum] == false) return SendClientMessage(playerid, -1, "Bu ATM bir sure once soyulmus!");
- if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Bu sekilde ATM soyamazsiniz!");
- SetPVarInt(playerid, "ATM_Soydugu", i);
- KillTimer(ATMTimer[playerid]);
- ATMTimer[playerid] = SetTimerEx("ATM_Soyma", 1000, true, "d", playerid);
- return true;
- }
- }
- return true;
- }
- forward ATM_Soyma(playerid); public ATM_Soyma(playerid)
- {
- new
- sString[126];
- SetPVarInt(playerid, "ATMcalinanMiktar", (random(MAX_ATM_PARA))+MIN_ATM_PARA);
- GivePlayerMoney(playerid, GetPVarInt(playerid, "ATMcalinanMiktar"));
- format(sString, 76, "~w~~h~soygun yapiliyor..~n~~y~- %d -~n~~w~~h~$%d+~g~$%d", ATM_Sayac[playerid], ATMCalinan[playerid], GetPVarInt(playerid, "ATMcalinanMiktar"));
- GameTextForPlayer(playerid, sString, 2000, 5);
- ATMCalinan[playerid] += GetPVarInt(playerid, "ATMcalinanMiktar");
- ATM_Sayac[playerid]--;
- if(ATM_Sayac[playerid] >= 24){
- ATMInfo[GetPVarInt(playerid, "ATM_Soydugu")][aDurum] = false;
- format(sString,156,"{ffffff}%s(%i)\n{ffffff}Durum: {d66d6d}Soyulmus", ATMInfo[GetPVarInt(playerid, "ATM_Soydugu")][aName], ATMInfo[GetPVarInt(playerid, "ATM_Soydugu")][aID]);
- Update3DTextLabelText(ATMInfo[GetPVarInt(playerid, "ATM_Soydugu")][aLabel], -1, sString);
- ATMInfo[GetPVarInt(playerid, "ATM_Soydugu")][aTime] = ATM_TEKRAR_SOYGUN;
- }
- if(ATM_Sayac[playerid] <= 0)
- {
- KillTimer(ATMTimer[playerid]);
- format(sString, 76, "~w~~h~soygun basarili!~n~~w~~h~calinan miktar: ~g~~h~$%d!", ATMCalinan[playerid]);
- GameTextForPlayer(playerid, sString, 2000, 5);
- ATM_Sayac[playerid] = ATM_SOYGUN_SAYAC;
- SetPVarInt(playerid, "ATM_Soydugu", 0);
- ATMCalinan[playerid] = 0;
- SetPVarInt(playerid, "ATMcalinanMiktar", 0);
- return true;
- }
- return true;
- }
- forward ATM_TimeUpdater(); public ATM_TimeUpdater()
- {
- new
- uString[156];
- for (new i = false; i <= MAX_ATM; i++){
- if(ATMInfo[i][aTime] > 0){
- ATMInfo[i][aTime]--;
- if(ATMInfo[i][aTime] <= 1){
- format(uString,156,"{ffffff}%s(%i)\n{ffffff}Durum: {77c97d}Aktif", ATMInfo[i][aName], atm_class);
- Update3DTextLabelText(ATMInfo[i][aLabel], -1, uString);
- ATMInfo[i][aDurum] = true;
- ATMInfo[i][aTime] = 0;
- }
- }
- }
- return true;
- }
- stock DestroyATM()
- {
- for(new i = false; i <= MAX_ATM; i++)
- {
- ATMInfo[i][aaX] = -1;
- ATMInfo[i][aaY] = -1;
- ATMInfo[i][aaZ] = -1;
- ATMInfo[i][aaA] = -1;
- ATMInfo[i][aID] = -1;
- ATMInfo[i][aDurum] = false;
- ATMInfo[i][aTime] = -1;
- Delete3DTextLabel(ATMInfo[i][aLabel]);
- DestroyDynamicObject(ATMInfo[i][aObje]);
- DestroyDynamicCP(ATMInfo[i][aCP]);
- }
- atm_class = 1;
- KillTimer(ATMTimerX);
- return true;
- }
- stock CreateATM(atmname[], Float:aaaX, Float:aaaY, Float:aaaZ, Float:aaaA){
- new atmName[100];
- format(atmName,76,"{ffffff}%s(%i)\n{ffffff}Durum: {77c97d}Aktif", atmname, atm_class);
- ATMInfo[atm_class][aaX] = aaaX;
- ATMInfo[atm_class][aaY] = aaaY;
- ATMInfo[atm_class][aaZ] = aaaZ;
- ATMInfo[atm_class][aaA] = aaaA;
- ATMInfo[atm_class][aID] = atm_class;
- ATMInfo[atm_class][aCP] = CreateDynamicCP(aaaX, aaaY, aaaZ, 1.0,-1,-1,-1,100.0);
- ATMInfo[atm_class][aDurum] = true;
- ATMInfo[atm_class][aTime] = 0;
- ATMInfo[atm_class][aLabel] = Create3DTextLabel(atmName, -1, aaaX, aaaY, aaaZ, 25.0, 0, 0);
- ATMInfo[atm_class][aObje] = CreateDynamicObject(2942, ATMInfo[atm_class][aaX], ATMInfo[atm_class][aaY], ATMInfo[atm_class][aaZ]-0.5, 0.0000000, 0.0000000, ATMInfo[atm_class][aaA]);
- format(ATMInfo[atm_class][aName], 56, "%s", atmname);
- atm_class++;
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment