Od pewnego momentu (niestety nie jestem w stanie wskazać kiedy konkretnie, bo gdyby tak było, to zapewne sam bym doszedł do rozwiązania) zmienne (lub cały public?) od początku rundy się nie zerują. Przykładowo;
register_logevent("Poczatek_Rundy", 2, "1=Round_Start")
public Poczatek_Rundy() for(new i=0;i>=get_maxplayers();i++) g_times_bought[i]=0;
Nie zapominając, że jest to zombie 4.3, co (z tego co wiem) wpływa na koniec/początek rundy przez tworzenie swojego MultiForwarda
g_fwRoundStart = CreateMultiForward("zp_round_started", ET_IGNORE, FP_CELL, FP_CELL) g_fwRoundEnd = CreateMultiForward("zp_round_ended", ET_IGNORE, FP_CELL)
Co do pętli z g_times_bought[i]=0:
#define MAX_BUYS 3
if(g_times_bought[id] >= MAX_BUYS){ ColorChat(id, GREEN, "[%s] %s^x01 kupiles juz^x04 %i^x01/^x04%i^x01 granatow.",forum,name,g_times_bought[id],MAX_BUYS); return ZP_PLUGIN_HANDLED } else if(!g_has_pumpkin[id]){ g_times_bought[id]++ emit_sound(id, CHAN_ITEM, sound_buyammo, 1.0, ATTN_NORM, 0, PITCH_NORM) }
Ten sam problem występuje z innymi Extra Itemami.
- Próbówałem wyłączać pluginy odpowiadające za wszystkie dodatki (extra itemy, addony, klasy) poza silnikiem i wymaganymi standardowymi klasami zombie - nie rozwiązało to problemu, być może leży w silniku.
- Mniej więcej od tego samego czasu pojawił się błąd z respawnem zombie, który dokładniej opisałem na alliedach: https://forums.allie...ad.php?t=303535 - szukałem fixa, lub też istniejącego już tematu związanego z respawnem, ale (przynajmniej do wersji fixa zp 4.3 5.a) autor nie wspomniał o respawnie.