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

 



 
          





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





Последние Файлы 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 из 2
  • 1
  • 2
  • »
Модератор форума: AXE, Weddew  
Вопрос по оптимизации.
-=Spektr=-Дата: Пятница, 16.03.2012, 19:51 | Сообщение # 1
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 232
Награды: 3
Город: MDK
Репутация: 166
Замечания: 0%
Статус:
Доброго времени суток.
У меня возникла нужда в задержке между действиями. Но вот что работает с меньшей нагрузкой на сервер: таймер или некая функция?
Собственно, вот и функция:
Code
stock Delay(time)
{
  new seconds = gettime();
  while(gettime() - seconds <= time) continue;
}
С радостью выслушаю другие варианты осуществления задержки.
Заранее благодарен и плюсодарителен. ;)

LatronДата: Пятница, 16.03.2012, 19:56 | Сообщение # 2
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
Quote (-=Spektr=-)
Но вот что работает с меньшей нагрузкой на сервер: таймер или некая функция?

Это зависит от того что делает функция...



Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )


anonimniyДата: Пятница, 16.03.2012, 20:05 | Сообщение # 3
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус:
Спрошу заодно тут в теме.

Есть разница между:

Code
   tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
     SendClientMessage(playerid, COLOR_Cvet_8, "[Ошибка] {FFFFFF}Используйте /giverank [ID] [Ранг].");
     return 1;
    }


и:

Code
   tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
     SendClientMessage(playerid, COLOR_Cvet_8, "[Ошибка] {FFFFFF}Используйте /giverank [ID] [Ранг].");
     return 1; }

MarkeloFFДата: Пятница, 16.03.2012, 20:11 | Сообщение # 4
Советчик
Группа: I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус:
anonimniy, есть, в первом варианте 6строк, а во втором 4 :D


Сообщение отредактировал MarkeloFF - Пятница, 16.03.2012, 20:11
DesertДата: Пятница, 16.03.2012, 20:23 | Сообщение # 5
Местный
Группа: I'm V.I.P.
Сообщений: 669
Награды: 57
Город: Москва
Репутация: 1082
Замечания: 0%
Статус:
Разницы нету, разве, что только строк меньше.
А вот если делать вот так:
Code
  if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_Cvet_8, "[Ошибка] {FFFFFF}Используйте /giverank [ID] [Ранг].");

То разница есть



Сообщение отредактировал Desert - Пятница, 16.03.2012, 20:25
-=Spektr=-Дата: Пятница, 16.03.2012, 20:28 | Сообщение # 6
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 232
Награды: 3
Город: MDK
Репутация: 166
Замечания: 0%
Статус:
Quote (Latron)
Это зависит от того что делает функция

А можно по-подробнее?



Сообщение отредактировал -=Spektr=- - Пятница, 16.03.2012, 20:30
MarkeloFFДата: Пятница, 16.03.2012, 20:35 | Сообщение # 7
Советчик
Группа: I'm V.I.P.
Сообщений: 1033
Награды: 14
Город: Калининград
Репутация: 191
Замечания: 80%
Статус:
-=Spektr=-, ну если у тебя функция будет выполнять 10 таймеров, 50 проверок, то сам понимаешь...


Сообщение отредактировал MarkeloFF - Пятница, 16.03.2012, 20:35
LatronДата: Пятница, 16.03.2012, 20:37 | Сообщение # 8
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
Quote (Desert)
Разницы нету, разве, что только строк меньше.
А вот если делать вот так:
Code

Нет,это тоже самое ,Desert yes



Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )


ZiGGiДата: Пятница, 16.03.2012, 20:45 | Сообщение # 9
Мастер джэдай
Группа: Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
Quote (-=Spektr=-)
stock Delay(time)
{
  new seconds = gettime();
  while(gettime() - seconds <= time) continue;
}

Эта функция бред, сервер просто повиснет на время time.



Бложе
[indent]Мой блог
Уроки по Pawn
[/indent]

Open-GTO
[indent]Блог разработчиков
GitHub: https://github.com/Open-GTO/Open-GTO
Сборки мода с сервером тут
[/indent]
-=Spektr=-Дата: Пятница, 16.03.2012, 20:45 | Сообщение # 10
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 232
Награды: 3
Город: MDK
Репутация: 166
Замечания: 0%
Статус:
MarkeloFF, не пойму, при чём тут функция с 10-ю таймерами и 50-ю проверками? Мне нужно сделать задержку между функциями. Например, выводится одно сообщение и через 5 секунд следующее.
Quote (ZiGGi)
Эта функция бред, сервер просто повиснет на время time.

Ну тогда как сделать по другому?



Сообщение отредактировал -=Spektr=- - Пятница, 16.03.2012, 20:47
LatronДата: Пятница, 16.03.2012, 20:50 | Сообщение # 11
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
-=Spektr=-, например
Code

   static Count = 3;
   format( str, MAX_STR, "~r~Restart in %d second!", Count );
   GameTextForAll( str, 900, 3 );
   if( Count == 0 )
   {
       GameTextForAll( "~y~Server Restart!", 2500, 3 );
       SendRconCommand( "gmx" );
       return true;
   }
   Count--;
   return true;



Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )




Сообщение отредактировал Latron - Пятница, 16.03.2012, 20:53
ZiGGiДата: Пятница, 16.03.2012, 20:54 | Сообщение # 12
Мастер джэдай
Группа: Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
Quote (-=Spektr=-)

Ну тогда как сделать по другому?

Можно использовать плагины многопоточности, но это на свой страх и риск. Лучше всего переписать это на таймеры.



Бложе
[indent]Мой блог
Уроки по Pawn
[/indent]

Open-GTO
[indent]Блог разработчиков
GitHub: https://github.com/Open-GTO/Open-GTO
Сборки мода с сервером тут
[/indent]
LatronДата: Пятница, 16.03.2012, 20:58 | Сообщение # 13
Группа: I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус:
Оу я сначала не понял чего ты хочешь :(


Моё портфолио

Мои работы:
[ Lesson ] Операторы в PAWN.
[ Lesson ] Переменная.
[ GM ] RegSys. ( Last update: 21.04.2012 )


-=Spektr=-Дата: Пятница, 16.03.2012, 21:00 | Сообщение # 14
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 232
Награды: 3
Город: MDK
Репутация: 166
Замечания: 0%
Статус:
Quote (ZiGGi)
сервер просто повиснет на время time.

И правда, сейчас проверил, сервер зависает. mda
Quote (ZiGGi)
Можно использовать плагины многопоточности, но это на свой страх и риск.

Почему?

ВеликсДата: Пятница, 16.03.2012, 21:24 | Сообщение # 15
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
Quote (-=Spektr=-)
Почему?

Не стабильные они.



[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


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