system monet problem z svip
ChrisN
21.06.2018
Hey, chciałem dodać do systemu monet dodatkowe monety jeszcze dla super vipa, nie tylko vip'a tylko napotkałem problem, mianowicie wszystko się niby kompiluje itd ale monet nie dodaje ;/ testowałem na dwa sposoby jeden widac w dodawaniu monet za killa, a drugi przy bombe (w kodzie)
#include <amxmodx> #include <amxmisc> #include <nvault> #define PLUGIN "System Monet" #define AUTHOR "kisiel96" #define VERSION "1.1.1" #define VIP ADMIN_LEVEL_H #define SVIP ADMIN_LEVEL_G enum events { kill = 0, kill_hs, defused, planted, rescue_hostage, kill_hostage }; new player_auth[33][64]; new player_coins[33]; new bool:player_vip[33]; new bool:player_svip[33]; new pcvar_coins[events]; new pcvar_coins_vip[events]; new pcvar_coins_svip[events]; new cvar_coins[events]; new cvar_coins_vip[events]; new cvar_coins_svip[events]; new pcvar_coins_minplayers; new pcvar_coins_ff; new cvar_coins_minplayers; new cvar_coins_ff; new pcvar_savetype; new vault; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_event("DeathMsg", "EnemyKilled", "a"); register_event("ResetHUD", "ResetHUD", "abe"); register_logevent("HostageRescued", 3, "1=triggered", "2=Rescued_A_Hostage"); register_logevent("HostageKilled", 3, "1=triggered", "2=Killed_A_Hostage"); pcvar_coins_ff = register_cvar("cod_coins_friendlyfire", "0"); pcvar_coins[kill] = register_cvar("cod_coins_kill", "1"); pcvar_coins_vip[kill] = register_cvar("cod_coins_kill_vip", "2"); pcvar_coins_svip[kill] = register_cvar("cod_coins_kill_svip", "3"); pcvar_coins[kill_hs] = register_cvar("cod_coins_kill_hs", "2"); pcvar_coins_vip[kill_hs] = register_cvar("cod_coins_kill_hs_vip", "4"); pcvar_coins_svip[kill_hs] = register_cvar("cod_coins_kill_hs_svip", "6"); pcvar_coins[planted] = register_cvar("cod_coins_planted", "1"); pcvar_coins_vip[planted] = register_cvar("cod_coins_planted_vip", "2"); pcvar_coins_svip[planted] = register_cvar("cod_coins_planted_svip", "3"); pcvar_coins[defused] = register_cvar("cod_coins_defused", "1"); pcvar_coins_vip[defused] = register_cvar("cod_coins_defused_vip", "2"); pcvar_coins_svip[defused] = register_cvar("cod_coins_defused_svip", "3"); pcvar_coins[rescue_hostage] = register_cvar("cod_coins_rescue_hostage", "1"); pcvar_coins_vip[rescue_hostage] = register_cvar("cod_coins_rescue_hostage_vip", "2"); pcvar_coins_svip[rescue_hostage] = register_cvar("cod_coins_rescue_hostage_svip", "3"); pcvar_coins[kill_hostage] = register_cvar("cod_coins_kill_hostage", "3"); pcvar_coins_vip[kill_hostage] = register_cvar("cod_coins_kill_hostage_vip", "2"); pcvar_coins_minplayers = register_cvar("cod_coins_minplayers", "2"); pcvar_savetype = get_cvar_num("cod_savetype"); vault = nvault_open("monety"); if(vault == INVALID_HANDLE) set_fail_state("Nie mozna otworzyc pliku"); } public plugin_natives() { register_native("cod_get_user_coins", "GetCoins", 1); register_native("cod_set_user_coins", "SetCoins", 1); } public client_authorized(id) { RemoveCoins(id); switch(pcvar_savetype) { case 1: get_user_name(id, player_auth[id], 63); case 2: get_user_authid(id, player_auth[id], 63); case 3: get_user_ip(id, player_auth[id], 63); } if(get_user_flags(id) & VIP) player_vip[id] = true; else player_vip[id] = false; if(get_user_flags(id) & SVIP) player_svip[id] = true; else player_svip[id] = false; LoadCoins(id); } public client_connect(id) LoadCoins(id); public client_disconnect(id) { SaveCoins(id); RemoveCoins(id) } public plugin_end() nvault_close(vault); // /-----------\ // // |RESET MONET| // // \-----------/ // public RemoveCoins(id) { player_coins[id] = 0; player_vip[id] = false; player_svip[id] = false; } // /--------------\ // // |ZLICZNIE MONET| // // \--------------/ // public EnemyKilled() { cvar_coins_minplayers = get_pcvar_num(pcvar_coins_minplayers); if(get_playersnum() < cvar_coins_minplayers) return; new kid = read_data(1); new vid = read_data(2); new hs = read_data(3); if(kid == vid) return; cvar_coins_ff = get_pcvar_num(pcvar_coins_ff) if(cvar_coins_ff == 0 && get_user_team(kid) == get_user_team(vid)) return; cvar_coins[kill] = get_pcvar_num(pcvar_coins[kill]); cvar_coins_vip[kill] = get_pcvar_num(pcvar_coins_vip[kill]); cvar_coins_svip[kill] = get_pcvar_num(pcvar_coins_svip[kill]); cvar_coins[kill_hs] = get_pcvar_num(pcvar_coins[kill_hs]); cvar_coins_vip[kill_hs] = get_pcvar_num(pcvar_coins_vip[kill_hs]); cvar_coins_svip[kill_hs] = get_pcvar_num(pcvar_coins_svip[kill_hs]); if(player_svip[kid]) { if(hs) player_coins[kid] += cvar_coins_svip[kill_hs]; else player_coins[kid] += cvar_coins_svip[kill]; } if(player_vip[kid]) { if(hs) player_coins[kid] += cvar_coins_vip[kill_hs]; else player_coins[kid] += cvar_coins_vip[kill]; } if(!player_vip[kid] || !player_svip[kid]) { if(hs) player_coins[kid] += cvar_coins[kill_hs]; else player_coins[kid] += cvar_coins[kill]; } } public BombPlanted(id) { cvar_coins_minplayers = get_pcvar_num(pcvar_coins_minplayers); if(get_playersnum() < cvar_coins_minplayers) return; cvar_coins[planted] = get_pcvar_num(pcvar_coins[planted]); cvar_coins_vip[planted] = get_pcvar_num(pcvar_coins_vip[planted]); cvar_coins_svip[planted] = get_pcvar_num(pcvar_coins_svip[planted]); if(player_svip[id]) player_coins[id] += cvar_coins_svip[planted]; else if(player_vip[id]) player_coins[id] += cvar_coins_vip[planted]; else player_coins[id] += cvar_coins[planted]; } public BombDefused(id) { cvar_coins_minplayers = get_pcvar_num(pcvar_coins_minplayers); if(get_playersnum() < cvar_coins_minplayers) return; cvar_coins[defused] = get_pcvar_num(pcvar_coins[defused]); cvar_coins_vip[defused] = get_pcvar_num(pcvar_coins_vip[defused]); cvar_coins_svip[defused] = get_pcvar_num(pcvar_coins_svip[defused]); if(player_svip[id]) player_coins[id] += cvar_coins_svip[defused]; else if(player_vip[id]) player_coins[id] += cvar_coins_vip[defused]; else player_coins[id] += cvar_coins[defused]; } public HostageRescued(id) { cvar_coins_minplayers = get_pcvar_num(pcvar_coins_minplayers); if(get_playersnum() < cvar_coins_minplayers) return; new loguser[80], name[32]; read_logargv(0, loguser, 79); parse_loguser(loguser, name, 31); new id = get_user_index(name); cvar_coins[rescue_hostage] = get_pcvar_num(pcvar_coins[rescue_hostage]); cvar_coins_vip[rescue_hostage] = get_pcvar_num(pcvar_coins_vip[rescue_hostage]); cvar_coins_svip[rescue_hostage] = get_pcvar_num(pcvar_coins_svip[rescue_hostage]); if(player_svip[id]) player_coins[id] += cvar_coins_svip[rescue_hostage]; else if(player_vip[id]) player_coins[id] += cvar_coins_vip[rescue_hostage]; else player_coins[id] += cvar_coins[rescue_hostage]; } public HostageKilled(id) { cvar_coins_minplayers = get_pcvar_num(pcvar_coins_minplayers); if(get_playersnum() < cvar_coins_minplayers) return; new loguser[80], name[32]; read_logargv(0, loguser, 79); parse_loguser(loguser, name, 31); new id = get_user_index(name); cvar_coins[kill_hostage] = get_pcvar_num(pcvar_coins[kill_hostage]); cvar_coins_vip[kill_hostage] = get_pcvar_num(pcvar_coins_vip[kill_hostage]); if(player_vip[id]) player_coins[id] -= cvar_coins_vip[kill_hostage]; else player_coins[id] -= cvar_coins[kill_hostage]; } // /------\ // // |NATYWY| // // \------/ // public SetCoins(id, wartosc) { player_coins[id] = wartosc } public GetCoins(id) return player_coins[id]; // /------\ // // |NVAULT| // // \------/ // public SaveCoins(id) { new vaultkey[64], vaultdata[256]; formatex(vaultkey, 63, "%s-player_coins", player_auth[id]); formatex(vaultdata, 255, "%d#", player_coins[id]); nvault_set(vault, vaultkey, vaultdata); return; } public LoadCoins(id) { new vaultkey[64], vaultdata[256]; formatex(vaultkey, 63, "%s-player_coins", player_auth[id]); formatex(vaultdata, 255, "%d#", player_coins[id]); nvault_get(vault, vaultkey, vaultdata,255); replace_all(vaultdata, 255, "#", " "); new temp_player_coins[33]; parse(vaultdata, temp_player_coins, 32); player_coins[id] = str_to_num(temp_player_coins); return; } // /-----------------\ // // |ZEBY BYLO LADNIEJ| // // \-----------------/ // public bomb_planted(planter) { BombPlanted(planter); } public bomb_defused(defuser) { BombDefused(defuser); }
Maciuś20
22.06.2018
spróbuj zabrać sobie flagę odpowiadającą za samego vipa i zostaw sobie tylko svipa bo może się komplikują te dwie flagi
ChrisN
22.06.2018
spróbuj zabrać sobie flagę odpowiadającą za samego vipa i zostaw sobie tylko svipa bo może się komplikują te dwie flagi
No to chyba jasne, że nie używam dwóch usług na raz mhm