|
Проверка через опр. время
|
|
| Vagrant | Дата: Пятница, 21.05.2010, 10:39 | Сообщение # 1 |
|
Уважаемый человек
Группа:
I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус: 
| Вопрос такой. Как сделать что бы следующая часть кода проверялась через определённое время без SetTimer... А просто сделать задержку в определённой части кода что бы читался код через определённое время (имеется введу милисекунды). И как использовать GetTickCount(); И можно ли его использовать для этого. Допустим в моде Grandlarc в коде есть такое: ClassSel_HandleCitySelection(playerid) { //... Часть кода убрана if( (GetTickCount() - gPlayerLastCitySelectionTick[playerid]) < 500 ) return; } Переменной gPlayerLastCitySelectionTick[playerid] присваивается там функция GetTickCount() тоесть в условии получается если (GetTickCount отнять GetTickCount) меньше 500 то ничего не возвращает. Пример. Как сделать что бы пикап создавался через каждые 200 милисекунд? Повторяю это просто пример и мне нужен именно такой способ использования и никакой другой. Code new pick,Float:pX = 0.0000; while(pX >= 0.0000 && pX <= 19.0000) { if(pX != 0.0000) pX += 1.0000; // Сюда нужно вставить код после которого чтение будет продолжено через 200 мс. DestroyPickup(pick); pick = CreatePickup(333,23,pX,0.0000,0.0000,0); if(pX == 20.0000) break; } Это используется в команде и тут главное что бы цикл не обрывался иначе нужно будет вводить команду повторно что совсем не нужно. Что можно в этом коде вставить что-нибудь что бы в цикле производилась задержка 200 милсекунд. И через 200 милисекунд код читался дальше. Но с пикапом просто пример. Кто поможет естественно + поставлю сразу.
Человек учась ходить падает, и только падая, он учится ходить! Мои работы: [GM] W.F.S.A. V. 1.0 - 100% [GM] San Fierro Enigmatic (TDM) V. 1.0 - 100% [FS] Clan House V. 1.0 - 100% [FS] Save Car Tun System V. 1.0 - 100% [FS] Vagrant Anti-CapsLock V. 2.1 - 100% [FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100% [APP] SA-MP Interior Viewer V. 1.0 - 100%
Принимаю заказы на помощь в скриптинге!
Сообщение отредактировал Vagrant - Пятница, 21.05.2010, 10:47 |
| |
|
|
| s3ap | Дата: Пятница, 21.05.2010, 11:31 | Сообщение # 2 |
|
Местный
Группа:
Продвинутые
Сообщений: 570
Награды: 7
Город: Саратов
Репутация: 382
Замечания: 80%
Статус: 
| Короче говоря есть такая самописанная функция wait, работающая как раз на "бесконечном" цикле, GetTickCount() и break. И вот когда этот цикл работал, ЦП нагружался на 100%! И поэтому я лично всё равно пользуюсь таймерами)
|
| |
|
|
| ZiGGi | Дата: Пятница, 21.05.2010, 18:06 | Сообщение # 3 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус: 
| Quote (s3ap) Короче говоря есть такая самописанная функция wait эта функция замораживает сервер:)
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
| |
|
|
| stepmex | Дата: Суббота, 22.05.2010, 01:33 | Сообщение # 4 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Милисикунды только через таймеры, а вот секунды можно и без них
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| Vagrant | Дата: Суббота, 22.05.2010, 07:16 | Сообщение # 5 |
|
Уважаемый человек
Группа:
I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус: 
| stepmex, Ну с секундами я так понял ты намекаешь на gettime(h,m,sec), и с помощью него сделать проверку на время (сек.)?
Человек учась ходить падает, и только падая, он учится ходить! Мои работы: [GM] W.F.S.A. V. 1.0 - 100% [GM] San Fierro Enigmatic (TDM) V. 1.0 - 100% [FS] Clan House V. 1.0 - 100% [FS] Save Car Tun System V. 1.0 - 100% [FS] Vagrant Anti-CapsLock V. 2.1 - 100% [FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100% [APP] SA-MP Interior Viewer V. 1.0 - 100%
Принимаю заказы на помощь в скриптинге!
Сообщение отредактировал Vagrant - Суббота, 22.05.2010, 07:20 |
| |
|
|
| xJester | Дата: Суббота, 22.05.2010, 08:45 | Сообщение # 6 |
|
Постоялец
Группа:
Пользователи
Сообщений: 442
Награды: 18
Город: /dev/null
Репутация: 223
Замечания: 100%
Статус: 
| Код: stock pause(msec) { new time = GetTickCount(); while(time+msec < GetTickCount()) {} } Только надо ли оно тебе?
Добавлено (22.05.2010, 08:45) --------------------------------------------- В теории задержку "мысли" сервера можно сделать рекурсивным вызовом ф-ии (т.к самп не мультипотоковый), но это только в теории 
You know you're right! Если взять цветной бумаги, ручку, ножницы и клей, и еще чуть-чуть отваги - можно сделать сто рублей.
|
| |
|
|
| stepmex | Дата: Суббота, 22.05.2010, 09:59 | Сообщение # 7 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Quote (Vagrant) Ну с секундами я так понял ты намекаешь на gettime(h,m,sec), и с помощью него сделать проверку на время (сек.)? ага, только без параметров, отслеживать unixtime  Добавлено (22.05.2010, 09:59) --------------------------------------------- xJester, оптимизация и исправление ошибки в условии : Code stock pause(msec) { new time = GetTickCount()+msec; while(time > GetTickCount()) {} }
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| xJester | Дата: Суббота, 22.05.2010, 16:00 | Сообщение # 8 |
|
Постоялец
Группа:
Пользователи
Сообщений: 442
Награды: 18
Город: /dev/null
Репутация: 223
Замечания: 100%
Статус: 
| stepmex, ммм, действительно
You know you're right! Если взять цветной бумаги, ручку, ножницы и клей, и еще чуть-чуть отваги - можно сделать сто рублей.
|
| |
|
|
| Vagrant | Дата: Суббота, 22.05.2010, 17:19 | Сообщение # 9 |
|
Уважаемый человек
Группа:
I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус: 
| stepmex, xJester, Спасибо, обоим +.
Человек учась ходить падает, и только падая, он учится ходить! Мои работы: [GM] W.F.S.A. V. 1.0 - 100% [GM] San Fierro Enigmatic (TDM) V. 1.0 - 100% [FS] Clan House V. 1.0 - 100% [FS] Save Car Tun System V. 1.0 - 100% [FS] Vagrant Anti-CapsLock V. 2.1 - 100% [FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100% [APP] SA-MP Interior Viewer V. 1.0 - 100%
Принимаю заказы на помощь в скриптинге!
|
| |
|
|