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

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

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

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

> Правила форума

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

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Автоматический рестарт.

, Иногда произвольный рестарт происходит.
Статус пользователя MrWolf
сообщение 25.4.2013, 18:03
Сообщение #1
Стаж: 14 лет

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

Всем здрасти.

Есть плагин: Прикрепленный файл  auto_restart_vl.sma ( 1,87 килобайт ) Кол-во скачиваний: 19


Вообщем проблема: иногда плагин ни с того ни с сего делает автоматический рестарт. Может в середине раунда, а может в конце, по-разному. Замечал, что частенько это происходит после рестарта админом, например, в середине карты. Иногда вообще казус бывает: нормально отсчёт идёт от 30 и к 0, а бывает что от 0 к 30, причём со знаком минус перед числом ^_^

Вообщем, может быть кто сталкивался.

Спасибо заранее.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя xoomie
сообщение 25.4.2013, 21:58
Сообщение #2


Стаж: 13 лет

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

Попробуй этот вариант.
Скрытый текст
Код:
/* Plugin generated by AMXX-Studio */


#include <amxmodx>

#define PLUGIN "Auto Restart vl"
#define VERSION "1.4"
#define AUTHOR "vato loco [GE-S]"

#define TIMER_TASK 123456
#define RESTART_TASK 789123

new g_counter

new g_autorestart
new g_autoenabled
new g_autocds
new g_autocount_color
new g_autostart_color
new g_auto_xypos

new g_SyncGameStart
new g_SyncRestartTimer

new bool:g_bRoundStart

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_logevent("RoundStart", 2, "1=Round_Start")
register_event("TextMsg","RestartTask","a","2&#Game_C")

register_dictionary("auto_restart_vl.txt")

g_autoenabled = register_cvar("amx_autorr_enable","1")
g_autocds = register_cvar("amx_autorr_cds","1")
g_autorestart = register_cvar("amx_autorr_time","40")
g_autocount_color = register_cvar("amx_autorr_count_color","0 255 0")
g_autostart_color = register_cvar("amx_autorr_start_color","0 255 255")
g_auto_xypos = register_cvar("amx_autorr_xypos","-1.0 0.25")

g_SyncGameStart = CreateHudSyncObj()
g_SyncRestartTimer = CreateHudSyncObj()
}

public RoundStart()
{
if(!get_pcvar_num(g_autoenabled))
return PLUGIN_HANDLED

if(g_bRoundStart)
{
static r, g, b, Float:x, Float:y
HudMsgPos(x,y)
HudMsgColor(g_autostart_color, r, g, b)

set_hudmessage( r, g, b, x, y, 1, 5.0, 8.0, 0.0, 0.0, -1)
ShowSyncHudMsg( 0, g_SyncGameStart, "%L",LANG_PLAYER, "GAME_STARTED")
}
g_bRoundStart = false

return PLUGIN_CONTINUE
}

public RestartTask()
{
if(!get_pcvar_num(g_autoenabled))
return PLUGIN_HANDLED

set_task(1.0,"TimeCounter",TIMER_TASK,_,_,"a",get_pcvar_num(g_autorestart))
set_task(get_pcvar_float(g_autorestart),"RestartRound",RESTART_TASK)

return PLUGIN_CONTINUE
}

public TimeCounter()
{
g_counter++

new Float:iRestartTime = get_pcvar_float(g_autorestart) - g_counter
new Float:fSec
fSec = iRestartTime

static r, g, b, Float:x, Float:y
HudMsgPos(x,y)
HudMsgColor(g_autocount_color, r, g, b)

set_hudmessage( r, g, b, x, y, 0, 0.0, 1.0, 0.0, 0.0, -1)
ShowSyncHudMsg( 0, g_SyncRestartTimer, "%L",LANG_PLAYER, "AUTO_RESTART", floatround(fSec))

if(get_pcvar_num(g_autocds) && get_pcvar_num(g_autorestart) - g_counter < 11 && get_pcvar_num(g_autorestart) - g_counter !=0)
{
static szNum[32]
num_to_word(get_pcvar_num(g_autorestart) - g_counter, szNum, 31)
client_cmd(0,"speak ^"vox/%s^"", szNum)
}
if(g_counter == get_pcvar_num(g_autorestart))
{
g_bRoundStart = true
g_counter = 0
}
}

public RestartRound()
{
server_cmd("sv_restartround 1")
}

public HudMsgColor(cvar, &r, &g, &b)
{
static color[16], piece[5]
get_pcvar_string(cvar, color, 15)

strbreak( color, piece, 4, color, 15)
r = str_to_num(piece)

strbreak( color, piece, 4, color, 15)
g = str_to_num(piece)
b = str_to_num(color)
}

public HudMsgPos(&Float:x, &Float:y)
{
static coords[16], piece[10]
get_pcvar_string(g_auto_xypos , coords, 15)

strbreak(coords, piece, 9, coords, 15)
x = str_to_float(piece)
y = str_to_float(coords)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя MrWolf
сообщение 26.4.2013, 0:06
Сообщение #3
Стаж: 14 лет

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

Мне нужно без .txt файлов. Желательно именно мой .sma проверить, что же в нём именно не так понять хочется.

Отредактировал: MrWolf, - 26.4.2013, 0:06
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 26.4.2013, 1:58
Сообщение #4
Стаж: 14 лет
Город: Moscow

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

Цитата(MrWolf @ 26.4.2013, 2:06) *
Мне нужно без .txt файлов. Желательно именно мой .sma проверить, что же в нём именно не так понять хочется.

Разумнее для начала перейти на v1.4 Auto Restart. Если нужен русский язык - в словаре впишите русские слова в секции [en] и сохраните в кодировке UTF-8 без BOM.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xoomie
сообщение 26.4.2013, 5:32
Сообщение #5


Стаж: 13 лет

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

Вот тебе все на готовом. Сделал [ru] ставь и играй. Через txt лучше и удобней.

Скрытый текст
Код:
#include <amxmodx>

#define PLUGIN "Auto Restart vl"
#define VERSION "1.4"
#define AUTHOR "vato loco [GE-S]"

#define TIMER_TASK 123456
#define RESTART_TASK 789123

new g_counter

new g_autorestart
new g_autoenabled
new g_autocds
new g_autocount_color
new g_autostart_color
new g_auto_xypos

new g_SyncGameStart
new g_SyncRestartTimer

new bool:g_bRoundStart

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_logevent("RoundStart", 2, "1=Round_Start")
register_event("TextMsg","RestartTask","a","2&#Game_C")

register_dictionary("auto_restart_vl.txt")

g_autoenabled = register_cvar("amx_autorr_enable","1")
g_autocds = register_cvar("amx_autorr_cds","1")
g_autorestart = register_cvar("amx_autorr_time","40")
g_autocount_color = register_cvar("amx_autorr_count_color","0 255 0")
g_autostart_color = register_cvar("amx_autorr_start_color","0 255 255")
g_auto_xypos = register_cvar("amx_autorr_xypos","-1.0 0.25")

g_SyncGameStart = CreateHudSyncObj()
g_SyncRestartTimer = CreateHudSyncObj()
}

public RoundStart()
{
if(!get_pcvar_num(g_autoenabled))
return PLUGIN_HANDLED

if(g_bRoundStart)
{
static r, g, b, Float:x, Float:y
HudMsgPos(x,y)
HudMsgColor(g_autostart_color, r, g, b)

set_hudmessage( r, g, b, x, y, 1, 5.0, 8.0, 0.0, 0.0, -1)
ShowSyncHudMsg( 0, g_SyncGameStart, "%L",LANG_PLAYER, "GAME_STARTED")
}
g_bRoundStart = false

return PLUGIN_CONTINUE
}

public RestartTask()
{
if(!get_pcvar_num(g_autoenabled))
return PLUGIN_HANDLED

set_task(1.0,"TimeCounter",TIMER_TASK,_,_,"a",get_pcvar_num(g_autorestart))
set_task(get_pcvar_float(g_autorestart),"RestartRound",RESTART_TASK)

return PLUGIN_CONTINUE
}

public TimeCounter()
{
g_counter++

new Float:iRestartTime = get_pcvar_float(g_autorestart) - g_counter
new Float:fSec
fSec = iRestartTime

static r, g, b, Float:x, Float:y
HudMsgPos(x,y)
HudMsgColor(g_autocount_color, r, g, b)

set_hudmessage( r, g, b, x, y, 0, 0.0, 1.0, 0.0, 0.0, -1)
ShowSyncHudMsg( 0, g_SyncRestartTimer, "%L",LANG_PLAYER, "AUTO_RESTART", floatround(fSec))

if(get_pcvar_num(g_autocds) && get_pcvar_num(g_autorestart) - g_counter < 11 && get_pcvar_num(g_autorestart) - g_counter !=0)
{
static szNum[32]
num_to_word(get_pcvar_num(g_autorestart) - g_counter, szNum, 31)
client_cmd(0,"speak ^"vox/%s^"", szNum)
}
if(g_counter == get_pcvar_num(g_autorestart))
{
g_bRoundStart = true
g_counter = 0
}
}

public RestartRound()
{
server_cmd("sv_restartround 1")
}

public HudMsgColor(cvar, &r, &g, &b)
{
static color[16], piece[5]
get_pcvar_string(cvar, color, 15)

strbreak( color, piece, 4, color, 15)
r = str_to_num(piece)

strbreak( color, piece, 4, color, 15)
g = str_to_num(piece)
b = str_to_num(color)
}

public HudMsgPos(&Float:x, &Float:y)
{
static coords[16], piece[10]
get_pcvar_string(g_auto_xypos , coords, 15)

strbreak(coords, piece, 9, coords, 15)
x = str_to_float(piece)
y = str_to_float(coords)
}


вот /lang/auto_restart_vl.txt
Скрытый текст
Код
[ru]
AUTO_RESTART = [AMXX] ^n Автоматический Рестарт Раунда В ^n %d Секунд.
GAME_STARTED = [AMXX] Игра Началась. Вперед Вперед Вперед !!!

[en]
AUTO_RESTART = [AMXX] ^n Auto Restart Round In ^n %d Sec.
GAME_STARTED = [AMXX] Game Started. Go Go Go !!!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: