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

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

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

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

Секундомер

Статус пользователя Captain
сообщение 28.7.2017, 21:56
Сообщение #1
Стаж: 12 лет

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

Всем привет. Подскажите идиоту, где я в исходнике накосячил? Секундомер не работает.

Исходник
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new counter
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_0

public plugin_init()
{
register_plugin("Stopwatch", "1.0", "Admin")
register_menu("stopwatch", keys, "func_menu")
register_clcmd("swmenu", "openmenu")
register_logevent("round_end", 2, "1=Round_End")
register_event("DeathMsg", "death", "a", "1>0")
}

public round_end(id)
{
remove_task(id)
}

public death(id)
{
remove_task(id)
}

public openmenu(id)
{
if(cs_get_user_team(id) == CS_TEAM_CT)
{
open_menu(id)
}
}

public open_menu(id)
{
static menu[650], Len
Len = 0
Len = formatex(menu[Len], charsmax(menu) - Len, "\yСекундомер:^n^n")

Len += formatex(menu[Len], charsmax(menu) - Len, "\r1. \wStart^n")
keys |= MENU_KEY_1

Len += formatex(menu[Len], charsmax(menu) - Len, "\r2. \wStop^n^n")
keys |= MENU_KEY_2

Len += formatex(menu[Len], charsmax(menu) - Len, "\r0. \wВыход")
keys |= MENU_KEY_0

show_menu(id, keys, menu, -1, "menu")
return PLUGIN_HANDLED
}

public func_menu(id, key)
{
switch(key)
{
case 0:
{
if(!is_user_alive(id))
return PLUGIN_HANDLED

start(id)
open_menu(id)
}
case 1:
{
if(!is_user_alive(id))
return PLUGIN_HANDLED

stop(id)
open_menu(id)
}
}
return PLUGIN_HANDLED
}

public start(id)
{
counter = 1
set_task(1.0,"timer",0,_,_,"b")
}

public timer(id)
{
counter++
client_print(id, print_center, "Секундомер: %d", counter)
}

public stop(id)
{
remove_task(id)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя fl0werD
сообщение 28.7.2017, 22:07
Сообщение #2
Стаж: 9 лет 2 месяца

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

Что именно не работает?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Captain
сообщение 28.7.2017, 22:15
Сообщение #3
Стаж: 12 лет

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

Цитата(fl0werD @ 28.7.2017, 23:07) *
Что именно не работает?

Секундомер не запускается
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 28.7.2017, 22:26
Сообщение #4
Стаж: 9 лет 2 месяца

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

Так id игрока и id таска разные вещи.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Captain
сообщение 28.7.2017, 22:30
Сообщение #5
Стаж: 12 лет

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

Цитата(fl0werD @ 28.7.2017, 23:26) *
Так id игрока и id таска разные вещи.

Это я знаю, но без id таска плагин не компилируется. Другого решения я не нашел
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 28.7.2017, 22:32
Сообщение #6
Стаж: 9 лет 2 месяца

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

set_task(1.0,"timer",id,_,_,"b")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Captain
сообщение 28.7.2017, 22:37
Сообщение #7
Стаж: 12 лет

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

Цитата(fl0werD @ 28.7.2017, 23:32) *
set_task(1.0,"timer",id,_,_,"b")

не помогло
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 28.7.2017, 23:12
Сообщение #8
Стаж: 9 лет 2 месяца

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

Получается кодинг это не твоё.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Captain
сообщение 28.7.2017, 23:18
Сообщение #9
Стаж: 12 лет

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

Цитата(fl0werD @ 29.7.2017, 0:12) *
Получается кодинг это не твоё.

Моё. Я нашел свою ошибку. Всё работает. Ошибку допустил при регистрации меню
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 28.7.2017, 23:25
Сообщение #10
Стаж: 9 лет 2 месяца

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

Цитата(Captain @ 28.7.2017, 23:18) *
Моё. Я нашел свою ошибку. Всё работает. Ошибку допустил при регистрации меню

Поставь мне "спасибо", пожалуйста, за то что я тебя смотивировал её найти.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Captain
сообщение 28.7.2017, 23:32
Сообщение #11
Стаж: 12 лет

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

А как обнулить можно секундомер? А не просто остановить и убрать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 28.7.2017, 23:33
Сообщение #12
Стаж: 9 лет 2 месяца

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

Добавить кнопку "обнуление" и сделать счетчик на 0.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Captain
сообщение 29.7.2017, 0:04
Сообщение #13
Стаж: 12 лет

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

public round_end()
{
remove_task(id)
}

Как быть с этим? В конце раунда не останавливается секундомер.

Отредактировал: Captain, - 29.7.2017, 0:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 29.7.2017, 0:32
Сообщение #14
Стаж: 9 лет 2 месяца

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

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