 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
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, во, спасибо.
Заработало
Тему можно закрыть.
|
| |
|
|
|
 |
|
 | |
| |
|