Advertisement
Guest User

Banksytem by BRain_storming

a guest
Sep 20th, 2010
363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 8.90 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3.  
  4. #define MAX_ATMS 1
  5.  
  6.  
  7. #define DIALOG_BANK 1
  8. #define DIALOG_EINZAHLEN 2
  9. #define DIALOG_ABHEBEN 3
  10. #define DIALOG_NEWMONEY 4
  11. #define DIALOG_UBERWEISEN 5
  12. #define DIALOG_UBERWEISUNG 6
  13. #define COLOR_WHITE 0xFFFFFFFF
  14. #define COLOR_GREY 0xAFAFAFAA
  15.  
  16. enum Bank
  17. {
  18.  Float:atmx,
  19.  Float:atmy,
  20.  Float:atmz,
  21. }
  22.  
  23. new position[MAX_ATMS][Bank];
  24. new Betrag[MAX_PLAYERS];
  25. new tmpid[MAX_PLAYERS];
  26. new tmpmoney[MAX_PLAYERS];
  27.  
  28. AddAtm(atmid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ)
  29. {
  30.  CreateObject(2942, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, 300.0);
  31.  position[atmid][atmx] = Float:X;
  32.  position[atmid][atmy] = Float:Y;
  33.  position[atmid][atmz] = Float:Z;
  34. }
  35.  
  36. stock GivePlayerBankCash(playerid, amount)
  37. {
  38.  Betrag[playerid] += amount;
  39.  return 1;
  40. }
  41.  
  42. stock SetPlayerBankCash(playerid, amount)
  43. {
  44.  Betrag[playerid] = amount;
  45. }
  46.  
  47. stock GetPlayerBankCash(playerid)
  48. {
  49.  return Betrag[playerid];
  50. }
  51.  
  52.  
  53. public OnFilterScriptInit()
  54. {
  55.     print("\n--------------------------------------");
  56.     print(" Banksystem by BRain_storming");
  57.     print(" loaded...");
  58.     print("--------------------------------------\n");
  59.     AddAtm(0, 2280.10424805, 2432.39428711, 10.46321201, 0.00000000, 0.00000000, 0.00000000);
  60.     return 1;
  61. }
  62.  
  63. public OnFilterScriptExit()
  64. {
  65.  return 1;
  66. }
  67.  
  68. public OnPlayerConnect(playerid)
  69. {
  70.  new pName[MAX_PLAYER_NAME],userdatei[50];
  71.  GetPlayerName(playerid, pName, sizeof(pName));
  72.  format(userdatei,sizeof(userdatei),"%s.cash",pName);
  73.  if(dini_Exists(userdatei))
  74.  {
  75.   Betrag[playerid] = dini_Int(userdatei,"cash");
  76.  }
  77.  else
  78.  {
  79.   dini_Create(userdatei);
  80.   dini_IntSet(userdatei,"cash",0);
  81.  }
  82.  return 1;
  83. }
  84.  
  85. public OnPlayerDisconnect(playerid, reason)
  86. {
  87.  new pName[MAX_PLAYER_NAME],userdatei[50];
  88.  GetPlayerName(playerid, pName, sizeof(pName));
  89.  format(userdatei,sizeof(userdatei),"%s.cash",pName);
  90.  if(dini_Exists(userdatei))
  91.  {
  92.   dini_IntSet(userdatei,"cash",Betrag[playerid]);
  93.  }
  94.  Betrag[playerid] = 0;
  95.  return 1;
  96. }
  97.  
  98. public OnPlayerCommandText(playerid, cmdtext[])
  99. {
  100.   if(strcmp(cmdtext, "/atm", true) == 0)
  101.   {
  102.    for(new i=0;i<MAX_ATMS;i++)
  103.    {
  104.     if(IsPlayerInRangeOfPoint(playerid,3.0,position[i][atmx],position[i][atmy],position[i][atmz]))
  105.     {
  106.      ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
  107.      return 1;
  108.     }
  109.    }
  110.    SendClientMessage(playerid, COLOR_GREY,"Kein ATM in der nähe");
  111.    return 1;
  112.   }
  113.   return 0;
  114. }
  115.  
  116. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  117. {
  118.  if(response)
  119.  {
  120.   switch(dialogid)
  121.   {
  122.    case DIALOG_BANK:
  123.    {
  124.     switch(listitem)
  125.     {
  126.      case 0: ShowPlayerDialog(playerid,DIALOG_ABHEBEN,1,"Abheben","Wie viel Geld willst du abheben?","Bestätigen","Abbrechen");
  127.      case 1: ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,1,"Einzahlen","Wie viel Geld willst du einzahlen?","Bestätigen","Abbrechen");
  128.      case 2: ShowPlayerDialog(playerid,DIALOG_UBERWEISEN,1,"Überweisen","Wenn möchtest du Geld Überweisen?","Bestätigen","Abbrechen");
  129.      case 3:
  130.      {
  131.       new string[128];
  132.       format(string,sizeof(string),"=================================\n\n[Kontostand]: %i$ \n\n=================================",GetPlayerBankCash(playerid));
  133.       ShowPlayerDialog(playerid,DIALOG_NEWMONEY,0,"Kontoauszug",string,"Bestätigen","Abbrechen");
  134.      }
  135.     }
  136.    }
  137.    case DIALOG_ABHEBEN:
  138.    {
  139.     if(strval(inputtext) > GetPlayerBankCash(playerid) || strval(inputtext) <= 0)
  140.     {
  141.      ShowPlayerDialog(playerid,DIALOG_ABHEBEN,1,"Abheben","[ERROR]\nWie viel Geld willst du abheben?","Bestätigen","Abbrechen");
  142.     }
  143.     else
  144.     {
  145.      GivePlayerMoney(playerid, strval(inputtext));
  146.      GivePlayerBankCash(playerid, -strval(inputtext));
  147.      new string[123];
  148.      format(string,sizeof(string),"=================================\n\n[Alter Kontostand]: %i$ \n\n[Neuer Kontostand]: %i$ \n\n=================================",GetPlayerBankCash(playerid)+strval(inputtext),GetPlayerBankCash(playerid));
  149.      ShowPlayerDialog(playerid,DIALOG_NEWMONEY,0,"Kontoauszug",string,"Bestätigen","Abbrechen");
  150.     }
  151.    }
  152.    case DIALOG_EINZAHLEN:
  153.    {
  154.     if(strval(inputtext) > GetPlayerMoney(playerid) || strval(inputtext) <= 0)
  155.     {
  156.      ShowPlayerDialog(playerid,DIALOG_ABHEBEN,1,"Abheben","[ERROR]\nWie viel Geld willst du abheben?","Bestätigen","Abbrechen");
  157.     }
  158.     else
  159.     {
  160.      GivePlayerMoney(playerid, -strval(inputtext));
  161.      GivePlayerBankCash(playerid, strval(inputtext));
  162.      new string[123];
  163.      format(string,sizeof(string),"=================================\n\n[Alter Kontostand]: %i$ \n\n[Neuer Kontostand]: %i$ \n\n=================================",GetPlayerBankCash(playerid)-strval(inputtext),GetPlayerBankCash(playerid));
  164.      ShowPlayerDialog(playerid,DIALOG_NEWMONEY,0,"Kontoauszug",string,"Bestätigen","Abbrechen");
  165.     }
  166.    }
  167.    case DIALOG_NEWMONEY:
  168.    {
  169.     ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
  170.    }
  171.    case DIALOG_UBERWEISEN:
  172.    {
  173.     if(IsNumeric(inputtext))
  174.     {
  175.      if(strval(inputtext) == playerid)
  176.      {
  177.       ShowPlayerDialog(playerid,DIALOG_UBERWEISEN,1,"Überweisen","[ERROR]\nWenn möchtest du Geld Überweisen?","Bestätigen","Abbrechen");
  178.       return 1;
  179.      }
  180.      if(IsPlayerConnected(strval(inputtext)))
  181.      {
  182.       tmpid[playerid] = strval(inputtext);
  183.       tmpmoney[playerid] = strval(inputtext);
  184.       ShowPlayerDialog(playerid,DIALOG_UBERWEISUNG,1,"Überweisen","Wie viel möchtest du Überweisen?","Bestätigen","Abbrechen");
  185.      }
  186.      else
  187.      {
  188.       ShowPlayerDialog(playerid,DIALOG_UBERWEISEN,1,"Überweisen","[ERROR]\nWenn möchtest du Geld Überweisen?","Bestätigen","Abbrechen");
  189.      }
  190.     }
  191.     else
  192.     {
  193.      new pID = GetPlayerId(inputtext);
  194.      if(pID == playerid)
  195.      {
  196.       ShowPlayerDialog(playerid,DIALOG_UBERWEISEN,1,"Überweisen","[ERROR]\nWenn möchtest du Geld Überweisen?","Bestätigen","Abbrechen");
  197.       return 1;
  198.      }
  199.      if(IsPlayerConnected(pID))
  200.      {
  201.       tmpid[playerid] = pID;
  202.       tmpmoney[playerid] = strval(inputtext);
  203.       ShowPlayerDialog(playerid,DIALOG_UBERWEISUNG,1,"Überweisen","Wie viel möchtest du Überweisen?","Bestätigen","Abbrechen");
  204.      }
  205.      else
  206.      {
  207.       ShowPlayerDialog(playerid,DIALOG_UBERWEISEN,1,"Überweisen","[ERROR]\nWenn möchtest du Geld Überweisen?","Bestätigen","Abbrechen");
  208.      }
  209.     }
  210.    }
  211.    case DIALOG_UBERWEISUNG:
  212.    {
  213.     if(GetPlayerBankCash(playerid) < strval(inputtext) || strval(inputtext) <= 0)
  214.     {
  215.      ShowPlayerDialog(playerid,DIALOG_UBERWEISUNG,1,"Überweisen","[ERROR]\nWie viel möchtest du Überweisen?","Bestätigen","Abbrechen");
  216.     }
  217.     else
  218.     {
  219.      GivePlayerBankCash(playerid, -strval(inputtext));
  220.      GivePlayerBankCash(tmpid[playerid], strval(inputtext));
  221.      new string[123], string2[123],string3[123], name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
  222.      format(string,sizeof(string),"=================================\n\n[Alter Kontostand]: %i$ \n\n[Neuer Kontostand]: %i$ \n\n=================================",GetPlayerBankCash(playerid)+strval(inputtext),GetPlayerBankCash(playerid));
  223.      ShowPlayerDialog(playerid,DIALOG_NEWMONEY,0,"Kontoauszug",string,"Bestätigen","Abbrechen");
  224.      GetPlayerName(tmpid[playerid],name2, sizeof(name2));
  225.      GetPlayerName(playerid, name, sizeof(name));
  226.      format(string2, sizeof(string2),"%s hat dir %i$ überwiesen!",name,tmpmoney[playerid]);
  227.      format(string3, sizeof(string3),"Du hast %s %i$ überwiesen!",name2,tmpmoney[playerid]);
  228.      SendClientMessage(playerid, COLOR_GREY, string3);
  229.      SendClientMessage(tmpid[playerid],COLOR_GREY, string2);
  230.     }
  231.    }
  232.   }
  233.  }
  234.  else
  235.  {
  236.   switch(dialogid)
  237.   {
  238.    case DIALOG_EINZAHLEN: ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
  239.    case DIALOG_ABHEBEN: ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
  240.    case DIALOG_NEWMONEY: ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
  241.    case DIALOG_UBERWEISEN: ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
  242.    case DIALOG_UBERWEISUNG: ShowPlayerDialog(playerid, DIALOG_BANK,2,"BRain's Bank","Abheben\r\nEinzahlen\r\nÜberweisen\r\nKontoauszug","Bestätigen","Abbrechen");
  243.   }
  244.  }
  245.  return 1;
  246. }
  247.  
  248. stock IsNumeric(const string[]) //By Mike
  249. {
  250.     for (new i = 0, j = strlen(string); i < j; i++)
  251.     {
  252.         if (string[i] > '9' || string[i] < '0') return 0;
  253.     }
  254.     return 1;
  255. }
  256.  
  257. stock GetPlayerId(playername[]) //By Alex "Y_Less" Cole (Edited by Sacky)
  258. {
  259.  new playername2[MAX_PLAYER_NAME];
  260.  for (new i = 0; i < MAX_PLAYERS; i++)
  261.  {
  262.   if (IsPlayerConnected(i))
  263.   {
  264.    GetPlayerName(i,playername2,sizeof(playername2));
  265.    if(strcmp(playername,playername2,true)==0)
  266.    {
  267.     return i;
  268.    }
  269.   }
  270.  }
  271.  return  INVALID_PLAYER_ID;
  272. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement