Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Автореспавн
nynCuKaH Дата: Среда, 11.07.2012, 15:38:12 | Сообщение # 1
Сообщений: 110
Репутация: 0 [ +/- ]
Как сделать чтобы все мертвые игроки воскресились 1 раз за раунд в определённое время?
Примерно в 5:40

Таймер ставил. Но что то не воскрешает их....

Вот код.

Code
public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
         CreateTimer(20.0, RPct);
}

public Action:RPct(Handle:timer)
{
         for (new x=1;x<=MaxClients;x++)
         {
         if (IsClientInGame(x) && GetClientTeam(x) == 3)
         {
                 CS_RespawnPlayer(x);
         }
         }
}

Добавлено (11.07.2012, 15:38:12)
---------------------------------------------
Дайте пример пожалуйста чтобы воскресить можно было только мертвого игрока через таймер. Я все перерыл ни где ни чего не нашел.



Сообщение отредактировал nynCuKaH - Среда, 11.07.2012, 13:38:31
 
_wS_ Дата: Среда, 11.07.2012, 15:52:33 | Сообщение # 2
axxx

Code
new Handle:Timer;

public Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)  
{
     if (Timer != INVALID_HANDLE) KillTimer(Timer);
     Timer = CreateTimer(20.0, xz);
}

public Action:xz(Handle:timer)
{
     Timer = INVALID_HANDLE;
     for (new x = 1; x <= MaxClients; x++)
     {
         if (IsClientInGame(x) && !IsPlayerAlive(x) && GetClientTeam(x) > 1) CS_RespawnPlayer(x);
     }
}
 
nynCuKaH Дата: Среда, 11.07.2012, 17:40:05 | Сообщение # 3
Сообщений: 110
Репутация: 0 [ +/- ]
не работает. Попробовал в своем примере и в твоем нет. Он не воскрешает даже.

Добавлено (11.07.2012, 17:33:34)
---------------------------------------------
Timer я выставить смог, а вот воскрешения не видно.

Добавлено (11.07.2012, 17:37:14)
---------------------------------------------
Я тут набросал свой respawn. Он воскрешает только живых людей тем самым телепортирует их на респу. А мертвых нет. В чем проблема?

Code
public Action:respawn_timer(Handle:timer)
{
     respawn = false;
     btimer = INVALID_HANDLE;
   
  // Respawn player.
     for (new i = 1; i <= MaxClients; i++)
   if(IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(i) == 3)
     CS_RespawnPlayer(i);
}

Добавлено (11.07.2012, 17:40:05)
---------------------------------------------
А можно как то воскресить мертвых например: IsPlayerDeath(i) создать свою функцию?

 
_wS_ Дата: Среда, 11.07.2012, 17:42:07 | Сообщение # 4
Ну я же дал готовый пример, только подключить библиотеки нужно и хукнуть round_start.
Не работает только из-за твоих глупостей..

IsPlayerAlive(client) - жив, !IsPlayerAlive(client) - мертв
 
nynCuKaH Дата: Среда, 11.07.2012, 18:20:28 | Сообщение # 5
Сообщений: 110
Репутация: 0 [ +/- ]
Все смог сделать ^_^ у тебя там что то в коде не исправлено, я попробовал на своем и все заработало ^_^

Добавлено (11.07.2012, 18:18:58)
---------------------------------------------
Спасибо за помощь.

Добавлено (11.07.2012, 18:20:28)
---------------------------------------------
Вот еще маленький вопрос. Как сделать PrintToChatAll чтобы писало только Контер-Террористам?



Сообщение отредактировал nynCuKaH - Среда, 11.07.2012, 18:18:42
 
Scarface_slv Дата: Четверг, 12.07.2012, 09:26:59 | Сообщение # 6
Сообщений: 737
Репутация: 61 [ +/- ]
все у него работает=) и PrintToChatAll нельзя сделать чтоб писало только КТ делай через цикл for и PrintToChat(client,"sds")
 
nynCuKaH Дата: Четверг, 12.07.2012, 13:45:46 | Сообщение # 7
Сообщений: 110
Репутация: 0 [ +/- ]
Scarface_slv, у него не работает. ^_^ значит у меня что то не так с сервером . Хотя мой код 100% рабочий и без ошибок. Работает идеально :3
 
_wS_ Дата: Четверг, 12.07.2012, 14:10:36 | Сообщение # 8
Quote (nynCuKaH)
Хотя мой код 100% рабочий и без ошибок

Это очень сомнительно, обычно в твоем коде всегда есть ошибки, ну или сам код кривой, или с недочетами.
Ты даже о коде, в котором нет ошибок, говоришь что он не работает.

В начале раунда ты не делаешь KillTimer() - на те же грабли наступаешь 10000 раз.
Зачем лишняя переменная respawn? Достаточно одной btimer.
Да и простого чувства логики нет, пишешь что-то и не знаешь что оно такое:

Quote
Я тут набросал свой respawn.
Он воскрешает только живых людей тем самым телепортирует их на респу. А мертвых нет.
В чем проблема?

public Action:respawn_timer(Handle:timer)
{
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(i) == 3) CS_RespawnPlayer(i);
}
}

Неужели по коду не видно в чем проблема?

ЕСЛИ (в игре И жив И в команде ct) ВОСКРЕШАЕМ
Условия перед глазами, а проблему не видишь, еще и говоришь что твой код какой-то идеально работает. Ты можешь видеть только работает он или нет, а чтобы идеально и без лишнего груза - вряд ли у тебя получится, судя по всем твоим сообщениям, хотя, может в будущем.

Раздражают такие сообщения и такой тон. Сначала убедись в своей правоте, а уже потом пробуй что-то сказать, а так - одна пустота в словах (как и в коде, да и как в голове наверно - таким я тебя вижу).
 
nynCuKaH Дата: Четверг, 12.07.2012, 21:32:45 | Сообщение # 9
Сообщений: 110
Репутация: 0 [ +/- ]
Ты думаешь те старые коды которые я кидал они и есть? Ты ошибаешься, эти коды для меня устарели я создал более другие и они работают без ошибочно и 0% груза на сервер, я тестил плагин он не вызывает падения сервера.
Свои ошибки я уже понял и исправил те старые коды, переписав на новый. Так что не придирайся... если ты лучше меня пишешь скрипты это не значит что ты бог. У каждого бывают свои ошибки. Все украинцы зазнавшиеся...
 
  • Страница 1 из 1
  • 1
Поиск: