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

 



 
          





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





Последние Файлы 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  
Timer or Convert
33nchДата: Понедельник, 15.10.2012, 21:50 | Сообщение # 1
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Elabuga
Репутация: -55
Замечания: 100%
Статус:
Доброго дня суток.
У меня серьёзно таки вопрос к опытным скриптёрам, а именно по части Таймеров и Convert'ов.

Проблема заключается, в том, что таймер уходит в отриц. числа, как сделать что бы при окончании таймера '0' таймер умирал.

Вроде, код построен правильно.

Вот код:

Code


  DMTime = 540;
  CCR = SetTimer("DMTimer", 999, 1);

public DMTimer()
{
     DMTime --;
     new tmp[256];
     TextDrawDestroy(Text:Time);
     format(tmp, sizeof tmp, "%s", TimeConvert(DMTime));

     Time = TextDrawCreate(300.0, 10.0, tmp);
     TextDrawUseBox(Text:Time, 1);
     TextDrawTextSize(Text:Time, 350.0, 30.0);
     TextDrawSetShadow(Text:Time, 0);
     TextDrawSetOutline(Text:Time, 1);
     TextDrawShowForAll(Text:Time);

     if (DMTime == 0)
     {
     for(new playerid = 0; playerid < MAX_PLAYERS; playerid ++ )
     {
        TogglePlayerControllable(playerid, 0);
     }
     }
     return 1;
}

TimeConvert(seconds) {
new tmp[256];
new minutes = floatround(seconds/60);
seconds -= minutes*60;
format(tmp, sizeof(tmp), "%d:%02d", minutes, seconds);
return tmp;
}

public Counter()
{
     Count --;
     new tmp[256];
     TextDrawHideForAll(Text:C);
     format(tmp, sizeof tmp, "Bomb will blow in : %s", TimeConvert(Count));
  C = TextDrawCreate(220.0, 310.0, tmp);
  TextDrawSetOutline(Text:C, 1);
  TextDrawShowForAll(Text:C);
  if(Defused)
  {
         GameTextForAll("~w~ ВОТ В ЭТОМ ДЕЙСТВИИ ТАЙМЕР ДОЛЖЕН УДАЛЯТЬСЯ!", 3000, 5);
         TextDrawHideForAll(Text:C);
         return 1;
   }
  else if (Count < 0.1)
     {
         TextDrawHideForAll(Text:C);
  }
  return 1;
}



SLICKДата: Понедельник, 15.10.2012, 22:23 | Сообщение # 2
Местный
Группа: I'm V.I.P.
Сообщений: 603
Награды: 9
Город: Unknown
Репутация: 388
Замечания: 0%
Статус:
if(DMTime == 0) {
KillTimer(CCR);
}



My works:
[GM] RTDM
Advertising system
Fuel System
Artefacts Search (Динамическая сис-ма артефактов)
33nchДата: Понедельник, 15.10.2012, 22:26 | Сообщение # 3
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Elabuga
Репутация: -55
Замечания: 100%
Статус:
SLICK, да, правильно. Но, только KillTimer(DMTimer);

Мне нужно сделать, что б в минус цифры не уходили.
А то таймер, на 0 не останавливается, а уходит в минус ( - ).



SLICKДата: Понедельник, 15.10.2012, 22:29 | Сообщение # 4
Местный
Группа: I'm V.I.P.
Сообщений: 603
Награды: 9
Город: Unknown
Репутация: 388
Замечания: 0%
Статус:
Нет, правильно KillTimer(CCR);
И я тебе написал что нужно его убивать когда переменная твоя имеет значение "0".



My works:
[GM] RTDM
Advertising system
Fuel System
Artefacts Search (Динамическая сис-ма артефактов)


Сообщение отредактировал SLICK - Понедельник, 15.10.2012, 22:30
aptypДата: Понедельник, 15.10.2012, 22:30 | Сообщение # 5
Продаюсь дешего
Группа: Продвинутые
Сообщений: 141
Награды: 2
Город: Green-X
Репутация: 405
Замечания: 20%
Статус:
Code
DMTime = 540;  
   CCR = SetTimer("DMTimer", 999, 1);  

public DMTimer()  
{  
      DMTime --;  
      new tmp[256];  
      TextDrawDestroy(Text:Time);  
      format(tmp, sizeof tmp, "%s", TimeConvert(DMTime));  

      Time = TextDrawCreate(300.0, 10.0, tmp);  
      TextDrawUseBox(Text:Time, 1);  
      TextDrawTextSize(Text:Time, 350.0, 30.0);  
      TextDrawSetShadow(Text:Time, 0);  
      TextDrawSetOutline(Text:Time, 1);  
      TextDrawShowForAll(Text:Time);  

      if (DMTime == 0)  
      {  
      for(new playerid = 0; playerid < MAX_PLAYERS; playerid ++ )  
      {  
         TogglePlayerControllable(playerid, 0);  
      }  
KillTimer(CCR);  
      }  
      return 1;  
}  

TimeConvert(seconds) {  
new tmp[256];  
new minutes = floatround(seconds/60);  
seconds -= minutes*60;  
format(tmp, sizeof(tmp), "%d:%02d", minutes, seconds);  
return tmp;  
}  

public Counter()  
{  
      Count --;  
      new tmp[256];  
      TextDrawHideForAll(Text:C);  
      format(tmp, sizeof tmp, "Bomb will blow in : %s", TimeConvert(Count));  
   C = TextDrawCreate(220.0, 310.0, tmp);  
   TextDrawSetOutline(Text:C, 1);  
   TextDrawShowForAll(Text:C);  
   if(Defused)  
   {  
          GameTextForAll("~w~ ВОТ В ЭТОМ ДЕЙСТВИИ ТАЙМЕР ДОЛЖЕН УДАЛЯТЬСЯ!", 3000, 5);  
          TextDrawHideForAll(Text:C);  
          return 1;  
    }  
   else if (Count < 0.1)  
      {  
          TextDrawHideForAll(Text:C);  
   }  
   return 1;  
}

33nchДата: Понедельник, 15.10.2012, 22:43 | Сообщение # 6
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Elabuga
Репутация: -55
Замечания: 100%
Статус:
SLICK,
Как таймер достигает 0.

Он всё-равно продолжает уходить в минус

Добавлено (15.10.2012, 22:43)
---------------------------------------------
aptyp, да, я так и вставил))


SLICKДата: Вторник, 16.10.2012, 01:21 | Сообщение # 7
Местный
Группа: I'm V.I.P.
Сообщений: 603
Награды: 9
Город: Unknown
Репутация: 388
Замечания: 0%
Статус:
Значит что-то где-то ты намудрил в коде..


My works:
[GM] RTDM
Advertising system
Fuel System
Artefacts Search (Динамическая сис-ма артефактов)
Ghost-XДата: Вторник, 16.10.2012, 08:13 | Сообщение # 8
Мастер джэдай
Группа: Продвинутые
Сообщений: 3548
Награды: 36
Город: Наб. Челны
Репутация: 856
Замечания: 40%
Статус:
попробуй так: http://pastebin.com/LNuJJxfU


Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит.
Хочешь остаться при своем мнении - держи его при себе.
33nchДата: Вторник, 16.10.2012, 17:08 | Сообщение # 9
Освоившийся
Группа: Продвинутые
Сообщений: 113
Награды: 1
Город: Elabuga
Репутация: -55
Замечания: 100%
Статус:
Ghost-X, во, спасибо.

Заработало ok

Тему можно закрыть.



  • Страница 1 из 1
  • 1
Поиск:





 


 


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