Преработка на Happy Frag Hour by OciXCrom

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
smtng
Извън линия
Потребител
Потребител
Мнения: 68
Регистриран на: 12 Окт 2016, 15:02
Местоположение: Враца
Обратна връзка:

Преработка на Happy Frag Hour by OciXCrom

Мнение от smtng » 20 Дек 2018, 02:30

Искам да попитам дали ще може да се преработи плъгина, да се премахне худ съобщението и на негово място да бъде сложен "say" текст със колор чат който представлява следното:

Код за потвърждение: Избери целия код

ColorChat(0, GREEN, "HAPPY FRAG HOUR^3 HAS STARTED,^4 2X FRAGS^3 !!!") 
ColorChat(0, GREEN, "HAPPY FRAG HOUR^3 HAS STARTED,^4 2X FRAGS^3 !!!") 
ColorChat(0, GREEN, "HAPPY FRAG HOUR^3 From^4 20 PM^3 to^4 8 AM^3 !!!")
и ако може да бъде настроено от 20 вечерта до 8 сутринта и да дава по 2 фрага:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fun>

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

#define PLUGIN_VERSION "1.0"

enum _:HappyHour
{
    Start,
    End,
    Frags
}

new const g_eHappyHour[][HappyHour] =
{
    { 7, 17, 2 },
    { 18, 19, 3 }
}

new g_iBonus
new g_iObject
new g_msgSayText
new g_szMessage[128]
new const g_szPrefix[] = "^4[HappyHour]^1"

public plugin_init()
{
    register_plugin("Happy Hour", PLUGIN_VERSION, "OciXCrom @ amxx-bg.info/forum")
    register_event("DeathMsg", "OnPlayerKilled", "a", "1>0", "2>0", "1!2")
    register_logevent("OnRoundStart", 2, "1=Round_Start")
    g_msgSayText = get_user_msgid("SayText")
    g_iObject = CreateHudSyncObj()
    OnRoundStart()
    set_task(1.0, "DisplayMessage", .flags = "b")
}

public OnRoundStart()
{
    g_iBonus = 0
    g_szMessage[0] = EOS
    new iHour; time(iHour)
    
    for(new i; i < sizeof(g_eHappyHour); i++)
    {
        if(g_eHappyHour[i][Start] <= iHour <= g_eHappyHour[i][End])
        {
            g_iBonus = g_eHappyHour[i][Frags]
            ColorChat(0, "+%i points/frags!", g_iBonus)
            break
        }
    }
    
    for(new i; i < sizeof(g_eHappyHour); i++)
        add(g_szMessage, charsmax(g_szMessage), fmt("Happy Hour%i: %s^n", i + 1, g_iBonus == g_eHappyHour[i][Frags] ? fmt("(ON)") : fmt("%i:00 do %i:00", g_eHappyHour[i][Start], g_eHappyHour[i][End])))
}

public OnPlayerKilled()
{
    if(g_iBonus)
    {
        new iKiller = read_data(1)
        set_user_frags(iKiller, get_user_frags(iKiller) + (g_iBonus - 1))
    }
}

public DisplayMessage()
{
    set_hudmessage(random(256), random(256), random(256), 0.02, 0.18, 1, 2.0, 1.0, 0.5, 1.0, -1)
    ShowSyncHudMsg(0, g_iObject, g_szMessage)
}

ColorChat(const id, const szInput[], any:...)
{
    new iPlayers[32], iCount = 1
    static szMessage[191]
    vformat(szMessage, charsmax(szMessage), szInput, 3)
    format(szMessage[0], charsmax(szMessage), "%s %s", g_szPrefix, szMessage)
    
    replace_all(szMessage, charsmax(szMessage), "!g", "^4")
    replace_all(szMessage, charsmax(szMessage), "!n", "^1")
    replace_all(szMessage, charsmax(szMessage), "!t", "^3")
    
    if(id)
        iPlayers[0] = id
    else
        get_players(iPlayers, iCount, "ch")
    
    for(new i; i < iCount; i++)
    {
        if(is_user_connected(iPlayers[i]))
        {
            message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, iPlayers[i])
            write_byte(iPlayers[i])
            write_string(szMessage)
            message_end()
        }
    }
} 
Благодаря предварително.

Аватар
JackEyedJones
Извън линия
Потребител
Потребител
Мнения: 399
Регистриран на: 10 Сеп 2018, 17:26
Местоположение: Plovdiv, Bulgaria, Europe, Entire World
Се отблагодари: 4 пъти
Получена благодарност: 69 пъти
Обратна връзка:

Преработка на Happy Frag Hour by OciXCrom

Мнение от JackEyedJones » 20 Дек 2018, 13:34

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fun>
#include <colorchat>

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

#define PLUGIN_VERSION "1.0"

enum _:HappyHour
{
    Start,
    End,
    Frags
}

new const g_eHappyHour[][HappyHour] =
{
    { 8, 20, 2 }
}

new g_iBonus
new g_szMessage[128]
//new const g_szPrefix[] = "^4[HappyHour]^1"

public plugin_init()
{
    register_plugin("Happy Hour", PLUGIN_VERSION, "OciXCrom @ amxx-bg.info/forum")
    register_event("DeathMsg", "OnPlayerKilled", "a", "1>0", "2>0", "1!2")
    register_logevent("OnRoundStart", 2, "1=Round_Start")
    OnRoundStart()
}

public OnRoundStart()
{
    g_iBonus = 0
    g_szMessage[0] = EOS
    new iHour; time(iHour)
    
    for(new i; i < sizeof(g_eHappyHour); i++)
    {
        if(g_eHappyHour[i][Start] <= iHour <= g_eHappyHour[i][End])
        {
            g_iBonus = g_eHappyHour[i][Frags]
            ColorChat(0, NORMAL, "+%i points/frags!", g_iBonus)

	    ColorChat(0, GREEN, "HAPPY FRAG HOUR^3 HAS STARTED,^4 2X FRAGS^3 !!!") 
	    ColorChat(0, GREEN, "HAPPY FRAG HOUR^3 HAS STARTED,^4 2X FRAGS^3 !!!") 
	    ColorChat(0, GREEN, "HAPPY FRAG HOUR^3 From^4 20 PM^3 to^4 8 AM^3 !!!")
            break
        }
    }
    
    for(new i; i < sizeof(g_eHappyHour); i++)
        add(g_szMessage, charsmax(g_szMessage), fmt("Happy Hour%i: %s^n", i + 1, g_iBonus == g_eHappyHour[i][Frags] ? fmt("(ON)") : fmt("%i:00 do %i:00", g_eHappyHour[i][Start], g_eHappyHour[i][End])))
}

public OnPlayerKilled()
{
    if(g_iBonus)
    {
        new iKiller = read_data(1)
        set_user_frags(iKiller, get_user_frags(iKiller) + (g_iBonus - 1))
    }
}
Добавено преди 1 минута 42 секунди:
Съобщенията посочени от теб ще излизат на всяко начало на рунда в указаните часове.

Аватар
smtng
Извън линия
Потребител
Потребител
Мнения: 68
Регистриран на: 12 Окт 2016, 15:02
Местоположение: Враца
Обратна връзка:

Преработка на Happy Frag Hour by OciXCrom

Мнение от smtng » 20 Дек 2018, 13:36

Мерси като се прибера от работа ще го тествам

Аватар
smtng
Извън линия
Потребител
Потребител
Мнения: 68
Регистриран на: 12 Окт 2016, 15:02
Местоположение: Враца
Обратна връзка:

Преработка на Happy Frag Hour by OciXCrom

Мнение от smtng » 22 Дек 2018, 00:56

Трябвало е просто да рестартирам сървъра всичко е както трябва може да заключите темата.

Аватар
impossible
Извън линия
Потребител
Потребител
Мнения: 488
Регистриран на: 15 Юни 2019, 12:41
Се отблагодари: 23 пъти
Получена благодарност: 47 пъти

Преработка на Happy Frag Hour by OciXCrom

Мнение от impossible » 09 Апр 2020, 19:21

Този работи но има error.log
L 04/09/2020 - 14:28:29: [FUN] Player out of range (0)
L 04/09/2020 - 14:28:29: [AMXX] Displaying debug trace (plugin "HappyHour.amxx", version "1.0")
L 04/09/2020 - 14:28:29: [AMXX] Run time error 10: native error (native "set_user_frags")
L 04/09/2020 - 14:28:29: [AMXX] [0] HappyHour.sma::OnPlayerKilled (line 64)
L 04/09/2020 - 14:37:31: Start of error session.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Преработка на Happy Frag Hour by OciXCrom

Мнение от OciXCrom » 09 Апр 2020, 20:58

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fun>
#include <colorchat>

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

#define PLUGIN_VERSION "1.0"

enum _:HappyHour
{
    Start,
    End,
    Frags
}

new const g_eHappyHour[][HappyHour] =
{
    { 8, 20, 2 }
}

new g_iBonus
new g_szMessage[128]
//new const g_szPrefix[] = "^4[HappyHour]^1"

public plugin_init()
{
    register_plugin("Happy Hour", PLUGIN_VERSION, "OciXCrom @ amxx-bg.info/forum")
    register_event("DeathMsg", "OnPlayerKilled", "a", "1>0", "2>0", "1!2")
    register_logevent("OnRoundStart", 2, "1=Round_Start")
    OnRoundStart()
}

public OnRoundStart()
{
    g_iBonus = 0
    g_szMessage[0] = EOS
    new iHour; time(iHour)
    
    for(new i; i < sizeof(g_eHappyHour); i++)
    {
        if(g_eHappyHour[i][Start] <= iHour <= g_eHappyHour[i][End])
        {
            g_iBonus = g_eHappyHour[i][Frags]
            ColorChat(0, NORMAL, "+%i points/frags!", g_iBonus)

	    ColorChat(0, GREEN, "HAPPY FRAG HOUR^3 HAS STARTED,^4 2X FRAGS^3 !!!") 
	    ColorChat(0, GREEN, "HAPPY FRAG HOUR^3 HAS STARTED,^4 2X FRAGS^3 !!!") 
	    ColorChat(0, GREEN, "HAPPY FRAG HOUR^3 From^4 20 PM^3 to^4 8 AM^3 !!!")
            break
        }
    }
    
    for(new i; i < sizeof(g_eHappyHour); i++)
        add(g_szMessage, charsmax(g_szMessage), fmt("Happy Hour%i: %s^n", i + 1, g_iBonus == g_eHappyHour[i][Frags] ? fmt("(ON)") : fmt("%i:00 do %i:00", g_eHappyHour[i][Start], g_eHappyHour[i][End])))
}

public OnPlayerKilled()
{
    if(g_iBonus)
    {
        new iKiller = read_data(1)

        if(is_user_connected(iKiller))
        {
        	set_user_frags(iKiller, get_user_frags(iKiller) + (g_iBonus - 1))
        }
    }
}

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

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