VIP Extras with command

Изображение
Всичко свързано с AMX Mod X.
Отговори
Потребителски аватар
summertime vibes W GOD;3
Дизайнер
Дизайнер
Мнения: 2737
Регистриран: 27 дек 2016 21:40
CS Nick: KniffeR ;>
Настроение: Knifer-ско
Име: Иван
Месторабота: В Knife-a ;>
Steam ID: thegodnesia
Интереси: Йоанна <3
Местоположение: Outside the planet ;>
Контакти:
Pakistan

13 яну 2018 15:06

Здравейте.
Нямаше какво да правя и реших да направя едно лесно плъгинче като за начинаещ с pawn scripting-a. Плъгина се казва VIP Extras, който можете да си вземете 1 път на рунд и като имате определеният флаг, който ви трябва за да използвате командата. В плъгина има 3 проверки - за флага, дали сте админ, за това дали сте жив и проверка за използване на командата само по 1 път на рунд. Cvar-ове няма, но според мен е улеснено и няма нужда от cvar-ове. Има 2 съобщения - при проверката на факта дали играчът е жив и още една за това, че командата може да се ползва веднъж на рунд. Като вземете екстрите ви премахва и secondary/primary wep-овете за да нямате usp и deagle примерно едновременно. Достъпът за използване на командата е ADMIN_IMMUNITY (a flag), като можете да го промените при константата, като също има и друга константа за префикса в чата.

Команди в чата:
Say - /getextras (ADMIN_IMMUNITY)
Say Team - /getextras (ADMIN_IMMUNITY)

Код:

Код: Избери всички

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <stripweapons>

#define PLUGIN "VIP Extras with command"
#define VERSION "1.0"
#define AUTHOR "ÅmNeSIÃ1337; / sideways god"

#define IsAdmin(%1)    ((get_user_flags(%1)&AdminFlags)==AdminFlags)

new const AdminFlags = ( ADMIN_IMMUNITY );
new const szPrefix[] = "[YourPrefixHere]"

new bool:bAlreadyUsed[ 33 ]

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /getextras", "cmdvipextras", ADMIN_IMMUNITY , "")
    register_clcmd("say_team /getextras", "cmdvipextras", ADMIN_IMMUNITY , "")
    register_event( "HLTV" , "evNewRound" , "a" , "1=0" , "2=0" );
}

public evNewRound( )
    arrayset( bAlreadyUsed , false , sizeof( bAlreadyUsed ) );

public cmdvipextras(id, level)
{
    if( get_user_flags( id ) & level )
{
    if(!is_user_alive(id)) {
            client_print(id,print_chat,"%s You must be alive to use this command." ,szPrefix)
            return PLUGIN_HANDLED
       }
         StripWeapons(id,Secondary)
         StripWeapons(id,Primary)
        if( bAlreadyUsed[ id ] )
        {
            client_print( id , print_chat , "%s You already used VIP Extras this round!" ,szPrefix);
        return PLUGIN_HANDLED
        }
        else 
        {
            give_item(id, "weapon_deagle")
       cs_set_user_bpammo(id, CSW_DEAGLE, 35);
       give_item(id, "weapon_flashbang")
       cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
       give_item(id, "weapon_hegrenade")
       cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
       give_item(id, "weapon_smokegrenade")
       cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 1);
            bAlreadyUsed[ id ] = true
        }
}
} 
Отговори

Върни се в “AMX Mod X”