Witajcie!
Naprawdę sporo godzin spędziłem, żeby to rozwiązać i prawdopodobnie to jest rozwiązanie!
Aby usunąć crashe należy:
- Krok 1: Usunąć w piłce Cypisia usuwanie piłki przy życzeniu.
Otwieramy jail_ball.sma i usuwamy z .sma:
public OnLastPrisonerShowWish(id) { if(g_CreateBall) { if(pev_valid(g_ball)) remove_entity(g_ball); } }
Kompilujemy i wgrywamy na serwer.
- Krok 2: Podmień funkcję w jail_api_jailbreak.sma (patrz poradnik niżej).
To:
public RoundRestart() { #if defined DEBUG log_to_file("jail_api_jailbreak.log", "RoundRestart"); #endif usuwanie_ustawien = true; } public RoundEnd() { #if defined DEBUG log_to_file("jail_api_jailbreak.log", "RoundEnd"); #endif end_usun = true; czas_bronie = false; } public PreRoundStart() { #if defined DEBUG log_to_file("jail_api_jailbreak.log", "PreRoundStart pre"); #endif UsuwanieWydarzen(); if(usuwanie_ustawien) { jail_day = 0; usuwanie_ustawien = false; } else jail_day++; if(jail_day) { gTimeStart = get_systime(); ForwardDayStartPre(jail_day%7); } #if defined DEBUG log_to_file("jail_api_jailbreak.log", "PreRoundStart post"); #endif } UsuwanieWydarzen() { //end_usun = true; #if defined DEBUG log_to_file("jail_api_jailbreak.log", "UsuwanieWydarzen pre"); #endif szInfo = ""; szInfoPosz = ""; szPoszukiwani = ""; ostatni_wiezien = 0; prowadzacy = 0; obsluga_dala = false; pokaz_raz = false; czas_bronie = false; zabawa_wybrana = false; zyczenie_wybrane = false mode_gracza[WALKA] = false; mode_gracza[MIKRO] = (get_pcvar_num(pCvarMikro) == 1? true: false); mode_gracza[FF_TT] = false; mode_gracza[TT_GOD] = false; mode_gracza[CT_GOD] = false; mode_gracza[CT_NIE_MOZE_TT] = false; mode_gracza[TT_NIE_MOZE_CT] = false if(task_exists(ID_DZWIEK_POSZ)) remove_task(ID_DZWIEK_POSZ); if(task_exists(ID_LOS_PROWADZACY)) remove_task(ID_LOS_PROWADZACY); if(task_exists(ID_CZAS)) remove_task(ID_CZAS); if(task_exists(ID_FREZZ)) remove_task(ID_FREZZ); if(task_exists(ID_SPEED_FZ)) remove_task(ID_SPEED_FZ); for(new i=0; i<sizeof dane_dnia; i++) dane_dnia[i] = 0; for(new i=1; i<=MAX; i++) { array_graczy[WSZYSCY][i] = 0; array_graczy[ZYWI][i] = 0; user_speed[i] = 0.0; pojedynek[i] = false; bronie_menu[i][0] = false; bronie_menu[i][1] = false; if(ustaw_freeday[i]) { ustaw_freeday[i] = false; free_day[i] = true; } else free_day[i] = false; if(ustaw_duszka[i]) { ustaw_duszka[i] = false; user_duszek[i] = true; } else user_duszek[i] = false; } ilosc_graczy[WSZYSCY] = 0; ilosc_graczy[ZYWI] = 0; new iRet; ExecuteForward(fRemoveData, iRet, id_zabawa); #if defined DEBUG log_to_file("jail_api_jailbreak.log", "UsuwanieWydarzen post"); #endif } public PostRoundStart() { #if defined DEBUG log_to_file("jail_api_jailbreak.log", "PostRoundStart pre"); #endif end_usun = false; set_task(60.0, "koniec_czasu", ID_CZAS); if(!jail_day) { gTimeStart = get_systime()-g_FreezeTime; ForwardDayStartPre(jail_day%7); } if(!prowadzacy && !dane_dnia[1]) set_task(15.0, "LosujProwadzacego", ID_LOS_PROWADZACY); #if defined DEBUG log_to_file("jail_api_jailbreak.log", "PostRoundStart post"); #endif } ForwardDayStartPre(zabawa) { #if defined DEBUG log_to_file("jail_api_jailbreak.log", "ForwardDayStartPre pre"); #endif new iRet, is_frezz = g_FreezeTime-(get_systime()-gTimeStart); ExecuteForward(fDayStartPre, iRet, zabawa, PrepareArray(szInfo, 256, 1), PrepareArray(szInfoPosz, 512, 1), PrepareArray(dane_dnia, 10, 1), g_RoundTime+min(is_frezz, 0)); id_zabawa = zabawa; new dane[1] dane[0] = zabawa; if(is_frezz) set_task(is_frezz+0.1, "ForwardDayStartPost", ID_FREZZ, dane, 1); else ForwardDayStartPost(dane); #if defined DEBUG log_to_file("jail_api_jailbreak.log", "ForwardDayStartPre post"); #endif }
Zamień na:
public RoundRestart() { usuwanie_ustawien = true; end_usun = true; UsuwanieWydarzen(); } public RoundEnd() { end_usun = true; czas_bronie = false; UsuwanieWydarzen(); } public PreRoundStart() { end_usun = true; szInfo = ""; szInfoPosz = ""; szPoszukiwani = ""; ostatni_wiezien = 0; prowadzacy = 0; obsluga_dala = false; pokaz_raz = false; czas_bronie = false; zabawa_wybrana = false; zyczenie_wybrane = false; mode_gracza[WALKA] = false; mode_gracza[MIKRO] = bool:get_pcvar_num(pCvarMikro); mode_gracza[FF_TT] = false; mode_gracza[TT_GOD] = false; mode_gracza[CT_GOD] = false; mode_gracza[CT_NIE_MOZE_TT] = false; mode_gracza[TT_NIE_MOZE_CT] = false if(task_exists(ID_DZWIEK_POSZ)) remove_task(ID_DZWIEK_POSZ); if(task_exists(ID_LOS_PROWADZACY)) remove_task(ID_LOS_PROWADZACY); if(task_exists(ID_CZAS)) remove_task(ID_CZAS); if(task_exists(ID_FREZZ)) remove_task(ID_FREZZ); if(task_exists(ID_SPEED_FZ)) remove_task(ID_SPEED_FZ); if(task_exists(2761234, 1)) remove_task(2761234, 1); for(new i=0; i<=10; i++) dane_dnia[i] = 0; if(usuwanie_ustawien) { jail_day = 0; usuwanie_ustawien = false; } else jail_day++; if(jail_day) { gTimeStart = get_systime(); ForwardDayStartPre(jail_day%7); } } UsuwanieWydarzen() { for(new i=1; i<=32; i++) { if(is_user_connected(i)) cs_reset_user_model(i); pojedynek[i] = false; user_speed[i] = 0.0; array_graczy[WSZYSCY][i] = 0; array_graczy[ZYWI][i] = 0; pojedynek[i] = false; bronie_menu[i][0] = false; bronie_menu[i][1] = false; if(ustaw_freeday[i]) { ustaw_freeday[i] = false; free_day[i] = true; } else free_day[i] = false; if(ustaw_duszka[i]) { ustaw_duszka[i] = false; user_duszek[i] = true; } else user_duszek[i] = false; } ilosc_graczy[WSZYSCY] = 0; ilosc_graczy[ZYWI] = 0; new Return_F if(fRemoveData) ExecuteForward(fRemoveData, Return_F, id_zabawa); } public PostRoundStart() { end_usun = false; set_task(60.0, "koniec_czasu", ID_CZAS); if(!jail_day) { gTimeStart = get_systime()-g_FreezeTime; ForwardDayStartPre(jail_day%7); } if(!prowadzacy && !dane_dnia[1]) set_task(15.0, "LosujProwadzacego", ID_LOS_PROWADZACY); } ForwardDayStartPre(zabawa) { new iRet new is_frezz = g_FreezeTime-(get_systime()-gTimeStart); new czas = g_RoundTime+min(is_frezz, 0); ExecuteForward(fDayStartPre, iRet, zabawa, PrepareArray(szInfo, 256, 1), PrepareArray(szInfoPosz, 512, 1), PrepareArray(dane_dnia, 10, 1), czas); id_zabawa = zabawa; new dane[1] dane[0] = zabawa; if(is_frezz) set_task(is_frezz+0.1, "ForwardDayStartPost", ID_FREZZ, dane, 1); else ForwardDayStartPost(dane); }
Zapisujemy, kompilujemy i wgrywamy na serwer!
Użytkownik HubertTM edytował ten post 19.10.2013 08:14