money.inc 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include <YSI_Coding\y_hooks>
  2. static Cash[MAX_PLAYERS];
  3. hook OnPlayerConnect(playerid)
  4. {
  5. Cash[playerid] = 0;
  6. }
  7. stock Player_GetCash(playerid)
  8. {
  9. return Cash[playerid];
  10. }
  11. stock Player_GiveCash(playerid, money, bool:save)
  12. {
  13. GivePlayerMoney(playerid, money);
  14. if(money < 0) Cash[playerid] -= money * -1;
  15. else Cash[playerid] += money;
  16. if(save)
  17. {
  18. new query[84];
  19. mysql_format(MySQL_GetHandle(), query, sizeof(query), "UPDATE characters SET cash = %d WHERE id = %d", Cash[playerid], Character_GetSQLID(playerid));
  20. mysql_tquery(MySQL_GetHandle(), query);
  21. }
  22. }
  23. CMD:pay(playerid, params[])
  24. {
  25. new targetid, value;
  26. if(sscanf(params, "ui", targetid, value)) return SendSyntaxMessage(playerid, "/pay (playerid) (amount)");
  27. if(value < 1) return SendErrorMessage(playerid, "Invalid amount.");
  28. if(playerid == targetid) return SendErrorMessage(playerid, "You can't do that.");
  29. if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player.");
  30. if(Player_GetCash(playerid) < value) return SendErrorMessage(playerid, "You don't have that amount of money.");
  31. if(!IsPlayerNearPlayer(playerid, targetid, 1.5)) return SendErrorMessage(playerid, "You aren't near that player.");
  32. Player_GiveCash(targetid, value, true);
  33. Player_GiveCash(playerid, -value, true);
  34. new string[86];
  35. format(string, sizeof(string), "* %s takes out some cash and hands it to %s.", ReturnPlayerRPName(playerid), ReturnPlayerRPName(targetid));
  36. ProxDetector(20.0, playerid, string, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF);
  37. va_SendClientMessage(targetid, 0x009933FF, "> You have recieved $%s from %s.", MoneyFormat(value), ReturnPlayerRPName(playerid));
  38. va_SendClientMessage(playerid, 0x009933FF, "> You gave $%s to %s.", MoneyFormat(value), ReturnPlayerRPName(playerid));
  39. return 1;
  40. }