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

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

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

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

Auto Restart

, Переделать...
Статус пользователя Fred Perry
сообщение 11.8.2011, 20:51
Сообщение #1


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

Стаж: 16 лет

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

Помогите переделать плагин.
Суть такая, надо убрать lang файл (чтобы в исходнике было уже вписаны сообщения) + 2 рестарта

Код
/* Plugin generated by AMXX-Studio */
/*
FAQ:
When Setting The Value For -> amx_auto_restart <-
Setting Value Like This amx_auto_restart "30.0" Is Correct
Setting Value Like This amx_auto_restart "30" Is Not Correct
Because The Cvar Value Is A Float
*/

#include <amxmodx>

#define PLUGIN "Auto Restart vl"
#define VERSION "1.1"
#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_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_autorestart = register_cvar("amx_auto_restart","20.0")
    
    g_SyncGameStart = CreateHudSyncObj()
    g_SyncRestartTimer = CreateHudSyncObj()
}

public RoundStart()
{
    if(!get_pcvar_num(g_autoenabled))
        return PLUGIN_HANDLED
    
    if(g_bRoundStart)
    {
        set_hudmessage( 0, 255, 0, -1.0, 0.40, 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
    
    set_hudmessage( 0, 255, 255, -1.0, 0.25, 0, 0.0, 1.0, 0.0, 0.0, -1)
    ShowSyncHudMsg( 0, g_SyncRestartTimer, "%L",LANG_PLAYER, "AUTO_RESTART", fSec)
    
    if(g_counter == get_pcvar_num(g_autorestart))
    {
        g_bRoundStart = true
    }
}

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

lang файл

[en]
AUTO_RESTART = [AMXX] ^n Auto Restart Round In ^n %.f Sec.
GAME_STARTED = [AMXX] Game Started. Go Go Go !!!


Спасибо заранее :)


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя imba
сообщение 11.8.2011, 21:12
Сообщение #2
Стаж: 16 лет

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

+
Код
#include <amxmodx>

#define PLUGIN "Auto Restart vl"
#define VERSION "1.1"
#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_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")  
    
    g_autoenabled = register_cvar("amx_autorr_enable","1")
    g_autorestart = register_cvar("amx_auto_restart","20.0")
    
    g_SyncGameStart = CreateHudSyncObj()
    g_SyncRestartTimer = CreateHudSyncObj()
}

public RoundStart()
{
    if(!get_pcvar_num(g_autoenabled))
        return PLUGIN_HANDLED
    
    if(g_bRoundStart)
    {
        set_hudmessage( 0, 255, 0, -1.0, 0.40, 1, 5.0, 8.0, 0.0, 0.0, -1)
        ShowSyncHudMsg( 0, g_SyncGameStart, "[AMXX] Game Started. Go Go Go !!!")
    }
    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
    
    set_hudmessage( 0, 255, 255, -1.0, 0.25, 0, 0.0, 1.0, 0.0, 0.0, -1)
    ShowSyncHudMsg( 0, g_SyncRestartTimer, "[AMXX] ^n Auto Restart Round In ^n %.f Sec.", fSec)
    
    if(g_counter == get_pcvar_num(g_autorestart))
    {
        g_bRoundStart = true
    }
}

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


!
Запрет на ответ в темах до: 10.11.29392, 21:09
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 11.8.2011, 21:46
Сообщение #3


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

Стаж: 16 лет

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

Код
#include <amxmodx>

#define PLUGIN "Auto Restart vl"
#define VERSION "1.1"
#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_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")  
    
    g_autoenabled = register_cvar("amx_autorr_enable","1")
    g_autorestart = register_cvar("amx_auto_restart","30.0")
    
    g_SyncGameStart = CreateHudSyncObj()
    g_SyncRestartTimer = CreateHudSyncObj()
}

public RoundStart()
{
    if(!get_pcvar_num(g_autoenabled))
        return PLUGIN_HANDLED
    
    if(g_bRoundStart)
    {
        set_hudmessage( 0, 255, 0, -1.0, 0.40, 1, 5.0, 8.0, 0.0, 0.0, -1)
        ShowSyncHudMsg( 0, g_SyncGameStart, ".cfg Cyber School: Игра началась! Разнеси тут всё и всех!!!")
    }
    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
    
    set_hudmessage( 0, 255, 255, -1.0, 0.25, 0, 0.0, 1.0, 0.0, 0.0, -1)
    ShowSyncHudMsg( 0, g_SyncRestartTimer, ".cfg Cyber School: ^n Автоматический рестарт через ^n %.f секунд.", fSec)
    
    if(g_counter == get_pcvar_num(g_autorestart))
    {
        g_bRoundStart = true
    }
}

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


