Become VIP Plus (+API)

Тук е мястото да представите плъгин(и), написани от вас!
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Become VIP Plus (+API)

Post by OciXCrom »

Become VIP Plus (+API)
Описание
  • Преработка на добре познатия плъгин, с който играчите могат да получат безплатни ВИП екстри като направят определен брой убийства. Тази версия съдържа опция убийствата да се взимат чрез ранковата система (/rank), данните да могат да се запазват чрез SteamID, както и да включите опция, с която ще предотвратите загуба на данните при краш на сървъра.
Списък с cvar-ове
  • becomevip_kills (default: 1000) -- Нужен брой убийства за получаване на ВИП екстри.
  • becomevip_flags (default: b) -- Флаговете, които получавате. Можете да го оставите празно в случай, че ще добавяте екстрите чрез отделен плъгин, използвайки API-то.
Списък с команди
  • say /kills -- Показва колко убийства ви остават до получаването на ВИП екстри.
  • becomevip_restartall -- Рестартира убийствата на всички играчи.
  • becomevip_restart_player <nick|#userid> -- Рестартира убийствата на въпросния играч.
  • Имайте предвид, че администраторските команди са изключени ако данните се взимат от ранковата система.
Допълнителни настройки
  • Имайте предвид, че следните настройки изискват редкация на .sma файла.
  • ВЗИМАНЕ НА ДАННИ ОТ РАНКОВАТА СИСТЕМА (CSSTATS): По този начин убийствата ще бъдат еднакви с тези от ранковата система (командата /rank). Плъгинът няма да ползва nVault и администраторските команди ще бъдат изключени. За да включите опцията, трябва да премахнете "//" от този ред:

    Code: Select all

    /* Uncomment this line to use csstats (kills from /rank), instead of nVault */
    #define USE_CSSTATS               
  • HUD СЪОБЩЕНИЕ ПРИ РАЖДАНЕ: Тази опция е включена по подразбиране. Показва HUD съобщение при раждане, в което изписва колко убийства са нужни, както и колко убийства има играчът в момента. За да изключите опцията, трябва да добавите "//" в този ред:

    Code: Select all

    /* Comment this line to disable the HUD message on player spawn */
    //#define USE_HUD            
  • ЗАПАЗВАНЕ НА ДАННИТЕ ПО STEAMID: Ако включите опцията, плъгинът ще бъде достъпен само за хората, които имат валидно SteamID (няма нужда да имат закупена игра). Имайте предвид, че опцията може да се ползва само когато ранковата система е изключена. За да включите опцията, трябва да премахнете "//" от реда:

    Code: Select all

    /* Uncomment this to save data by SteamID and make the plugin work for players with a valid SteamID only */
    #define USE_STEAM               
  • СПЕШНО ЗАПАЗВАНЕ НА ДАННИТЕ: Тази опция се препоръчва ако искате да предотвратите загубата на данни при крашване на сървъра. Данните ще бъдат запазвани при всяко убийство. Имайте предвид, че опцията може да се ползва само когато ранковата система е изключена. За да включите опцията, трябва да премахнете "//" от реда:

    Code: Select all

    /* Uncomment this if you want the data to be saved right away - this will prevent losing data when the server crashes */
    #define QUICK_SAVE               
Plugin API (becomevip.inc)
  • Плъгинът съдържа и API, т.е. библиотека (.inc файл), с което можете да направите отделен плъгин, който да добавя ВИП екстри на играчите. По този начин няма да има нужда играчите да получават някакви флагове. Можете да направите играчите да получават различни екстри за различен брой убийства. Пример за плъгин, който добавя +50 кръв на ВИП играчите:

    Code: Select all

    #include <amxmodx>
    #include <becomevip>
    #include <fun>
    #include <hamsandwich>
    
    #define PLUGIN_NAME "BecomeVIP+ Health"
    #define PLUGIN_VERSION "1.0"
    #define PLUGIN_AUTHOR "OciXCrom"
    
    public plugin_init()
    {
        register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
        RegisterHam(Ham_Spawn, "player", "eventPlayerSpawn", 1)
    }
    
    public eventPlayerSpawn(id)
    {
        if(is_user_alive(id))
            if(IsUserVip(id))
                set_user_health(id, get_user_health(id) + 50)
    } 
  • IsUserVip(id) -- Проверка дали играчът е ВИП, т.е. има нужния брой на убийства.
  • GetKillsNeeded() -- Нужният брой на убийства за получаване на ВИП екстри.
  • GetUserKills(id) -- Броят на убийства на играча.
  • GetKillsLeft(id) -- Колко убийства остават на играча до отключването на ВИП екстри.
  • GetVipPrefix(szPrefix[], iPrefixLen) -- Главният префикс на плъгина.
  • GetVipFlags(szFlags[], iFlagsLen) -- Флаговете, които играчите получават.
  • UsingCsstats() -- Проверява дали плъгинът ползва CSStats.
  • UsingHud() -- Проверява дали плъгинът ползва HUD съобщение.
  • UsingSteam() -- Проверява дали плъгинът ползва Steam.
  • UsingQuickSave() -- Проверява дали плъгинът ползва Quick Save.
Снимки

Image

Image

Image

Image

* Цъкни тук за да видиш всички сървъри, които използват този плъгин.

Изтегли плъгина
  • Download from iPlay.bg -- Това е линкът към оригинала. При разпространяване на плъгина по други сайтове/форуми, длъжни сте да го добавите към темата си!
Last edited by OciXCrom on 22 Jun 2016, 19:13, edited 6 times in total.
User avatar
feruchio
Потребител
Потребител
Posts: 20
Joined: 14 Jun 2011, 20:02
Steam Community ID: feruchio
Location: 93.123.18.81:27017
Contact:

Re: Become VIP Plus (+API)

Post by feruchio »

Добре, а възможно ли е да го направиш да показва информацията от /kills в hud (отстрани в жълт цвят) в началото на всеки рунд за 2 секунди примерно или добави тази опция и ми кажи коѝ ред от .sma да променя за да си реша аз какво да пише. Може да е примерно:
"Reach 500 kills to become a VIP", "You have 234 kills!", а като напишат вече /kills ще виждат и какви флагове получават. Благодаря!
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Re: Become VIP Plus (+API)

Post by OciXCrom »

Update v1.1 @ 02.06.2016:
  • Добавено е HUD съобщение, което се показва при раждане. В него се изписва броят на нужни убийства за получаване на ВИП екстри, както и колко имате в момента.

    Image
  • Обновено е API-то, като са добавени един куп функции за направата на допълнителни плъгини. Вече можете да направите играчите да получават различни екстри при различен брой убийства.
feruchio wrote:Добре, а възможно ли е да го направиш да показва информацията от /kills в hud (отстрани в жълт цвят) в началото на всеки рунд за 2 секунди примерно или добави тази опция и ми кажи коѝ ред от .sma да променя за да си реша аз какво да пише. Може да е примерно:
"Reach 500 kills to become a VIP", "You have 234 kills!", а като напишат вече /kills ще виждат и какви флагове получават. Благодаря!
Добавено. Благодаря за предложението. Настройките на съобщението се променят от тук:

Code: Select all

#define HUD_COLOR_RED 0
#define HUD_COLOR_GREEN 255
#define HUD_COLOR_BLUE 0
#define HUD_POSITION_X 0.02
#define HUD_POSITION_Y 0.40
#define HUD_EFFECTS 2
#define HUD_FXTIME 1.0
#define HUD_HOLDTIME 5.0
#define HUD_FADEINTIME 0.03
#define HUD_FADEOUTTIME 0.1
#define HUD_CHANNEL -1  
User avatar
feruchio
Потребител
Потребител
Posts: 20
Joined: 14 Jun 2011, 20:02
Steam Community ID: feruchio
Location: 93.123.18.81:27017
Contact:

Re: Become VIP Plus (+API)

Post by feruchio »

Браво, уникален си. Продължаваѝ все така! :-)
Last edited by enco on 03 Jun 2016, 15:36, edited 1 time in total.
Reason: Нарушена т.5 - спам;
User avatar
feruchio
Потребител
Потребител
Posts: 20
Joined: 14 Jun 2011, 20:02
Steam Community ID: feruchio
Location: 93.123.18.81:27017
Contact:

Re: Become VIP Plus (+API)

Post by feruchio »

Добре а имаш ли представа защо не добавя скин за вип хората направени чрез плъгина, добавя флаговете и работи, но нямат скин. Това е плъгинът ми за скиновете

Code: Select all

#include < amxmodx >
#include < cstrike >
#include < hamsandwich >

new bool:g_bAdmin[ 33 ];

public plugin_init( ) {
    register_plugin( "Admin Model", "1.2", "whitemike" );
    
    RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 );
}

public plugin_precache( ) {
    precache_model( "models/player/max/max.mdl" );
    precache_model( "models/player/duke/duke.mdl" );
}

public client_authorized( id )
    g_bAdmin[ id ] = bool:( get_user_flags( id ) & ADMIN_LEVEL_A
 );

public client_disconnect( id )
    g_bAdmin[ id ] = false;

public FwdHamPlayerSpawn( const id ) {
    if( g_bAdmin[ id ] && is_user_alive( id ) ) {
        switch( cs_get_user_team( id ) ) {
            case CS_TEAM_T: cs_set_user_model( id, "duke" );
            case CS_TEAM_CT: cs_set_user_model( id, "max" );
        }
    }
}

А хората който аз съм добавил си имат. :dcygpd:
User avatar
Desmeon
Потребител
Потребител
Posts: 258
Joined: 05 May 2013, 18:48
Skype: ЛС!
Location: Дом на масата.

Re: Become VIP Plus (+API)

Post by Desmeon »

feruchio wrote:Добре а имаш ли представа защо не добавя скин за вип хората направени чрез плъгина, добавя флаговете и работи, но нямат скин. Това е плъгинът ми за скиновете

Code: Select all

#include < amxmodx >
#include < cstrike >
#include < hamsandwich >

new bool:g_bAdmin[ 33 ];

public plugin_init( ) {
    register_plugin( "Admin Model", "1.2", "whitemike" );
    
    RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 );
}

public plugin_precache( ) {
    precache_model( "models/player/max/max.mdl" );
    precache_model( "models/player/duke/duke.mdl" );
}

public client_authorized( id )
    g_bAdmin[ id ] = bool:( get_user_flags( id ) & ADMIN_LEVEL_A
 );

public client_disconnect( id )
    g_bAdmin[ id ] = false;

public FwdHamPlayerSpawn( const id ) {
    if( g_bAdmin[ id ] && is_user_alive( id ) ) {
        switch( cs_get_user_team( id ) ) {
            case CS_TEAM_T: cs_set_user_model( id, "duke" );
            case CS_TEAM_CT: cs_set_user_model( id, "max" );
        }
    }
}

А хората който аз съм добавил си имат. :dcygpd:
Просто променяш cvar-а, който ти дава флаговете, след като си направил убийствата на:

Code: Select all

becomevip_flags "m"
Понеже виждам, че на този плъгин имаш ADMIN_LEVEL_A, което е флаг "m".
User avatar
feruchio
Потребител
Потребител
Posts: 20
Joined: 14 Jun 2011, 20:02
Steam Community ID: feruchio
Location: 93.123.18.81:27017
Contact:

Re: Become VIP Plus (+API)

Post by feruchio »

Променил съм го аз това ето тези два реда са ми в server.cfg и amxx.cfg:

Code: Select all

becomevip_kills "500"
becomevip_flags "rqnmtob"
Трябва да е от нещо друго предполагам. :-)
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Re: Become VIP Plus (+API)

Post by OciXCrom »

Проблемът е, че плъгинът, който ползваш, проверява дали играчът има нужния флаг при влизане в сървъра, а не когато трябва да му промени скина. Моят плъгин добавя флаговете СЛЕД КАТО играчът влезне в сървъра, съответно другият плъгин не засича тези флагове, тъй като проверката я прави преди добавянето на флаговете. Би трябвало да стане ако твоят плъгин стои под моя в plugins.ini, обаче ако ползваш опцията за взимане на убийствата от ранковата система или просто не стане, ползвай това:

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

new const g_szCTModel[] = "max"
new const g_szTModel[] = "duke"

#define ADMIN_FLAG ADMIN_LEVEL_A

public plugin_init()
{
    register_plugin("Player Models", "2.0", "iPlay.bg (OciXCrom)")
    RegisterHam(Ham_Spawn, "player", "eventPlayerSpawn", 1)
}

public eventPlayerSpawn(id)
{
    if(is_user_alive(id) && get_user_flags(id) & ADMIN_FLAG)
        cs_set_user_model(id, get_user_team(id) == 2 ? g_szCTModel : g_szTModel)
}

public plugin_precache()
{
    new szModel[128]
    formatex(szModel, charsmax(szModel), "models/player/%s/%s.mdl", g_szCTModel, g_szCTModel)
    precache_model(szModel)
    replace(szModel, charsmax(szModel), ".mdl", "T.mdl")
    
    if(file_exists(szModel))
        precache_model(szModel)
    
    formatex(szModel, charsmax(szModel), "models/player/%s/%s.mdl", g_szTModel, g_szTModel)
    precache_model(szModel)
    replace(szModel, charsmax(szModel), ".mdl", "T.mdl")
    
    if(file_exists(szModel))
        precache_model(szModel)
} 
Горният плъгин автоматично проверява дали моделът има и T.mdl файл.
User avatar
feruchio
Потребител
Потребител
Posts: 20
Joined: 14 Jun 2011, 20:02
Steam Community ID: feruchio
Location: 93.123.18.81:27017
Contact:

Re: Become VIP Plus (+API)

Post by feruchio »

Работи така, като го турех в началото на плъгин листа. А само да попитам дали ако сложа сега новата версия на плъгинът ти дали убииствата на хората ще са запазени, да не би да се изтрият и да рейджнат хората? Благодаря още веднъж! :wink:
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Re: Become VIP Plus (+API)

Post by OciXCrom »

Не, горният плъгин не пипа убийствата. Можеш спокойно да го замениш. Отнася се за всякакви плъгини, които ще добавяш, както и за ъпдейти на главния.
User avatar
feruchio
Потребител
Потребител
Posts: 20
Joined: 14 Jun 2011, 20:02
Steam Community ID: feruchio
Location: 93.123.18.81:27017
Contact:

Re: Become VIP Plus (+API)

Post by feruchio »

Имаш ли представа защо след няколко дни се изтриват убийствата на хората и има ли начин това да се предотврати за напред? Благодаря!
User avatar
OciXCrom
OciXCrom™ Official Profile
OciXCrom™ Official Profile
Posts: 585
Joined: 21 Mar 2013, 14:21
Skype: doctor.crom1234
CS Nick: OciXCrom
Favorite version: CS: 1.6
Steam Community ID: OciXCrom
Location: jb.iplay.bg:27015
Contact:

Re: Become VIP Plus (+API)

Post by OciXCrom »

feruchio wrote:Имаш ли представа защо след няколко дни се изтриват убийствата на хората и има ли начин това да се предотврати за напред? Благодаря!
Няма как да се изтриват сами, освен ако не е включена опцията за ранковата система и си я настроил да ги рестартира през определено време или определен брой убийства.
User avatar
feruchio
Потребител
Потребител
Posts: 20
Joined: 14 Jun 2011, 20:02
Steam Community ID: feruchio
Location: 93.123.18.81:27017
Contact:

Re: Become VIP Plus (+API)

Post by feruchio »

Хмм интересно, защото някои се оплакват, че им се случва и дори хората направени вип с плъгина ги маха като се случи това. Аз също не вярвах, но след 15 дни някъде се случи и на мен. Не е включено чрез ранковата система да работи и quck save е включен, понякога ме съмнява, че е от крадене на имената на другите играчи, сега сложих ригистър система да видим как ще е.
User avatar
JackEyedJones
РЕКЛАМАТОР
РЕКЛАМАТОР
Posts: 332
Joined: 18 Apr 2014, 06:17
Skype: voltouch180
CS Nick: <Not Good Simply KoreaN>
Favorite version: CS: 1.6
Location: Plovdiv, Bulgaria, Europe, Entire World
Contact:

Re: Become VIP Plus (+API)

Post by JackEyedJones »

Когато не съхранява по ранкова система се включва да съхранява по стийм. Но тогава, който е с VALVE_ ID няма да му съхранява мисля.
User avatar
feruchio
Потребител
Потребител
Posts: 20
Joined: 14 Jun 2011, 20:02
Steam Community ID: feruchio
Location: 93.123.18.81:27017
Contact:

Re: Become VIP Plus (+API)

Post by feruchio »

Jack Eyed Jones wrote:Когато не съхранява по ранкова система се включва да съхранява по стийм. Но тогава, който е с VALVE_ ID няма да му съхранява мисля.
Няма логика в това, защото аз съм с Steam и пак ми ги изтри. :dcygpd:
Post Reply

Return to “Ваши плъгини”