Doresc un shop pe baza acestui sistem de credite , am incercat eu ceva dar tot nu am reusit cum mi-am dorit eu .
- | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <csx> #include <dhudmessage> #include <fakemeta> #include <nvault> #define PLUGIN "Depozit Mooney" #define AUTHOR "Aragon*" #define VERSION "1.0" enum (+= 100) { TASK_MESAJHUD } #define ID_HUD (taskid - TASK_MESAJHUD) new PlayerCredits[10000], retrase[33]; 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_logevent("round_start", 2, "1=Round_Start") // 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("credite","Show_Credits") register_clcmd("credite","Show_Credits") register_clcmd("say /credite","Show_Credits") register_clcmd("say /credite","Show_Credits") register_clcmd("say_team /credite","Show_Credits") register_clcmd("say_team /credite","Show_Credits") register_concmd("amx_give_credits", "Give_Credits", ADMIN_IMMUNITY, "Name/@T/@CT/@All -> Amount"); register_concmd("amx_reset_credits", "Reset_Credits", ADMIN_IMMUNITY, "Name/@T/@CT/@All"); } public plugin_natives() { register_native("get_user_credits", "get_user_credits", 1); register_native("set_user_credits", "set_user_credits", 1); } public set_user_credits(id, credits) { PlayerCredits[id] = credits; SaveCredits(id) } public get_user_credits(id) { return PlayerCredits[id] } public client_putinserver(id) { LoadCredits(id) retrase[id] = 0 set_task(180.0, "give_credits", id, _, _, "b") set_task(1.0, "MesajHUD", id+TASK_MESAJHUD, _, _, "b") } public client_authorized(id) { LoadCredits(id) } public client_connected(id) { LoadCredits(id) } public client_disconnect(id) { SaveCredits(id) remove_task(id) retrase[id] = 0 remove_task(id+TASK_MESAJHUD) } public give_credits(id) { ColorChat(id, "^x03[DR]^x04 Ai primit^x03 3 credite^x04 pentru ca ai jucat 5 minute."); ColorChat(id, "^x03[DR]^x04 Joaca cat mai mult si acumulezi credite in prostie."); PlayerCredits[id] += 3 } public round_start() { static id; for (id = 1; id <= get_maxplayers(); id++) { if(is_user_alive(id)) { retrase[id] = 0 } } } //------| 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 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[DR]^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, "^x03Adminul^x04 le-a dat^x03 %i credite^x04 tuturor^x03 Furienilor.", Credits); case 2: ColorChat(0, "^x03%s^x04 le-a dat^x03 %i credite^x04 tuturor^x03 Furienilor.", 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, "^x03Adminul^x04 le-a dat^x03 %i credite^x04 tuturor^x03 Anti-Furienilor.", Credits); case 2: ColorChat(0, "^x03%s^x04 le-a dat^x03 %i credite^x04 tuturor^x03 Anti-Furienilor.", 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, "^x03Adminul^x04 le-a dat^x03 %i credite^x04 tuturor^x03 jucatorilor.", Credits); case 2: ColorChat(0, "^x03%s^x04 a dat^x03 %i credite ^x03 jucatorilor.", 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, "^x03Adminul^x04 ti-a dat^x03 %i credite.", Credits); case 2: ColorChat(player, "^x03%s^x04 ti-a dat^x03 %i credite.", 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, "^x03Adminul^x04 a luat^x03 creditele^x04 tuturor^x03 Furienilor."); case 2: ColorChat(0, "^x03%s^x04 a luat^x03 creditele^x04 tuturor^x03 Furienilor.", 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, "^x03Adminul^x04 a luat^x03 creditele^x04 tuturor^x03 Anti-Furienilor."); case 2: ColorChat(0, "^x03%s^x04 a luat^x03 creditele^x04 tuturor^x03 Anti-Furienilor.", 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, "^x03Adminul^x04 a luat^x03 creditele^x04 tuturor^x03 jucatorilor."); case 2: ColorChat(0, "^x03%s^x04 a luatx03 creditele^x04 tuturor^x03 jucatorilor.", 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, "^x03Adminul^x04 ti-a luat^x03 creditele."); case 2: ColorChat(player, "^x03%s^x04 ti-a luat^x03 creditele.", 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(); } } } }
In shop doresc sa fie inclus doar HP si AP pentru 10 credite .