Все отлично, но...
1) Не отображает русские символы, потому что кодировка исходника ANSI,а при смене на UTF-8 не компилируется плагин.
2)Сделать чтобы было 2 рестарта (т.к. на сервере стоит автобаланс).


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Factor
сообщение 11.8.2011, 22:21
Сообщение #4


Стаж: 14 лет

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

Используй notepad++ для установки кодировки, вроде без BOM надо.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 11.8.2011, 22:34
Сообщение #5


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

Стаж: 16 лет

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

А 2 рестарта как сделать?


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 11.8.2011, 22:47
Сообщение #6


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

Стаж: 18 лет
Город: Санкт-Петербург


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

если к
server_cmd("sv_restartround 1")

приписать еще
server_cmd("sv_restartround 3") например, мб получится? pardon.gif

Отредактировал: ZZZombiE, - 11.8.2011, 22:48


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 11.8.2011, 22:52
Сообщение #7


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

Стаж: 16 лет

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

2 рестарта по 1 секунде не работало
Попробую поставить 3 секунды на второй.


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 11.8.2011, 22:53
Сообщение #8


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

Стаж: 16 лет

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

Ок, отпишу после использования всех методов.


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 11.8.2011, 22:53
Сообщение #9


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

Стаж: 18 лет
Город: Санкт-Петербург


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

Fred Perry,
второй бред по моему :3


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 11.8.2011, 23:21
Сообщение #10


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

Стаж: 16 лет

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

Цитата(ZZZombiE @ 11.8.2011, 23:53) *
Fred Perry,
второй бред по моему :3

Ну это да :) Лучше сразу написать рестарт чем выражать через что-то.


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 11.8.2011, 23:32
Сообщение #11


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

Стаж: 18 лет
Город: Санкт-Петербург


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

Fred Perry,
ну так получилось или нет?)


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 11.8.2011, 23:47
Сообщение #12


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

Стаж: 16 лет

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

Завтра отпишу, сегодня такие изменения уже не буду вводить, спасибо.


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя grant1
сообщение 12.8.2011, 6:38
Сообщение #13


Стаж: 17 лет

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

Цитата
Не отображает русские символы, потому что кодировка исходника ANSI,а при смене на UTF-8 не компилируется плагин.

У меня всё по русски! И скомпилировался!

Отредактировал: grant1, - 12.8.2011, 6:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 12.8.2011, 7:36
Сообщение #14


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

Стаж: 18 лет
Город: Санкт-Петербург


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

grant1,
молодец, возьми пирожок


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 12.8.2011, 9:10
Сообщение #15


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

Стаж: 16 лет

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

Цитата(grant1 @ 12.8.2011, 7:38) *
У меня всё по русски! И скомпилировался!

:) мда........................


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя grant1
сообщение 12.8.2011, 17:00
Сообщение #16


Стаж: 17 лет

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

Цитата
молодец, возьми пирожок

А ты мне его испеки..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 15.8.2011, 21:43
Сообщение #17


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

Стаж: 16 лет

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

Плагин немного кривой, ждем помощь людей :)


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Factor
сообщение 15.8.2011, 22:03
Сообщение #18


Стаж: 14 лет

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

попробуй

Код
/* Plugin generated by AMXX-Studio */
/*
FAQ:
When Setting The Value For -> amx_auto_restart <-
Setting Value Like This amx_auto_restart "30.0" Is Correct
Setting Value Like This amx_auto_restart "30" Is Not Correct
Because The Cvar Value Is A Float
*/

#include <amxmodx>

#define PLUGIN "Auto Restart vl"
#define VERSION "1.1"
#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_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")  
    
    
    g_autoenabled = register_cvar("amx_autorr_enable","1")
    g_autorestart = register_cvar("amx_auto_restart","20.0")
    
    g_SyncGameStart = CreateHudSyncObj()
    g_SyncRestartTimer = CreateHudSyncObj()
}

public RoundStart()
{
    if(!get_pcvar_num(g_autoenabled))
        return PLUGIN_HANDLED
    
    if(g_bRoundStart)
    {
        set_hudmessage( 0, 255, 0, -1.0, 0.40, 1, 5.0, 8.0, 0.0, 0.0, -1)
        ShowSyncHudMsg( 0, g_SyncGameStart, "^n Auto Restart Round In ^n %.f Sec", "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
    
    set_hudmessage( 0, 255, 255, -1.0, 0.25, 0, 0.0, 1.0, 0.0, 0.0, -1)
    ShowSyncHudMsg( 0, g_SyncRestartTimer, "Game Started. Go Go Go !!!", "AUTO_RESTART", fSec)
    
    if(g_counter == get_pcvar_num(g_autorestart))
    {
        g_bRoundStart = true
    }
}

public RestartRound()
{
    server_cmd("sv_restartround 1")
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: