Free VIP

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
junkie
Извън линия
Потребител
Потребител
Мнения: 2
Регистриран на: 19 Фев 2017, 18:59

Free VIP

Мнение от junkie » 19 Фев 2017, 19:09

Здравейте,
трябва ми плъгин който да дава VIP на всички играчи в сървъра от ХХ часа до ХХ часа, нещо като Happy Hour . Някой може ли да помогне?

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Re: Free VIP

Мнение от JustInCase » 19 Фев 2017, 19:14

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

#include <amxmodx>
#include <colorchat>

new const theCvar[] = "amx_default_access"

new cvar_hfh_start,cvar_hfh_end, cvar_hfh_flag 
public plugin_init() { 
    register_plugin("Happy Frag Hour", "1.1", "somedude") 
    
    cvar_hfh_start = register_cvar("hfh_start","11") 
    cvar_hfh_end = register_cvar("hfh_end","06")
    cvar_hfh_flag = register_cvar("hfh_flag", "m")
    
    register_logevent("logevent_round_start", 2, "1=Round_Start") 
} 
public logevent_round_start()
{
    CheckTime()
}
public CheckTime() 
{ 
    static hour_str[3],get_hour, get_start,get_end, szString[2]
    
    get_time("%H",hour_str,2) 
    
    get_hour = str_to_num(hour_str) 
    get_start = get_pcvar_num(cvar_hfh_start) 
    get_end = get_pcvar_num(cvar_hfh_end) 
    get_pcvar_string(cvar_hfh_flag, szString, charsmax(szString))
    if(get_start < get_end ? (get_start <= get_hour && get_hour < get_end) : (get_start <= get_hour || get_hour < get_end)) 
    {    
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free VIP is ^4ACTIVE.^3All players are VIPs now") 
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free VIP is ^4ACTIVE.^3All players are VIPs now") 
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free ^4V.I.P^1 --- START : ^3%i ^4| ^1END : ^3%i", get_start, get_end)
        set_cvar_string(theCvar, szString)
        
    } 
    else {
        set_cvar_string(theCvar, "z")
    }     
}    

Тествай. Не знам дали ще работи кодът не е изцяло мой.

CVARs:
hfh_flag "m" -- Какъв флаг да дава на играчите
hfh_start 11 -- Колко часа да започва Free VIP-a
hfh_end 06 -- Колко часа да свършва Free VIP-a ( Забележи ако искаш да свършва в 4 часа сутринта пишеш 04 а не само 4 )
Последно промяна от JustInCase на 19 Фев 2017, 19:31, променено общо 1 път.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
Unbr3akable
Извън линия
Потребител
Потребител
Мнения: 178
Регистриран на: 21 Дек 2016, 20:50
Получена благодарност: 6 пъти

Re: Free VIP

Мнение от Unbr3akable » 19 Фев 2017, 19:26

Може просто да направиш cvar и той ще си го настрои както иска?

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Re: Free VIP

Мнение от JustInCase » 19 Фев 2017, 20:18

Позлвай това поправил съм го с https://amxx-bg.info/forum/viewtopic.php?f=26&p=5788#p5788

CVARs:
hfh_flag "m" -- Какъв флаг да дава на играчите
hfh_start 11 -- Колко часа да започва Free VIP-a
hfh_end 06 -- Колко часа да свършва Free VIP-a ( Забележи ако искаш да свършва в 4 часа сутринта пишеш 04 а не само 4 )

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

#include <amxmodx> 
#include <colorchat>

new const theCvar[] = "amx_default_access"

new cvar_hfh_start,cvar_hfh_end, cvar_hfh_flag 
public plugin_init() { 
    register_plugin("Happy Frag Hour", "1.1", "somedude") 
    
    cvar_hfh_start = register_cvar("hfh_start","11") 
    cvar_hfh_end = register_cvar("hfh_end","06")
    cvar_hfh_flag = register_cvar("hfh_flag", "m")
    
    register_logevent("logevent_round_start", 2, "1=Round_Start") 
} 
public logevent_round_start()
{
    CheckTime()
}
public CheckTime() 
{
    new get_start, get_end, szString[2]
    get_start = get_pcvar_num(cvar_hfh_start) 
    get_end = get_pcvar_num(cvar_hfh_end) 
    get_pcvar_string(cvar_hfh_flag, szString, charsmax(szString)) 
    if(is_happy_hour(get_start, get_end))
    {
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free VIP is ^4ACTIVE.^3All players are VIPs now") 
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free VIP is ^4ACTIVE.^3All players are VIPs now") 
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free ^4V.I.P^1 --- START : ^3%i ^4| ^1END : ^3%i", get_start, get_end)
        set_cvar_string(theCvar, szString)
    }
    else 
        set_cvar_string(theCvar, "z")
}     

bool:is_happy_hour(const iStart, const iEnd) {
    new iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour < iEnd))
}  
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
junkie
Извън линия
Потребител
Потребител
Мнения: 2
Регистриран на: 19 Фев 2017, 18:59

Re: Free VIP

Мнение от junkie » 19 Фев 2017, 23:23

При първоначалното стартиране на плъгина всичко е окей, но след като се смени картата флаговете изчезват.

EDIT : След като се рекънектнеш получаваш флаговете, тоест при всяка смяна на картата трябва да се пише "retry", моля да го оправиш. :huh:

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Re: Free VIP

Мнение от JustInCase » 20 Фев 2017, 16:32

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

#include <amxmodx> 
#include <colorchat>

new const theCvar[] = "amx_default_access"

new cvar_hfh_start,cvar_hfh_end, cvar_hfh_flag 
public plugin_init() { 
    register_plugin("Happy Frag Hour", "1.1", "somedude") 
    
    cvar_hfh_start = register_cvar("hfh_start","11") 
    cvar_hfh_end = register_cvar("hfh_end","06")
    cvar_hfh_flag = register_cvar("hfh_flag", "m")
    
    register_logevent("logevent_round_start", 2, "1=Round_Start") 
} 
public logevent_round_start()
{
    CheckTime()
}
public CheckTime() 
{
    new get_start, get_end, szString[2]
    get_start = get_pcvar_num(cvar_hfh_start) 
    get_end = get_pcvar_num(cvar_hfh_end) 
    get_pcvar_string(cvar_hfh_flag, szString, charsmax(szString)) 
    if(is_happy_hour(get_start, get_end))
    {
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free VIP is ^4ACTIVE.^3All players are VIPs now") 
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free VIP is ^4ACTIVE.^3All players are VIPs now") 
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free ^4V.I.P^1 --- START : ^3%i ^4| ^1END : ^3%i", get_start, get_end)
        set_cvar_string(theCvar, szString)
        server_cmd("exec /addons/amxmodx/configs/amxx.cfg");
    }
    else {
        set_cvar_string(theCvar, "z")
        server_cmd("exec /addons/amxmodx/configs/amxx.cfg");
    }
}     

bool:is_happy_hour(const iStart, const iEnd) {
    new iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour < iEnd))
}  


Пробвай така добавих презареждане amxx.cfg към функцията.
MANSION - HNS : 45.144.155.99:27026
ONLINE

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

Re: Free VIP

Мнение от OciXCrom » 20 Фев 2017, 16:53

Не виждам как това ще помогне. Опитай с exec-ване на командата amx_reloadadmins.

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Re: Free VIP

Мнение от JustInCase » 20 Фев 2017, 17:08

Имаш предвид

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

server_cmd("amx_reloadadmins"); 
Ако да ето :

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

#include <amxmodx> 
#include <colorchat>

new const theCvar[] = "amx_default_access"

new cvar_hfh_start,cvar_hfh_end, cvar_hfh_flag 
public plugin_init() { 
    register_plugin("Happy Frag Hour", "1.1", "somedude") 
    
    cvar_hfh_start = register_cvar("hfh_start","11") 
    cvar_hfh_end = register_cvar("hfh_end","06")
    cvar_hfh_flag = register_cvar("hfh_flag", "m")
    
    register_logevent("logevent_round_start", 2, "1=Round_Start") 
} 
public logevent_round_start()
{
    CheckTime()
}
public CheckTime() 
{
    new get_start, get_end, szString[2]
    get_start = get_pcvar_num(cvar_hfh_start) 
    get_end = get_pcvar_num(cvar_hfh_end) 
    get_pcvar_string(cvar_hfh_flag, szString, charsmax(szString)) 
    if(is_happy_hour(get_start, get_end))
    {
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free VIP is ^4ACTIVE.^3All players are VIPs now") 
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free VIP is ^4ACTIVE.^3All players are VIPs now") 
        ColorChat(0,RED,"^4[HAPPY HOUR] ^1Free ^4V.I.P^1 --- START : ^3%i ^4| ^1END : ^3%i", get_start, get_end)
        set_cvar_string(theCvar, szString)
        server_cmd("amx_reloadadmins");
    }
    else {
        set_cvar_string(theCvar, "z")
        server_cmd("amx_reloadadmins");
    }
}     

bool:is_happy_hour(const iStart, const iEnd) {
    new iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour < iEnd))
} 
Последно промяна от JustInCase на 20 Фев 2017, 18:23, променено общо 2 пъти.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
Guardian Angel
Извън линия
VIP
VIP
Мнения: 186
Регистриран на: 18 Окт 2016, 02:00
Местоположение: Петрич
Се отблагодари: 1 път
Получена благодарност: 22 пъти

Re: Free VIP

Мнение от Guardian Angel » 20 Фев 2017, 17:34

Това няма да помогне с нищо .. единствено сървъра ще вади грешка че не може да exec-не amx_default_access защото не е .cfg или .rc
направи го както казва OciXCrom
server_cmd("amx_reloadadmins");

Аватар
Unbr3akable
Извън линия
Потребител
Потребител
Мнения: 178
Регистриран на: 21 Дек 2016, 20:50
Получена благодарност: 6 пъти

Re: Free VIP

Мнение от Unbr3akable » 20 Фев 2017, 20:08

Кваровете get_start и get_end ги направи глобални, и ги регистрирай в plugin_init().
И ползвай static в custom функциите.

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

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

Кой е на линия

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