Hi guys , fix this credits plugin please.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <nvault>
#define PLUGIN "Depozit Mooney"
#define AUTHOR "Aragon*"
#define VERSION "1.0"
new PlayerCredits[10000];
new Vault, SymbolsName, savepoints;
public plugin_init() {
register_plugin(PLUGIN,VERSION,AUTHOR)
register_forward(FM_ClientUserInfoChanged, "ChangeName");
SymbolsName = register_cvar("fr_name_symbols", "~`"); //| Symbols Name Restricted |// biohazardshopmod = register_cvar("bh_shop_mode", "1"); //| Money/Points 0 Money Tax -> 1 Points Tax |//
savepoints = register_cvar("fr_save_points", "1"); //| Save Points Mode 0 Disable -> 1 Name -> 2 IP -> 3 SteamID |//
register_clcmd("depozit","Depozit")
register_clcmd("say /depozit","Depozit")
register_clcmd("say_team /depozit","Depozit")
register_clcmd("retrage","Retrage")
register_clcmd("say /retrage","Retrage")
register_clcmd("say_team /retrage","Retrage")
register_clcmd("credits","Show_Credits")
register_clcmd("credite","Show_Credits")
register_clcmd("say /credits","Show_Credits")
register_clcmd("say /credite","Show_Credits")
register_clcmd("say_team /credits","Show_Credits")
register_clcmd("say_team /credite","Show_Credits")
register_concmd("amx_give_credits", "Give_Credits", ADMIN_RCON, "Name/@T/@CT/@All -> Amount");
register_concmd("amx_reset_credits", "Reset_Credits", ADMIN_RCON, "Name/@T/@CT/@All");
}
public client_putinserver(id) {
LoadCredits(id)
}
public client_authorized(id) {
LoadCredits(id)
}
public client_connected(id) {
LoadCredits(id)
}
public client_disconnect(id) {
SaveCredits(id)
}
//------| Change Name |------//
public ChangeName(id, buffer) {
if(!is_user_connected(id))
return FMRES_IGNORED;
static Name[32], Val[32];
get_user_name(id, Name, sizeof Name - 1);
engfunc(EngFunc_InfoKeyValue, buffer, "name", Val, sizeof Val - 1);
if(equal(Val, Name))
return FMRES_IGNORED;
set_task(0.2, "client_connect", id);
return FMRES_SUPERCEDE;
}
//------| Client connect |------//
public client_connect(id) {
static sName[32];
get_user_name(id, sName, sizeof sName - 1);
static sChars[32];
get_pcvar_string(SymbolsName, sChars, sizeof sChars - 1);
for(new i = 0 ; i < strlen(sName) ; i++) {
for(new j = 0 ; j < strlen(sChars) ; j++) {
if(sName == sChars[j]) {
server_cmd("kick #%d ^"Numele tau contine caractere nepermise.^"", get_user_userid(id));
break;
}
else {
LoadCredits(id);
}
}
}
}
public Depozit(id) {
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) return PLUGIN_HANDLED;
if(cs_get_user_money(id) == 16000) {
ColorChat(id, "^x03[Depozit]^x04 Ai depozitat^x03 16000$^x04 is ai primit^x03 1^x04 credit.");
PlayerCredits[id] += 1;
cs_set_user_money(id, 0);
}
else {
ColorChat(id, "^x03[Depozit]^x04 Iti trebuie^x03 16000$^x04 pentru a putea depozita.");
}
SaveCredits(id)
return PLUGIN_HANDLED;
}
public Retrage(id) {
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) return PLUGIN_HANDLED;
if(cs_get_user_money(id) == 16000) {
ColorChat(id, "^x03[Depozit]^x04 Ai deja^x03 16000$.");
PlayerCredits[id] -= 1;
}
else if(PlayerCredits[id]) {
ColorChat(id, "^x03[Depozit]^x04 Ai retras^x03 1^x04 credit din depozit, ai primit^x03 16000$.");
PlayerCredits[id] -= 1;
cs_set_user_money(id, 16000);
}
else {
ColorChat(id, "^x03[Depozit]^x04 Iti trebuie^x03 1 credit^x04 pentru a putea retrage.");
}
SaveCredits(id)
return PLUGIN_HANDLED;
}
public Show_Credits(id) {
set_hudmessage(0, 128, 0, 0.03, 0.86, 2, 6.0, 5.0);
show_hudmessage(id, "Ai %d Credite.", PlayerCredits[id]);
ColorChat(id, "^x03[Depozit]^x04 Ai^x03 %d^x04 Credite.", PlayerCredits[id]);
return PLUGIN_HANDLED;
}
public Give_Credits(id, level, cid) {
if(!cmd_access(id, level, cid, 2)) {
return PLUGIN_HANDLED;
}
new arg[23], gplayers[32], num, i, players, name[32];
get_user_name(id, name, 31);
read_argv(1, arg, 23);
new give_credits[5];
read_argv(2, give_credits, charsmax(give_credits));
new Credits = str_to_num(give_credits);
if(equali(arg, "@T")) {
get_players(gplayers, num, "e", "TERRORIST");
for(i = 0; i < num; i++) {
players = gplayers;
if(!is_user_connected(players))
continue;
PlayerCredits[players] += Credits;
SaveCredits(id)
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, "^x03ADMIN^x04 give^x03 %i Credits^x04 to all^x03 Ts.", Credits);
case 2: ColorChat(0, "^x03%s^x04 give^x03 %i Credits^x04 to all^x03 Ts.", name, Credits);
}
}
else if(equali(arg, "@CT")) {
get_players(gplayers, num, "e", "CT");
for(i = 0; i < num; i++) {
players = gplayers;
if(!is_user_connected(players))
continue;
PlayerCredits[players] += Credits;
SaveCredits(id)
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, "^x03ADMIN^x04 give^x03 %i Credits^x04 to all^x03 CTs.", Credits);
case 2: ColorChat(0, "^x03%s^x04 give^x03 %i Credits^x04 to all^x03 CTs.", name, Credits);
}
}
if(equali(arg, "@All")) {
get_players(gplayers, num, "a");
for(i = 0; i < num; i++) {
players = gplayers;
if(!is_user_connected(players))
continue;
PlayerCredits[players] += Credits;
SaveCredits(id)
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, "^x03ADMIN^x04 give^x03 %i Credits^x04 to all^x03 Players.", Credits);
case 2: ColorChat(0, "^x03%s^x04 give^x03 %i Credits^x04 to all^x03 Players.", name, Credits);
}
}
new player = cmd_target(id, arg, 11);
if(!player) {
return PLUGIN_HANDLED;
}
PlayerCredits[player] += Credits;
SaveCredits(id)
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(player, "^x03ADMIN^x04 give your^x03 %i Credits.", Credits);
case 2: ColorChat(player, "^x03%s^x04 give your^x03 %i Credits.", name, Credits);
}
return PLUGIN_HANDLED;
}
public Reset_Credits(id, level, cid) {
if(!cmd_access(id, level, cid, 2)) {
return PLUGIN_HANDLED;
}
new arg[23], gplayers[32], num, i, players, name[32];
get_user_name(id, name, 31);
read_argv(1, arg, 23);
if(equali(arg, "@T")) {
get_players(gplayers, num, "e", "TERRORIST");
for(i = 0; i < num; i++) {
players = gplayers;
if(!is_user_connected(players))
continue;
PlayerCredits[players] = 0;
SaveCredits(id)
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, "^x03ADMIN^x04 reset^x03 Credits^x04 to all^x03 Ts.");
case 2: ColorChat(0, "^x03%s^x04 reset^x03 Credits^x04 to all^x03 Ts.", name);
}
}
else if(equali(arg, "@CT")) {
get_players(gplayers, num, "e", "CT");
for(i = 0; i < num; i++) {
players = gplayers;
if(!is_user_connected(players))
continue;
PlayerCredits[players] = 0;
SaveCredits(id)
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, "^x03ADMIN^x04 reset^x03 %i Credits^x04 to all^x03 CTs.");
case 2: ColorChat(0, "^x03%s^x04 reset^x03 %i Credits^x04 to all^x03 CTs.", name);
}
}
if(equali(arg, "@All")) {
get_players(gplayers, num, "a");
for(i = 0; i < num; i++) {
players = gplayers;
if(!is_user_connected(players))
continue;
PlayerCredits[players] = 0;
SaveCredits(id)
}
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(0, "^x03ADMIN^x04 reset^x03 Credits^x04 to all^x03 Players.");
case 2: ColorChat(0, "^x03%s^x04 resetx03 Credits^x04 to all^x03 Players.", name);
}
}
new player = cmd_target(id, arg, 11);
if(!player) {
return PLUGIN_HANDLED;
}
PlayerCredits[player] = 0;
SaveCredits(id)
switch(get_cvar_num("amx_show_activity")) {
case 1: ColorChat(player, "^x03ADMIN^x04 reset your^x03 Credits.");
case 2: ColorChat(player, "^x03%s^x04 reset your^x03 Credits.", name);
}
return PLUGIN_HANDLED;
}
//------| Save Credits |------//
public SaveCredits(id) {
Vault = nvault_open("DepozitCredits");
new data_credits[256], key_credits[64];
switch( get_pcvar_num(savepoints) ) {
case 1: {
new name[33];
get_user_name(id,name,32);
format(key_credits, 63, "%s-/", name);
}
case 2: {
new player_ip[33];
get_user_ip(id,player_ip,32);
format(key_credits, 63, "%s-/", player_ip);
}
case 3: {
new steam_ID[33];
get_user_authid(id,steam_ID,32);
format(key_credits, 63, "%s-/", steam_ID);
}
}
format(data_credits, 255, "%i#", PlayerCredits[id]);
nvault_set(Vault, key_credits, data_credits);
return PLUGIN_CONTINUE;
}
//------| Loading Credits |------//
public LoadCredits(id) {
Vault = nvault_open("DepozitCredits");
new data_credits[256], key_credits[64];
switch( get_pcvar_num(savepoints) ) {
case 1: {
new name[33];
get_user_name(id,name,32);
format(key_credits, 63, "%s-/", name);
}
case 2: {
new player_ip[33];
get_user_ip(id,player_ip,32);
format(key_credits, 63, "%s-/", player_ip);
}
case 3: {
new steam_ID[33];
get_user_authid(id,steam_ID,32);
format(key_credits, 63, "%s-/", steam_ID);
}
}
format(data_credits, 255, "%i#", PlayerCredits[id]);
nvault_get(Vault, key_credits, data_credits, 255);
replace_all(data_credits, 255, "#", " ");
new Credits[32];
parse(data_credits, Credits, 31);
PlayerCredits[id] = str_to_num(Credits);
return PLUGIN_CONTINUE;
}
stock ColorChat(const id, const input[], any:...) {
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!x04", "^4");
replace_all(msg, 190, "!x01", "^1");
replace_all(msg, 190, "!x03", "^3");
if(id) players[0] = id;
else get_players(players, count, "ch"); {
for(new i = 0; i < count; i++) {
if(is_user_connected(players)) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
write_byte(players);
write_string(msg);
message_end();
}
}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/