Выдать модели игрока при помощи CSXSQL Onlinetime Awards v. 0.2

Сообщения
59
Реакции
10
Ошибка
Логи чистые
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5218
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.4.0.662-dev
Build date: 10:00:34 Sep 15 2018 (1617)
ReGamedll
ReGameDLL version: 5.7.0.313-dev
Build date: 08:39:22 Sep 9 2018
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Список метамодулей
[ 1] VoiceTranscoder  RUN   -    VoiceTranscoder.so          v2017RC3        ini  ANY   ANY  
[ 2] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5218 ini Start ANY
[ 3] Reunion RUN - reunion_mm_i386.so v0.1.0.92 ini Start Never
[ 4] ReSRDetector RUN - resrdetector_mm_i386.so v0.1.0 ini Chlvl ANY
[ 5] WHBlocker RUN - whblocker_mm_i386.so v1.5.695 ini Chlvl ANY
[ 6] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 7] ReCSDM RUN - csdm_amxx_i386.so v3.6 pl2 ANY ANY
[ 8] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5218 pl2 ANY ANY
[ 9] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5218 pl2 ANY ANY
[10] MySQL RUN - mysql_amxx_i386.so v1.9.0.5218 pl2 ANY ANY
[11] CSX RUN - csx_amxx_i386.so v1.9.0.5218 pl2 ANY ANY
[12] Engine RUN - engine_amxx_i386.so v1.9.0.5218 pl2 ANY ANY
[13] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5218 pl2 ANY ANY
[14] Fun RUN - fun_amxx_i386.so v1.9.0.5218 pl2 ANY ANY
[15] ReAPI RUN - reapi_amxx_i386.so v5.6.0.158-dev pl2 ANY Never
[16] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl2 ANY Never
[17] SxGeo RUN - sxgeo_amxx_i386.so v2.2 pl2 ANY Never
17 plugins, 17 running
Список плагинов
[  1] Admin Base              1.9.0.5218  AMXX Dev Team     admin.amxx       running  
[ 2] Admin Commands 1.9.0.5218 AMXX Dev Team admincmd.amxx debug
[ 3] Slots Reservation 1.9.0.5218 AMXX Dev Team adminslots.amxx running
[ 4] Multi-Lingual System 1.9.0.5218 AMXX Dev Team multilingual.am running
[ 5] Menus Front-End 1.9.0.5218 AMXX Dev Team menufront.amxx running
[ 6] Commands Menu 1.9.0.5218 AMXX Dev Team cmdmenu.amxx running
[ 7] Players Menu 1.9.0.5218 AMXX Dev Team plmenu.amxx running
[ 8] Teleport Menu 1.9.0.5218 AMXX Dev Team telemenu.amxx running
[ 9] Maps Menu 1.9.0.5218 AMXX Dev Team mapsmenu.amxx running
[ 10] Plugin Menu 1.9.0.5218 AMXX Dev Team pluginmenu.amxx running
[ 11] Admin Chat 1.9.0.5218 AMXX Dev Team adminchat.amxx running
[ 12] Anti Flood 1.9.0.5218 AMXX Dev Team antiflood.amxx running
[ 13] Admin Votes 1.9.0.5218 AMXX Dev Team adminvote.amxx running
[ 14] Map Manager 2.5.61 Mistrick mapmanager.amxx running
[ 15] Pause Plugins 1.9.0.5218 AMXX Dev Team pausecfg.amxx running
[ 16] Stats Configuration 1.9.0.5218 AMXX Dev Team statscfg.amxx running
[ 17] CSStatsX SQL 0.7.4 serfreeman1337 csstatsx_sql.am running
[ 18] AES: StatsX 0.5 Vega serfreeman1337 aes_statsx_cstr running
[ 19] StatsX 1.9.0.5218 AMXX Dev Team statsx_n.amxx running
[ 20] CSXSQL: Onlinetime Awa 0.2 serfreeman1337 csstatsx_playti debug
[ 21] CS Misc. Stats 1.9.0.5218 AMXX Dev Team miscstats.amxx running
[ 22] Re GunGame 2.5 gyxoBka re_gungame.amxx debug
[ 23] StatsX ReGG 1.2 gyxoBka StatsxGG.amxx debug
[ 24] GunGame Motd 1.0.3 gyxoBka re_ggmotd.amxx running
[ 25] ADV. QUAKE SOUNDS 5.0 HATTRICK (HTTRCK QuakeSounds.amx running
[ 26] QuakeSound Combo Messa 1.1 juice Mode IDC qscombo.amxx running
[ 27] RE Vampire 1.0.4 MakapoH, AcE re_vampire.amxx running
[ 28] [ReAPI] Custom Models 1.6.1 neugomon custom_models.a running
[ 29] No Shoot Through Walls 0.0.2 hornet & the_hun no_walls.amxx running
[ 30] Lite VoteBan 1.4 neygomon lite_voteban.am running
[ 31] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a debug
[ 32] Advanced Gag 1.9.0 neygomon amx_gag.amxx running
[ 33] AFK Control 1.4.1 [NoR neygomon afk_control.amx running
[ 34] Hats 1.4 Psycrow hat.amxx running
[ 35] Lite Admin ESP 1.0 neygomon admin_esp.amxx running
[ 36] [ReAPI] Block 'Fire in 0.0.1 sergrib reapi_block_FIT running
[ 37] [SxGeo] Connect Info 1.0 s1lent sxgeo_connect_i debug
37 plugins, 37 running
Автор плагина
serfreeman1337 , neugomon
Версия плагина
CSXSQL Onlinetime Awards v. 0.2 , Custom Models 1.6.1 [ReAPI]
Исходный код
/*
* CSXSQL Onlinetime Awards v. 0.2
* by serfreeman1337 http://1337.uz/
*/

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

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

#define TOP 20 // Скольким игрокам из топа выдавать флаги?
#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[i] == 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
}
}
Хотел выдать модели игрокам при помощи плагина CSS SQL Online time Awards v. 0.2
#define TOP 20 // Скольким игрокам из топа выдавать флаги?
#define IGNORE_FLAGS (ADMIN_MENU|ADMIN_LEVEL_H) // Не выдавать плюшки игрокам с этими флагами
#define GIVE_FLAGS ADMIN_LEVEL_H

Для плагина Custom Models 1.6.1 [ReAPI] в файле
;;; Конфигурационный файл для плагина Custom Models by Neugomon ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Модели можно назначить на:
; 1 - IP
; 2 - STEAMID
; 3 - Флаг доступа
; 4 - Steam игрокам (ключ "#")
; 5 - Всем остальным (ключ "*")

;; Примеры
"h" "arctic" "gsg9"
"*" "terror" "gign"

У меня есть ключ "h" и мне модель выдается исправно, но игрока по топу модель не выдает.
Вроде все работает правильно, плагины запустились, логи чистые.

Что можно пошевелить для проверки?
Выдает ли CSS SQL Online time Awards ключ "h"?
Они так могут работать или нет?
 

Download all Attachments

Сообщения
265
Реакции
315
Помог
10 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
polki, только если переделать CSS SQL Online time Awards на выдачу флагов при коннекте
 
Сообщения
59
Реакции
10
neygomon,

А сейчас когда он выдает?
И это вообще реально сделать?
 
Сообщения
265
Реакции
315
Помог
10 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
polki,
1. при спавне
2. да
 
Сообщения
317
Реакции
131
Помог
4 раз(а)
Есть такое, не проверял
Код:
/*
*    CSXSQL Onlinetime Awards         v. 0.2
*    by serfreeman1337        http://1337.uz/
*/

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

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

// model
new const MODEL_TT[] = "player1337";
new const MODEL_CT[] = "player1337";

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

new top_ids[TOP] = -1

new bool:gszPlayerModel[33][32]

public plugin_init()
{
    register_plugin(PLUGIN,VERSION,AUTHOR)
    RegisterHam(Ham_Spawn,"player","PlayerSpawn",true)
    register_forward(FM_SetClientKeyValue, "FM_SetClientKeyValue_Pre", 0)
}

public plugin_precache()
{
    new szBuffer[128]
    formatex(szBuffer, charsmax(szBuffer), "models/player/%s/%s.mdl", MODEL_CT, MODEL_CT)
    precache_model(szBuffer)
    formatex(szBuffer, charsmax(szBuffer), "models/player/%s/%s.mdl", MODEL_TT, MODEL_TT)
    precache_model(szBuffer)
}

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 | GIVE_FLAGS)
            break
        }
    }

    // set model
    if(is_user_alive(id))
    {
        switch(get_pdata_int(id, 114))
        {
            case 1: fm_cs_set_user_model(id, MODEL_TT)
            case 2: fm_cs_set_user_model(id, MODEL_CT)
        }
    }
}

public TopPlayedTime(id,pos)
{
    new index
    
    while((index = get_stats_id(index,top_ids[index])))
    {
        if(index >= TOP)
            break
    }
}

// model
public FM_SetClientKeyValue_Pre(id, const szInfobuffer[], const szKey[])
{
    if(equal(szKey, "model"))
    {
        static szCurrentModel[32]
        fm_cs_get_user_model(id, szCurrentModel, charsmax(szCurrentModel))

        if(!equal(szCurrentModel, gszPlayerModel[id])) fm_cs_set_user_model(id, gszPlayerModel[id])
        return FMRES_SUPERCEDE
    }
    return FMRES_IGNORED
}

stock fm_cs_get_user_model(id, szModel[], szLen) engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModel, szLen);
stock fm_cs_set_user_model(id, const szModelName[])
{
    engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModelName)
    copy(gszPlayerModel[id], charsmax(gszPlayerModel[]), szModelName)
}
 
Сообщения
265
Реакции
315
Помог
10 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Sonyx, это не основной косяк, сорре...
putinserver вызывается 1 раз, когда игроку не назначены флаги(player_spawn)

хреновый из тебя аналитик кода :)
 
Сообщения
59
Реакции
10
alabamaster1337,
Ставлю твой плагин, в нем пишу:
// model
new const MODEL_TT[] = "leet";
new const MODEL_CT[] = "gsg9";

Всем остальным (ключ "*")
"*" "terror" "gign"

Работает все наоборот.
Кто в топе получает модели:
"terror" "gign"
А все остальные:
"leet" "gsg9"
 
Сообщения
317
Реакции
131
Помог
4 раз(а)
polki, мб так
Код:
/*
*    CSXSQL Onlinetime Awards         v. 0.2
*    by serfreeman1337        http://1337.uz/
*/

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

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

// model
new const MODEL_TT[] = "player1337";
new const MODEL_CT[] = "player1337";

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

new top_ids[TOP] = -1

new bool:gszPlayerModel[33][32]

public plugin_init()
{
    register_plugin(PLUGIN,VERSION,AUTHOR)
    RegisterHam(Ham_Spawn,"player","PlayerSpawn",true)
    register_forward(FM_SetClientKeyValue, "FM_SetClientKeyValue_Pre", 0)
}

public plugin_precache()
{
    new szBuffer[128]
    formatex(szBuffer, charsmax(szBuffer), "models/player/%s/%s.mdl", MODEL_CT, MODEL_CT)
    precache_model(szBuffer)
    formatex(szBuffer, charsmax(szBuffer), "models/player/%s/%s.mdl", MODEL_TT, MODEL_TT)
    precache_model(szBuffer)
}

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 | GIVE_FLAGS)
      
            // set model
            if(is_user_alive(id))
            {
                switch(get_pdata_int(id, 114))
                {
                    case 1: fm_cs_set_user_model(id, MODEL_TT)
                    case 2: fm_cs_set_user_model(id, MODEL_CT)
                }
            }
            break
        }
    }
}

public TopPlayedTime(id,pos)
{
    new index
    
    while((index = get_stats_id(index,top_ids[index])))
    {
        if(index >= TOP)
            break
    }
}

// model
public FM_SetClientKeyValue_Pre(id, const szInfobuffer[], const szKey[])
{
    if(equal(szKey, "model"))
    {
        static szCurrentModel[32]
        fm_cs_get_user_model(id, szCurrentModel, charsmax(szCurrentModel))

        if(!equal(szCurrentModel, gszPlayerModel[id])) fm_cs_set_user_model(id, gszPlayerModel[id])
        return FMRES_SUPERCEDE
    }
    return FMRES_IGNORED
}

stock fm_cs_get_user_model(id, szModel[], szLen) engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModel, szLen);
stock fm_cs_set_user_model(id, const szModelName[])
{
    engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModelName)
    copy(gszPlayerModel[id], charsmax(gszPlayerModel[]), szModelName)
}
 
Сообщения
59
Реакции
10
alabamaster1337,
Извини, не сразу понял как работает первый плагин.
custom_models я отключил.
// model
new const MODEL_TT[] = "leet";
new const MODEL_CT[] = "gsg9";
Всем он выдает "leet" "gsg9
А ТОП дает terror и urban
Второй плагин еще не пробовал.
19 Сен 2018
alabamaster1337,
Второй плагин вообще каша.
// model
new const MODEL_TT[] = "leet";
new const MODEL_CT[] = "gsg9";

Играет за тт модет ст

54.jpg

Почему он по умолчанию выбирает terror и urban
Нельзя самому выбирать кто топ, а кто остальные.

Первый плагин работает лучше.
 
Сообщения
317
Реакции
131
Помог
4 раз(а)
polki,
Код:
/*
*    CSXSQL Onlinetime Awards         v. 0.2
*    by serfreeman1337        http://1337.uz/
*/

#include <amxmodx>
#include <hamsandwich>
#include <csstatsx_sql>
#include <reapi>
#include <cstrike>

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

new const MODEL_TT[] = "player1337"
new const MODEL_CT[] = "player1337"

#define TOP         20                // Скольким игрокам из топа выдавать флаги?
#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[i] == db_id)
        {
            // set models
            if(is_user_alive(id))
            {
                if(cs_get_user_team(id)==CS_TEAM_T)
                {
                    rg_set_user_model(id, MODEL_TT)
                }

                if(cs_get_user_team(id)==CS_TEAM_CT)
                {
                    rg_set_user_model(id, MODEL_CT)
                }
            }

            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
    }
}
 
Сообщения
317
Реакции
131
Помог
4 раз(а)
polki, а у меня работает
Все сами выбирают модели
в смысле, после конекта? модель меняется после спавна
19 Сен 2018
polki,
Код:
/*
*    CSXSQL Onlinetime Awards         v. 0.2
*    by serfreeman1337        http://1337.uz/
*/

#include <amxmodx>
//#include <hamsandwich>
#include <csstatsx_sql>
#include <reapi>
#include <cstrike>

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

new const MODEL_TT[] = "slum"
new const MODEL_CT[] = "slum"

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

new top_ids[TOP] = -1

public plugin_precache()
{
    new szBuffer[128]
    formatex(szBuffer, charsmax(szBuffer), "models/player/%s/%s.mdl", MODEL_CT, MODEL_CT)
    precache_model(szBuffer)
    formatex(szBuffer, charsmax(szBuffer), "models/player/%s/%s.mdl", MODEL_TT, MODEL_TT)
    precache_model(szBuffer)
}

public plugin_init()
{
    register_plugin(PLUGIN,VERSION,AUTHOR)
    //RegisterHam(Ham_Spawn,"player","PlayerSpawn",true)
    RegisterHookChain(RG_CBasePlayer_Spawn,        "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 models
            if(is_user_alive(id))
            {
                if(cs_get_user_team(id)==CS_TEAM_T)
                {
                    rg_set_user_model(id, MODEL_TT)
                }

                if(cs_get_user_team(id)==CS_TEAM_CT)
                {
                    rg_set_user_model(id, MODEL_CT)
                }
            }

            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
    }
}
 
Сообщения
59
Реакции
10
alabamaster1337,
И последний плагин не работает. Я даже поставил
  • csstats_sql_rankformula "4" - формула расчета позиции игрока
    • 0 - убийства - смерти - тк
    • 1 - убийства
    • 2 - убийства + хедшоты
    • 3 - скилл
    • 4 - время онлайн.

Работал только первый плагин. Только он ТОП дает terror и urban, а всем остальным что я напишу в плагине.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу