- Регистрация
- 5 Авг 2018
- Сообщения
- 143
- Симпатии
- 0
- Предупреждения
- 260
Здравствуйте! есть плагин vip_test но вот не пойму где хранятся данные игроков которые взяли тестовый вип (нужно что бы я мог удалять игроков не дожидаясь концовки срока) И что бы они все заного писали в чат /testvip
Код:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <colorchat>
#define PLUGIN "Test vip"
#define VERSION "1.0"
#define AUTHOR "speedkill edit apTmusic"
#define Flaga ADMIN_LEVEL_H
new use[33] = 0
new czas_gracza[33]
new prefix[33]
new g_vault
new czas
new zapis
//By R3X
getFormatedTime(iTime, szTime[], size)
{
new hours = iTime/3600
formatex(szTime, size, "%d часов и %d минут", hours, iTime%3600/60)
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_vault = nvault_open("24h_vip")
register_clcmd("say /testvip","vip_test")
register_cvars()
}
public register_cvars()
{
czas = register_cvar("amx_viptest_czas","24")
zapis = register_cvar("amx_viptest_save","1")
register_cvar("amx_viptest_prefix","[Test-VIP]")
}
public plugin_cfg()
{
get_cvar_string("amx_viptest_prefix", prefix, 32)
}
public vip_test(id)
{
if(is_user_connected(id))
{
if(get_user_flags(id) & Flaga || use[id] == 1)
{
ColorChat(id, RED, "%s^x01 Вы уже вип, или вы уже брали пробный период !",prefix)
}
else
{
use[id] = 1
czas_gracza[id] = get_pcvar_num(czas)*3600
set_task(1.0,"sprawdz",id,_,_,"b")
set_task(30.0,"timer",id,_,_,"b")
set_user_flags(id, get_user_flags(id) | Flaga)
save(id)
}
}
}
public sprawdz(id)
{
czas_gracza[id]--
if(czas_gracza[id] <= 0)
{
if(task_exists(id))
{
remove_task(id)
}
remove_user_flags(id, Flaga)
}
}
public client_disconnect(id)
{
if(task_exists(id))
{
remove_task(id)
}
if(use[id] == 1)
{
save(id)
}
}
public client_connect(id)
{
use[id] = 0
czas_gracza[id] = 0
set_task(2.0,"load",id)
}
public save(id)
{
new name[64]
switch(get_pcvar_num(zapis))
{
case 1:
{
get_user_name(id,name,63)
}
case 2:
{
if(is_user_steam(id))
{
get_user_authid(id, name, 63)
}
else
{
get_user_name(id,name,63)
}
}
}
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-vip",name)
format(vaultdata,255,"%d#%d",czas_gracza[id],use[id])
nvault_set(g_vault,vaultkey,vaultdata)
}
public load(id)
{
new name[64]
switch(get_pcvar_num(zapis))
{
case 1:
{
get_user_name(id,name,63)
}
case 2:
{
if(is_user_steam(id))
{
get_user_authid(id, name, 63)
}
else
{
get_user_name(id,name,63)
}
}
}
new vaultkey[64],vaultdata[256]
get_user_name(id,name,63)
format(vaultkey,63,"%s-vip",name)
format(vaultdata,255,"%d#%d",czas_gracza[id], use[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new zmienna[33], zmienna1[33]
parse(vaultdata, zmienna, 32, zmienna1, 32)
czas_gracza[id] = str_to_num(zmienna)
use[id] = str_to_num(zmienna1)
if(czas_gracza[id] > 0)
{
set_task(120.0,"timer",id,_,_,"b")
set_task(1.0,"sprawdz",id,_,_,"b")
set_user_flags(id, get_user_flags(id) | Flaga)
}
else
{
set_task(200.0,"reklama",id,_,_,"b")
}
}
public timer(id)
{
new szTime[32]
getFormatedTime(czas_gracza[id], szTime, 31)
ColorChat(id, RED, "%s^x01 До конца тестового випа осталось : ^x04%s ^x01!",prefix,szTime)
}
public reklama(id)
{
ColorChat(id, RED, "%s^x01 Вы хостите получить тестовую випку на ^x04%d ^x01 часа ?",prefix, get_pcvar_num(czas))
ColorChat(id, RED, "%s^x01 Напишите ^x04/testvip^x01, и вы сможете проверить возможности випки :)",prefix)
}
stock bool:is_user_steam(id) {
new authid[32]; get_user_authid(id, authid, 31);
return bool:(contain(authid, "STEAM_0:0:") != -1 || contain(authid, "STEAM_0:1:") != -1);
}