public plugin_precache() { gLaser = precache_model("sprites/zbeam4.spr"); } public psychic_power_beamring(data[]) { if(!is_user_alive(data[0]) || !bHasPsychicPower[data[0]] || iPsychicPowerStatus[data[0]] != PSYCHIC_POWER_ACTIVE) return; new entlist[32]; new entfound = find_sphere_class(data[0], "player", 700.0, entlist, charsmax(entlist)); for(new i = 0; i < entfound; i++) { if(!is_user_alive(entlist[i]) || !is_user_connected(entlist[i])) continue; if(entlist[i] == data[0]) continue; message_begin(MSG_ALL, SVC_TEMPENTITY); write_byte(TE_BEAMRING); write_short(data[0]); // start entity write_short(entlist[i]); // end entity write_short(gLaser); // sprite index write_byte(0); // starting frame write_byte(0); // frame rate 0.1's write_byte(1); // life 0.1's write_byte(10); // width 0.1's write_byte(10); // noise amplitude 0.1's write_byte(235); // red write_byte(1); // green write_byte(101); // blue write_byte(255); // brightness write_byte(8); // scroll speed 0.1's message_end(); } set_task(0.1, "psychic_power_beamring", _, data, 1); }
Mam oto taki task i jak widać wykonuje się on w pętli co 0.1 sekundy. Ten task zostanie przerwany za 15 sekund.
Przez te 15 sekund wszyscy gracze otrzymują te wiadomość z poprawnym efektem, ale momencie przerwania, serwer się crashuje z tym błędem:
L 04/26/2020 - 22:11:02: FATAL ERROR (shutting down): PF_MessageBegin_I: with no target entity
Już sporo czasu poświęciłem na szukanie błędu, ale jakoś nic nie widzę. Chyba że popełniłem jakiś błąd w tym message o którym nie wiem.