Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

CSXSQL Onlinetime Awards v. 0.2 Помогите с перечислением прав.

, Орфография
Статус пользователя alexmasl0v
сообщение 29.1.2018, 3:11
Сообщение #1
Стаж: 8 лет 3 месяца

Сообщений: 1
Благодарностей: 1
Полезность: 0

Доброго дня. Хочу поставить этот плагин на сервер и столкнулся с проблемой. Как перечислить права на получение випки игрокам топ3?
Интересующие флаги mnt.

Пробовал так:
1. #define GIVE_FLAGS (ADMIN_LEVEL_H, ADMIN_LEVEL_A, ADMIN_LEVEL_B)
2. #define GIVE_FLAGS (ADMIN_LEVEL_H|ADMIN_LEVEL_A|ADMIN_LEVEL_B)
3. #define GIVE_FLAGS (ADMIN_LEVEL_H&&ADMIN_LEVEL_A&&ADMIN_LEVEL_B)
4. #define GIVE_FLAGS mnt

Не работает :(
P.s. CSSTATSX+AES ТОЖЕ от serfreeman1337 с заменой CSX модуля
КОД СКРИПТА

Код
/*
* CSXSQL Onlinetime Awards v. 0.2
* by serfreeman1337 serfreeman1337
*/

#include <amxmodx>
#include <hamsandwich>
#include <csstatsx_sql>

#define PLUGIN "CSXSQL: Onlinetime Awards"
#define VERSION "0.2"
#define AUTHOR "serfreeman1337"

#define TOP 3 // Скольким игрокам из топа выдавать флаги?
#define IGNORE_FLAGS (ADMIN_MENU|ADMIN_LEVEL_H) // Не выдавать плюшки игрокам с этими флагами
#define GIVE_FLAGS ADMIN_LEVEL_H // Выдаваемые флаги

new top_ids[TOP] = -1

public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR)
RegisterHam(Ham_Spawn,"player","PlayerSpawn",true)

}

public csxsql_initialized()
{
update_stats_cache()
get_stats_sql_thread(0,0,TOP,"TopPlayedTime",CSXSQL_RANK_TIME)
}

public PlayerSpawn(id)
{
if(!is_user_connected(id))
{
return
}

new flags = get_user_flags(id)

if(flags & IGNORE_FLAGS)
{
return
}

for(new i,db_id = get_user_stats_id(id); i < TOP; i++)
{
if(top_ids == db_id)
{
set_user_flags(id,flags | GIVE_FLAGS)
break
}
}
}

public TopPlayedTime(id,pos)
{
new index

while((index = get_stats_id(index,top_ids[index])))
{
if(index >= TOP)
break
}
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Riveran
сообщение 29.1.2018, 13:33
Сообщение #2
Стаж: 8 лет 3 месяца

Сообщений: 2
Благодарностей: 1
Полезность: 0

Я бы попробовал сделать так, правда не знаю, будет ли работать подобное(в pawn пока не силен)
Cкрытый текст
Код:
/*
* CSXSQL Onlinetime Awards v. 0.2
* by serfreeman1337 serfreeman1337
*/

#include <amxmodx>
#include <hamsandwich>
#include <csstatsx_sql>

#define PLUGIN "CSXSQL: Onlinetime Awards"
#define VERSION "0.2"
#define AUTHOR "serfreeman1337"

#define TOP 10 // Скольким игрокам из топа выдавать флаги?
#define IGNORE_FLAGS (ADMIN_MENU|ADMIN_LEVEL_H) // Не выдавать плюшки игрокам с этими флагами
#define GIVE_FLAGS (ADMIN_LEVEL_H & ADMIN_LEVEL_A & ADMIN_LEVEL_B & ADMIN_RCON) // Выдаваемые флаги

new top_ids[TOP] = -1
new flag_access = read_flags("mnt");
public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR)
RegisterHam(Ham_Spawn,"player","PlayerSpawn",true)

}

public csxsql_initialized()
{
update_stats_cache()
get_stats_sql_thread(0,0,TOP,"TopPlayedTime",CSXSQL_RANK_TIME)
}

public PlayerSpawn(id)
{
if(!is_user_connected(id))
{
return
}

new flags = get_user_flags(id)

if(flags & IGNORE_FLAGS)
{
return
}

for(new i,db_id = get_user_stats_id(id) ; i < TOP ; i++)
{
if(top_ids[i] == db_id)
{
set_user_flags(id,flags | flag_access)
break
}
}
}

public TopPlayedTime(id,pos)
{
new index

while((index = get_stats_id(index,top_ids[index])))
{
if(index >= TOP)
break
}
}


Важная Информация
Новичок в мире CS, просьба, не портите ни себе, ни мне нервы, просто укажите, в какое русло мне двигаться.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 3BEPb
сообщение 31.1.2018, 9:26
Сообщение #3
Стаж: 11 лет

Сообщений: 49
Благодарностей: 8
Полезность: 31

Зарегая квар где будешь указывать нужные флаги. Ну и почитай материал, всё просто и легко сделать.

get_cvar_string

read_flags

set_user_flags


Отредактировал: 3BEPb, - 31.1.2018, 9:43
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: