CS-bg.info - форумът на CS-bg :: Counter-Strike фен сайт

Style C4 Timer

Тук е мястото да представите плъгин(и), написани от вас!

Модератори: Екип C-Strike, Помощник-модератори

Style C4 Timer

Мнениеот OciXCrom » 20 Яну 2016, 16:58

Style C4 Timer


Описание

  • C4 таймер, който показва времето до експлозия по малко различен начин. Можете да избирате между 4 допълнителни стилове, като изключим обикновения, т.е. отброяване до 0. Таймерът също така сменя цвета си през определено време, като по подразбиране започва със зелен цвят, на 10 секунди става жълт, а на 5 става червен.

Списък с cvar-ове

  • c4timer_style <по подразбиране: "1"> -- Стил на таймера (вижте стиловете по-долу).
  • c4timer_random <по подразбиране: "0"> -- Дали таймерът да има произволни цветове (ако е включено, долните два cvar-а ще бъдат блокирани).
  • c4timer_yellow <по подразбиране: "10"> -- На колко секунди таймерът да става жълт.
  • c4timer_red <по подразбиране: "5"> -- На колко секунди таймерът да става червен.
  • c4timer_xpos <по подразбиране: "-1.0"> -- X позиция на екрана.
  • c4timer_ypos <по подразбиране: "0.80"> -- Y позиция на екрана.

Стилове (c4timer_style "0/1/2/3/4")

Изображение

Клип

YouTube видео

* Цъкни тук за да видиш всички сървъри, които използват този плъгин.

Изтегли плъгина

  • Download from iPlay.bg -- Това е линкът към оригинала. При разпространяване на плъгина по други сайтове/форуми, длъжни сте да го добавите към темата си!
Последна промяна OciXCrom на 06 Сеп 2016, 14:53, променена общо 1 път
OciXCrom

Аватар
OciXCrom™ Official Profile
OciXCrom™ Official Profile
 
Регистриран на: 21 Мар 2013, 14:21
Местоположение: jb.iplay.bg:27015
Skype: doctor.crom1234
Профил в Steam
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот The Voyager » 11 Фев 2016, 20:12

Здравей, @OciXCrom.
Бих искал да те попитам, ще може ли да ми го направиш в DHUD съобщение, и да е на тази позиция?
Код: Избери целия код
set_hudmessage(0, 255, 0, -1.0, 0.3, 0, 1.0, 5.0, 0.1, 0.2, 5)
Или по-точно на позицията, на която е този плъгин, мисля,че много добре го знаеш. - http://cs-bg.info/plugin/37/

Тази позиция я заместих на плъгина и ми излезе грешка, за това ти дадох плъгина, да се подсетиш на коя позиция ти говоря !
The Voyager

Аватар
Потребител
Потребител
 
Регистриран на: 07 Фев 2016, 20:53
Местоположение: Пловдив
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот OciXCrom » 11 Фев 2016, 20:43

Код: Избери целия код
#include <amxmodx>
#include <csx>

#if AMXX_VERSION_NUM < 183
    #include <dhudmessage>
#endif

#define PLUGIN_VERSION "1.0 [DHUD]"
#define RED 0
#define GREEN 1
#define BLUE 2
#define TASK_TIMER 330999
 
new g_szTimer
[128], g_iOriginalTimer, g_iC4Timer
new g_cvarStyle
, g_cvarRandom, g_cvarYellow, g_cvarRed, g_cvarXPos, g_cvarYPos
new g_iStyle
, g_iRandom, g_iYellow, g_iRed, Float:g_flXPos, Float:g_flYPos
new bool
:g_blPlanted
 
public plugin_init
()
{
    register_plugin("Style C4 Timer", PLUGIN_VERSION, "OciXCrom")
    register_cvar("StyleC4Timer", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
    register_logevent("eventRoundStart", 2, "1=Round_Start")
    register_logevent("eventRoundEnd", 2, "1=Round_End")
    register_logevent("eventRoundEnd", 2, "1&Restart_Round_")
    g_cvarStyle = register_cvar("c4timer_style", "1")
    g_cvarRandom = register_cvar("c4timer_random", "0")
    g_cvarYellow = register_cvar("c4timer_yellow", "10")
    g_cvarRed = register_cvar("c4timer_red", "5")
    g_cvarXPos = register_cvar("c4timer_xpos", "-1.0")
    g_cvarYPos = register_cvar("c4timer_ypos", "0.80")
    g_iOriginalTimer = get_pcvar_num(get_cvar_pointer("mp_c4timer"))
}
 
public eventRoundStart
()
{
    g_iC4Timer = -1
    remove_task
(TASK_TIMER)
    g_blPlanted = false
}
 
public eventRoundEnd
()
{
    g_iC4Timer = -1
    remove_task
(TASK_TIMER)
}
 
public bomb_planted
()
{
    g_blPlanted = true
    g_iC4Timer 
= g_iOriginalTimer
    formTimer
()
    displayTimer()
    set_task(1.0, "displayTimer", TASK_TIMER, "", 0, "b")
}
 
public bomb_defused
()
{
    if(g_blPlanted)
    {
        remove_task(TASK_TIMER)
        g_blPlanted = false
    
}
}
 
public bomb_explode
()
{
    if(g_blPlanted)
    {
        remove_task(TASK_TIMER)
        g_blPlanted = false
    
}
}

public formTimer()
{
    clearTimer()
    checkCvars()
    
    switch
(g_iStyle)
    {
        case 1:
        {
            addTimer("[ ")
            
            for
(new i = 0; i < g_iC4Timer; i++)
                addTimer("- ")
            
            addTimer
("]")
        }
        case 2:
        {
            for(new i = 0; i < g_iC4Timer; i++)
                addTimer("o")
        }
        case 3:
        {
            addTimer("| o ")
            
            for
(new i = 0; i < g_iC4Timer; i++)
                addTimer("> ")
                
            addTimer
("|")
        }
        case 4:
        {
            addTimer("| C4 ")
            
            for
(new i = 0; i < g_iC4Timer; i++)
                addTimer("> ")
                
            addTimer
("|")
        }
        default: formatex(g_szTimer, charsmax(g_szTimer), "C4: %i", g_iC4Timer)
    }
}

public checkCvars()
{
    g_iStyle = get_pcvar_num(g_cvarStyle)
    g_iRandom = get_pcvar_num(g_cvarRandom)
    g_iYellow = get_pcvar_num(g_cvarYellow)
    g_iRed = get_pcvar_num(g_cvarRed)
    g_flXPos = get_pcvar_float(g_cvarXPos)
    g_flYPos = get_pcvar_float(g_cvarYPos)
}

public updateTimer()
{
    switch(g_iStyle)
    {
        case 1: replaceTimer("-", "|")
        case 2: replaceTimer("o", "")
        case 3: replaceTimer("o >", "> o")
        case 4: replaceTimer("C4 >", "> C4")
        default: formatex(g_szTimer, charsmax(g_szTimer), "C4: %i", g_iC4Timer)
    }
}

public clearTimer()
    formatex(g_szTimer, charsmax(g_szTimer), "")
    
public addTimer
(const szString[])
    add(g_szTimer, charsmax(g_szTimer), szString)
    
public replaceTimer
(const szString[], const szString2[])
    replace(g_szTimer, charsmax(g_szTimer), szString, szString2)
    
public displayTimer
()
{
   
    if
(!g_blPlanted)
    {
        remove_task(TASK_TIMER)
        return
    
}
    
    if
(g_iC4Timer >= 0)
    {
        new g_iColor[3]
        
        if
(g_iRandom)
        {
            g_iColor[RED] = random(256)
            g_iColor[GREEN] = random(256)
            g_iColor[BLUE] = random(256)
        }
        else
        
{
            if(g_iC4Timer > g_iYellow) g_iColor[GREEN] = 100
            else if
(g_iC4Timer > g_iRed)
            {
                g_iColor[RED] = 255
                g_iColor
[GREEN] = 255
            
}
            else g_iColor[RED] = 255
        
}
        
        g_iC4Timer
--
        set_dhudmessage(g_iColor[0], g_iColor[1], g_iColor[2], g_flXPos, g_flYPos, 0, 1.0, 1.0, 0.01, 0.01)
        show_dhudmessage(0, g_szTimer, g_iC4Timer)
        updateTimer()
    }


Координатите за позицията се променят чрез cvar.
OciXCrom

Аватар
OciXCrom™ Official Profile
OciXCrom™ Official Profile
 
Регистриран на: 21 Мар 2013, 14:21
Местоположение: jb.iplay.bg:27015
Skype: doctor.crom1234
Профил в Steam
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот The Voyager » 11 Фев 2016, 21:56

Излиза ми проблем при компилирането - http://prikachi.com/images/183/8630183M.png
The Voyager

Аватар
Потребител
Потребител
 
Регистриран на: 07 Фев 2016, 20:53
Местоположение: Пловдив
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот OciXCrom » 11 Фев 2016, 22:33

Seven написа:Излиза ми проблем при компилирането - http://prikachi.com/images/183/8630183M.png


Коя версия на AMXX ползваш? Случайно да ти липсват базовите файлове за компилиране?
OciXCrom

Аватар
OciXCrom™ Official Profile
OciXCrom™ Official Profile
 
Регистриран на: 21 Мар 2013, 14:21
Местоположение: jb.iplay.bg:27015
Skype: doctor.crom1234
Профил в Steam
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот The Voyager » 11 Фев 2016, 22:52

Ами ползвам AMXX, който го има в Уеб Билдъра на сайта. Оправих се, комплирах го онлайн, а сега би ли ми казал как да го сложа от дясно на екрана? Не долу, нито горе, посредата от ляво.
The Voyager

Аватар
Потребител
Потребител
 
Регистриран на: 07 Фев 2016, 20:53
Местоположение: Пловдив
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот OciXCrom » 12 Фев 2016, 01:28

Експериментирай малко с двата cvarа за координатите. Y трябва да е -1.0, а X поне 0.01.
OciXCrom

Аватар
OciXCrom™ Official Profile
OciXCrom™ Official Profile
 
Регистриран на: 21 Мар 2013, 14:21
Местоположение: jb.iplay.bg:27015
Skype: doctor.crom1234
Профил в Steam
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот The Voyager » 25 Юли 2016, 22:45

А възможно ли е да се сложи отброяване и със звук. Искам да сложа едни мои соунд ефекти, писал съм ти на лично, защото не искам да излизат на яве и да правя мръсно и да другите. :)
The Voyager

Аватар
Потребител
Потребител
 
Регистриран на: 07 Фев 2016, 20:53
Местоположение: Пловдив
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот OciXCrom » 04 Авг 2016, 13:32

Възможно е, разбира се. Но, дай малко повече информация относно отброяването - имаш предвид отделен звук за всяка секунда, звук през определено време, или пък звук когато започне отброяването?
OciXCrom

Аватар
OciXCrom™ Official Profile
OciXCrom™ Official Profile
 
Регистриран на: 21 Мар 2013, 14:21
Местоположение: jb.iplay.bg:27015
Skype: doctor.crom1234
Профил в Steam
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот The Voyager » 05 Авг 2016, 17:13

Точно така, отделен звук за всяка секунда, последните 10 секунди, обикновенното, както е отброяването при зомби сървърите.
Да не ми се сърдят колегите от CS-BG инфо, то тези звуци са онлайн, така че не мисля, че ще им е проблем.

https://www.dropbox.com/s/guqdzv0dfchch ... 9.mp3?dl=0
The Voyager

Аватар
Потребител
Потребител
 
Регистриран на: 07 Фев 2016, 20:53
Местоположение: Пловдив
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот HasanHasimoff » 05 Авг 2016, 17:26

як плъгин 10 от 10
Последна промяна shhnedo на 05 Авг 2016, 19:42, променена общо 1 път
Причина: Нарушени т.5 и т.8 от правилата на форума!
HasanHasimoff

Потребител
Потребител
 
Регистриран на: 04 Авг 2016, 17:14
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот OciXCrom » 06 Авг 2016, 12:56

Каченият файл не е отделен звук за всяка секунда, а един звук за всички 10 секунди.

Код: Избери целия код
#include <amxmodx>
#include <csx>

#if AMXX_VERSION_NUM < 183
    #include <dhudmessage>
#endif

#define PLUGIN_VERSION "1.0 [DHUD] [10SEC SOUND]"
#define RED 0
#define GREEN 1
#define BLUE 2
#define TASK_TIMER 330999
#define CDOWN_SOUND "mysound.mp3"
 
new g_szTimer[128], g_iOriginalTimerg_iC4Timer
new g_cvarStyleg_cvarRandomg_cvarYellowg_cvarRedg_cvarXPosg_cvarYPos
new g_iStyleg_iRandomg_iYellowg_iRedFloat:g_flXPosFloat:g_flYPos
new bool:g_blPlanted
 
public plugin_init()
{
    
register_plugin("Style C4 Timer"PLUGIN_VERSION"OciXCrom")
    
register_cvar("StyleC4Timer"PLUGIN_VERSIONFCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
    
register_logevent("eventRoundStart"2"1=Round_Start")
    
register_logevent("eventRoundEnd"2"1=Round_End")
    
register_logevent("eventRoundEnd"2"1&Restart_Round_")
    
g_cvarStyle register_cvar("c4timer_style""1")
    
g_cvarRandom register_cvar("c4timer_random""0")
    
g_cvarYellow register_cvar("c4timer_yellow""10")
    
g_cvarRed register_cvar("c4timer_red""5")
    
g_cvarXPos register_cvar("c4timer_xpos""-1.0")
    
g_cvarYPos register_cvar("c4timer_ypos""0.80")
    
g_iOriginalTimer get_pcvar_num(get_cvar_pointer("mp_c4timer"))
}

public 
plugin_precache()
    
precache_generic(CDOWN_SOUND)
 
public 
eventRoundStart()
{
    
g_iC4Timer = -1
    remove_task
(TASK_TIMER)
    
g_blPlanted false
    client_cmd
(0"mp3 stop")
}
 
public 
eventRoundEnd()
{
    
g_iC4Timer = -1
    remove_task
(TASK_TIMER)
}
 
public 
bomb_planted()
{
    
g_blPlanted true
    g_iC4Timer 
g_iOriginalTimer
    formTimer
()
    
displayTimer()
    
set_task(1.0"displayTimer"TASK_TIMER""0"b")
}
 
public 
bomb_defused()
{
    if(
g_blPlanted)
    {
        
remove_task(TASK_TIMER)
        
g_blPlanted false
        client_cmd
(0"mp3 stop")
    }
}
 
public 
bomb_explode()
{
    if(
g_blPlanted)
    {
        
remove_task(TASK_TIMER)
        
g_blPlanted false
    
}
}

public 
formTimer()
{
    
clearTimer()
    
checkCvars()
    
    switch(
g_iStyle)
    {
        case 
1:
        {
            
addTimer("[ ")
            
            for(new 
0g_iC4Timeri++)
                
addTimer("- ")
            
            
addTimer("]")
        }
        case 
2:
        {
            for(new 
0g_iC4Timeri++)
                
addTimer("o")
        }
        case 
3:
        {
            
addTimer("| o ")
            
            for(new 
0g_iC4Timeri++)
                
addTimer("> ")
                
            
addTimer("|")
        }
        case 
4:
        {
            
addTimer("| C4 ")
            
            for(new 
0g_iC4Timeri++)
                
addTimer("> ")
                
            
addTimer("|")
        }
        default: 
formatex(g_szTimercharsmax(g_szTimer), "C4: %i"g_iC4Timer)
    }
}

public 
checkCvars()
{
    
g_iStyle get_pcvar_num(g_cvarStyle)
    
g_iRandom get_pcvar_num(g_cvarRandom)
    
g_iYellow get_pcvar_num(g_cvarYellow)
    
g_iRed get_pcvar_num(g_cvarRed)
    
g_flXPos get_pcvar_float(g_cvarXPos)
    
g_flYPos get_pcvar_float(g_cvarYPos)
}

public 
updateTimer()
{
    switch(
g_iStyle)
    {
        case 
1replaceTimer("-""|")
        case 
2replaceTimer("o""")
        case 
3replaceTimer("o >""> o")
        case 
4replaceTimer("C4 >""> C4")
        default: 
formatex(g_szTimercharsmax(g_szTimer), "C4: %i"g_iC4Timer)
    }
}

public 
clearTimer()
    
formatex(g_szTimercharsmax(g_szTimer), "")
    
public 
addTimer(const szString[])
    
add(g_szTimercharsmax(g_szTimer), szString)
    
public 
replaceTimer(const szString[], const szString2[])
    
replace(g_szTimercharsmax(g_szTimer), szStringszString2)
    
public 
displayTimer()
{   
    if(!
g_blPlanted)
    {
        
remove_task(TASK_TIMER)
        return
    }
    
    if(
g_iC4Timer >= 0)
    {
        if(
g_iC4Timer == 10)
            
client_cmd(0"mp3 play %s"CDOWN_SOUND)
            
        new 
g_iColor[3]
        
        if(
g_iRandom)
        {
            
g_iColor[RED] = random(256)
            
g_iColor[GREEN] = random(256)
            
g_iColor[BLUE] = random(256)
        }
        else
        {
            if(
g_iC4Timer g_iYellowg_iColor[GREEN] = 100
            
else if(g_iC4Timer g_iRed)
            {
                
g_iColor[RED] = 255
                g_iColor
[GREEN] = 255
            
}
            else 
g_iColor[RED] = 255
        
}
        
        
g_iC4Timer--
        
set_dhudmessage(g_iColor[0], g_iColor[1], g_iColor[2], g_flXPosg_flYPos01.01.00.010.01)
        
show_dhudmessage(0g_szTimerg_iC4Timer)
        
updateTimer()
    }
}  


Промени локацията на звука от #define CDOWN_SOUND.
OciXCrom

Аватар
OciXCrom™ Official Profile
OciXCrom™ Official Profile
 
Регистриран на: 21 Мар 2013, 14:21
Местоположение: jb.iplay.bg:27015
Skype: doctor.crom1234
Профил в Steam
[ Профил в сайта ]

Re: Style C4 Timer

Мнениеот teknival » 01 Ное 2016, 04:37

Можеш ли да го промениш така че таймера да се вижда и от живите.
Всъщност това бъг ли е или така си го направил ? :tease:
Аз разгледах кода набързо ама нещо не ми се задълбава.
teknival

Аватар
Потребител
Потребител
 
Регистриран на: 02 Мар 2015, 11:41
[ Профил в сайта ]



Ето че в края на този месец се навършват точно 10 години от официалното пускане на българския CS фен сайт.
ESEA имат удоволствието да обявят сезон 25 на своята лига, който ще включва повече дивизии за някои региони, както и редица подобрения базирани на обратната връзка от сезон 24.
DreamHack потвърдиха, че Ninjas in Pyjamas и Virtus.pro са получили покани за тяхното събитие Masters в Малмьо.

Назад към Ваши плъгини

Кой е на линия

Потребители, разглеждащи този форум: 0 регистрирани

Creative Commons License

Valve, Steam, поредицата Counter-Strike и логото на всяко от изброените са търговски марки и/или
регистрирани търговски марки на Valve Corporation. Всички други търговски марки са собственост на съответните им собственици.

Design: iVoka • Special thanks: VaRkOlAKA
За сайта | Екип | За реклама | Карта на сайта | За контакти

Powered by phpBB® Forum Software © phpBB Group | Theme by A1ex, edit by iVoka
Превод: Йоан Арнаудов | Корекции: Ивомир Петров
Условия за ползване | Политика на поверителност