reconnect и timer
|
|
_wS_
|
Дата: Суббота, 19.05.2012, 19:18:31 | Сообщение # 16 |
|
Ну да
Code public Action:Finish_Func(Handle:timer, any:client) { decl String:SteaM[25]; GetClientAuthString(client, SteaM, 25); SetTrieValue(TrieSec, SteaM, FINISH_SEC); my_timer[client] = CreateTimer(float(FINISH_SEC), Finish_Func, client);
PrintToChat(client, "Finish_Func сработает через: %d сек", FINISH_SEC); PrintToChatAll("\x04Finish_Func"); PrintToServer("-----> Finish_Func"); }
|
|
| |
Scarface_slv
|
Дата: Суббота, 19.05.2012, 22:10:40 | Сообщение # 17 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Вот я идиот) Я не знал что можно Finish_Func'e создать таймер к Finish_Func и с TIME_REPEAT мучался спасибо большое как обычно спасаешьДобавлено (19.05.2012, 22:10:40) --------------------------------------------- У меня сново вопрос( вот 1 раз когда проходит 60 секунд я не куда не выхожу или не перезахожу, после начинается 2 таймер и там я перезахожу и баг такой, таймер в минуса уходит -6 например. и так всегда даже если я на 8 таймере никуда не выхожу и в 9 перезахожу то тупит пишет -9 (например)и начинается таймер заново, а если я в каждом таймере перезахожу то норм странно как то
|
|
| |
_wS_
|
Дата: Суббота, 19.05.2012, 22:27:13 | Сообщение # 18 |
|
Значит ты так и не разобрался как оно работает my_join_time надо обновить в Finish_Func:
Code my_join_time[client] = GetTime();
|
|
| |
Scarface_slv
|
Дата: Суббота, 19.05.2012, 23:14:59 | Сообщение # 19 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
я почти все понял я даже текстом понаписал чтоб понять потому что сума сойти можно ты такое понаписал для меня тяжело=( GetTime(); не особенно понятен он сохраняет время захода в игру? потому что я смотрел там куча цифирек хд) Спасибо еще раз WS...Добавлено (19.05.2012, 23:14:59) --------------------------------------------- Все понял почитал API получаеться в перменной my_join_time сохраняеться игрок с временем входа особенно тяжело понять это Code new in_game_sec = GetTime() - my_join_time[client];// сдесь вычитается время выхода игрока и входа наверно... 30 - 10 = 20 sec -= in_game_sec; 60 - 20 = 40 у меня с математикой и логикой плоховато(
Гости не могут скачивать файлы
|
|
|
| |
_wS_
|
Дата: Суббота, 19.05.2012, 23:20:54 | Сообщение # 20 |
|
Смотри, как только игрок вошел, мы запускаем таймер с задержкой 60 сек и делаем xz = GetTime(). GetTime растет с каждой секундой, и получается, если игрок выходит, то до срабатывания таймера останется:
Code 60 - (GetTime() - xz) // GetTime() - xz это сколько прошло секунд с того момента, как мы запустили таймер
|
|
| |
Scarface_slv
|
Дата: Суббота, 19.05.2012, 23:23:57 | Сообщение # 21 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
аааа все понял СПАСИБО)))
|
|
| |
Scarface_slv
|
Дата: Среда, 23.05.2012, 09:53:08 | Сообщение # 22 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
WS адекватно ли я все сделал посмотри пожалуйста... вроде все работает но все равно не хочу запутаться с индексами игроков при выходе и входе игрока, и вдруг что то не то боюсь доделать до конца...Добавлено (22.05.2012, 21:38:02) --------------------------------------------- вообщем суть в том что дает денег по истечение времени каждый раунд Добавлено (23.05.2012, 09:53:08) --------------------------------------------- WS подскажи пожалуйста хоть как отловить рестарт?
Гости не могут скачивать файлы
|
|
|
| |
_wS_
|
Дата: Среда, 23.05.2012, 10:15:43 | Сообщение # 23 |
|
Извини, не хочу сейчас лишним себя грузить, на счет рестарта подскажу:
Code public OnPluginStart() { HookConVarChange(FindConVar("mp_restartgame"), mp_restartgame_changed); }
public mp_restartgame_changed(Handle:var, const String:OldValue[], const String:NewValue[]) { // рестарт произойдет через StringToInt(NewValue) сек }
|
|
| |
Scarface_slv
|
Дата: Среда, 23.05.2012, 10:20:44 | Сообщение # 24 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Спасибо, да ничего, ты мне итак весь плагин написал...
|
|
| |