Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

First Player Respawn

, Первые два игрока возрождаются за ТТ и КТ!
Статус пользователя artsemka35
сообщение 30.9.2015, 18:10
Сообщение #1
Стаж: 10 лет

Сообщений: 78
Благодарностей: 2
Полезность: < 0

Описание: Плагин респавнит 2 кт и 2 тт, при условии что на сервере более 14 человек!
Ошибка: Плагин раз в пару раундов респавнит не 2 кт, а например 4 или вообще бесконечно респавнит!
Задача: Устранить ошибку thank_you2.gif
КОД
Код
#include <amxmodx>
#include <hamsandwich>

new kill_tt
new kill_ct

public plugin_init() {
   register_plugin("Respawn", "1.0", "Dosyk")
   register_event("HLTV", "eventRoundStart", "a", "1=0", "2=0")
   register_event("DeathMsg", "Death", "a")
}

public eventRoundStart(){
   kill_tt=0
   kill_ct=0
}

public Death(id){
   new Players[32]
   new playerCount
   get_players(Players, playerCount)
   if(playerCount<14)
      return

   new iVictim
   iVictim = read_data(2)
   if(get_user_team(iVictim)==1){
      ++kill_tt
      if(kill_tt>2)
         return
      set_task(1.0,"spawn",iVictim)
      }
   if(get_user_team(iVictim)==2){
      ++kill_ct
      if(kill_ct>2)
         return
      set_task(1.0,"spawn",iVictim)
      }

}

public spawn(id){
   ExecuteHamB(Ham_Spawn, id)
   new name[32]
   get_user_name(id,name,31)
   ChatColor(id, "!y[!gВозрождение!y] Игрок !team%s !yвозродился.", name)
}

stock ChatColor(const id, const input[], any:...)
{
    new count = 1, players[32];
    new msg[191];
    vformat(msg, 190, input, 3);
    
    replace_all(msg, 190, "!team", "^3");
    replace_all(msg, 190, "!y", "^1");
    replace_all(msg, 190, "!g", "^4");
    replace_all(msg, 190, "!team2", "^0");
    
    if (id) players[0] = id; else get_players(players, count, "ch");
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: