Witam, przerabiam system perków. Plugin ładnie się kompiluje bez żadnych błędów jednak podczas testów napotkaliśmy błąd otóż Na serwerze poniekąd jest ustawiony drop tego "artefaktu" jednak zabijając np. 4 razy z rzędu cały czas dropi, nie uwzlegniając wcale tej szansy i w którymś tam momencie wcale przestaje dropić i w konsoli wyskakują takie błędy:
zarzucam ten public
public UstawArtefakt(id, artefakt, wartosc, pokaz_info) { if(!ilosc_artefakty) return PLUGIN_CONTINUE; static obroty[33]; if(obroty[id]++ >= 5) { UstawArtefakt(id, 0, 0, 0); obroty[id] = 0; return PLUGIN_CONTINUE; } artefakt = (artefakt == -1)? random_num(1, ilosc_artefakty): artefakt; wartosc = (wartosc == -1 || min_wartosci_artefakty[artefakt] > wartosc || wartosc > max_wartosci_artefakty[artefakt])? random_num(min_wartosci_artefakty[artefakt], max_wartosci_artefakty[artefakt]): wartosc; new ret; new forward_handle = CreateOneForward(pluginy_artefakty[artefakt_gracza[id]], "artefakt_disabled", FP_CELL, FP_CELL); ExecuteForward(forward_handle, ret, id, artefakt); DestroyForward(forward_handle); artefakt_gracza[id] = 0; forward_handle = CreateOneForward(pluginy_artefakty[artefakt], "artefakt_enabled", FP_CELL, FP_CELL, FP_CELL); ExecuteForward(forward_handle, ret, id, wartosc, artefakt); DestroyForward(forward_handle); if(ret == 4) { UstawArtefakt(id, -1, -1, 1); return PLUGIN_CONTINUE; } ExecuteForward(artefakt_zmieniony, ret, id, artefakt, wartosc); if(ret == 4) { UstawArtefakt(id, -1, -1, 1); return PLUGIN_CONTINUE; } artefakt_gracza[id] = artefakt; wartosc_artefaktu_gracza[id] = wartosc; obroty[id] = 0; if(pokaz_info && artefakt_gracza[id]) chat_color(id, "!g[ARTEFAKT] !yZdobyles %s.", nazwy_artefakty[artefakt_gracza[id]]); return PLUGIN_CONTINUE; }
Proszę o jakąkolwiek pomoc. Z góry dziękuje