Advertisement
mariusqw

Untitled

Apr 1st, 2020
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.02 KB | None | 0 0
  1. CMD:duoti(playerid,params[])
  2. {
  3. new
  4. Float:X, Float:Y, Float:Z;
  5. GetPlayerPos(playerid, X, Y, Z);
  6.  
  7. new
  8. target, valueInput[10], string[128], Query[512];
  9.  
  10. if(sscanf(params, "us[10]", target, valueInput)) return UsageMessage(playerid,"* Duoti pinigų pasirinktam žaidėjui: /duoti [Vardas_Pavardė/ID] [Pinigų skaičius].");
  11.  
  12. if(GetPlayerScore(playerid) < 3000) return SendClientMessage(playerid, -1, "* Neturi 3.000 XP");
  13. if(!IsPlayerConnected(target)) return ErrorMsg(playerid,"* Jūsų pasirinktas žaidėjas neprisijungęs.");
  14. if(target == playerid) return ErrorMsg(playerid,"* Negalite pasirinkti savęs.");
  15. if(PlayerDB[playerid][MoneyInPocket] < value) return ErrorMsg(playerid,"* Neturite tiek pinigų.");
  16. if(!IsPlayerInRangeOfPoint(target, 10, X, Y, Z)) return ErrorMsg(playerid,"* Jūsų pasirinktas žaidėjas yra per toli.");
  17.  
  18. new
  19. value = convertValue(playerid, valueInput);
  20.  
  21. if(PlayerDB[playerid][TuriBankoSaskaita] == 1)
  22. {
  23. PlayerDB[playerid][TargettedPlayerID] = target;
  24. PlayerDB[playerid][SelectedCost] = value;
  25. ShowPlayerDialog(playerid, 198, DIALOG_STYLE_PASSWORD, "{AFAFAF}Reikalingas patvirtinimas", "Norėdami tęti prašome įvesti savo banko sąskaitos PIN kodą.\n{FF0000}Šis patikrinimas yra reikalingas norint užtikrinti jūsų paskyros saugumą!", "Patvirtinti", "Atšaukti");
  26. return 1;
  27. }
  28. else
  29. {
  30. PlayerDB[playerid][MoneyInPocket] -= value;
  31. PlayerDB[target][MoneyInPocket] += value;
  32. format(string, 128, "{33ccff}***[%s € >> %s] Davėte {D88D1A}%s {33ccff}€ {D88D1A}%s", AddPoints(value),Vardas(target), AddPoints(value), Vardas(target));
  33. SendClientMessage(playerid, -1, string);
  34. format(string, 128, "{33ccff}***[%s >> %s €] Gavote {D88D1A}%s {33ccff}€ iš {D88D1A}%s", Vardas(playerid), AddPoints(value), AddPoints(value), Vardas(playerid));
  35. SendClientMessage(target, -1, string);
  36.  
  37. mysql_format(connectionHandle, Query, sizeof(Query), "INSERT INTO `israsas`(`player`, `to_player`, `suma`) VALUES ('%s', '%s', '%d')", Vardas(playerid), Vardas(target), value);
  38. mysql_tquery(connectionHandle, Query);
  39. }
  40. return 1;
  41. }
  42.  
  43. stock convertValue(playerid, value[])
  44. {
  45. new
  46. identifier[2],
  47. firstIndex[2],
  48. convertedValue;
  49.  
  50. // Check if string contains letters, and assign them to new variable.
  51. if(!isNumeric(value)) {
  52. // Check if first index is integer.
  53. strmid(firstIndex, value, 0, 1);
  54.  
  55. if(!isNumeric(firstIndex))
  56. return SendClientMessage(playerid, -1, "Blogi parametrai.");
  57.  
  58. // Check if string contain letter in bad position.
  59. for(new i = 0; i < sizeof(letterList); i++)
  60. if(strfind(value, letterList[i], true) != -1 && strfind(value, letterList[i], true) != strlen(value))
  61. return SendClientMessage(playerid, -1, "Raidė ne vietoje.");
  62.  
  63. // Slice last indexed key from string.
  64. strmid(identifier, value, strlen(value) - 1, strlen(value));
  65.  
  66. if(strcmp(identifier, "m") && strcmp(identifier, "k"))
  67. return SendClientMessage(playerid, -1, "Blogai nurodyta raidė.");
  68.  
  69. new multiplier;
  70.  
  71. if(!strcmp(identifier, "m"))
  72. multiplier = 1000000;
  73. else
  74. multiplier = 1000;
  75.  
  76. convertedValue = strval(value) * multiplier;
  77.  
  78. // Check if string contains "," or ".", and if contains ",", replace it with ".", so we can handle it as a float.
  79. new indexOf = strfind(value, ",") || strfind(value, ".");
  80.  
  81. if(indexOf != -1) {
  82. strdel(value, indexOf, indexOf + 1);
  83. strins(value, ".", indexOf, 1);
  84.  
  85. new Float:convertedFloatValue = floatstr(value) * multiplier;
  86. convertedValue = floatround(convertedFloatValue, floatround_ceil);
  87. }
  88. } else convertedValue = strval(value);
  89.  
  90. if(PlayerDB[playerid][MoneyInPocket] < convertedValue)
  91. return ErrorMsg(playerid,"* Neturite tiek pinigų.");
  92.  
  93. if(convertedValue > 999999999 || convertedValue < 500)
  94. return SendClientMessage(playerid, -1, "Netinkama suma.");
  95.  
  96. return convertedValue;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement