Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Bank System By: BlueRey
- Version: 0.1
- Created: 01/01/2010 - 22:30
- */
- #include a_samp
- #include dini
- #include dudb
- #include cpstream
- //==============================================================================
- new BankCP;
- new BankDor;
- new BankExit;
- new str[128];
- new Interior[MAX_PLAYERS];
- new BankMoney[MAX_PLAYERS];
- new Float:Pos[MAX_PLAYERS][4];
- #define Version "0.1"
- //==============================================================================
- public OnFilterScriptInit()
- {
- BankCP = CPS_AddCheckpoint(2144.1709,1639.9510,993.5761,2.5,50);
- BankDor = CreateObject(2634,2144.19,1627.1,994.257,0.0,0.0,180);
- BankExit = CreatePickup(1559,23,2144.1033,1628.6090,993.5761);
- printf("Bank System By: BlueRey - [V%s] - Loaded",Version);
- return true;
- }
- //==============================================================================
- public OnFilterScriptExit()
- {
- DestroyObject(BankDor);
- DestroyPickup(BankExit);
- CPS_RemoveCheckpoint(BankCP);
- printf("Bank System By: BlueRey - [V%s] - Unloaded",Version);
- return true;
- }
- //==============================================================================
- public OnPlayerConnect(playerid)
- {
- if(!dini_Exists(GetBankFile(playerid)))
- {
- dini_Create(GetBankFile(playerid));
- dini_IntSet(GetBankFile(playerid),"Money",0);
- BankMoney[playerid] = 0;
- }
- else BankMoney[playerid] = dini_Int(GetBankFile(playerid),"Money");
- return true;
- }
- //==============================================================================
- public OnPlayerDisconnect(playerid, reason)
- {
- if(dini_Exists(GetBankFile(playerid))) dini_IntSet(GetBankFile(playerid),"Money",BankMoney[playerid]);
- return true;
- }
- //==============================================================================
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256],tmp[256],idx;
- cmd = strtok(cmdtext,idx);
- if(strcmp(cmdtext,"/bank",true) == 0)
- {
- Interior[playerid] = GetPlayerInterior(playerid);
- GetPlayerFacingAngle(playerid,Pos[playerid][3]);
- GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
- PlayerPlaySound(playerid,1063,0.0,0.0,0.0);
- GameTextForPlayer(playerid,"~w~bank",1000,1);
- SetPlayerPos(playerid,2144.2148,1630.1636,993.5761);
- SetPlayerFacingAngle(playerid,357.1255);
- SetPlayerVirtualWorld(playerid,0);
- SetCameraBehindPlayer(playerid);
- SetPlayerInterior(playerid,1);
- return true;
- }
- if(strcmp(cmd,"/deposit",true) == 0)
- {
- if(!CPS_IsPlayerInCheckpoint(playerid,BankCP)) return SendClientMessage(playerid,0xFF0000AA,"You're not in the bank.");
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp) || !IsNumeric(tmp)) return SendClientMessage(playerid,0xFF0000AA,"Usage: /Deposit [amount]");
- new Money = strval(tmp);
- if(GetPlayerMoney(playerid) < Money || Money < 1) return SendClientMessage(playerid,0xFF0000AA,"Incorrect amount.");
- format(str,128,"Deposit $%d in your bank account.",Money);
- SendClientMessage(playerid,0xFFFF00AA,str);
- GivePlayerMoney(playerid,-Money);
- BankMoney[playerid] += Money;
- return true;
- }
- if(strcmp(cmd,"/withdraw",true) == 0)
- {
- if(!CPS_IsPlayerInCheckpoint(playerid,BankCP)) return SendClientMessage(playerid,0xFF0000AA,"You're not in the bank.");
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp) || !IsNumeric(tmp)) return SendClientMessage(playerid,0xFF0000AA,"Usage: /Withdraw [amount]");
- new Money = strval(tmp);
- if(Money < 1) return SendClientMessage(playerid,0xFF0000AA,"Incorrect amount.");
- if(Money > BankMoney[playerid]) return SendClientMessage(playerid,0xFF0000AA,"Incorrect amount.");
- format(str,128,"You have withdraw $%d from you'r bank account.",Money);
- SendClientMessage(playerid,0xFFFF00AA,str);
- GivePlayerMoney(playerid,Money);
- BankMoney[playerid] -= Money;
- return true;
- }
- if(strcmp(cmdtext,"/balance",true) == 0)
- {
- if(!CPS_IsPlayerInCheckpoint(playerid,BankCP)) return SendClientMessage(playerid,0xFF0000AA,"You're not in the bank.");
- format(str,128,"Money in you'r bank account: $%d",BankMoney[playerid]);
- SendClientMessage(playerid,0xFFFF00AA,str);
- return true;
- }
- return false;
- }
- //==============================================================================
- public OnPlayerEnterCheckpoint(playerid)
- {
- if(CPS_IsPlayerInCheckpoint(playerid,BankCP))
- {
- SendClientMessage(playerid,0x0F66AFF,"Welcome to the bank !");
- SendClientMessage(playerid,0xFFFF00AA,"Commands: /deposit, /withdraw, /balance");
- }
- return true;
- }
- //==============================================================================
- public OnPlayerPickUpPickup(playerid,pickupid)
- {
- if(pickupid == BankExit)
- {
- SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
- SetPlayerFacingAngle(playerid,Pos[playerid][3]);
- SetPlayerInterior(playerid,Interior[playerid]);
- SetCameraBehindPlayer(playerid);
- return true;
- }
- return true;
- }
- //==============================================================================
- stock IsNumeric(string[])
- {
- for(new i = 0; i < strlen(string); i++) if(string[i] > '9' || string[i] < '0') return false;
- return true;
- }
- //==============================================================================
- stock GetBankFile(playerid)
- {
- new file[50];
- format(file,sizeof(file),"Bank/%s.txt",GetName(playerid));
- return file;
- }
- //==============================================================================
- stock GetName(playerid)
- {
- new PlayerName[MAX_PLAYER_NAME];
- GetPlayerName(playerid,PlayerName,sizeof(PlayerName));
- return PlayerName;
- }
- //==============================================================================
Add Comment
Please, Sign In to add comment