Dodanie paru rzeczy do sklepu JBPacks
`YNRE.
07.08.2014
Witam prosiłbym was o pomoc. Czy byłby ktoś w stanie dodać mi do JailBreak Pack Shop 3.0 pare rzeczy? Ponieważ ja nie znam się zbytnio na Scripting AMXX ![]()
Zmniejszona grawitacja [5 JB Pack]
10 sekund nieśmiertelności [100 JB Pack]
50% mniejszej widoczności [35 JB Pack]
Łom + 20% więcej zadawanych obrażeń z tej broni [40 JB Pack]
Szybsze chodzenie [8 JB Pack]
Potrojny skok [15 JB Pack]
Tarcza policyjna + 50 HP więcej [30 JB Pack]
Wszystkie rzeczy żeby trwały tylko jedną rundę.
Osobę, która mi pomogła nagrodzę +++
Dzięki.
W załączniku umieszczam plugin.
Załączone pliki
-
jailbreak_jbpack.sma 14,5 KB
40 Ilość pobrań
GwynBleidD
07.08.2014
Ten temat został przeniesiony z forum
Scripting AMXX → Pytania
do
Scripting AMXX → Pluginy
MyShoT4YoU
08.08.2014
Proszę nie bij za kod troszkę pomotany.
}
`YNRE.
08.08.2014
Proszę nie bij za kod troszkę pomotany.
Spoiler#include <amxmodx>#include <amxmisc>#include <sqlx>#include <colorchat>#include <hamsandwich>#include <fun>#include <cstrike>#include <engine>#include <fakemeta_util>#include <fakemeta>#include <nvault>#define PLUGIN "JBPacki"#define VERSION "1.0"#define AUTHOR "Zero"#define prefix "Sklep"#define FL_WATERJUMP (1<<11)#define FL_ONGROUND (1<<9)#define autobhopkeys (1<<0)|(1<<1)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 bool:bhop_enabled[33];new bool:blokadanew bool:multijump[33];new skoki[33];new lom[33];new jb_packi_nvnew msgtext;public plugin_init() {register_plugin(PLUGIN, VERSION, AUTHOR)//--//--//--//--//--//--//--//--//--//--//--//--//--//--//pPcvarDBHost = register_cvar("db_host", "xx"); //ip bazy danychpPcvarDBUser = register_cvar("db_user", "zz"); //nazwa uzytkownikapPcvarDBPassword = register_cvar("db_pass", "cc"); //haslo do bazy danychpPcvarDBBase = register_cvar("db_database", "vv"); //nazwa bazy danych//--//--//--//--//--//--//--//--//--//--//--//--//--//--//register_clcmd("say /sklep", "jb_sklep")register_clcmd("say_team /sklep", "jb_sklep")register_cvar("jb_maxjp", "30" );register_cvar("jb_tt", "1" );register_cvar("jb_ct", "2" );register_cvar("jb_hs", "1" );register_cvar("jb_czas", "60");register_cvar("jb_zapis", "1"); //1 - nvault, 2 - sqlregister_cvar("jb_hud", "1"); //0 - off, 1 - status, 2 - hudif(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_logevent("Koniec_Rundy", 2, "1=Round_End")register_logevent("Poczatek_Rundy", 2, "1=Round_Start")register_event("ResetHUD","HUD", "b");register_concmd("jb_packgive", "cmd_give", ADMIN_IMMUNITY, "<nazwa> <ilosc>");register_clcmd("typ_zapisu", "typ");msgtext = get_user_msgid("StatusText");register_forward(FM_PlayerPreThink, "forward_FM_PlayerPreThink", 0)set_task(0.8, "HUD",0,"",0,"b");}public HUD(id) {for (new id=0; id < 32; id++) {if (!is_user_connected(id))continueif(is_user_alive(id)){new HUD[128];format(HUD, 127,"JBPacki: %i",ilosc_jbpack[id]);if(get_cvar_num("jb_hud") == 1){message_begin(MSG_ONE, 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 weaponname[20]new kid = read_data(1)new vid = read_data(2)new headshot = read_data(3)read_data(4,weaponname,31)if(kid == vid){return PLUGIN_HANDLED}if(get_user_team(kid) == 1){new maxjp = get_cvar_num("jb_maxjp")if(ilosc_jbpack[kid]<maxjp){if(get_user_team(vid) == 2){new pack_ct = get_cvar_num("jb_ct")ilosc_jbpack[kid] += pack_ctColorChat(kid, GREEN, "[%s] ^x01 Dostales ^x04+%i ^x01JB Packi", prefix, pack_ct);}else{new pack_tt = get_cvar_num("jb_tt")ilosc_jbpack[kid] += pack_ttColorChat(kid, GREEN, "[%s] ^x01 Dostales ^x04+%i ^x01JB Pack", prefix, pack_tt);}if(headshot){new pack_hs = get_cvar_num("jb_hs")ilosc_jbpack[kid] += pack_hsColorChat(kid, GREEN, "[%s] ^x01 Dostales bonus za headshot ^x04+%i ^x01JB Pack", prefix, pack_hs);}}else{ColorChat(kid, GREEN, "[%s] ^x01 Ilosc maksymalnej JB Packow osiagnieta!", prefix);return PLUGIN_CONTINUE}ColorChat(kid, GREEN, "[%s] ^x01 Twoja ilosc JB Packow to: ^x04%i/%i", prefix, ilosc_jbpack[kid], maxjp);if(get_cvar_num("jb_zapis") == 1) {sql_save(kid)}else{zapisz_jbpack(kid)}}return PLUGIN_CONTINUE}////----//////public jb_sklep(id){if(blokada == true){new czynny_sklep = get_cvar_num("jb_czas")ColorChat(id, GREEN, "[%s] Sklep jest czynny tylko %d sekund po rozpoczeciu rundy", prefix, czynny_sklep);return PLUGIN_HANDLED}new menu,formats[64];formatex(formats,charsmax(formats),"\wSklep JB^n\wIlosc JB Packow: \r%i",ilosc_jbpack[id])menu = menu_create(formats,"handle_jb_sklep");if(get_user_team(id) == 1){menu_additem(menu,"\wGranat dymny \r[\w2 JB Pack\r]","0")menu_additem(menu,"\wGranat oslepiajacy \r[\w7 JB Packow\r]","1")menu_additem(menu,"\wGranat wybuchajacy \r[\w10 JB Packow\r]","2")menu_additem(menu,"\wKamizelka \r[\w8 JB Packow\r]","3")menu_additem(menu,"\wAutoBH na jedna runde \r[\w15 JB Packow\r]","4")menu_additem(menu,"\w+20 HP \r[\w3 JB Packi\r]","5")menu_additem(menu,"\wCiche Chodzenie na jedna runde \r[\w10 JB Packow\r]","6")menu_additem(menu,"\w Mniejsza Gravitacja na jedna runde \r[\w5 JB Packow\r]","7")menu_additem(menu,"\wNie smiertelnosc na 10 sekund \r[\w100 JB Packow\r]","8")menu_additem(menu,"\w-50% Widocznosci \r[\w35 JB Packow\r]","9")menu_additem(menu,"\wLom, + DmG \r[\w40 JB Packow\r]","10")menu_additem(menu,"\wSzybkosc = 650 \r[\w8 JB Packow\r]","11")menu_additem(menu,"\w+2 skoki \r[\w15 JB Packow\r]","12")menu_additem(menu,"\wTarcza + 50 HP \r[\w50 JB Packow\r]","13")}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_jb_sklep(id, menu, item){switch(item){case 0:{if(!sprawdz(id,2)) return PLUGIN_HANDLED;give_item(id, "weapon_smokegrenade");ColorChat(id, GREEN, "[%s] Kupiles granat dymny", prefix);}case 1:{if(!sprawdz(id,7)) return PLUGIN_HANDLED;give_item(id, "weapon_flashbang");ColorChat(id, GREEN, "[%s] Kupiles granat oslepiajacy", prefix);}case 2:{if(!sprawdz(id,10)) return PLUGIN_HANDLED;give_item(id, "weapon_hegrenade");ColorChat(id, GREEN, "[%s] Kupiles granat wybuchowy", prefix);}case 3:{if(!sprawdz(id,8)) return PLUGIN_HANDLED;give_item(id, "item_kevlar")give_item(id, "item_assaultsuit")ColorChat(id, GREEN, "[%s] Kupiles kamizelke", prefix);}/*case 4:{if(!sprawdz(id,10)) return PLUGIN_HANDLED;give_item(id, "weapon_glock18")new weapon_id = find_ent_by_owner(-1, "weapon_glock18", id);if(weapon_id){cs_set_weapon_ammo(weapon_id, 4);}ColorChat(id, GREEN, "[%s] Kupiles glocka", prefix);}*/case 4:{if(!sprawdz(id,15)) return PLUGIN_HANDLED;bhop_enabled[id] = trueColorChat(id, GREEN, "[%s] Kupiles AutoBH na jedna runde", prefix);}case 5:{if(!sprawdz(id,3)) return PLUGIN_HANDLED;set_user_health(id, get_user_health(id) + 20)ColorChat(id, GREEN, "[%s] Kupiles +20hp", prefix);}case 6:{if(!sprawdz(id,10)) return PLUGIN_HANDLED;set_user_footsteps(id, 1)ColorChat(id, GREEN, "[%s] Kupiles ciche chodzenie na jedna runde", prefix);}case 7:{if(!sprawdz(id,5)) return PLUGIN_HANDLED;set_user_gravity(id, 0.3)ColorChat(id, GREEN, "[%s] Kupiles mała Gravitacje", prefix);}case 8:{if(!sprawdz(id,100)) return PLUGIN_HANDLED;set_user_godmode(id, 1)set_task(10.0, "godoff", id)ColorChat(id, GREEN, "[%s] Kupiles nie smiertelnosc na 10 sekund", prefix);}case 9:{if(!sprawdz(id,35)) return PLUGIN_HANDLED;set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 70);ColorChat(id, GREEN, "[%s] Kupiles Spadek Nie widki do 50%", prefix);}case 10:{if(!sprawdz(id,40)) return PLUGIN_HANDLED;lom[id] = trueColorChat(id, GREEN, "[%s] Kupiles Loma z Duzym DmG", prefix);}case 11:{if(!sprawdz(id,8)) return PLUGIN_HANDLED;set_user_maxspeed(id, 480)ColorChat(id, GREEN, "[%s] Kupiles Szybkosc", prefix);}case 12:{if(!sprawdz(id,15)) return PLUGIN_HANDLED;multijump[id] = trueColorChat(id, GREEN, "[%s] Kupiles +2 skoki", prefix);}case 13:{if(!sprawdz(id,50)) return PLUGIN_HANDLED;give_item(id, "weapon_shield")set_user_health(id, get_user_health(id) + 50)ColorChat(id, GREEN, "[%s] Kupiles Tarcze + 50 HP", prefix);}}return PLUGIN_CONTINUE;}public sprawdz(id,jbpack){if (ilosc_jbpack[id] >= jbpack){ilosc_jbpack[id] -= jbpackreturn true;}if(!is_user_alive(id)){ColorChat(id, GREEN, "[%s] Nie zyjesz", prefix);return false;}if(ilosc_jbpack[id] < jbpack){ColorChat(id, GREEN, "[%s] Nie masz tylu JB Packow, aby to kupic", prefix);return false;}return PLUGIN_CONTINUE;}public Poczatek_Rundy() {blokada = falsenew czynny_skle = get_cvar_float("jb_czas")set_task(czynny_skle, "Blokuj")}public Koniec_Rundy(){for(new i =1;i<33;i++){if(is_user_connected(i)){bhop_enabled[i] = falsemultijump[i] = falselom[i] = falseset_user_footsteps(i, 0)}}}public Blokuj(){blokada = true}public forward_FM_PlayerPreThink(id){if(bhop_enabled[id] == true){entity_set_float(id, EV_FL_fuser2, 0.0)if (entity_get_int(id, EV_INT_button) & 2){new flags = entity_get_int(id, EV_INT_flags)if (flags & FL_WATERJUMP)return PLUGIN_CONTINUEif ( entity_get_int(id, EV_INT_waterlevel) >= 2 )return PLUGIN_CONTINUEif ( !(flags & FL_ONGROUND) )return PLUGIN_CONTINUEnew Float:velocity[3]entity_get_vector(id, EV_VEC_velocity, velocity)velocity[2] += 250.0entity_set_vector(id, EV_VEC_velocity, velocity)entity_set_int(id, EV_INT_gaitsequence, 6)}}return PLUGIN_CONTINUE}public CmdStart(id, uc_handle){if(!multijump[id])return FMRES_IGNORED;new flags = pev(id, pev_flags);if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]){skoki[id]--;new Float:velocity[3];pev(id, pev_velocity,velocity);velocity[2] = random_float(265.0,285.0);set_pev(id, pev_velocity,velocity);}else if(flags & FL_ONGROUND)skoki[id] = 2;return FMRES_IGNORED;}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 FwdTakeDamage(victim, inflictor, attacker, Float:damage, damage_bits){if(!is_user_connected(attacker))return HAM_IGNORED;if(!lom[attacker])return HAM_IGNORED;if(get_user_weapon(attacker) == CSW_KNIFE){if(get_user_team(attacker) == 1){new headshot = read_data( 3 )if(headshot){SetHamParamFloat(4, 85.0);return HAM_IGNORED;}else{SetHamParamFloat(4, 50.0);return HAM_IGNORED;}}return HAM_IGNORED;}return HAM_IGNORED;}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 typ(id) {if(get_cvar_num("jb_zapis") == 1) {client_print(id, print_console, "Uzywasz obecnie zapisu SQL")}else{client_print(id, print_console, "Uzywasz obecnie zapisu nVault")}}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 jbpacki (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 jbpacki 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 jbpacki 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 jbpacki 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 jbpacki 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);}public godoff(id){}
Super wszystko fajnie, lecz:
- Gdy kupuje się Szybsze chodzenie, postać się buguje i nie może się ruszyć.
- Podwójne skoki nie działają
- Chciałbym że gdy kupuje łom + 20 HP zmieniał mu broń na łom z HL.
Prosiłbym o naprawę tego.
MyShoT4YoU
09.08.2014
Masz sprawdź ,najlepiej lokalnie kompiluj ale amxx.pl/kompilator też może być.
}
`YNRE.
10.08.2014
Masz sprawdź ,najlepiej lokalnie kompiluj ale amxx.pl/kompilator też może być.
Spoiler#include <amxmodx>#include <amxmisc>#include <sqlx>#include <colorchat>#include <hamsandwich>#include <fun>#include <cstrike>#include <engine>#include <fakemeta_util>#include <fakemeta>#include <nvault>#define PLUGIN "JBPacki"#define VERSION "1.0"#define AUTHOR "Zero"#define prefix "Sklep"#define FL_WATERJUMP (1<<11)#define FL_ONGROUND (1<<9)#define autobhopkeys (1<<0)|(1<<1)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 bool:bhop_enabled[33];new bool:blokadanew bool:multijump[33];new skoki[33];new lom[33];new jb_packi_nvnew msgtext;public plugin_init() {register_plugin(PLUGIN, VERSION, AUTHOR)register_forward(FM_CmdStart, "CmdStart");RegisterHam(Ham_TakeDamage, "player", "FwdTakeDamage");//--//--//--//--//--//--//--//--//--//--//--//--//--//--//pPcvarDBHost = register_cvar("db_host", "xx"); //ip bazy danychpPcvarDBUser = register_cvar("db_user", "zz"); //nazwa uzytkownikapPcvarDBPassword = register_cvar("db_pass", "cc"); //haslo do bazy danychpPcvarDBBase = register_cvar("db_database", "vv"); //nazwa bazy danych//--//--//--//--//--//--//--//--//--//--//--//--//--//--//register_clcmd("say /sklep", "jb_sklep")register_clcmd("say_team /sklep", "jb_sklep")register_cvar("jb_maxjp", "30" );register_cvar("jb_tt", "1" );register_cvar("jb_ct", "2" );register_cvar("jb_hs", "1" );register_cvar("jb_czas", "60");register_cvar("jb_zapis", "1"); //1 - nvault, 2 - sqlregister_cvar("jb_hud", "1"); //0 - off, 1 - status, 2 - hudif(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_logevent("Koniec_Rundy", 2, "1=Round_End")register_logevent("Poczatek_Rundy", 2, "1=Round_Start")register_event("ResetHUD","HUD", "b");register_concmd("jb_packgive", "cmd_give", ADMIN_IMMUNITY, "<nazwa> <ilosc>");register_clcmd("typ_zapisu", "typ");msgtext = get_user_msgid("StatusText");register_forward(FM_PlayerPreThink, "forward_FM_PlayerPreThink", 0)set_task(0.8, "HUD",0,"",0,"b");}public plugin_precache(){precache_model("models/JailBreak/v_lom.mdl");precache_model("models/JailBreak/p_lom.mdl");}public HUD(id) {for (new id=0; id < 32; id++) {if (!is_user_connected(id))continueif(is_user_alive(id)){new HUD[128];format(HUD, 127,"JBPacki: %i",ilosc_jbpack[id]);if(get_cvar_num("jb_hud") == 1){message_begin(MSG_ONE, 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 weaponname[20]new kid = read_data(1)new vid = read_data(2)new headshot = read_data(3)read_data(4,weaponname,31)if(kid == vid){return PLUGIN_HANDLED}if(get_user_team(kid) == 1){new maxjp = get_cvar_num("jb_maxjp")if(ilosc_jbpack[kid]<maxjp){if(get_user_team(vid) == 2){new pack_ct = get_cvar_num("jb_ct")ilosc_jbpack[kid] += pack_ctColorChat(kid, GREEN, "[%s] ^x01 Dostales ^x04+%i ^x01JB Packi", prefix, pack_ct);}else{new pack_tt = get_cvar_num("jb_tt")ilosc_jbpack[kid] += pack_ttColorChat(kid, GREEN, "[%s] ^x01 Dostales ^x04+%i ^x01JB Pack", prefix, pack_tt);}if(headshot){new pack_hs = get_cvar_num("jb_hs")ilosc_jbpack[kid] += pack_hsColorChat(kid, GREEN, "[%s] ^x01 Dostales bonus za headshot ^x04+%i ^x01JB Pack", prefix, pack_hs);}}else{ColorChat(kid, GREEN, "[%s] ^x01 Ilosc maksymalnej JB Packow osiagnieta!", prefix);return PLUGIN_CONTINUE}ColorChat(kid, GREEN, "[%s] ^x01 Twoja ilosc JB Packow to: ^x04%i/%i", prefix, ilosc_jbpack[kid], maxjp);if(get_cvar_num("jb_zapis") == 1) {sql_save(kid)}else{zapisz_jbpack(kid)}}return PLUGIN_CONTINUE}////----//////public jb_sklep(id){if(blokada == true){new czynny_sklep = get_cvar_num("jb_czas")ColorChat(id, GREEN, "[%s] Sklep jest czynny tylko %d sekund po rozpoczeciu rundy", prefix, czynny_sklep);return PLUGIN_HANDLED}new menu,formats[64];formatex(formats,charsmax(formats),"\wSklep JB^n\wIlosc JB Packow: \r%i",ilosc_jbpack[id])menu = menu_create(formats,"handle_jb_sklep");if(get_user_team(id) == 1){menu_additem(menu,"\wGranat dymny \r[\w2 JB Pack\r]","0")menu_additem(menu,"\wGranat oslepiajacy \r[\w7 JB Packow\r]","1")menu_additem(menu,"\wGranat wybuchajacy \r[\w10 JB Packow\r]","2")menu_additem(menu,"\wKamizelka \r[\w8 JB Packow\r]","3")menu_additem(menu,"\wAutoBH na jedna runde \r[\w15 JB Packow\r]","4")menu_additem(menu,"\w+20 HP \r[\w3 JB Packi\r]","5")menu_additem(menu,"\wCiche Chodzenie na jedna runde \r[\w10 JB Packow\r]","6")menu_additem(menu,"\w Mniejsza Gravitacja na jedna runde \r[\w5 JB Packow\r]","7")menu_additem(menu,"\wNie smiertelnosc na 10 sekund \r[\w100 JB Packow\r]","8")menu_additem(menu,"\w-50% Widocznosci \r[\w35 JB Packow\r]","9")menu_additem(menu,"\wLom, + DmG \r[\w40 JB Packow\r]","10")menu_additem(menu,"\wSzybkosc = 650 \r[\w8 JB Packow\r]","11")menu_additem(menu,"\w+2 skoki \r[\w15 JB Packow\r]","12")menu_additem(menu,"\wTarcza + 50 HP \r[\w50 JB Packow\r]","13")}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_jb_sklep(id, menu, item){switch(item){case 0:{if(!sprawdz(id,2)) return PLUGIN_HANDLED;give_item(id, "weapon_smokegrenade");ColorChat(id, GREEN, "[%s] Kupiles granat dymny", prefix);}case 1:{if(!sprawdz(id,7)) return PLUGIN_HANDLED;give_item(id, "weapon_flashbang");ColorChat(id, GREEN, "[%s] Kupiles granat oslepiajacy", prefix);}case 2:{if(!sprawdz(id,10)) return PLUGIN_HANDLED;give_item(id, "weapon_hegrenade");ColorChat(id, GREEN, "[%s] Kupiles granat wybuchowy", prefix);}case 3:{if(!sprawdz(id,8)) return PLUGIN_HANDLED;give_item(id, "item_kevlar")give_item(id, "item_assaultsuit")ColorChat(id, GREEN, "[%s] Kupiles kamizelke", prefix);}/*case 4:{if(!sprawdz(id,10)) return PLUGIN_HANDLED;give_item(id, "weapon_glock18")new weapon_id = find_ent_by_owner(-1, "weapon_glock18", id);if(weapon_id){cs_set_weapon_ammo(weapon_id, 4);}ColorChat(id, GREEN, "[%s] Kupiles glocka", prefix);}*/case 4:{if(!sprawdz(id,15)) return PLUGIN_HANDLED;bhop_enabled[id] = trueColorChat(id, GREEN, "[%s] Kupiles AutoBH na jedna runde", prefix);}case 5:{if(!sprawdz(id,3)) return PLUGIN_HANDLED;set_user_health(id, get_user_health(id) + 20)ColorChat(id, GREEN, "[%s] Kupiles +20hp", prefix);}case 6:{if(!sprawdz(id,10)) return PLUGIN_HANDLED;set_user_footsteps(id, 1)ColorChat(id, GREEN, "[%s] Kupiles ciche chodzenie na jedna runde", prefix);}case 7:{if(!sprawdz(id,5)) return PLUGIN_HANDLED;set_user_gravity(id, 0.3)ColorChat(id, GREEN, "[%s] Kupiles mała Gravitacje", prefix);}case 8:{if(!sprawdz(id,100)) return PLUGIN_HANDLED;set_user_godmode(id, 1)set_task(10.0, "godoff", id)ColorChat(id, GREEN, "[%s] Kupiles nie smiertelnosc na 10 sekund", prefix);}case 9:{if(!sprawdz(id,35)) return PLUGIN_HANDLED;set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 70);ColorChat(id, GREEN, "[%s] Kupiles Spadek Nie widki do 50%", prefix);}case 10:{if(!sprawdz(id,40)) return PLUGIN_HANDLED;lom[id] = trueset_pev(id, pev_viewmodel2, "models/JailBreak/v_lom.mdl");set_pev(id, pev_weaponmodel2, "models/JailBreak/p_lom.mdl");ColorChat(id, GREEN, "[%s] Kupiles Loma z Duzym DmG", prefix);}case 11:{if(!sprawdz(id,8)) return PLUGIN_HANDLED;set_user_maxspeed(id, 700)ColorChat(id, GREEN, "[%s] Kupiles Szybkosc", prefix);}case 12:{if(!sprawdz(id,15)) return PLUGIN_HANDLED;multijump[id] = trueColorChat(id, GREEN, "[%s] Kupiles +2 skoki", prefix);}case 13:{if(!sprawdz(id,50)) return PLUGIN_HANDLED;give_item(id, "weapon_shield")set_user_health(id, get_user_health(id) + 50)ColorChat(id, GREEN, "[%s] Kupiles Tarcze + 50 HP", prefix);}}return PLUGIN_CONTINUE;}public sprawdz(id,jbpack){if (ilosc_jbpack[id] >= jbpack){ilosc_jbpack[id] -= jbpackreturn true;}if(!is_user_alive(id)){ColorChat(id, GREEN, "[%s] Nie zyjesz", prefix);return false;}if(ilosc_jbpack[id] < jbpack){ColorChat(id, GREEN, "[%s] Nie masz tylu JB Packow, aby to kupic", prefix);return false;}return PLUGIN_CONTINUE;}public Poczatek_Rundy() {blokada = falsenew czynny_skle = get_cvar_float("jb_czas")set_task(czynny_skle, "Blokuj")}public Koniec_Rundy(){for(new i =1;i<33;i++){if(is_user_connected(i)){bhop_enabled[i] = falsemultijump[i] = falselom[i] = falseset_user_footsteps(i, 0)set_user_maxspeed(i, 500)}}}public Blokuj(){blokada = true}public forward_FM_PlayerPreThink(id){if(bhop_enabled[id] == true){entity_set_float(id, EV_FL_fuser2, 0.0)if (entity_get_int(id, EV_INT_button) & 2){new flags = entity_get_int(id, EV_INT_flags)if (flags & FL_WATERJUMP)return PLUGIN_CONTINUEif ( entity_get_int(id, EV_INT_waterlevel) >= 2 )return PLUGIN_CONTINUEif ( !(flags & FL_ONGROUND) )return PLUGIN_CONTINUEnew Float:velocity[3]entity_get_vector(id, EV_VEC_velocity, velocity)velocity[2] += 250.0entity_set_vector(id, EV_VEC_velocity, velocity)entity_set_int(id, EV_INT_gaitsequence, 6)}}return PLUGIN_CONTINUE}public CmdStart(id, uc_handle){if(!multijump[id])return FMRES_IGNORED;new flags = pev(id, pev_flags);if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]){skoki[id]--;new Float:velocity[3];pev(id, pev_velocity,velocity);velocity[2] = random_float(265.0,285.0);set_pev(id, pev_velocity,velocity);}else if(flags & FL_ONGROUND)skoki[id] = 2;return FMRES_IGNORED;}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 FwdTakeDamage(victim, inflictor, attacker, Float:damage, damage_bits){if(!is_user_connected(attacker))return HAM_IGNORED;if(!lom[attacker])return HAM_IGNORED;if(get_user_weapon(attacker) == CSW_KNIFE){if(get_user_team(attacker) == 1){new headshot = read_data( 3 )if(headshot){SetHamParamFloat(4, 85.0);return HAM_IGNORED;}else{SetHamParamFloat(4, 50.0);return HAM_IGNORED;}}return HAM_IGNORED;}return HAM_IGNORED;}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 typ(id) {if(get_cvar_num("jb_zapis") == 1) {client_print(id, print_console, "Uzywasz obecnie zapisu SQL")}else{client_print(id, print_console, "Uzywasz obecnie zapisu nVault")}}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 jbpacki (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 jbpacki 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 jbpacki 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 jbpacki 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 jbpacki 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);}public godoff(id){}
Wszystko już jest ok, oprócz tego szybszego chodzenia. Zwalnia i zatrzymuje i nie da się ruszyć, ale daje + ![]()
Prosiłbym o jego naprawę.
Użytkownik `YNRE. edytował ten post 10.08.2014 19:10
MyShoT4YoU
10.08.2014
Poczekaj może bieganie ustawie też na new bieg i będzie dobrze
lub zapomniałem o 1 rzeczy dodać public ale dam jeszcze 2 wersje , już się biorę za to..
MyShoT4YoU
10.08.2014
Ten musi działać
}
P.S piszę tu ,ponieważ nie mogę edytować górnego posta
Użytkownik MyShoT4YoU edytował ten post 10.08.2014 19:48
^Technik^
10.08.2014
Będzie działać ale nieśmiertelność się nie wyłączy ![]()
Poprawka:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "JBPacki"
#define VERSION "1.0"
#define AUTHOR "Zero"
#define prefix "Sklep"
#define FL_WATERJUMP (1<<11)
#define FL_ONGROUND (1<<9)
#define autobhopkeys (1<<0)|(1<<1)
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 bool:bhop_enabled[33];
new bool:blokada
new bool:multijump[33];
new skoki[33];
new lom[33];
new speed[33];
new jb_packi_nv
new msgtext;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_CmdStart, "CmdStart");
RegisterHam(Ham_TakeDamage, "player", "FwdTakeDamage");
register_event( "CurWeapon", "Event_Change_Weapon", "be", "1=1" );
RegisterHam(Ham_Spawn, "player", "Fwd_PlayerSpawn_Post", 1)
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
pPcvarDBHost = register_cvar("db_host", "xx"); //ip bazy danych
pPcvarDBUser = register_cvar("db_user", "zz"); //nazwa uzytkownika
pPcvarDBPassword = register_cvar("db_pass", "cc"); //haslo do bazy danych
pPcvarDBBase = register_cvar("db_database", "vv"); //nazwa bazy danych
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
register_clcmd("say /sklep", "jb_sklep")
register_clcmd("say_team /sklep", "jb_sklep")
register_cvar("jb_maxjp", "30" );
register_cvar("jb_tt", "1" );
register_cvar("jb_ct", "2" );
register_cvar("jb_hs", "1" );
register_cvar("jb_czas", "60");
register_cvar("jb_zapis", "1"); //1 - nvault, 2 - sql
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_logevent("Koniec_Rundy", 2, "1=Round_End")
register_logevent("Poczatek_Rundy", 2, "1=Round_Start")
register_event("ResetHUD","HUD", "b");
register_concmd("jb_packgive", "cmd_give", ADMIN_IMMUNITY, "");
register_clcmd("typ_zapisu", "typ");
msgtext = get_user_msgid("StatusText");
register_forward(FM_PlayerPreThink, "forward_FM_PlayerPreThink", 0)
set_task(0.8, "HUD",0,"",0,"b");
}
public plugin_precache()
{
precache_model("models/JailBreak/v_lom.mdl");
precache_model("models/JailBreak/p_lom.mdl");
}
public HUD(id) {
for (new id=0; id < 32; id++) {
if (!is_user_connected(id))
continue
if(is_user_alive(id)){
new HUD[128];
format(HUD, 127,"JBPacki: %i",ilosc_jbpack[id]);
if(get_cvar_num("jb_hud") == 1){
message_begin(MSG_ONE, 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 weaponname[20]
new kid = read_data(1)
new vid = read_data(2)
new headshot = read_data(3)
read_data(4,weaponname,31)
if(kid == vid)
{
return PLUGIN_HANDLED
}
if(get_user_team(kid) == 1)
{
new maxjp = get_cvar_num("jb_maxjp")
if(ilosc_jbpack[kid]{
if(get_user_team(vid) == 2)
{
new pack_ct = get_cvar_num("jb_ct")
ilosc_jbpack[kid] += pack_ct
ColorChat(kid, GREEN, "[%s] ^x01 Dostales ^x04+%i ^x01JB Packi", prefix, pack_ct);
}
else
{
new pack_tt = get_cvar_num("jb_tt")
ilosc_jbpack[kid] += pack_tt
ColorChat(kid, GREEN, "[%s] ^x01 Dostales ^x04+%i ^x01JB Pack", prefix, pack_tt);
}
if(headshot)
{
new pack_hs = get_cvar_num("jb_hs")
ilosc_jbpack[kid] += pack_hs
ColorChat(kid, GREEN, "[%s] ^x01 Dostales bonus za headshot ^x04+%i ^x01JB Pack", prefix, pack_hs);
}
}
else
{
ColorChat(kid, GREEN, "[%s] ^x01 Ilosc maksymalnej JB Packow osiagnieta!", prefix);
return PLUGIN_CONTINUE
}
ColorChat(kid, GREEN, "[%s] ^x01 Twoja ilosc JB Packow to: ^x04%i/%i", prefix, ilosc_jbpack[kid], maxjp);
if(get_cvar_num("jb_zapis") == 1) {
sql_save(kid)
}
else
{
zapisz_jbpack(kid)
}
}
return PLUGIN_CONTINUE
}
////----//////
public jb_sklep(id)
{
if(blokada == true){
new czynny_sklep = get_cvar_num("jb_czas")
ColorChat(id, GREEN, "[%s] Sklep jest czynny tylko %d sekund po rozpoczeciu rundy", prefix, czynny_sklep);
return PLUGIN_HANDLED
}
new menu,formats[64];
formatex(formats,charsmax(formats),"\wSklep JB^n\wIlosc JB Packow: \r%i",ilosc_jbpack[id])
menu = menu_create(formats,"handle_jb_sklep");
if(get_user_team(id) == 1)
{
menu_additem(menu,"\wGranat dymny \r[\w2 JB Pack\r]","0")
menu_additem(menu,"\wGranat oslepiajacy \r[\w7 JB Packow\r]","1")
menu_additem(menu,"\wGranat wybuchajacy \r[\w10 JB Packow\r]","2")
menu_additem(menu,"\wKamizelka \r[\w8 JB Packow\r]","3")
menu_additem(menu,"\wAutoBH na jedna runde \r[\w15 JB Packow\r]","4")
menu_additem(menu,"\w+20 HP \r[\w3 JB Packi\r]","5")
menu_additem(menu,"\wCiche Chodzenie na jedna runde \r[\w10 JB Packow\r]","6")
menu_additem(menu,"\w Mniejsza Gravitacja na jedna runde \r[\w5 JB Packow\r]","7")
menu_additem(menu,"\wNie smiertelnosc na 10 sekund \r[\w100 JB Packow\r]","8")
menu_additem(menu,"\w-50% Widocznosci \r[\w35 JB Packow\r]","9")
menu_additem(menu,"\wLom, + DmG \r[\w40 JB Packow\r]","10")
menu_additem(menu,"\wSzybkosc = 650 \r[\w8 JB Packow\r]","11")
menu_additem(menu,"\w+2 skoki \r[\w15 JB Packow\r]","12")
menu_additem(menu,"\wTarcza + 50 HP \r[\w50 JB Packow\r]","13")
}
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_jb_sklep(id, menu, item)
{
switch(item)
{
case 0:
{
if(!sprawdz(id,2)) return PLUGIN_HANDLED;
give_item(id, "weapon_smokegrenade");
ColorChat(id, GREEN, "[%s] Kupiles granat dymny", prefix);
}
case 1:
{
if(!sprawdz(id,7)) return PLUGIN_HANDLED;
give_item(id, "weapon_flashbang");
ColorChat(id, GREEN, "[%s] Kupiles granat oslepiajacy", prefix);
}
case 2:
{
if(!sprawdz(id,10)) return PLUGIN_HANDLED;
give_item(id, "weapon_hegrenade");
ColorChat(id, GREEN, "[%s] Kupiles granat wybuchowy", prefix);
}
case 3:
{
if(!sprawdz(id,8)) return PLUGIN_HANDLED;
give_item(id, "item_kevlar")
give_item(id, "item_assaultsuit")
ColorChat(id, GREEN, "[%s] Kupiles kamizelke", prefix);
}
/*case 4:
{
if(!sprawdz(id,10)) return PLUGIN_HANDLED;
give_item(id, "weapon_glock18")
new weapon_id = find_ent_by_owner(-1, "weapon_glock18", id);
if(weapon_id)
{
cs_set_weapon_ammo(weapon_id, 4);
}
ColorChat(id, GREEN, "[%s] Kupiles glocka", prefix);
}*/
case 4:
{
if(!sprawdz(id,15)) return PLUGIN_HANDLED;
bhop_enabled[id] = true
ColorChat(id, GREEN, "[%s] Kupiles AutoBH na jedna runde", prefix);
}
case 5:
{
if(!sprawdz(id,3)) return PLUGIN_HANDLED;
set_user_health(id, get_user_health(id) + 20)
ColorChat(id, GREEN, "[%s] Kupiles +20hp", prefix);
}
case 6:
{
if(!sprawdz(id,10)) return PLUGIN_HANDLED;
set_user_footsteps(id, 1)
ColorChat(id, GREEN, "[%s] Kupiles ciche chodzenie na jedna runde", prefix);
}
case 7:
{
if(!sprawdz(id,5)) return PLUGIN_HANDLED;
set_user_gravity(id, 0.3)
ColorChat(id, GREEN, "[%s] Kupiles mała Gravitacje", prefix);
}
case 8:
{
if(!sprawdz(id,100)) return PLUGIN_HANDLED;
set_user_godmode(id, 1)
set_task(10.0, "godoff", id)
ColorChat(id, GREEN, "[%s] Kupiles nie smiertelnosc na 10 sekund", prefix);
}
case 9:
{
if(!sprawdz(id,35)) return PLUGIN_HANDLED;
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 70);
ColorChat(id, GREEN, "[%s] Kupiles Spadek Nie widki do 50%", prefix);
}
case 10:
{
if(!sprawdz(id,40)) return PLUGIN_HANDLED;
lom[id] = true
set_pev(id, pev_viewmodel2, "models/JailBreak/v_lom.mdl");
set_pev(id, pev_weaponmodel2, "models/JailBreak/p_lom.mdl");
ColorChat(id, GREEN, "[%s] Kupiles Loma z Duzym DmG", prefix);
}
case 11:
{
if(!sprawdz(id,8)) return PLUGIN_HANDLED;
set_user_maxspeed(id, 750)
speed[id] = 1;
ColorChat(id, GREEN, "[%s] Kupiles Szybkosc", prefix);
}
case 12:
{
if(!sprawdz(id,15)) return PLUGIN_HANDLED;
multijump[id] = true
ColorChat(id, GREEN, "[%s] Kupiles +2 skoki", prefix);
}
case 13:
{
if(!sprawdz(id,50)) return PLUGIN_HANDLED;
give_item(id, "weapon_shield")
set_user_health(id, get_user_health(id) + 50)
ColorChat(id, GREEN, "[%s] Kupiles Tarcze + 50 HP", prefix);
}
}
return PLUGIN_CONTINUE;
}
public sprawdz(id,jbpack){
if (ilosc_jbpack[id] >= jbpack){
ilosc_jbpack[id] -= jbpack
return true;
}
if(!is_user_alive(id)){
ColorChat(id, GREEN, "[%s] Nie zyjesz", prefix);
return false;
}
if(ilosc_jbpack[id] < jbpack)
{
ColorChat(id, GREEN, "[%s] Nie masz tylu JB Packow, aby to kupic", prefix);
return false;
}
return PLUGIN_CONTINUE;
}
public Poczatek_Rundy() {
blokada = false
new czynny_skle = get_cvar_float("jb_czas")
set_task(czynny_skle, "Blokuj")
}
public Koniec_Rundy(){
for(new i =1;i<33;i++){
if(is_user_connected(i))
{
bhop_enabled[i] = false
multijump[i] = false
lom[i] = false
set_user_footsteps(i, 0)
set_user_maxspeed(i, 250)
}
}
}
public Blokuj(){
blokada = true
}
public forward_FM_PlayerPreThink(id)
{
if(bhop_enabled[id] == true)
{
entity_set_float(id, EV_FL_fuser2, 0.0)
if (entity_get_int(id, EV_INT_button) & 2)
{
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return PLUGIN_CONTINUE
if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
return PLUGIN_CONTINUE
if ( !(flags & FL_ONGROUND) )
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
}
return PLUGIN_CONTINUE
}
public CmdStart(id, uc_handle)
{
if(!multijump[id])
return FMRES_IGNORED;
new flags = pev(id, pev_flags);
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 2;
return FMRES_IGNORED;
}
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 FwdTakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)
{
if(!is_user_connected(attacker))
return HAM_IGNORED;
if(!lom[attacker])
return HAM_IGNORED;
if(get_user_weapon(attacker) == CSW_KNIFE)
{
if(get_user_team(attacker) == 1)
{
new headshot = read_data( 3 )
if(headshot)
{
SetHamParamFloat(4, 85.0);
return HAM_IGNORED;
}
else
{
SetHamParamFloat(4, 50.0);
return HAM_IGNORED;
}
}
return HAM_IGNORED;
}
return HAM_IGNORED;
}
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 typ(id) {
if(get_cvar_num("jb_zapis") == 1) {
client_print(id, print_console, "Uzywasz obecnie zapisu SQL")
}
else
{
client_print(id, print_console, "Uzywasz obecnie zapisu nVault")
}
}
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 jbpacki (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 jbpacki 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 jbpacki 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 jbpacki 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 jbpacki 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);
}
public Event_Change_Weapon(id){
if(speed[id] == 1){
set_user_maxspeed(id, 500.0)
}
}
public Fwd_PlayerSpawn_Post(id){
if (is_user_alive(id)){
if(!speed[id]){
speed[id] = 0;
}
}
})
Użytkownik ^Technik^ edytował ten post 10.08.2014 20:05
MyShoT4YoU
10.08.2014
Moj błąd nie dodałem
pod public good
`YNRE.
25.11.2014
Będzie działać ale nieśmiertelność się nie wyłączy
Poprawka:
Spoiler#include <amxmodx>
#include <amxmisc>
#include <sqlx>#include <colorchat>#include <hamsandwich>#include <fun>#include <cstrike>#include <engine>#include <fakemeta_util>#include <fakemeta>#include <nvault>#define PLUGIN "JBPacki"
#define VERSION "1.0"
#define AUTHOR "Zero"
#define prefix "Sklep"
#define FL_WATERJUMP (1<<11)
#define FL_ONGROUND (1<<9)
#define autobhopkeys (1<<0)|(1<<1)
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 bool:bhop_enabled[33];
new bool:blokada
new bool:multijump[33];
new skoki[33];
new lom[33];
new speed[33];
new jb_packi_nv
new msgtext;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_CmdStart, "CmdStart");
RegisterHam(Ham_TakeDamage, "player", "FwdTakeDamage");
register_event( "CurWeapon", "Event_Change_Weapon", "be", "1=1" );
RegisterHam(Ham_Spawn, "player", "Fwd_PlayerSpawn_Post", 1)
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
pPcvarDBHost = register_cvar("db_host", "xx"); //ip bazy danych
pPcvarDBUser = register_cvar("db_user", "zz"); //nazwa uzytkownika
pPcvarDBPassword = register_cvar("db_pass", "cc"); //haslo do bazy danych
pPcvarDBBase = register_cvar("db_database", "vv"); //nazwa bazy danych
//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
register_clcmd("say /sklep", "jb_sklep")
register_clcmd("say_team /sklep", "jb_sklep")
register_cvar("jb_maxjp", "30" );
register_cvar("jb_tt", "1" );
register_cvar("jb_ct", "2" );
register_cvar("jb_hs", "1" );
register_cvar("jb_czas", "60");
register_cvar("jb_zapis", "1"); //1 - nvault, 2 - sql
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_logevent("Koniec_Rundy", 2, "1=Round_End")
register_logevent("Poczatek_Rundy", 2, "1=Round_Start")
register_event("ResetHUD","HUD", "b");
register_concmd("jb_packgive", "cmd_give", ADMIN_IMMUNITY, "");
register_clcmd("typ_zapisu", "typ");
msgtext = get_user_msgid("StatusText");
register_forward(FM_PlayerPreThink, "forward_FM_PlayerPreThink", 0)
set_task(0.8, "HUD",0,"",0,"b");
}
public plugin_precache()
{
precache_model("models/JailBreak/v_lom.mdl");
precache_model("models/JailBreak/p_lom.mdl");
}
public HUD(id) {
for (new id=0; id < 32; id++) {
if (!is_user_connected(id))
continue
if(is_user_alive(id)){
new HUD[128];
format(HUD, 127,"JBPacki: %i",ilosc_jbpack[id]);
if(get_cvar_num("jb_hud") == 1){
message_begin(MSG_ONE, 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 weaponname[20]
new kid = read_data(1)
new vid = read_data(2)
new headshot = read_data(3)
read_data(4,weaponname,31)
if(kid == vid)
{
return PLUGIN_HANDLED
}
if(get_user_team(kid) == 1)
{
new maxjp = get_cvar_num("jb_maxjp")
if(ilosc_jbpack[kid]{
if(get_user_team(vid) == 2)
{
new pack_ct = get_cvar_num("jb_ct")
ilosc_jbpack[kid] += pack_ct
ColorChat(kid, GREEN, "[%s] ^x01 Dostales ^x04+%i ^x01JB Packi", prefix, pack_ct);
}
else
{
new pack_tt = get_cvar_num("jb_tt")
ilosc_jbpack[kid] += pack_tt
ColorChat(kid, GREEN, "[%s] ^x01 Dostales ^x04+%i ^x01JB Pack", prefix, pack_tt);
}
if(headshot)
{
new pack_hs = get_cvar_num("jb_hs")
ilosc_jbpack[kid] += pack_hs
ColorChat(kid, GREEN, "[%s] ^x01 Dostales bonus za headshot ^x04+%i ^x01JB Pack", prefix, pack_hs);
}
}
else
{
ColorChat(kid, GREEN, "[%s] ^x01 Ilosc maksymalnej JB Packow osiagnieta!", prefix);
return PLUGIN_CONTINUE
}
ColorChat(kid, GREEN, "[%s] ^x01 Twoja ilosc JB Packow to: ^x04%i/%i", prefix, ilosc_jbpack[kid], maxjp);
if(get_cvar_num("jb_zapis") == 1) {
sql_save(kid)
}
else
{
zapisz_jbpack(kid)
}
}
return PLUGIN_CONTINUE
}
////----//////
public jb_sklep(id)
{
if(blokada == true){
new czynny_sklep = get_cvar_num("jb_czas")
ColorChat(id, GREEN, "[%s] Sklep jest czynny tylko %d sekund po rozpoczeciu rundy", prefix, czynny_sklep);
return PLUGIN_HANDLED
}
new menu,formats[64];
formatex(formats,charsmax(formats),"\wSklep JB^n\wIlosc JB Packow: \r%i",ilosc_jbpack[id])
menu = menu_create(formats,"handle_jb_sklep");
if(get_user_team(id) == 1)
{
menu_additem(menu,"\wGranat dymny \r[\w2 JB Pack\r]","0")
menu_additem(menu,"\wGranat oslepiajacy \r[\w7 JB Packow\r]","1")
menu_additem(menu,"\wGranat wybuchajacy \r[\w10 JB Packow\r]","2")
menu_additem(menu,"\wKamizelka \r[\w8 JB Packow\r]","3")
menu_additem(menu,"\wAutoBH na jedna runde \r[\w15 JB Packow\r]","4")
menu_additem(menu,"\w+20 HP \r[\w3 JB Packi\r]","5")
menu_additem(menu,"\wCiche Chodzenie na jedna runde \r[\w10 JB Packow\r]","6")
menu_additem(menu,"\w Mniejsza Gravitacja na jedna runde \r[\w5 JB Packow\r]","7")
menu_additem(menu,"\wNie smiertelnosc na 10 sekund \r[\w100 JB Packow\r]","8")
menu_additem(menu,"\w-50% Widocznosci \r[\w35 JB Packow\r]","9")
menu_additem(menu,"\wLom, + DmG \r[\w40 JB Packow\r]","10")
menu_additem(menu,"\wSzybkosc = 650 \r[\w8 JB Packow\r]","11")
menu_additem(menu,"\w+2 skoki \r[\w15 JB Packow\r]","12")
menu_additem(menu,"\wTarcza + 50 HP \r[\w50 JB Packow\r]","13")
}
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_jb_sklep(id, menu, item)
{
switch(item)
{
case 0:
{
if(!sprawdz(id,2)) return PLUGIN_HANDLED;
give_item(id, "weapon_smokegrenade");
ColorChat(id, GREEN, "[%s] Kupiles granat dymny", prefix);
}
case 1:
{
if(!sprawdz(id,7)) return PLUGIN_HANDLED;
give_item(id, "weapon_flashbang");
ColorChat(id, GREEN, "[%s] Kupiles granat oslepiajacy", prefix);
}
case 2:
{
if(!sprawdz(id,10)) return PLUGIN_HANDLED;
give_item(id, "weapon_hegrenade");
ColorChat(id, GREEN, "[%s] Kupiles granat wybuchowy", prefix);
}
case 3:
{
if(!sprawdz(id,8)) return PLUGIN_HANDLED;
give_item(id, "item_kevlar")
give_item(id, "item_assaultsuit")
ColorChat(id, GREEN, "[%s] Kupiles kamizelke", prefix);
}
/*case 4:
{
if(!sprawdz(id,10)) return PLUGIN_HANDLED;
give_item(id, "weapon_glock18")
new weapon_id = find_ent_by_owner(-1, "weapon_glock18", id);
if(weapon_id)
{
cs_set_weapon_ammo(weapon_id, 4);
}
ColorChat(id, GREEN, "[%s] Kupiles glocka", prefix);
}*/
case 4:
{
if(!sprawdz(id,15)) return PLUGIN_HANDLED;
bhop_enabled[id] = true
ColorChat(id, GREEN, "[%s] Kupiles AutoBH na jedna runde", prefix);
}
case 5:
{
if(!sprawdz(id,3)) return PLUGIN_HANDLED;
set_user_health(id, get_user_health(id) + 20)
ColorChat(id, GREEN, "[%s] Kupiles +20hp", prefix);
}
case 6:
{
if(!sprawdz(id,10)) return PLUGIN_HANDLED;
set_user_footsteps(id, 1)
ColorChat(id, GREEN, "[%s] Kupiles ciche chodzenie na jedna runde", prefix);
}
case 7:
{
if(!sprawdz(id,5)) return PLUGIN_HANDLED;
set_user_gravity(id, 0.3)
ColorChat(id, GREEN, "[%s] Kupiles mała Gravitacje", prefix);
}
case 8:
{
if(!sprawdz(id,100)) return PLUGIN_HANDLED;
set_user_godmode(id, 1)
set_task(10.0, "godoff", id)
ColorChat(id, GREEN, "[%s] Kupiles nie smiertelnosc na 10 sekund", prefix);
}
case 9:
{
if(!sprawdz(id,35)) return PLUGIN_HANDLED;
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 70);
ColorChat(id, GREEN, "[%s] Kupiles Spadek Nie widki do 50%", prefix);
}
case 10:
{
if(!sprawdz(id,40)) return PLUGIN_HANDLED;
lom[id] = true
set_pev(id, pev_viewmodel2, "models/JailBreak/v_lom.mdl");
set_pev(id, pev_weaponmodel2, "models/JailBreak/p_lom.mdl");
ColorChat(id, GREEN, "[%s] Kupiles Loma z Duzym DmG", prefix);
}
case 11:
{
if(!sprawdz(id,8)) return PLUGIN_HANDLED;
set_user_maxspeed(id, 750)
speed[id] = 1;
ColorChat(id, GREEN, "[%s] Kupiles Szybkosc", prefix);
}
case 12:
{
if(!sprawdz(id,15)) return PLUGIN_HANDLED;
multijump[id] = true
ColorChat(id, GREEN, "[%s] Kupiles +2 skoki", prefix);
}
case 13:
{
if(!sprawdz(id,50)) return PLUGIN_HANDLED;
give_item(id, "weapon_shield")
set_user_health(id, get_user_health(id) + 50)
ColorChat(id, GREEN, "[%s] Kupiles Tarcze + 50 HP", prefix);
}
}
return PLUGIN_CONTINUE;
}
public sprawdz(id,jbpack){
if (ilosc_jbpack[id] >= jbpack){
ilosc_jbpack[id] -= jbpack
return true;
}
if(!is_user_alive(id)){
ColorChat(id, GREEN, "[%s] Nie zyjesz", prefix);
return false;
}
if(ilosc_jbpack[id] < jbpack)
{
ColorChat(id, GREEN, "[%s] Nie masz tylu JB Packow, aby to kupic", prefix);
return false;
}
return PLUGIN_CONTINUE;
}
public Poczatek_Rundy() {
blokada = false
new czynny_skle = get_cvar_float("jb_czas")
set_task(czynny_skle, "Blokuj")
}
public Koniec_Rundy(){
for(new i =1;i<33;i++){
if(is_user_connected(i))
{
bhop_enabled[i] = false
multijump[i] = false
lom[i] = false
set_user_footsteps(i, 0)
set_user_maxspeed(i, 250)
}
}
}
public Blokuj(){
blokada = true
}
public forward_FM_PlayerPreThink(id)
{
if(bhop_enabled[id] == true)
{
entity_set_float(id, EV_FL_fuser2, 0.0)
if (entity_get_int(id, EV_INT_button) & 2)
{
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return PLUGIN_CONTINUE
if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
return PLUGIN_CONTINUE
if ( !(flags & FL_ONGROUND) )
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
}
return PLUGIN_CONTINUE
}
public CmdStart(id, uc_handle)
{
if(!multijump[id])
return FMRES_IGNORED;
new flags = pev(id, pev_flags);
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 2;
return FMRES_IGNORED;
}
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 FwdTakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)
{
if(!is_user_connected(attacker))
return HAM_IGNORED;
if(!lom[attacker])
return HAM_IGNORED;
if(get_user_weapon(attacker) == CSW_KNIFE)
{
if(get_user_team(attacker) == 1)
{
new headshot = read_data( 3 )
if(headshot)
{
SetHamParamFloat(4, 85.0);
return HAM_IGNORED;
}
else
{
SetHamParamFloat(4, 50.0);
return HAM_IGNORED;
}
}
return HAM_IGNORED;
}
return HAM_IGNORED;
}
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 typ(id) {
if(get_cvar_num("jb_zapis") == 1) {
client_print(id, print_console, "Uzywasz obecnie zapisu SQL")
}
else
{
client_print(id, print_console, "Uzywasz obecnie zapisu nVault")
}
}
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 jbpacki (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 jbpacki 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 jbpacki 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 jbpacki 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 jbpacki 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);
}
public Event_Change_Weapon(id){
if(speed[id] == 1){
set_user_maxspeed(id, 500.0)
}
}
public Fwd_PlayerSpawn_Post(id){
if (is_user_alive(id)){
if(!speed[id]){
speed[id] = 0;
}
}
})public godoff(id){set_user_godmode(id, 0)}
Moj błąd nie dodałem
pod public good
set_user_godmode(id, 0)Dzięki technik
Problem w tym, że nie idzie skompilować.




