W pluginie nie było dopisane, co ma zrobić, gdy admin nie posiada flagi "z" (zwykłego gracza). W takim przypadku, admin nie był brany pod uwagę i nie dostawał V.I.P.'a. Problem też polegał na tym, iż V.I.P z flagami "tz", po minięciu wyznaczonych godzin, tracił V.I.P'a, dlatego trochę edytowałem ten plugin i powinno być dobrze. Autora nie zmieniałem, bo ja to tylko edytowałem.
Cały kod:
#include <amxmodx>
#include <hamsandwich>
#define PLUGIN "Free VIP"
#define VERSION "1.0"
#define AUTHOR "Karol33k"
new g_FreeVip[33];
new g_Time_1, g_Time_2
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_Time_1 = register_cvar("free_vip_time_from", "21")
g_Time_2 = register_cvar("free_vip_time_to", "09")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
}
public fwHamPlayerSpawnPost(id)
{
new szTime[3]
get_time("%H",szTime,2)
new Time_1 = get_pcvar_num(g_Time_1)
new Time_2 = get_pcvar_num(g_Time_2)
new iTime = str_to_num(szTime)
if( 20 <= iTime <= 24 )
{
if( (get_user_flags(id) & ADMIN_LEVEL_H) )
{
g_FreeVip[id] = false;
}
}
else if( 00 <= iTime <= 09 )
{
if( !(get_user_flags(id) & ADMIN_LEVEL_H) )
{
remove_user_flags(id, ADMIN_USER);
set_user_flags(id, ADMIN_LEVEL_H);
g_FreeVip[id] = true;
set_hudmessage( 255, 255, 255, -1.0, 0.87, 0, 0.0, 12.0, 0.1, 0.2, -1 );
show_hudmessage ( id, "%L", id, "Darmowy Vip!!", Time_1, Time_2)
}
}
else if( g_FreeVip[id] )
{
remove_user_flags(id, ADMIN_LEVEL_H);
set_user_flags(id, ADMIN_USER);
g_FreeVip[id] = false;
}
}
Jeżeli ktoś nie potrafi tego zapisać, pliki *.sma i *.amxx w załączniku.
Użytkownik QuatZo edytował ten post 29.08.2013 09:33