Robię sklep lecz po wejściu do niego i wybraniu przedmiotu, wyświetla się napis, że kupiłem itd.. lecz nie działa efekt czyli np. większe obrażenia czy brak rozrzutu.
Wyłączyłem inne pluginy, które mogłyby to blokować i nadal tak jest.
#include <amxmodx> #include <amxmisc> #include <colorchat> #include <fakemeta> #include <xs> #include <hamsandwich> #define PLUGIN "Sklep" #define VERSION "1.0" #define AUTHOR "rst" #define DMG_BULLET (1<<1) new sklepmenu; new bool:dmg[33]; new bool:norecoil[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /sklep", "SklepMenu"); RegisterHam(Ham_TakeDamage, "player", "TakeDamage") register_logevent("Koniec_Rundy", 2, "1=Round_End") } public Koniec_Rundy() { for(new i =1;i<33;i++) { if(is_user_connected(i)) { dmg[i] = false norecoil[i] = false } } } public SklepMenu(id) { sklepmenu = menu_create("Sklep", "SklepMenuHNDL"); menu_additem(sklepmenu, "\w[CT] \yKrwiste naboje"); menu_additem(sklepmenu, "\w[CT] \yBrak rozrzutu"); menu_additem(sklepmenu, "x"); menu_additem(sklepmenu, "x"); menu_additem(sklepmenu, "x"); menu_additem(sklepmenu, "x"); menu_additem(sklepmenu, "x"); menu_setprop(sklepmenu, MPROP_EXITNAME, "Wyjscie"); menu_display(id, sklepmenu); return PLUGIN_HANDLED; } public SklepMenuHNDL(id, menu, item) { if(item == MENU_EXIT) { return PLUGIN_HANDLED; } switch(item) { case 0: { if(get_user_team(id) == 2) { dmg[id] = true; ColorChat(id, GREEN, "[Sklep]^x01 Kupiles^x03 krwiste naboje"); } else { ColorChat(id, GREEN, "[Sklep]^x01 Ten przedmiot jest tylko dla^x03 ct"); } } case 1: { if(get_user_team(id) == 2) { norecoil[id] = true; ColorChat(id, GREEN, "[Sklep]^x01 Kupiles^x03 brak rozrzutu"); } else { ColorChat(id, GREEN, "[Sklep]^x01 Ten przedmiot jest tylko dla^x03 ct"); } } case 2: { ColorChat(id, GREEN, "[Sklep]^x01 "); } case 3: { ColorChat(id, GREEN, "[Sklep]^x01 "); } case 4: { ColorChat(id, GREEN, "[Sklep]^x01 "); } case 5: { ColorChat(id, GREEN, "[Sklep]^x01 "); } case 6: { ColorChat(id, GREEN, "[Sklep]^x01 "); } case 7: { ColorChat(id, GREEN, "[Sklep]^x01 "); } } return PLUGIN_HANDLED; } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!dmg[idattacker]) return HAM_IGNORED; if(!(damagebits & DMG_BULLET)) return HAM_IGNORED; SetHamParamFloat(4,(damage*1.3)) return HAM_IGNORED; } public fmPreThink(id){ if(norecoil[id] == true) { set_pev(id, pev_punchangle, {0.0,0.0,0.0}) } } public fmUpdateClientData(id, sw, cd_handle) { if(norecoil[id] == true) { set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0}) } }
Próbowałem też coś takiego ale bez efektu
case 1: { if(get_user_team(id) == 2) { norecoil[id] = true; fmPreThink(id) fmUpdateClientData(id, 0, 0) ColorChat(id, GREEN, "[Sklep]^x01 Kupiles^x03 brak rozrzutu"); } else { ColorChat(id, GREEN, "[Sklep]^x01 Ten przedmiot jest tylko dla^x03 ct"); } }