Проблем със вип плъгин спира сървъра.

Въпроси и проблеми свързани с AMXModX.
Аватар
devilchy
Извън линия
Потребител
Потребител
Мнения: 223
Регистриран на: 03 Фев 2017, 14:08
Местоположение: Burgas
Се отблагодари: 3 пъти
Получена благодарност: 6 пъти
Обратна връзка:

Проблем със вип плъгин спира сървъра.

Мнение от devilchy » 15 Май 2020, 00:15

Пуснах една заявка за вип плъгин ЦЪК,
един пич там се пробва да ми помогне и издокара някак си плъгина както го искам. Но проблема сега стана по голям като го сложа след х минути сървъра направо забива/спира/крашва, и не се пуска дори като махна плъгина от плъгинс.ини пак не се пуска трябва да го рестартирам през панела и тогава. ето ви и кода ако някой нещо му е ясно нещо объркано ли има ?

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

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <amxmisc>
#include <hamsandwich>
#include <stripweapons>

#define MOTD_FILE "vip.txt"
#define CONNECT_DELAY 0.0
#define VIP_FLAG ADMIN_LEVEL_F

public plugin_init()
{
    register_plugin("VIP Extras", "1.0", "OciXCrom @ amxx-bg.info/forum")
    RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", true)
    
    register_event("DeathMsg", "umrql", "a" );
    register_clcmd("say /vip", "ShowMotd")
    register_clcmd("say_team /vip", "ShowMotd")
    register_clcmd("say /vips", "ShowMotd")
    register_clcmd("say_team /vips", "ShowMotd")
}

public OnPlayerSpawn(id)
{
    if(is_user_alive(id))
    {
        if(access(id, VIP_FLAG))
        {
            StripWeapons(id, Secondary)
            give_item(id, "weapon_hegrenade")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_smokegrenade")
            give_item(id, "weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 35)
            set_user_health(id, get_user_health(id) +10)
            cs_set_user_armor(id,100,CS_ARMOR_KEVLAR)
        }
    }
}
public umrql ( )
{
	new ubiec = read_data ( 1 )
	new umreliq = read_data ( 2 )
	new glava = read_data ( 3 )
	
	if ( ubiec == umreliq )
	return PLUGIN_HANDLED
	if(access(ubiec, VIP_FLAG))
	{
	    if ( glava ) 
	    {
	        cs_set_user_money(ubiec, cs_get_user_money(ubiec)+800)
	    }
	    else if ( !glava ) 
	    {
	        cs_set_user_money(ubiec, cs_get_user_money(ubiec)+500)
	    }
	}
	return PLUGIN_CONTINUE
}
public ShowMotd(id)
{
    show_motd(id, MOTD_FILE)
    return PLUGIN_HANDLED
}
public ShowMenu(id)
{
    static szItem[32], iPlayers[32], iPnum, iMenu, i, iPlayer
    get_players(iPlayers, iPnum)
    iMenu = menu_create("", "MenuHandler")
    
    for(i = 0; i < iPnum; i++)
    {
        iPlayer = iPlayers[i]
        
        if(is_user_vip(iPlayer))
        {
            get_user_name(iPlayer, szItem, charsmax(szItem))
            menu_additem(iMenu, szItem)
        }
    }
    
    formatex(szItem, charsmax(szItem), "\r%i \yVIPs Online\d", menu_items(iMenu))
    menu_setprop(iMenu, MPROP_TITLE, szItem)
    menu_display(id, iMenu)
    return PLUGIN_HANDLED
}

public MenuHandler(id, iMenu, iItem)
{
    menu_destroy(iMenu)
    return PLUGIN_HANDLED
}
public client_putinserver(id)
{
	if(!access(id, VIP_FLAG))
	{
	    if(is_happy_hour(0, 8))
	    set_task(CONNECT_DELAY, "set_freevip", id)
	}
	return PLUGIN_HANDLED
}

public set_freevip(id)
	set_user_flags(id, VIP_FLAG)
	
bool:is_happy_hour(const iStart, const iEnd)
{
    static iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour < iEnd))
}

bool:is_user_vip(id)
    return bool:(get_user_flags(id) & VIP_FLAG)

Аватар
sf4n
Извън линия
Потребител
Потребител
Мнения: 311
Регистриран на: 08 Яну 2018, 11:25
Се отблагодари: 25 пъти
Получена благодарност: 14 пъти

Проблем със вип плъгин спира сървъра.

Мнение от sf4n » 15 Май 2020, 10:44

Нормално да крашва, ако искаш да се пуска в 11:30 примерно трябва да се направят още сумати и проверки, който са непосилни за мен и точно за това съм ти дал по опростен, а и не намирам смисъл да нагласяш баш и минутите...

Като промени това

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

    register_clcmd("say /vip", "ShowMotd")
    register_clcmd("say_team /vip", "ShowMotd")
    register_clcmd("say /vips", "ShowMotd")
    register_clcmd("say_team /vips", "ShowMotd")
Мислиш ли, че ще ти се покаже менюто с виповете...
Изображение

Единствен по рода си Zombie BaseBuilder с уникален мод и коректни админи по всяко време в сървъра.
IP: bb.cs-zapad.eu:27013

Respawn сървър.
IP: re.cs-zapad.eu:27015

Furien сървър.
IP: fu.cs-zapad.eu:27016

Нашият Сайт
Нашият Форум

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Проблем със вип плъгин спира сървъра.

Мнение от atmax » 15 Май 2020, 11:41

Качи грешките, които дава сървъра от папката "logs". И можеш ли да ми обясниш на set_task времето, защо е 0.0? Пробвай по този начин, като го регистрираш като float:

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

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <amxmisc>
#include <hamsandwich>
#include <stripweapons>

#define MOTD_FILE "vip.txt"
#define VIP_FLAG ADMIN_LEVEL_F
new Float:g_iTime = 0.1

public plugin_init()
{
    register_plugin("VIP Extras", "1.0", "OciXCrom @ amxx-bg.info/forum")
    RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", true)
    
    register_event("DeathMsg", "umrql", "a" );
    register_clcmd("say /vip", "ShowMotd")
    register_clcmd("say_team /vip", "ShowMotd")
    register_clcmd("say /vips", "ShowMotd")
    register_clcmd("say_team /vips", "ShowMotd")
}

public OnPlayerSpawn(id)
{
    if(is_user_alive(id))
    {
        if(access(id, VIP_FLAG))
        {
            StripWeapons(id, Secondary)
            give_item(id, "weapon_hegrenade")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_smokegrenade")
            give_item(id, "weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 35)
            set_user_health(id, get_user_health(id) +10)
            cs_set_user_armor(id,100,CS_ARMOR_KEVLAR)
        }
    }
}
public umrql ( )
{
	new ubiec = read_data ( 1 )
	new umreliq = read_data ( 2 )
	new glava = read_data ( 3 )
	
	if ( ubiec == umreliq )
	return PLUGIN_HANDLED
	if(access(ubiec, VIP_FLAG))
	{
	    if ( glava ) 
	    {
	        cs_set_user_money(ubiec, cs_get_user_money(ubiec)+800)
	    }
	    else if ( !glava ) 
	    {
	        cs_set_user_money(ubiec, cs_get_user_money(ubiec)+500)
	    }
	}
	return PLUGIN_CONTINUE
}
public ShowMotd(id)
{
    show_motd(id, MOTD_FILE)
    return PLUGIN_HANDLED
}
public ShowMenu(id)
{
    static szItem[32], iPlayers[32], iPnum, iMenu, i, iPlayer
    get_players(iPlayers, iPnum)
    iMenu = menu_create("", "MenuHandler")
    
    for(i = 0; i < iPnum; i++)
    {
        iPlayer = iPlayers[i]
        
        if(is_user_vip(iPlayer))
        {
            get_user_name(iPlayer, szItem, charsmax(szItem))
            menu_additem(iMenu, szItem)
        }
    }
    
    formatex(szItem, charsmax(szItem), "\r%i \yVIPs Online\d", menu_items(iMenu))
    menu_setprop(iMenu, MPROP_TITLE, szItem)
    menu_display(id, iMenu)
    return PLUGIN_HANDLED
}

public MenuHandler(id, iMenu, iItem)
{
    menu_destroy(iMenu)
    return PLUGIN_HANDLED
}
public client_putinserver(id)
{
	if(!access(id, VIP_FLAG))
	{
	    if(is_happy_hour(0, 8))
	    set_task(Float:g_iTime, "set_freevip", id)
	}
	return PLUGIN_HANDLED
}

public set_freevip(id)
	set_user_flags(id, VIP_FLAG)
	
bool:is_happy_hour(const iStart, const iEnd)
{
    static iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour < iEnd))
}

bool:is_user_vip(id)
    return bool:(get_user_flags(id) & VIP_FLAG)
Rest in peace my friend I always will remember you! 🖤👊

Аватар
sf4n
Извън линия
Потребител
Потребител
Мнения: 311
Регистриран на: 08 Яну 2018, 11:25
Се отблагодари: 25 пъти
Получена благодарност: 14 пъти

Проблем със вип плъгин спира сървъра.

Мнение от sf4n » 15 Май 2020, 11:49

"Към автора на темата"
Така се случва като бараш кода без никакви познания.... Съветвам те ако не разбираш от нещо, недей го променя, а първо се запознай кое как се прави.
Изображение

Единствен по рода си Zombie BaseBuilder с уникален мод и коректни админи по всяко време в сървъра.
IP: bb.cs-zapad.eu:27013

Respawn сървър.
IP: re.cs-zapad.eu:27015

Furien сървър.
IP: fu.cs-zapad.eu:27016

Нашият Сайт
Нашият Форум

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Проблем със вип плъгин спира сървъра.

Мнение от atmax » 15 Май 2020, 12:37

Мисля че сървъра ти крашва от друго както казах дай си грешките от папката logs.
Разбрах също че искаш happy hour-a да е и с минути ползвай този stock:

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

bool:is_current_time(const iStart, const iEnd)
{
	static const TIME_FORMAT = "%H:%M"

	new szTime[sizeof(TIME_FORMAT)]
	get_time(TIME_FORMAT, szTime, charsmax(szTime))
	replace(szTime, charsmax(szTime), ":", "")

	new iTime = str_to_num(szTime)

	return (iStart < iEnd ? (iStart <= iTime <= iEnd) : (iStart <= iTime || iTime <= iEnd))
}
А в кода го използвай така:

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

if(bool:is_current_time(1930, 145)) //Това е от 19:30 до 01:45
{
    // кодът тук...
}
Rest in peace my friend I always will remember you! 🖤👊

Аватар
devilchy
Извън линия
Потребител
Потребител
Мнения: 223
Регистриран на: 03 Фев 2017, 14:08
Местоположение: Burgas
Се отблагодари: 3 пъти
Получена благодарност: 6 пъти
Обратна връзка:

Проблем със вип плъгин спира сървъра.

Мнение от devilchy » 15 Май 2020, 16:37

Чудното е че не вади грешки ... иначе бих го дал. Аз нищо не съм барал просто добавих кода да се показва motd а не тва vipmenu и си работи плъгина точно както си искам качвам мотд и се показва като се пише в чата /вип или /випс но само където крашва ...

Добавено преди 4 минути 38 секунди:

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

 L 05/15/2020 - 03:32:42: [AMXX] Run time error 10 (plugin "Vip.amxx") (native "cs_get_user_money") - debug not enabled!
L 05/15/2020 - 03:32:42: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
ето това го е изкарал в другия сървър ей сега го видях

Аватар
sf4n
Извън линия
Потребител
Потребител
Мнения: 311
Регистриран на: 08 Яну 2018, 11:25
Се отблагодари: 25 пъти
Получена благодарност: 14 пъти

Проблем със вип плъгин спира сървъра.

Мнение от sf4n » 15 Май 2020, 16:48

Добави след plugina "debug", т.е pluginname.amxx debug
Попринцип това не би причинило крашването на сървъра.
Изображение

Единствен по рода си Zombie BaseBuilder с уникален мод и коректни админи по всяко време в сървъра.
IP: bb.cs-zapad.eu:27013

Respawn сървър.
IP: re.cs-zapad.eu:27015

Furien сървър.
IP: fu.cs-zapad.eu:27016

Нашият Сайт
Нашият Форум

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Проблем със вип плъгин спира сървъра.

Мнение от atmax » 15 Май 2020, 17:12

То ясно че "debug" ще оправи грешката в "logs" която излиза но въпроса е защо излиза?
Пробвай така:

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

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <amxmisc>
#include <hamsandwich>
#include <stripweapons>

#define MOTD_FILE "vip.txt"
#define VIP_FLAG ADMIN_LEVEL_F
new Float:g_iTime = 0.1

public plugin_init()
{
    register_plugin("VIP Extras", "1.0", "OciXCrom @ amxx-bg.info/forum")
    RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", true)
    
    register_event("DeathMsg", "umrql", "a" );
    register_clcmd("say /vip", "ShowMotd")
    register_clcmd("say_team /vip", "ShowMotd")
    register_clcmd("say /vips", "ShowMotd")
    register_clcmd("say_team /vips", "ShowMotd")
}

public OnPlayerSpawn(id)
{
    if(is_user_alive(id))
    {
        if(access(id, VIP_FLAG))
        {
            StripWeapons(id, Secondary)
            give_item(id, "weapon_hegrenade")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_flashbang")
            give_item(id, "weapon_smokegrenade")
            give_item(id, "weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 35)
            set_user_health(id, get_user_health(id) +10)
            cs_set_user_armor(id,100,CS_ARMOR_KEVLAR)
        }
    }
}
public umrql ( )
{
	new ubiec = read_data ( 1 )
	new umreliq = read_data ( 2 )
	new glava = read_data ( 3 )
	
	if ( ubiec == umreliq )
	return PLUGIN_HANDLED
	if(access(ubiec, VIP_FLAG))
	{
	    if (is_user_connected(ubiec) && glava ) 
	    {
	        cs_set_user_money(ubiec, cs_get_user_money(ubiec)+800)
	    }
	    else if ( !glava ) 
	    {
	        cs_set_user_money(ubiec, cs_get_user_money(ubiec)+500)
	    }
	}
	return PLUGIN_CONTINUE
}
public ShowMotd(id)
{
    show_motd(id, MOTD_FILE)
    return PLUGIN_HANDLED
}
public ShowMenu(id)
{
    static szItem[32], iPlayers[32], iPnum, iMenu, i, iPlayer
    get_players(iPlayers, iPnum)
    iMenu = menu_create("", "MenuHandler")
    
    for(i = 0; i < iPnum; i++)
    {
        iPlayer = iPlayers[i]
        
        if(is_user_vip(iPlayer))
        {
            get_user_name(iPlayer, szItem, charsmax(szItem))
            menu_additem(iMenu, szItem)
        }
    }
    
    formatex(szItem, charsmax(szItem), "\r%i \yVIPs Online\d", menu_items(iMenu))
    menu_setprop(iMenu, MPROP_TITLE, szItem)
    menu_display(id, iMenu)
    return PLUGIN_HANDLED
}

public MenuHandler(id, iMenu, iItem)
{
    menu_destroy(iMenu)
    return PLUGIN_HANDLED
}
public client_putinserver(id)
{
	if(!access(id, VIP_FLAG))
	{
	    if(is_happy_hour(0, 8))
	    set_task(Float:g_iTime, "set_freevip", id)
	}
	return PLUGIN_HANDLED
}

public set_freevip(id)
	set_user_flags(id, VIP_FLAG)
	
bool:is_happy_hour(const iStart, const iEnd)
{
    static iHour; time(iHour)
    return bool:(iStart < iEnd ? (iStart <= iHour < iEnd) : (iStart <= iHour || iHour < iEnd))
}

bool:is_user_vip(id)
    return bool:(get_user_flags(id) & VIP_FLAG)
П.П. Тествай плъгина дали ще работи така, защото и аз не съм голям професионалист, просто се опитвам да помогна с това което знам :Д
Всъщност сега се сетих, че когато ползваш фунцкия в която даваш пари на убиец при убийство винаги трябва да провериш дали е в съвъра с проверката is_user_connected добавих я и вече не би трябвало да хвърля тая грешка в logs пробвай плъгина!
Rest in peace my friend I always will remember you! 🖤👊

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

Проблем със вип плъгин спира сървъра.

Мнение от OciXCrom » 15 Май 2020, 20:50

"debug" не оправя грешки, а показва подробна информация за тях. :)

Аватар
devilchy
Извън линия
Потребител
Потребител
Мнения: 223
Регистриран на: 03 Фев 2017, 14:08
Местоположение: Burgas
Се отблагодари: 3 пъти
Получена благодарност: 6 пъти
Обратна връзка:

Проблем със вип плъгин спира сървъра.

Мнение от devilchy » 15 Май 2020, 23:50

sf4n написа: 15 Май 2020, 16:48 Добави след plugina "debug", т.е pluginname.amxx debug
Попринцип това не би причинило крашването на сървъра.

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

L 05/15/2020 - 17:12:31: [CSTRIKE] Player out of range (0)
L 05/15/2020 - 17:12:31: [AMXX] Displaying debug trace (plugin "Vip.amxx", version "1.0")
L 05/15/2020 - 17:12:31: [AMXX] Run time error 10: native error (native "cs_get_user_money")
L 05/15/2020 - 17:12:31: [AMXX]    [0] Vip.sma::umrql (line 58)
От новата функция е където беше го добавил

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

Обратно към “Поддръжка / Помощ”

Кой е на линия

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