Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Include:
- money-config.inc
- * Functions for anti money hack
- * Author: (zile42O)
- * Created date: (13/8/2018)
- (c) Copyright 2018
- */
- #if defined _inc_money_config
- #endinput
- #endif
- #define _inc_money_config
- #include "a_samp"
- #define MC_RESOLUTION 1
- // RESOLUTION TYPES:
- // 1 - 1980 x 1080 x 16
- // 2 - 1024 x 728 x 32
- // 3 - 800 x 600 x 32
- new mc_player_money[MAX_PLAYERS];
- new mc_player_tick[MAX_PLAYERS];
- new mc_player_color_money[MAX_PLAYERS];
- new bool:mc_player_spawned[MAX_PLAYERS];
- new PlayerText: MC_MONEY_TD[MAX_PLAYERS];
- new PlayerText: MC_MONEY_INFO_TD[MAX_PLAYERS];
- new const MAX_MONEY = 9999999999,
- MIN_MONEY = -9999999999;
- new const
- MONEY_BAR_COLOR = 0x005623FF, // Dark green
- MONEY_POSI_COL = 0x11DD65FF, // Light green
- MONEY_NEGA_COL = 0xDD1111FF; // Light red
- forward SetMoneyInfo(playerid, amount, bool:type, timems);
- forward OnPlayerTakeMoney(playerid, amount);
- //
- public OnPlayerConnect(playerid)
- {
- mc_player_spawned[playerid] = false;
- mc_player_color_money[playerid] = MONEY_BAR_COLOR; //default
- mc_player_money[playerid] = 0;
- //TDs
- //Resolutions:
- //Res 1:
- #if MC_RESOLUTION == 1
- MC_MONEY_TD[playerid] = CreatePlayerTextDraw(playerid, 607.366943, 77.814590, "$00000000");
- PlayerTextDrawLetterSize(playerid, MC_MONEY_TD[playerid], 0.547333, 2.130961);
- //Res 2:
- #elseif MC_RESOLUTION == 2
- MC_MONEY_TD[playerid] = CreatePlayerTextDraw(playerid, 608.125000, 78.666564, "$00000000");
- PlayerTextDrawLetterSize(playerid, MC_MONEY_TD[playerid], 0.552501, 1.945835);
- #elseif MC_RESOLUTION == 3
- //Res 3:
- MC_MONEY_TD[playerid] = CreatePlayerTextDraw(playerid, 608.399658, 77.103370, "$00000000");
- PlayerTextDrawLetterSize(playerid, MC_MONEY_TD[playerid], 0.557600, 2.130131);
- #endif
- //Other
- PlayerTextDrawAlignment(playerid, MC_MONEY_TD[playerid], 3);
- PlayerTextDrawColor(playerid, MC_MONEY_TD[playerid], MONEY_BAR_COLOR);
- PlayerTextDrawSetShadow(playerid, MC_MONEY_TD[playerid], 0);
- PlayerTextDrawSetOutline(playerid, MC_MONEY_TD[playerid], 2);
- PlayerTextDrawBackgroundColor(playerid, MC_MONEY_TD[playerid], 255);
- PlayerTextDrawFont(playerid, MC_MONEY_TD[playerid], 3);
- PlayerTextDrawSetProportional(playerid, MC_MONEY_TD[playerid], 1);
- PlayerTextDrawSetShadow(playerid, MC_MONEY_TD[playerid], 0);
- MC_MONEY_INFO_TD[playerid] = CreatePlayerTextDraw(playerid, 494.333282, 84.637123, "_");
- PlayerTextDrawLetterSize(playerid, MC_MONEY_INFO_TD[playerid], 0.264999, 1.085630);
- PlayerTextDrawAlignment(playerid, MC_MONEY_INFO_TD[playerid], 3);
- PlayerTextDrawColor(playerid, MC_MONEY_INFO_TD[playerid], -1);
- PlayerTextDrawSetShadow(playerid, MC_MONEY_INFO_TD[playerid], 0);
- PlayerTextDrawSetOutline(playerid, MC_MONEY_INFO_TD[playerid], 0);
- PlayerTextDrawBackgroundColor(playerid, MC_MONEY_INFO_TD[playerid], 255);
- PlayerTextDrawFont(playerid, MC_MONEY_INFO_TD[playerid], 3);
- PlayerTextDrawSetProportional(playerid, MC_MONEY_INFO_TD[playerid], 1);
- PlayerTextDrawSetShadow(playerid, MC_MONEY_INFO_TD[playerid], 0);
- #if defined MC_OnPlayerConnect
- return MC_OnPlayerConnect(playerid);
- #else
- return 1;
- #endif
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- mc_player_spawned[playerid] = false;
- PlayerTextDrawDestroy(playerid, MC_MONEY_TD[playerid]);
- PlayerTextDrawDestroy(playerid, MC_MONEY_INFO_TD[playerid]);
- mc_player_money[playerid] = 0;
- #if defined MC_OnPlayerDisconnect
- return MC_OnPlayerDisconnect(playerid, reason);
- #else
- return 1;
- #endif
- }
- public OnPlayerSpawn(playerid)
- {
- mc_player_spawned[playerid] = true;
- PlayerTextDrawShow(playerid, MC_MONEY_TD[playerid]);
- PlayerTextDrawShow(playerid, MC_MONEY_INFO_TD[playerid]);
- #if defined MC_OnPlayerSpawn
- return MC_OnPlayerSpawn(playerid);
- #else
- return 1;
- #endif
- }
- stock ChangeColorMoneyForPlayer(playerid, newcolor)
- {
- if(mc_player_spawned[playerid] == false) return false;
- if(GetPlayerMoney(playerid) < 0) return false;
- mc_player_color_money[playerid] = newcolor;
- PlayerTextDrawColor(playerid, MC_MONEY_TD[playerid], mc_player_color_money[playerid]);
- PlayerTextDrawHide(playerid, MC_MONEY_TD[playerid]);
- PlayerTextDrawShow(playerid, MC_MONEY_TD[playerid]);
- return true;
- }
- stock MC_GivePlayerMoney(playerid, money)
- {
- if(money == 0) return false;
- if(mc_player_spawned[playerid] == false)
- {
- printf("MoneyConfig: Can't set for id:%d money: %d cause is player not spawned", playerid, money);
- return false;
- }
- if (money > MAX_MONEY)
- {
- printf("MoneyConfig: Can't set for id:%d money: %d cause is max limit %d", playerid, money, MAX_MONEY);
- return false;
- }
- if (money < MIN_MONEY)
- {
- printf("MoneyConfig: Can't set for id:%d money: %d cause is min limit %d", playerid, money, MIN_MONEY);
- return false;
- }
- if (money > 0)
- {
- SetMoneyInfo(playerid, money, true, 1500);
- mc_player_money[playerid] += money;
- }
- else if (money < 0)
- {
- SetMoneyInfo(playerid, money, false, 1500);
- mc_player_money[playerid] -= abs(money);
- }
- ResetPlayerMoney(playerid);
- CallLocalFunction("OnPlayerTakeMoney", "id", playerid, mc_player_money[playerid]);
- return GivePlayerMoney(playerid, mc_player_money[playerid]);
- }
- stock abs( value )
- {
- return ((value < 0 ) ? (-value) : (value));
- }
- #if defined _ALS_GivePlayerMoney
- #undef GivePlayerMoney
- #else
- #define _ALS_GivePlayerMoney
- #endif
- #define GivePlayerMoney MC_GivePlayerMoney
- public OnPlayerTakeMoney(playerid, amount)
- {
- new arg[60];
- if(amount == 0)
- {
- format(arg,sizeof(arg),"$00000000");
- PlayerTextDrawSetString(playerid, MC_MONEY_TD[playerid], arg);
- PlayerTextDrawColor(playerid, MC_MONEY_TD[playerid], mc_player_color_money[playerid]);
- PlayerTextDrawHide(playerid, MC_MONEY_TD[playerid]);
- }
- else if (amount > 0)
- {
- format(arg,sizeof(arg),"$%08d", amount);
- PlayerTextDrawSetString(playerid, MC_MONEY_TD[playerid], arg);
- PlayerTextDrawColor(playerid, MC_MONEY_TD[playerid], mc_player_color_money[playerid]);
- PlayerTextDrawHide(playerid, MC_MONEY_TD[playerid]);
- }
- else if (amount < 0)
- {
- format(arg,sizeof(arg),"$%08d", amount);
- PlayerTextDrawSetString(playerid, MC_MONEY_TD[playerid], arg);
- PlayerTextDrawColor(playerid, MC_MONEY_TD[playerid], MONEY_NEGA_COL);
- PlayerTextDrawHide(playerid, MC_MONEY_TD[playerid]);
- }
- PlayerTextDrawShow(playerid, MC_MONEY_TD[playerid]);
- return true;
- }
- public SetMoneyInfo(playerid, amount, bool:type, timems)
- {
- new arg[60];
- if (mc_player_tick[playerid] < GetTickCount())
- {
- mc_player_tick[playerid] = GetTickCount() + timems;
- if (type == true)
- {
- format(arg,sizeof(arg),"+$%d", amount);
- PlayerTextDrawColor(playerid, MC_MONEY_INFO_TD[playerid], MONEY_POSI_COL);
- PlayerTextDrawHide(playerid, MC_MONEY_INFO_TD[playerid]);
- }
- else
- {
- format(arg,sizeof(arg),"$%d", amount);
- PlayerTextDrawColor(playerid, MC_MONEY_INFO_TD[playerid], MONEY_NEGA_COL);
- PlayerTextDrawHide(playerid, MC_MONEY_INFO_TD[playerid]);
- }
- PlayerTextDrawSetString(playerid, MC_MONEY_INFO_TD[playerid], arg);
- PlayerTextDrawShow(playerid, MC_MONEY_INFO_TD[playerid]);
- SetTimerEx("InfoMoneyOff", timems, false, "i", playerid);
- }
- return true;
- }
- forward InfoMoneyOff(playerid);
- public InfoMoneyOff(playerid)
- {
- PlayerTextDrawSetString(playerid, MC_MONEY_INFO_TD[playerid], "_");
- return true;
- }
- stock MC_ResetPlayerMoney(playerid)
- {
- mc_player_money[playerid] = 0; //Reset
- CallLocalFunction("OnPlayerTakeMoney", "id", playerid, mc_player_money[playerid]);
- return ResetPlayerMoney(playerid);
- }
- #if defined _ALS_ResetPlayerMoney
- #undef ResetPlayerMoney
- #else
- #define _ALS_ResetPlayerMoney
- #endif
- #define ResetPlayerMoney MC_ResetPlayerMoney
- stock MC_GetPlayerMoney(playerid)
- {
- return mc_player_money[playerid];
- }
- #if defined _ALS_GetPlayerMoney
- #undef GetPlayerMoney
- #else
- #define _ALS_GetPlayerMoney
- #endif
- #define GetPlayerMoney MC_GetPlayerMoney
- //
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #define OnPlayerConnect MC_OnPlayerConnect
- #if defined MC_OnPlayerConnect
- forward MC_OnPlayerConnect(playerid);
- #endif
- #if defined _ALS_OnPlayerDisconnect
- #undef OnPlayerDisconnect
- #else
- #define _ALS_OnPlayerDisconnect
- #endif
- #define OnPlayerDisconnect MC_OnPlayerDisconnect
- #if defined MC_OnPlayerDisconnect
- forward MC_OnPlayerDisconnect(playerid);
- #endif
- #if defined _ALS_OnPlayerSpawn
- #undef OnPlayerSpawn
- #else
- #define _ALS_OnPlayerSpawn
- #endif
- #define OnPlayerSpawn MC_OnPlayerSpawn
- #if defined MC_OnPlayerSpawn
- forward MC_OnPlayerSpawn(playerid);
- #endif
Add Comment
Please, Sign In to add comment