Niedziałające perki na serwerze.
SocketS 30.03.2015
Witam!
Nie dawno stworzyłem serwer z cod modem. Wcześniej testowałem go na HLDS i wszystko było dobrze. A teraz gdy wrzuciłem go na serwer naPukawce, niektóre perki nie działają np. katalizator boga, Scouter który ma 1/1 ze scouta a nie zabija. Co może być przyczyną. Podaje jeden perk kod jest na 100% dobry bo na hlds działał a na pukawce już nie.
#include <amxmodx> #include <amxmisc> #include <codmod> #include <hamsandwich> #define DMG_BULLET (1<<1) new const perk_name[] = "Scouter"; new const perk_desc[] = "Ma 1/1 ze scouta"; new bool:ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "glut"); cod_register_perk(perk_name, perk_desc); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); } public cod_perk_enabled(id) { if(random_num(1,2) == 1) ma_perk[id] = true; cod_give_weapon(id, CSW_SCOUT) } public cod_perk_disabled(id) { ma_perk[id] = false; cod_take_weapon(id,CSW_SCOUT) } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_perk[idattacker]) return HAM_IGNORED; if(!(damagebits & DMG_BULLET)) return HAM_IGNORED; if(get_user_weapon(idattacker) == CSW_SCOUT && random_num(1,1) == 1) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; }
Rivit
30.03.2015
Sprawdź
#include <amxmodx> #include <codmod> #include <hamsandwich> #define DMG_BULLET (1<<1) new const perk_name[] = "Scouter"; new const perk_desc[] = "Ma 1/1 ze scouta"; new bool:ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "glut"); cod_register_perk(perk_name, perk_desc); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); } public cod_perk_enabled(id) { if(!random_num(2)) { ma_perk[id] = true; cod_give_weapon(id, CSW_SCOUT) } } public cod_perk_disabled(id) { ma_perk[id] = false; cod_take_weapon(id,CSW_SCOUT) } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_perk[idattacker]) return HAM_IGNORED; if(!(damagebits & DMG_BULLET)) return HAM_IGNORED; if(get_user_weapon(idattacker) == CSW_SCOUT) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; }
Kompiluj kompilatorem pod swojego amxx'a
SocketS 31.03.2015
Nie zrozumiałeś mnie. Ten perk wcześniej chodził jak inne, tylko jak wrzuciłem paczkę na hosting, to nwm czemu nie działa. Ostatnio edytowałem tylko silnik zmieniałem wygląd /perk i /perk2 ( wzorowałem się z tego por. http://amxx.pl/topic...akie-jak-klasy/). Nwm może w tym coś złe zrobiłem i dlatego nie działa ? Tutaj jest kod z silnika :
public OpisPerku(id, perk, wartosc) { new opis_perku[MAX_WIELKOSC_OPISU]; new losowa_wartosc[15]; if(wartosc > -1) num_to_str(wartosc, losowa_wartosc, 14); else format(losowa_wartosc, charsmax(losowa_wartosc), "%i-%i", min_wartosci_perkow[perk], max_wartosci_perkow[perk]); format(opis_perku, charsmax(opis_perku), opisy_perkow[perk]); replace_all(opis_perku, charsmax(opis_perku), "LW", losowa_wartosc); new opis[416+MAX_WIELKOSC_OPISU]; format(opis, charsmax(opis), "\d[ \rCall of Duty \w4001lvli\d]^n^n\r|| \wNazwa \yPerku \r||^n\r|| \w%s\r ||^n\r|| \wOpis \yperku\r ||^n\r|| \w%s\r ||^n^n\r|| \wPerk\y#1 \wuzywasz na x \r||^n\r|| \wPerk\y#2 \wuzywasz na c \r||", nazwy_perkow[perk], opis_perku); show_menu(id, 1023, opis); return PLUGIN_CONTINUE; } public OpisPerku2(id, perk, wartosc) { new opis_perku[MAX_WIELKOSC_OPISU]; new losowa_wartosc[15]; if(wartosc > -1) num_to_str(wartosc, losowa_wartosc, 14); else format(losowa_wartosc, charsmax(losowa_wartosc), "%i-%i", min_wartosci_perkow[perk], max_wartosci_perkow[perk]); format(opis_perku, charsmax(opis_perku), opisy_perkow[perk]); replace_all(opis_perku, charsmax(opis_perku), "LW", losowa_wartosc); client_print(id, print_chat, "Perk: %s.", nazwy_perkow[perk]); client_print(id, print_chat, "Opis: %s.", opis_perku); } public OpisPerkow(id) { new menu = menu_create("Wybierz Perk:", "OpisPerkow_Handle"); for(new i=1; i <= ilosc_perkow; i++) menu_additem(menu, nazwy_perkow[i]); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); client_cmd(id, "spk QTM_CodMod/select"); } public OpisPerkow_Handle(id, menu, item) { if(item++ == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } OpisPerku2(id, item, -1); OpisPerkow(id); return PLUGIN_CONTINUE; }
Czy to jest dobrze?