Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Plugin generated by AMXX-Studio
- * Thanks for "TrzyRazyZero"
- */
- #include <amxmodx>
- #include <amxmisc>
- #include <sqlx>
- #include <colorchat>
- #include <nvault>
- //#include <jailbreak>
- #include < hamsandwich >
- #include <engine>
- #include <cstrike>
- #define PLUGIN "[SZLUGI] System"
- #define VERSION "1.1"
- #define AUTHOR "Eryk172"
- new const prefix[] = "Szlugi"
- new pPcvarDBHost;
- new pPcvarDBUser;
- new pPcvarDBPassword;
- new pPcvarDBBase;
- new Handle:g_SqlTuple;
- new g_Cache[512];
- new bool:SQLenabled;
- new bool:gIntermission;
- new gTablesLoaded[33];
- new gSaveKey[33][32];
- new ilosc_jbpack[33];
- new jb_packi_nv
- new msgtext;
- public plugin_init() {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- //--//--//--//--//--//--//--//--//--//--//--//--//--//--//
- pPcvarDBHost = register_cvar("db_host", "sql.pukawka.pl"); //ip bazy danych
- pPcvarDBUser = register_cvar("db_user", "331530"); //nazwa uzytkownika
- pPcvarDBPassword = register_cvar("db_pass", "cRlIrT87PoSAnbD"); //haslo do bazy danych
- pPcvarDBBase = register_cvar("db_database", "331530_szlugi"); //nazwa bazy danych
- //--//--//--//--//--//--//--//--//--//--//--//--//--//--//
- register_cvar("jb_ct", "1" ); // Ilosc przyznawanych Szlugow za zabicie.
- register_cvar("jb_tt", "1" ); // Ilosc przyznawanych Szlugow za zabicie Wieznia.
- register_cvar("jb_tt_hs", "1" ); // Ilosc przyznawanych Szlugow za zabicie Wieznia HS.
- register_cvar("jb_ct_vip", "2" ); // Ilosc przyznawanych Szlugow za zabicie. ( VIP )
- register_cvar("jb_hs", "1" ); // Ilosc dodatkowych szlugow za headShota.
- register_cvar("jb_hs_vip", "2" ); // Ilosc dodatkowych szlugow za headShot. ( VIP )
- register_cvar("jb_zapis", "1"); //1 - SQL, 2 - nVault
- register_cvar("jb_hud", "1"); //0 - off, 1 - status, 2 - hud
- if(get_cvar_num("jb_zapis") == 2) {
- jb_packi_nv = nvault_open("jb_packi")
- if(jb_packi_nv == INVALID_HANDLE)
- set_fail_state("Nie moge otworzyc pliku");
- }
- register_event("DeathMsg", "DeathMsg", "a")
- register_event("ResetHUD","HUD", "b");
- register_clcmd("say /szlugi", "MenuSzlugi")
- register_clcmd("say_team /szlugi", "MenuSzlugi")
- register_concmd("jb_packgive", "cmd_give", ADMIN_IMMUNITY, "<nazwa> <ilosc>");
- register_concmd("szlugi_give", "cmd_give", ADMIN_IMMUNITY, "<nazwa> <ilosc>");
- msgtext = get_user_msgid("StatusText");
- set_task(6.0, "HUD",0,"",0,"b");
- }
- public HUD(id) {
- for (new id=0; id < 32; id++) {
- if (!is_user_connected(id))
- continue
- if (get_user_team(id) == 2)
- continue
- if(is_user_alive(id)){
- new HUD[128];
- format(HUD, 127,"SZLUGI: %i",ilosc_jbpack[id]);
- if(get_cvar_num("jb_hud") == 1){
- message_begin(MSG_ONE_UNRELIABLE, msgtext, {0,0,0}, id);
- write_byte(0);
- write_string(HUD);
- message_end();
- return PLUGIN_CONTINUE;
- }
- else if(get_cvar_num("jb_hud") == 2)
- {
- set_hudmessage(0, 255, 0, 0.02, 0.63, 0, 0.01, 0.8, _, _, 3)
- show_hudmessage(id, "%s",HUD)
- }
- }
- }
- return PLUGIN_CONTINUE;
- }
- /*public client_PreThink(id){
- if(!is_user_alive(id)){
- return PLUGIN_CONTINUE;
- }
- if(is_user_alive(id) && !is_user_bot(id) && get_cvar_num("jb_hud") > 0){
- HUD(id);
- }
- return PLUGIN_HANDLED;
- }*/
- public DeathMsg( )
- {
- new Killer = read_data( 1 );
- new Victim = read_data( 2 );
- new headshot = read_data(3);
- new flagi = get_user_flags( Killer ) & ADMIN_LEVEL_H || ADMIN_LEVEL_G;
- if(Killer == Victim)
- {
- return PLUGIN_HANDLED
- }
- if ( cs_get_user_team( Killer ) == CS_TEAM_T && cs_get_user_team( Victim ) == CS_TEAM_CT && flagi )
- {
- ColorChat(Killer, GREEN, "[%s] ^x01Za zabicie straznika otrzymujesz ^x04+%i Szlugow (VIP)",prefix, get_cvar_num("jb_ct_vip"));
- ilosc_jbpack[Killer] += get_cvar_num("jb_ct_vip")
- }
- if ( cs_get_user_team( Killer ) == CS_TEAM_T && cs_get_user_team( Victim ) == CS_TEAM_CT && flagi && headshot )
- {
- ColorChat(Killer, GREEN, "[%s] ^x01Za zabicie HeadShotem otrzymujesz dodatkowo ^x04+%i Szlugow (VIP)",prefix, get_cvar_num("jb_hs_vip"));
- ilosc_jbpack[Killer] += get_cvar_num("jb_hs_vip")
- }
- if ( cs_get_user_team( Killer ) == CS_TEAM_T && cs_get_user_team( Victim ) == CS_TEAM_CT && !is_user_admin( Killer ) && headshot)
- {
- ColorChat( Killer, GREEN, "[%s] ^x01Otrzymales dodatkowo ^x04%d Szlugi ^x01za zabicie headshotem.",prefix, get_cvar_num("jb_hs") );
- ilosc_jbpack[Killer] += get_cvar_num("jb_hs")
- }
- if ( cs_get_user_team( Killer ) == CS_TEAM_T && cs_get_user_team( Victim ) == CS_TEAM_CT && !is_user_admin( Killer ))
- {
- ColorChat( Killer, GREEN, "[%s] ^x01Otrzymales ^x04%d Szlugi ^x01za zabicie straznika.",prefix, get_cvar_num("jb_ct") );
- ilosc_jbpack[Killer] += get_cvar_num("jb_ct")
- }
- if ( cs_get_user_team( Killer ) == CS_TEAM_T && cs_get_user_team( Victim ) == CS_TEAM_T )
- {
- ColorChat( Killer, GREEN, "[%s] ^x01Otrzymales ^x04%d Szlugi ^x01za zabicie Wieznia",prefix, get_cvar_num("jb_tt") );
- ilosc_jbpack[Killer] += get_cvar_num("jb_tt")
- }
- if ( cs_get_user_team( Killer ) == CS_TEAM_T && cs_get_user_team( Victim ) == CS_TEAM_T && headshot)
- {
- ColorChat( Killer, GREEN, "[%s] ^x01Otrzymales dodatkowe ^x04%d Szlugow ^x01za zabicie Wieznia HeadShotem!",prefix, get_cvar_num("jb_tt_hs") );
- ilosc_jbpack[Killer] += get_cvar_num("jb_tt_hs")
- }
- if(get_cvar_num("jb_zapis") == 1) {
- sql_save(Killer)
- }
- else
- {
- zapisz_jbpack(Killer)
- }
- return PLUGIN_HANDLED;
- }
- // MENU
- public MenuSzlugi(id)
- {
- new menu,formats[64];
- formatex(formats,charsmax(formats),"\wMenu Szlugow^n\wIlosc Szlugow: \y%i",ilosc_jbpack[id])
- menu = menu_create(formats,"handle_szlugi");
- menu_additem(menu,"Szlugi - Informacje","0")
- menu_additem(menu,"Wyslij Szlugi","1")
- menu_additem(menu,"Postaw Szlugi \r(hazard)","2")
- menu_additem(menu,"Kup Szlugi za Dolary","3")
- menu_additem(menu,"Quiz - \yOdpowiedz i Wygraj","4")
- menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
- menu_setprop(menu,MPROP_EXITNAME,"Wyjscie")
- menu_setprop(menu,MPROP_NEXTNAME,"Dalej")
- menu_setprop(menu,MPROP_BACKNAME,"Wroc")
- menu_display(id,menu,0)
- return PLUGIN_HANDLED
- }
- public handle_szlugi(id, menu, item)
- {
- switch(item)
- {
- case 0: MenuInformacje(id);
- case 1: WyslijSzlugi(id);
- case 2: PostawSzlugi(id);
- case 3: KupSzlugi(id);
- case 4: client_cmd(id, "say /quiz");
- }
- return PLUGIN_CONTINUE;
- }
- ////----//////
- public cmd_give(id, level, cid)
- {
- if(!cmd_access(id, level, cid, 3))
- return PLUGIN_CONTINUE;
- new arg[33];
- read_argv(1, arg, 32);
- new target = cmd_target(id, arg, CMDTARGET_ALLOW_SELF);
- if(!is_user_connected(target))
- return PLUGIN_CONTINUE;
- read_argv(2, arg, 32);
- new ilejb = str_to_num(arg);
- ilosc_jbpack[target] = ilosc_jbpack[target] + ilejb;
- return PLUGIN_CONTINUE;
- }
- public plugin_natives()
- {
- register_native("get_user_jbpack","return_jbpack", 1)
- register_native("set_user_jbpack","set_jbpack", 1)
- }
- public return_jbpack(id)
- {
- return ilosc_jbpack[id];
- }
- public set_jbpack(id, amount)
- {
- ilosc_jbpack[id] = amount
- }
- //////////////
- public zaladuj_jbpack(id)
- {
- new name[48]
- get_user_name(id,name,47)
- new vaultkey[64],vaultdata[128]
- formatex(vaultkey,63,"%s-jbpack",name)
- if(nvault_get(jb_packi_nv,vaultkey,vaultdata,127)) {
- new jb_packii[16];
- parse(vaultdata, jb_packii, 15)
- ilosc_jbpack[id]=str_to_num(jb_packii)
- }
- return PLUGIN_CONTINUE
- }
- public zapisz_jbpack(id) {
- new name[48]
- get_user_name(id,name,47)
- new vaultkey[64],vaultdata[128]
- formatex(vaultkey,63,"%s-jbpack",name)
- formatex(vaultdata,127,"%d", ilosc_jbpack[id])
- nvault_set(jb_packi_nv,vaultkey,vaultdata)
- return PLUGIN_CONTINUE
- }
- public plugin_cfg(){
- SQLenabled = false;
- sql_init();
- }
- public plugin_end()
- {
- if ( SQLenabled )
- {
- SQL_FreeHandle(g_SqlTuple);
- }
- }
- public Message_Intermission()
- {
- gIntermission = true;
- }
- public client_putinserver(id){
- gTablesLoaded[id] = 0;
- if(get_cvar_num("jb_zapis") == 1) {
- get_save_key(id);
- }
- else
- {
- zaladuj_jbpack(id);
- }
- }
- public client_disconnect(id)
- {
- if(get_cvar_num("jb_zapis") == 1) {
- sql_save(id)
- }
- else
- {
- zapisz_jbpack(id)
- }
- }
- public sql_init()
- {
- new szHost[32], szUser[32], szPass[32], szDB[32];
- get_pcvar_string(pPcvarDBHost, szHost, 31);
- get_pcvar_string(pPcvarDBUser, szUser, 31);
- get_pcvar_string(pPcvarDBPassword, szPass, 31);
- get_pcvar_string(pPcvarDBBase, szDB, 31);
- g_SqlTuple = SQL_MakeDbTuple(szHost, szUser, szPass, szDB);
- SQL_ThreadQuery(g_SqlTuple, "TableHandle", "CREATE TABLE IF NOT EXISTS szlugi (nazwa_gracza VARCHAR(35), ilosc_jbpack INT(11), PRIMARY KEY (nazwa_gracza))");
- }
- public get_save_key(id)
- {
- get_user_name(id, gSaveKey[id], charsmax(gSaveKey[]));
- sql_load(id);
- }
- public sql_load(id)
- {
- new index[1];
- index[0] = id;
- new tempSaveKey[63];
- copy(tempSaveKey, charsmax(tempSaveKey), gSaveKey[id]);
- replace_all(tempSaveKey, charsmax(tempSaveKey), "'", "\'" );
- formatex(g_Cache, charsmax(g_Cache), "SELECT ilosc_jbpack FROM szlugi WHERE nazwa_gracza='%s'", tempSaveKey);
- SQL_ThreadQuery(g_SqlTuple, "SelectHandle", g_Cache, index, 1);
- }
- public TableHandle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
- {
- if ( FailState )
- {
- if ( FailState == TQUERY_CONNECT_FAILED )
- {
- log_amx("Table - Could not connect to SQL database. [%d] %s", Errcode, Error);
- }
- else if ( FailState == TQUERY_QUERY_FAILED )
- {
- log_amx("Table Query failed. [%d] %s", Errcode, Error);
- }
- SQLenabled = false;
- return;
- }
- SQLenabled = true;
- }
- public QueryHandle(FailState, Handle:Query, Error[], Errcode,Data[], DataSize)
- {
- if ( FailState )
- {
- if ( FailState == TQUERY_CONNECT_FAILED )
- {
- log_amx("Save - Could not connect to SQL database. [%d] %s", Errcode, Error);
- }
- else if ( FailState == TQUERY_QUERY_FAILED )
- {
- log_amx("Save Query failed. [%d] %s", Errcode, Error);
- }
- return;
- }
- }
- public SelectHandle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
- {
- if ( FailState )
- {
- if ( FailState == TQUERY_CONNECT_FAILED )
- {
- log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error);
- }
- else if ( FailState == TQUERY_QUERY_FAILED )
- {
- log_amx("Load Query failed. [%d] %s", Errcode, Error);
- }
- return;
- }
- new id = Data[0];
- if ( !SQL_NumResults(Query) )
- {
- new tempSaveKey[63];
- copy(tempSaveKey, charsmax(tempSaveKey), gSaveKey[id]);
- replace_all(tempSaveKey, charsmax(tempSaveKey), "'", "\'" );
- formatex(g_Cache, charsmax(g_Cache), "INSERT INTO szlugi VALUES('%s', '0')", tempSaveKey);
- SQL_ThreadQuery(g_SqlTuple, "QueryHandle", g_Cache);
- }
- else
- {
- ilosc_jbpack[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"ilosc_jbpack"));
- }
- gTablesLoaded[id]++;
- }
- public sql_save(id)
- {
- if ( gTablesLoaded[id] == 1 )
- {
- if ( gIntermission )
- {
- sql_save_nonthreaded(id);
- return;
- }
- new tempSaveKey[63];
- copy(tempSaveKey, charsmax(tempSaveKey), gSaveKey[id]);
- replace_all(tempSaveKey, charsmax(tempSaveKey), "'", "\'" );
- formatex(g_Cache, charsmax(g_Cache), "UPDATE szlugi SET ilosc_jbpack=%i WHERE nazwa_gracza=^"%s^"", ilosc_jbpack[id], tempSaveKey);
- SQL_ThreadQuery(g_SqlTuple, "QueryHandle", g_Cache);
- }
- }
- sql_save_nonthreaded(id)
- {
- new Errcode, Error[128], Handle:SqlConnection;
- SqlConnection = SQL_Connect(g_SqlTuple, Errcode, Error, charsmax(Error));
- if ( !SqlConnection )
- {
- log_amx("Save - Could not connect to SQL database. [%d] %s", Errcode, Error);
- SQL_FreeHandle(SqlConnection);
- return;
- }
- new tempSaveKey[63];
- copy(tempSaveKey, charsmax(tempSaveKey), gSaveKey[id]);
- replace_all(tempSaveKey, charsmax(tempSaveKey), "'", "\'" );
- new Handle:Query;
- Query = SQL_PrepareQuery(SqlConnection, "UPDATE szlugi SET ilosc_jbpack=%i WHERE nazwa_gracza=^"%s^"", ilosc_jbpack[id], tempSaveKey);
- if ( !SQL_Execute(Query) )
- {
- Errcode = SQL_QueryError(Query, Error, charsmax(Error));
- log_amx("Save Query failed. [%d] %s", Errcode, Error);
- SQL_FreeHandle(Query);
- SQL_FreeHandle(SqlConnection);
- return;
- }
- SQL_FreeHandle(Query);
- SQL_FreeHandle(SqlConnection);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement