Автореспавн
|
|
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 |
|
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% груза на сервер, я тестил плагин он не вызывает падения сервера. Свои ошибки я уже понял и исправил те старые коды, переписав на новый. Так что не придирайся... если ты лучше меня пишешь скрипты это не значит что ты бог. У каждого бывают свои ошибки. Все украинцы зазнавшиеся...
|
|
| |