Вообщем нашел причину падения сервера но как исправить понять не могу вот код помогите:
Код:
sentry_detonate(sentry, bool:quiet, bool:isIndex) {
new i
if (isIndex) {
i = sentry
sentry = g_sentries[sentry]
if (!is_valid_ent(sentry))
return
}
else {
if (!is_valid_ent(sentry))
return
for (new j = 0; j < g_sentriesNum; j++) {
if (g_sentries[j] == sentry) {
i = j
break
}
}
}
remove_task(TASKID_THINK + sentry)
remove_task(TASKID_THINKPENDULUM + sentry)
remove_task(TASKID_SENTRYONRADAR + sentry)
new owner = GetSentryPeople(sentry, OWNER)
if (!quiet) {
new Float:origin[3]
entity_get_vector(sentry, EV_VEC_origin, origin)
engfunc(EngFunc_MessageBegin, MSG_BROADCAST, SVC_TEMPENTITY, origin, 0)
write_byte(TE_EXPLOSION)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2])
write_short(g_sModelIndexFireball)
write_byte(random_num(0, 20) + 50)
write_byte(12)
write_byte(TE_EXPLFLAG_NONE)
message_end()
client_print(owner, print_center, "Your sentry gun detonated!")
}
DecreaseSentryCount(owner, sentry)
if (GetSentryFiremode(sentry) != SENTRY_FIREMODE_NUTS) {
new base = entity_get_edict(sentry, SENTRY_ENT_BASE)
remove_entity(entity_get_edict(base, BASE_ENT_HULL))
remove_entity(base)
}
remove_entity(sentry)
g_sentries[i] = g_sentries[g_sentriesNum - 1]
g_sentriesNum--
}
sentry_detonate_by_owner(owner, bool:quiet) {
for(new i = 0; i < g_sentriesNum; i++) {
if (GetSentryPeople(g_sentries[i], OWNER) == owner) {
sentry_detonate(i, quiet, true)
break
}
}
}