Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Prohibido TOTALMENTE el Robo de Créditos o la
- Publicación de este INCLUDE sin Mi Permiso.
- FULLY spaces Theft Credit or
- Publication of this INCLUDE without my permission.
- SIMPLE INCLUDE --> Cash Register System in SA-MP
- CREDITOS: OTACON ;)
- NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! :D xD ;)
- */
- /*
- native CreateCashRegister(_slot, Float:_posX, Float:_posY, Float:_posZ, Float:_posrX, Float:_posrY, Float:_posrZ); //para crear la caja registradora.
- native DestroyCashRegister(_slot); //para destruir la caja registradora.
- native IsPlayerInRangeOfCashRegister(playerid, Float:_distance); //para verificar si el player se encuentra cerca de una caja registradora.
- native UpdateCashRegister(_slot); //para actualizar los datos de dinero de una caja registradora.
- native GiveMoneyFromCashRegister(playerid, _cant); //para retirar una cantidad especifica de dinero de la caja registradora.
- native PutMoneyInCashRegister(playerid, _cant); //para colocar una cantidad especifica de dinero de la caja registradora, restandosela al player.
- native CountCashRegister(); //cuenta todas las cajas registradoras que hay creadas.
- native DestroyCashRegisterAll(); //destruye todas las cajas registradoras creadas.
- native GetMoneyInCashRegister(playerid); //verifica si la caja correspondiente tiene dinero.
- */
- // ========== [ -|- FUNCTION -|- ] ==========
- #define DIS_CASH 2.0
- #define OBJ_CASH (2369)
- #define MAX_SLOTS (200)
- enum box {
- _ObjectCashRegister[MAX_SLOTS],
- Text3D:_LabelCashRegister[MAX_SLOTS],
- _MoneyCashRegister[MAX_SLOTS],
- };
- new CashRegister[box];
- stock CreateCashRegister(_slot, Float:_posX, Float:_posY, Float:_posZ, Float:_posrX, Float:_posrY, Float:_posrZ) {
- CashRegister[_ObjectCashRegister][_slot]=CreateObject(OBJ_CASH, _posX, _posY, _posZ, _posrX, _posrY, _posrZ);
- CashRegister[_LabelCashRegister][_slot]=Create3DTextLabel("_", -1, _posX, _posY, _posZ+1, 3.0, 0, 0);
- CashRegister[_MoneyCashRegister][_slot]=0;
- UpdateCashRegister(_slot);
- }
- stock DestroyCashRegister(_slot) {
- DestroyObject(CashRegister[_ObjectCashRegister][_slot]);
- Delete3DTextLabel(CashRegister[_LabelCashRegister][_slot]);
- CashRegister[_MoneyCashRegister][_slot]=0;
- }
- stock IsPlayerInRangeOfCashRegister(playerid, Float:_distance) {
- new Float:_posbox[4], Float:_playerbox[3];
- for(new _slots=0; _slots<MAX_SLOTS; _slots++) {
- if(!IsValidObject(CashRegister[_ObjectCashRegister][_slots])) continue;
- GetPlayerPos(playerid, _playerbox[0], _playerbox[1], _playerbox[2]);
- GetObjectPos(CashRegister[_ObjectCashRegister][_slots],_posbox[0],_posbox[1],_posbox[2]);
- _posbox[3] = floatsqroot(floatpower(floatabs(floatsub(_playerbox[0],_posbox[0])),2)+ floatpower(floatabs(floatsub(_playerbox[1],_posbox[1])),2)+ floatpower(floatabs(floatsub(_playerbox[2],_posbox[2])),2));
- if(_posbox[3] < _distance) return true;
- } return false;
- }
- stock UpdateCashRegister(_slot) {
- new _data[100];
- format(_data,sizeof(_data), "{3FA900}Dinero en \nRegistradora: \n{FFFFFF}$%02d.0", CashRegister[_MoneyCashRegister][_slot]);
- Update3DTextLabelText(CashRegister[_LabelCashRegister][_slot], -1, _data);
- }
- stock DestroyCashRegisterAll() {
- for(new _slots=0; _slots<MAX_SLOTS; _slots++) {
- if(!IsValidObject(CashRegister[_ObjectCashRegister][_slots])) continue;
- DestroyCashRegister(_slots);
- }
- }
- stock CountCashRegister() {
- new count=0;
- for(new _slots=0; _slots<MAX_SLOTS; _slots++) {
- if(!IsValidObject(CashRegister[_ObjectCashRegister][_slots])) continue;
- count++;
- } return count;
- }
- stock GiveMoneyFromCashRegister(playerid, _cant) {
- new Float:_posbox[4], Float:_playerbox[3];
- for(new _slots=0; _slots<MAX_SLOTS; _slots++) {
- if(!IsValidObject(CashRegister[_ObjectCashRegister][_slots])) continue;
- GetPlayerPos(playerid, _playerbox[0], _playerbox[1], _playerbox[2]);
- GetObjectPos(CashRegister[_ObjectCashRegister][_slots],_posbox[0],_posbox[1],_posbox[2]);
- _posbox[3] = floatsqroot(floatpower(floatabs(floatsub(_playerbox[0],_posbox[0])),2)+ floatpower(floatabs(floatsub(_playerbox[1],_posbox[1])),2)+ floatpower(floatabs(floatsub(_playerbox[2],_posbox[2])),2));
- if(_posbox[3] < DIS_CASH) {
- if(CashRegister[_MoneyCashRegister][_slots]<=0) return false;
- GivePlayerMoney(playerid, (0+_cant));
- CashRegister[_MoneyCashRegister][_slots]-=_cant;
- UpdateCashRegister(_slots);
- }
- } return true;
- }
- stock PutMoneyInCashRegister(playerid, _cant) {
- new Float:_posbox[4], Float:_playerbox[3];
- for(new _slots=0; _slots<MAX_SLOTS; _slots++) {
- if(!IsValidObject(CashRegister[_ObjectCashRegister][_slots])) continue;
- GetPlayerPos(playerid, _playerbox[0], _playerbox[1], _playerbox[2]);
- GetObjectPos(CashRegister[_ObjectCashRegister][_slots],_posbox[0],_posbox[1],_posbox[2]);
- _posbox[3] = floatsqroot(floatpower(floatabs(floatsub(_playerbox[0],_posbox[0])),2)+ floatpower(floatabs(floatsub(_playerbox[1],_posbox[1])),2)+ floatpower(floatabs(floatsub(_playerbox[2],_posbox[2])),2));
- if(_posbox[3] < DIS_CASH) {
- if(_cant>GetPlayerMoney(playerid)||GetPlayerMoney(playerid)<_cant) return false;
- GivePlayerMoney(playerid, (0-_cant));
- CashRegister[_MoneyCashRegister][_slots]+=_cant;
- UpdateCashRegister(_slots);
- }
- } return true;
- }
- stock GetMoneyInCashRegister(playerid) {
- new Float:_posbox[4], Float:_playerbox[3];
- for(new _slots=0; _slots<MAX_SLOTS; _slots++) {
- if(!IsValidObject(CashRegister[_ObjectCashRegister][_slots])) continue;
- GetPlayerPos(playerid, _playerbox[0], _playerbox[1], _playerbox[2]);
- GetObjectPos(CashRegister[_ObjectCashRegister][_slots],_posbox[0],_posbox[1],_posbox[2]);
- _posbox[3] = floatsqroot(floatpower(floatabs(floatsub(_playerbox[0],_posbox[0])),2)+ floatpower(floatabs(floatsub(_playerbox[1],_posbox[1])),2)+ floatpower(floatabs(floatsub(_playerbox[2],_posbox[2])),2));
- if(_posbox[3] < DIS_CASH) return CashRegister[_MoneyCashRegister][_slots];
- } return true;
- }
- // ========== [ -|- FUNCTION -|- ] ==========
- /*
- #include <a_samp>
- #include <zcmd>
- #include <a_CashRegister>
- public OnFilterScriptInit() {
- print("\n**************************************");
- print(" Cash Register System in SA-MP ");
- print(" Date: 23/07/2013 ");
- print(" Author: OTACON ");
- print(" --* Loaded with Success!!. *-- ");
- print("***************************************\n");
- CreateCashRegister(0, -2674.64355, 267.79822, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(1, -2677.96436, 267.79922, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(2, -2681.52490, 267.79755, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(3, -2671.36157, 267.61661, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(4, -2684.68579, 267.89069, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(5, -2688.02539, 268.00455, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(6, -2691.34619, 267.99829, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(7, -2694.72437, 268.12247, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(8, -2668.12427, 267.47256, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(9, -2664.72852, 267.28238, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(10, -2661.40698, 267.19272, 3.32653, 0.00000, 0.00000, 0.00000);
- CreateCashRegister(11, -2658.32715, 267.10367, 3.32653, 0.00000, 0.00000, 0.00000);
- return true;
- }
- public OnFilterScriptExit() {
- print("\n**************************************");
- print(" Cash Register System in SA-MP ");
- print(" Date: 23/07/2013 ");
- print(" Author: OTACON ");
- print(" --* Downloaded with Success!!. *-- ");
- print("***************************************\n");
- DestroyCashRegister(0);
- DestroyCashRegister(1);
- DestroyCashRegister(2);
- DestroyCashRegister(3);
- DestroyCashRegister(4);
- DestroyCashRegister(5);
- DestroyCashRegister(6);
- DestroyCashRegister(7);
- DestroyCashRegister(8);
- DestroyCashRegister(9);
- DestroyCashRegister(10);
- return true;
- }
- COMMAND:test1(playerid, params[]) {
- if(!IsPlayerInRangeOfCashRegister(playerid, 2.0)) return SendClientMessage(playerid,-1,"usted no se encuentra cerca de una caja registradora.");
- if(GetPlayerMoney(playerid)<=0) return SendClientMessage(playerid,-1,"usted no tiene mas dinero encima.");
- PutMoneyInCashRegister(playerid, 5000);
- SendClientMessage(playerid,-1,"Has colocado $5000 en la caja registradora");
- return true;
- }
- COMMAND:test2(playerid, params[]) {
- if(!IsPlayerInRangeOfCashRegister(playerid, 2.0)) return SendClientMessage(playerid,-1,"usted no se encuentra cerca de una caja registradora.");
- if(GetMoneyInCashRegister(playerid)<=0) return SendClientMessage(playerid,-1,"esta caja registradora no tiene mas dinero.");
- GiveMoneyFromCashRegister(playerid, 100);
- SendClientMessage(playerid,-1,"Has quitado $100 de la caja registradora");
- return true;
- }
- COMMAND:test3(playerid, params[]) {
- new _info[100];
- format(_info,sizeof(_info),"Hay %d xajas registradoras creadas.",CountCashRegister());
- SendClientMessage(playerid,-1,_info);
- return true;
- }
- COMMAND:test4(playerid, params[]) {
- DestroyCashRegisterAll();
- SendClientMessage(playerid,-1,"Has destruido todas las cajas registradoras creadas");
- return true;
- }
- */
- /*
- Prohibido TOTALMENTE el Robo de Créditos o la
- Publicación de este INCLUDE sin Mi Permiso.
- FULLY spaces Theft Credit or
- Publication of this INCLUDE without my permission.
- SIMPLE INCLUDE --> Cash Register System in SA-MP
- CREDITOS: OTACON ;)
- NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! :D xD ;)
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement