Style C4 Timer

Тук е мястото да представите плъгин(и), написани от вас!
Post Reply
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Style C4 Timer

Post by OciXCrom »

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")

Image

Клип

YouTube видео

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

Изтегли плъгина
  • Download from iPlay.bg -- Това е линкът към оригинала. При разпространяване на плъгина по други сайтове/форуми, длъжни сте да го добавите към темата си!
Last edited by OciXCrom on 06 Sep 2016, 14:53, edited 1 time in total.
User avatar
The Voyager
Потребител
Потребител
Posts: 23
Joined: 07 Feb 2016, 20:53
CS Nick: The Voyager
Favorite version: CS: 1.6
Location: София

Re: Style C4 Timer

Post by The Voyager »

Здравей, @OciXCrom.
Бих искал да те попитам, ще може ли да ми го направиш в DHUD съобщение, и да е на тази позиция?

Code: Select all

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/

Тази позиция я заместих на плъгина и ми излезе грешка, за това ти дадох плъгина, да се подсетиш на коя позиция ти говоря !
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Re: Style C4 Timer

Post by OciXCrom »

Code: Select all

#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.
User avatar
The Voyager
Потребител
Потребител
Posts: 23
Joined: 07 Feb 2016, 20:53
CS Nick: The Voyager
Favorite version: CS: 1.6
Location: София

Re: Style C4 Timer

Post by The Voyager »

Излиза ми проблем при компилирането - http://prikachi.com/images/183/8630183M.png
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Re: Style C4 Timer

Post by OciXCrom »

Seven wrote:Излиза ми проблем при компилирането - http://prikachi.com/images/183/8630183M.png
Коя версия на AMXX ползваш? Случайно да ти липсват базовите файлове за компилиране?
User avatar
The Voyager
Потребител
Потребител
Posts: 23
Joined: 07 Feb 2016, 20:53
CS Nick: The Voyager
Favorite version: CS: 1.6
Location: София

Re: Style C4 Timer

Post by The Voyager »

Ами ползвам AMXX, който го има в Уеб Билдъра на сайта. Оправих се, комплирах го онлайн, а сега би ли ми казал как да го сложа от дясно на екрана? Не долу, нито горе, посредата от ляво.
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Re: Style C4 Timer

Post by OciXCrom »

Експериментирай малко с двата cvarа за координатите. Y трябва да е -1.0, а X поне 0.01.
User avatar
The Voyager
Потребител
Потребител
Posts: 23
Joined: 07 Feb 2016, 20:53
CS Nick: The Voyager
Favorite version: CS: 1.6
Location: София

Re: Style C4 Timer

Post by The Voyager »

А възможно ли е да се сложи отброяване и със звук. Искам да сложа едни мои соунд ефекти, писал съм ти на лично, защото не искам да излизат на яве и да правя мръсно и да другите. :)
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Re: Style C4 Timer

Post by OciXCrom »

Възможно е, разбира се. Но, дай малко повече информация относно отброяването - имаш предвид отделен звук за всяка секунда, звук през определено време, или пък звук когато започне отброяването?
User avatar
The Voyager
Потребител
Потребител
Posts: 23
Joined: 07 Feb 2016, 20:53
CS Nick: The Voyager
Favorite version: CS: 1.6
Location: София

Re: Style C4 Timer

Post by The Voyager »

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

https://www.dropbox.com/s/guqdzv0dfchch ... 9.mp3?dl=0
User avatar
HasanHasimoff
Потребител
Потребител
Posts: 8
Joined: 04 Aug 2016, 17:14

Re: Style C4 Timer

Post by HasanHasimoff »

як плъгин 10 от 10
Last edited by shhnedo on 05 Aug 2016, 19:42, edited 1 time in total.
Reason: Нарушени т.5 и т.8 от правилата на форума!
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Re: Style C4 Timer

Post by OciXCrom »

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

Code: Select all

#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_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 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 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)
    {
        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_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()
    }
}  
Промени локацията на звука от #define CDOWN_SOUND.
User avatar
teknival
Потребител
Потребител
Posts: 9
Joined: 02 Mar 2015, 11:41

Re: Style C4 Timer

Post by teknival »

Можеш ли да го промениш така че таймера да се вижда и от живите.
Всъщност това бъг ли е или така си го направил ? :tease:
Аз разгледах кода набързо ама нещо не ми се задълбава.
User avatar
Stix
Потребител
Потребител
Posts: 7
Joined: 23 Jul 2017, 10:40
CS Nick: Osama Bin Laden
Favorite version: CS: Global Offensive

Re: Style C4 Timer

Post by Stix »

Може ли линк за сваляне ?
User avatar
iVoka
CS-bg.info Admin
CS-bg.info Admin
Posts: 1324
Joined: 29 Jun 2007, 12:21
Favorite version: CS: 1.6
Steam Community ID: ivobg92
Contact:

Re: Style C4 Timer

Post by iVoka »

Stix wrote:Може ли линк за сваляне ?
https://github.com/OciXCrom/Knife-Model ... master.zip
Post Reply

Return to “Ваши плъгини”