Сугубо полезная для автора критика:
1. Код не читабелен, используйте стиль для написания а ля
Вы должны зарегистрироваться, чтобы видеть ссылки. или же почитать
Вы должны зарегистрироваться, чтобы видеть ссылки., займет не особо много времени, но всем будет потом понятен ваш код в разы и вам легче будет кодить в дальнейшем. Переменную get_maxplayers стоит запоминать заранее(создать глобальную переменную и присвоить ей значение maxplayers-a).
2.
- Код: Выделить всё
Если пишите свои плагины для публики, то желательно заранее учиться переводить все это в квары.
3. В client_death проверка is_user_alive(victim) == 0 не имеет смысла т.к. игрок явно уже умер
но имеет смысл проверять, в сети ли ещё игрок.
4. client_cmd(id, "") - реально, зачем?
5. Меню статичное лучше заранее сохранить и не создавать каждый раз( ну, тут уж спичечная оптимизэишн)
6. Если вдруг на сервере произойдет РР карты, то rounds_compl не сбросится, а значит, спавниться смогут раньше MIN_ROUND-а, необходимо сбрасывать переменную счетчика во время отлова рестарта.
7. Больше логических отступов(тип, функционал одной части кода в функции желательно как бы отделять друг от друга отступом, чтобы проще было читать).
8.
- Код: Выделить всё
else if(g_F_counter[id] < MAX_RESPAWN && is_user_alive(id) == 0){
ExecuteHamB(Ham_CS_RoundRespawn, id)
set_user_health(id, HP_SPAWN)
ColorChat(id,RED,"^4Вы были возрожденны.")
g_F_counter[id]++
}else if(is_user_alive(id) == 1){
ColorChat(id,RED,"^3Вы не можете возродиться, так как вы живы.")
}else{
ColorChat(id,RED,"^3Вы больше не можете возрождаться в этом раунде.")
}
Нелогично, лучше проверки на жив ли игрок в самое начало 1 раз и дальше уже добавлять остальные по необходимости, примерно так:
- Код: Выделить всё
if(is_user_alive(id)) return ColorChat(id,RED,"^3Вы не можете возродиться, так как вы живы.");
9. и ещё
- Код: Выделить всё
switch (Choise) {
case 1: {
set_task(DELAY_SPAWN.0, "admin_spawn", id)
ColorChat(id,RED,"^4Вы будете возрожденны через ^3%d секунды",DELAY_SPAWN)
}
case 2: {client_cmd(id, "")
}
Достаточно было сделать такую проверку, вместо того switch-a :
- Код: Выделить всё
if(Choise == 1){
set_task(DELAY_SPAWN.0, "admin_spawn", id);
ColorChat(id,RED,"^4Вы будете возрожденны через ^3%d секунды",DELAY_SPAWN);
}
10. На данном форуме не приветствуется прикрепление .amxx файлов, только .sma или же архивы с .sma/.cfg файлами.
Надеюсь, этот пост поможет вам писать в разы лучше в дальнейшем
нету предела совершенству, так сказать.
Не утверждено. Необходимы правки в плагине для утверждения // Leonidddd