00:17
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Проверка через опр. время
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%
Статус:
Милисикунды только через таймеры, а вот секунды можно и без них cool


И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
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()) {}
}

Только надо ли оно тебе? mda

Добавлено (22.05.2010, 08:45)
---------------------------------------------
В теории задержку "мысли" сервера можно сделать рекурсивным вызовом ф-ии (т.к самп не мультипотоковый), но это только в теории :) crazy


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%

Принимаю заказы на помощь в скриптинге!
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua