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.


Dodatki SourceMod












