Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Simple Timer

, Отсчёт определённого количества времени
Статус пользователя nootwitoff
сообщение 27.12.2020, 16:45
Сообщение #1
Стаж: 5 лет 6 месяцев

Сообщений: 3
Благодарностей: 1
Полезность: 0

Simple Timer

Автор: nootwit
Версия: 1.0
Требования: AMXX 1.8.2 и выше.

ВСТУПЛЕНИЕ
Плагин таймера. Написал сам и в первый раз, потому что в интернете нет подобных плагинов.
Может отсчитать минуту, 30 и 10 секунд. Можно остановить отсчёт. Имеется небольшое звуковое сопровождение. Компилируется без ошибок и предупреждений.

КОМАНДЫ
timer10, say /timer10 - отсчитать 10 сек.
timer30, say /timer30 - отсчитать 30 сек.
timer60, say /timer60 - отсчитать 1 мин.

stoptimer, say /stoptimer - остановить отсчёт

[attachment=52922:simple_timer.sma]

Отредактировал: $@NyA, - 27.12.2020, 17:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя csparena
сообщение 27.12.2020, 17:32
Сообщение #2


Стаж: 10 лет

Сообщений: 2377
Благодарностей: 541
Полезность: 106

nootwitoff,
А для чего этот плагин вообще???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nootwitoff
сообщение 27.12.2020, 17:38
Сообщение #3
Стаж: 5 лет 6 месяцев

Сообщений: 3
Благодарностей: 1
Полезность: 0

Цитата(csparena @ 27.12.2020, 22:32) *
nootwitoff,
А для чего этот плагин вообще???

Точно не знаю, но мне он пригодился для пряток.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Salpson
сообщение 27.12.2020, 18:17
Сообщение #4


Иконка группы

Стаж: 13 лет
Город: Ульяновск

Сообщений: 1214
Благодарностей: 759
Полезность: 1065

Жоско ))))))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TheArtemMaps
сообщение 27.12.2020, 18:30
Сообщение #5
Стаж: 6 лет 10 месяцев
Город: Киев

Сообщений: 703
Благодарностей: 64
Полезность: < 0

Цитата(csparena @ 27.12.2020, 18:32) *
nootwitoff,
А для чего этот плагин вообще???

Можно для джаила или пряток


Register System <== Register System от m0skVi4a ;]
45.137.155.4:45265 <== сервер зомби
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 27.12.2020, 19:27
Сообщение #6
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

Цитата
Плагин таймера. Написал сам и в первый раз, потому что в интернете нет подобных плагинов.


в копилку смеха. такого быдло кода я еще не видел
надо делать decrement по 1 и уже там все озвучивать хотя бы через swtch case. а не городить кучу функций.

делаешь 1 таймер с чтением параметра секунд текущего сколько нужно и оттуда пляшешь.

Отредактировал: csnet, - 27.12.2020, 19:30


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя nootwitoff
сообщение 27.12.2020, 19:46
Сообщение #7
Стаж: 5 лет 6 месяцев

Сообщений: 3
Благодарностей: 1
Полезность: 0

csnet,
Не удивляйся. Я писал этот код едва научившись, используя "костыли".
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 27.12.2020, 20:01
Сообщение #8
Стаж: 7 лет 5 месяцев

Сообщений: 1247
Благодарностей: 520
Полезность: 345

csnet, аж интересно глянуть твой первый "авторский" плагин


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 27.12.2020, 23:53
Сообщение #9


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

nootwitoff, http://amxxmodx.ru/core/amxmodxinc/70-set_...moe-vremya.html
там есть пример использования set_task и пример счётчика тоже, с форматированием текста в том числе. Можно будет 59 функций удалить, пожалуй.
Если сделать ещё чтение аргументов или типа того, то можно бы динамически задавать число секунд, say /timer26, например. Но хотя бы убрать кучу функций для начала.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя byjumpe
сообщение 28.12.2020, 1:07
Сообщение #10
Стаж: 5 лет 6 месяцев

Сообщений: 1
Благодарностей: 1
Полезность: 0

Цитата(nootwitoff @ 27.12.2020, 19:46) *
csnet,
Не удивляйся. Я писал этот код едва научившись, используя "костыли".

Пища для размышления
Код
#pragma semicolon 1

#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <time>

new g_CountTimer;

#define TASK_TIMER 5412

public plugin_init() {
    register_plugin("Simple Timer", "1.0.0", "Jumper");
    register_clcmd("say", "StartTimer");
    register_clcmd("say /stoptimer", "StopTimer");
}

public StartTimer(id) {
    static szCommand[192];
    read_args(szCommand, charsmax(szCommand));
    remove_quotes(szCommand);
    trim(szCommand);

    if(szCommand[0] == '/') {
        if(containi(szCommand[1],"timer") == 0) {
            replace(szCommand, charsmax(szCommand), "/timer", "");
            new iSec = str_to_num(szCommand);
            g_CountTimer = iSec + 1;
            remove_task(TASK_TIMER);
            set_task_ex(1.0, "Timer", TASK_TIMER, .flags = SetTask_Repeat);
        }
    }
}

public Timer() {
    g_CountTimer--;

    if(g_CountTimer) {
        new min = g_CountTimer / SECONDS_IN_MINUTE;
        new sec = g_CountTimer % SECONDS_IN_MINUTE;

        client_print(0, print_center, "Таймер: %02d:%02d", min, sec);
    } else {
        remove_task(TASK_TIMER);
        client_print(0, print_center, "Время истекло!");
        rg_send_audio(0, "events/tutor_msg.wav");
    }
}

public StopTimer(id) {
    remove_task(TASK_TIMER);
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 28.12.2020, 6:10
Сообщение #11
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

ну я как раз в ту ночь писал таймер правда под свои цели.

Cкрытый текст
Код:
int clocktime; 
int clocker()
{
while(true) {

Sleep(1000);

if (clocktime < 2 || !g_pIRunGameEngine->IsInGame())
{
g_pLocal.roundtime = "0:00";
continue;
}

clocktime--;

time_t seconds(clocktime);
tm * p = gmtime(&seconds);
char buff[70];
if (strftime(buff, sizeof buff, " %M:%S", p)) {
puts(buff);
g_pLocal.roundtime = buff;
}
}
}

int RoundTime(const char *pszName, int iSize, void *pbuf)
{
BEGIN_READ(pbuf, iSize);

int RoundTime = READ_SHORT();

clocktime = RoundTime;

return pRoundTime(pszName, iSize, pbuf);
}


для таймера, что он пишет достаточно на коленке представить

Код:
for ( int i= SKOLKO; SKOLKO<=0; i--) 
{
if ( SKOLKO > 0 )
{
set_hudmessage(255, 255, 255, -1.0, 0.25, 1, 6.0, 1.0)
show_hudmessage(0, num_to_str(i) )
}
else if ( SKOLKO == 0 )
{
set_hudmessage(255, 0, 0, -1.0, 0.25, 1, 6.0, 5.0)
show_hudmessage(0, "Время истекло!")
client_cmd(0, "spk events/tutor_msg")
}

}


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

автору + за 558 строчек старания. Не каждому хватит усидчивости.

Отредактировал: csnet, - 28.12.2020, 6:38


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: