Леко редактиране на плъгин Bullet_Damage

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
viewsonic
Извън линия
Потребител
Потребител
Мнения: 135
Регистриран на: 09 Юни 2018, 17:46
Се отблагодари: 22 пъти
Обратна връзка:

Леко редактиране на плъгин Bullet_Damage

Мнение от viewsonic » 09 Окт 2018, 18:25

плъгина е Bullet_Damage_menu пуска се със команда /bullet и т.н. само искам някой да отстрани менюто на плъгина да стане като всеки нормален плъгин без да се ползва команда за включването му .. ето и сма кода>

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cstrike>
#include <colorchat>
#include <dhudmessage>

static const PLUGIN_NAME[] = "Bullet Damage Menu"
static const PLUGIN_VERS[] = "v1.0"
static const PLUGIN_AUTH[] = "KSHMR & { S p @ W n } +++"

static bool:g_damage[33]

#define FrequencyTime    600.0
#define SendQuestion   15.0
#define MIN_PLAYERS    1
#define MAX_PLAYERS    32
#define CONSTMAXMONEY   15000
#define ACCESS       ADMIN_LEVEL_D

static const gPrefix[]       = "Black-Gaming"
static const MenuTitle[]    = "\r[Black-Gaming Bullet Damage Menu] \w- \yBullet Damage \rMenu"
static const MenuButtonON[]    = "\rTurn on your \yBullet Damage"
static const MenuButtonOFF[]   = "\rTurn off \yBullet Damage"
static const MenuButtonEXIT[]    = "\rExit"
static const bulletcmds[]    = {
   "say /damage","say damage",
   "say_team damage","say_team /damage",
   "say /bullet","say bullet",
   "say_team bullet","say_team /bullet"
}

#define red   random_num(1,255)
#define green random_num(1,255)
#define blue  random_num(1,255)

static const Float:g_flCoords[][] = {
     {0.50, 0.40},{0.56, 0.44},{0.60, 0.50},{0.56, 0.56},
     {0.50, 0.60},{0.44, 0.56},{0.40, 0.50},{0.44, 0.44}
}

new g_iMaxPlayers
new g_iPlayerPos[MAX_PLAYERS+1]
new BulletMode, BulletChatMsg, BulletHudType
new BulletCost, BulletMoney, BulletRegain

public plugin_init()
{
    register_plugin(PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH)
    for(new i = 0; i < sizeof(bulletcmds); i++)
    {
        register_clcmd(bulletcmds[i],"ShowMenuMODE")
    }
   
    register_event("Damage","Event_Damage","b","2>0","3=0")
    g_iMaxPlayers = get_maxplayers()
    set_task(Float:(FrequencyTime),"ShowMsg",0,"",0,"b")
    BulletMode    = register_cvar("bullet_mode","1")
    BulletChatMsg    = register_cvar("bullet_announce","1")
    BulletMoney    = register_cvar("bullet_moneyusage","0")
    BulletCost    = register_cvar("bullet_cost","0")
    BulletRegain    = register_cvar("bullet_regain","1")
    BulletHudType   = register_cvar("bullet_dhudorhud","1")
   
    server_print("-----------------------------------------")
    server_print("---PLUGIN bY KSHMR & { S p @ W n } +++---")
    server_print("----------All Rights Reserved------------")
    server_print("-----------------------------------------")
}

public ShowMsg()
{
    if (get_pcvar_num(BulletChatMsg))
    {
        new users[32], count, id
        get_players(users,count)
       
        for (new i = 0; i < count; i++)
        {
            if( count >= MIN_PLAYERS )
            {
                id = users[i]
                ColorChat(id, GREEN,"^4[%s] ^1Ako iskash da si vkliuchish Bullet Damage rejima napishi ^4/bullet^1.",gPrefix)
            }
        }
    }
}

public ShowMenuMODE(id)
{
    if (is_user_connected(id))
    {
        switch (get_pcvar_num(BulletMode))
        {
            case 1:
            {
                if (get_user_flags(id) & ACCESS)
                {   
                    ShowMenu(id);
                    ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage Menu ^4Opened^1.",gPrefix)
                }
                else
                {
                    ColorChat(id,GREEN,"^4[%s] ^1Tazi komanda e samo za ^4ViP^1.",gPrefix)
                }
            }
            case 2:
            {
                if (!(get_user_flags(id) & ACCESS))
                {   
                    ShowMenu(id);
                    ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage Menu ^4Opened^1.",gPrefix)
                }
                else
                {
                    ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage is for ^4USERS Only^1.",gPrefix);
                }
            }
            case 3:
            {
                if (is_user_connected(id))
                {
                    ShowMenu(id);
                    ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage Menu ^4Opened^1.",gPrefix)
                }
            }
        }
    }
}

public ShowMenu(id)
{
    if (is_user_connected(id))
    {
        new menu = menu_create(MenuTitle,"BulletHandler");

        menu_additem(menu, MenuButtonON, "", 0); // case 0
        menu_additem(menu, MenuButtonOFF, "", 0); // case 1
       
        menu_setprop(menu, MPROP_EXITNAME, MenuButtonEXIT);

        menu_display(id, menu, 0);
    }
}

public BulletHandler(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_cancel(id)
        return PLUGIN_HANDLED
    }
   
    switch (item)
    {
        case 0:
        {
            if (!g_damage[id])
            {
                switch (get_pcvar_num(BulletMoney))
                {
                    case 0:
                    {
                        g_damage[id] = true
                        ColorChat(id,GREEN,"^4[%s] ^1You have ^4bullet damage^1.",gPrefix)
                    }
                    case 1:
                    {
                        if ( cs_get_user_money(id) >= get_pcvar_num(BulletCost) )
                        {
                            cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(BulletCost))
                            g_damage[id] = true
                            ColorChat(id,GREEN,"^4[%s] ^1You have ^4bullet damage^1.",gPrefix)
                        }
                        else
                        {
                            ColorChat(id,GREEN,"^4[%s] ^1You dont have enough ^4money^1.",gPrefix)
                        }
                    }
                }
            }
            else if (g_damage[id])
            {
                ColorChat(id,GREEN,"^4[%s] ^1Your bullet damage is already turned ^4On^1.",gPrefix)
            }
        }
        case 1:
        {   
            if(g_damage[id])
            {
                switch(get_pcvar_num(BulletRegain))
                {   
                    case 0:
                    {
                        g_damage[id] = false
                        ColorChat(id,RED,"^4[%s] ^1You have ^3bullet damage Off^1.",gPrefix)
                    }
                    case 1:
                    {   
                        if ( cs_get_user_money(id) <= CONSTMAXMONEY )
                        {
                            cs_set_user_money(id,cs_get_user_money(id) + get_pcvar_num(BulletCost))
                            g_damage[id] = false
                            ColorChat(id,RED,"^4[%s] ^1You have ^3bullet damage Off^1.",gPrefix)
                        }
                        else
                        {
                            g_damage[id] = false
                            ColorChat(id,RED,"^4[%s] ^1You have the maximum money^4.",gPrefix)
                            ColorChat(id,RED,"^4[%s] ^3Bullet damage Off^1.",gPrefix)
                        }
                    }
                }     
            }
            else if (!g_damage[id])
            {
                ColorChat(id,RED,"^4[%s] ^1Your bullet damage is already turned ^3Off^1.",gPrefix)
            }
        }
    }

    menu_destroy(menu)
   
    return PLUGIN_HANDLED
}

public Event_Damage(iVictim)
{
    if ( read_data(4) || read_data(5) || read_data(6) )
    {
        new id = get_user_attacker(iVictim)
     
        if ((1 <= id <= g_iMaxPlayers) && is_user_connected(id))
        {
            new iPos = ++g_iPlayerPos[id]
           
            if (iPos == sizeof(g_flCoords))
            {
                iPos = g_iPlayerPos[id] = 0
            }
               
            switch (get_pcvar_num(BulletHudType))
            {
                case 1:
                {
                    set_hudmessage(red,green,blue,Float:g_flCoords[iPos][0],Float:g_flCoords[iPos][1],0,6.0,3.0,0.1,0.02)
                    if (g_damage[id])
                    {
                        show_hudmessage(id, "%d", read_data(2))
                    }
                }
                case 2:
                {
                    set_dhudmessage(red,green,blue,Float:g_flCoords[iPos][0],Float:g_flCoords[iPos][1],0,6.0,3.0,0.1,0.02)
                    if (g_damage[id])
                    {
                        show_dhudmessage(id, "%d", read_data(2))
                    }
                }
            }
        }
    }
}


public client_putinserver(i)
{
    if(g_damage[i])
    {
        g_damage[i] = false
    }
}

public client_disconnect(i)
{
    if(g_damage[i])
    {
        g_damage[i] = false
    }
}
Последно промяна от 1fRaNkkK на 09 Окт 2018, 19:06, променено общо 1 път.
Причина: Получаваш предупреждение, при положение, че повече от 1 път ти е направено забележка да използваш CODE тага вместо QUOTE...

Код за потвърждение: Избери целия код

93.123.18.76:27016

Аватар
illusion
Извън линия
Developer
Developer
Мнения: 1810
Регистриран на: 27 Ное 2016, 17:47
Местоположение: CraftVision
Се отблагодари: 151 пъти
Получена благодарност: 370 пъти
Обратна връзка:

Леко редактиране на плъгин Bullet_Damage

Мнение от illusion » 09 Окт 2018, 18:38

Другият път използвай code тага..

Код за потвърждение: Избери целия код

    #include <amxmodx>
#if AMXX_VERSION_NUM < 183
	#include <dhudmessage>
#endif

    #define PLUGIN "Bullet Damage"
    #define AUTHOR "ConnorMcLeod"
    #define VERSION "0.0.1"

    #define MAX_PLAYERS    32

    new const Float:g_flCoords[][] = 
    {
        {0.50, 0.40},
        {0.56, 0.44},
        {0.60, 0.50},
        {0.56, 0.56},
        {0.50, 0.60},
        {0.44, 0.56},
        {0.40, 0.50},
        {0.44, 0.44}
    }

    new g_iPlayerPos[MAX_PLAYERS+1]

    new g_iMaxPlayers

    public plugin_init()
    {
        register_plugin(PLUGIN, VERSION, AUTHOR);

        register_event("Damage", "Event_Damage", "b", "2>0", "3=0");

        g_iMaxPlayers = get_maxplayers();
    }

    public Event_Damage( iVictim )
    {
        if(read_data(4) || read_data(5) || read_data(6))
        {
            new id = get_user_attacker(iVictim)
            if((1 <= id <= g_iMaxPlayers) && is_user_connected(id))
            {
                new iPos = ++g_iPlayerPos[id];
                if(iPos == sizeof(g_flCoords))
                {
                    iPos = g_iPlayerPos[id] = 0;
                }
                set_dhudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), Float:g_flCoords[iPos][0], Float:g_flCoords[iPos][1], 0, 0.1, 2.5, 0.02, 0.02);
                show_dhudmessage(id, "%d", read_data(2));
            }
        }
    }
     

Аватар
thoughtz
Извън линия
Модератор
Модератор
Мнения: 585
Регистриран на: 13 Окт 2016, 00:32
Местоположение: гр. София
Се отблагодари: 112 пъти
Получена благодарност: 79 пъти
Обратна връзка:

Леко редактиране на плъгин Bullet_Damage

Мнение от thoughtz » 09 Окт 2018, 19:39

Ако ползваш ReAPI - > viewtopic.php?f=18&t=1521

Аватар
JackEyedJones
Извън линия
Потребител
Потребител
Мнения: 399
Регистриран на: 10 Сеп 2018, 17:26
Местоположение: Plovdiv, Bulgaria, Europe, Entire World
Се отблагодари: 4 пъти
Получена благодарност: 69 пъти
Обратна връзка:

Леко редактиране на плъгин Bullet_Damage

Мнение от JackEyedJones » 09 Окт 2018, 19:59

Променено:

При влизане ще е включено и обратното при излизане - изключено.

Код за потвърждение: Избери целия код

public client_putinserver(i)
   g_damage[i] = true

public client_disconnect(i)
   g_damage[i] = false

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cstrike>
#include <colorchat>
#include <dhudmessage>

static const PLUGIN_NAME[] = "Bullet Damage Menu"
static const PLUGIN_VERS[] = "v1.0"
static const PLUGIN_AUTH[] = "KSHMR & { S p @ W n } +++"

static bool:g_damage[33]

#define FrequencyTime    600.0
#define MIN_PLAYERS    	1
#define MAX_PLAYERS    	32
#define CONSTMAXMONEY   15000
#define ACCESS      	ADMIN_LEVEL_D

static const gPrefix[]       = "Black-Gaming"
static const MenuTitle[]    = "\r[Black-Gaming Bullet Damage Menu] \w- \yBullet Damage \rMenu"
static const MenuButtonON[]    = "\rTurn on your \yBullet Damage"
static const MenuButtonOFF[]   = "\rTurn off \yBullet Damage"
static const MenuButtonEXIT[]    = "\rExit"
static const bulletcmds[]    = {
   "say /damage","say damage",
   "say_team damage","say_team /damage",
   "say /bullet","say bullet",
   "say_team bullet","say_team /bullet"
}

#define red   random_num(1,255)
#define green random_num(1,255)
#define blue  random_num(1,255)

static const Float:g_flCoords[][] = {
     {0.50, 0.40},{0.56, 0.44},{0.60, 0.50},{0.56, 0.56},
     {0.50, 0.60},{0.44, 0.56},{0.40, 0.50},{0.44, 0.44}
}

new g_iMaxPlayers
new g_iPlayerPos[MAX_PLAYERS+1]
new BulletMode, BulletChatMsg, BulletHudType
new BulletCost, BulletMoney, BulletRegain

public plugin_init()
{
    register_plugin(PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH)
    for(new i = 0; i < sizeof(bulletcmds); i++)
    {
        register_clcmd(bulletcmds[i],"ShowMenuMODE")
    }
   
    register_event("Damage","Event_Damage","b","2>0","3=0")
    g_iMaxPlayers = get_maxplayers()
    set_task(Float:(FrequencyTime),"ShowMsg",0,"",0,"b")
    BulletMode    = register_cvar("bullet_mode","1")
    BulletChatMsg    = register_cvar("bullet_announce","1")
    BulletMoney    = register_cvar("bullet_moneyusage","0")
    BulletCost    = register_cvar("bullet_cost","0")
    BulletRegain    = register_cvar("bullet_regain","1")
    BulletHudType   = register_cvar("bullet_dhudorhud","1")
}

public ShowMsg()
{
    if (get_pcvar_num(BulletChatMsg))
    {
        new users[32], count, id
        get_players(users,count)
       
        for (new i = 0; i < count; i++)
        {
            if( count >= MIN_PLAYERS )
            {
                id = users[i]
                ColorChat(id, GREEN,"^4[%s] ^1Ako iskash da si vkliuchish Bullet Damage rejima napishi ^4/bullet^1.",gPrefix)
            }
        }
    }
}

public client_putinserver(i)
   g_damage[i] = true

public client_disconnect(i)
   g_damage[i] = false

public ShowMenuMODE(id)
{
    if (is_user_connected(id))
    {
        switch (get_pcvar_num(BulletMode))
        {
            case 1:
            {
                if (get_user_flags(id) & ACCESS)
                {   
                    ShowMenu(id);
                    ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage Menu ^4Opened^1.",gPrefix)
                }
                else
                {
                    ColorChat(id,GREEN,"^4[%s] ^1Tazi komanda e samo za ^4ViP^1.",gPrefix)
                }
            }
            case 2:
            {
                if (!(get_user_flags(id) & ACCESS))
                {   
                    ShowMenu(id);
                    ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage Menu ^4Opened^1.",gPrefix)
                }
                else
                {
                    ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage is for ^4USERS Only^1.",gPrefix);
                }
            }
            case 3:
            {
                if (is_user_connected(id))
                {
                    ShowMenu(id);
                    ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage Menu ^4Opened^1.",gPrefix)
                }
            }
        }
    }
}

public ShowMenu(id)
{
    if (is_user_connected(id))
    {
        new menu = menu_create(MenuTitle,"BulletHandler");

        menu_additem(menu, MenuButtonON, "", 0); // case 0
        menu_additem(menu, MenuButtonOFF, "", 0); // case 1
       
        menu_setprop(menu, MPROP_EXITNAME, MenuButtonEXIT);

        menu_display(id, menu, 0);
    }
}

public BulletHandler(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_cancel(id)
        return PLUGIN_HANDLED
    }
   
    switch (item)
    {
        case 0:
        {
            if (!g_damage[id])
            {
                switch (get_pcvar_num(BulletMoney))
                {
                    case 0:
                    {
                        g_damage[id] = true
                        ColorChat(id,GREEN,"^4[%s] ^1You have ^4bullet damage^1.",gPrefix)
                    }
                    case 1:
                    {
                        if ( cs_get_user_money(id) >= get_pcvar_num(BulletCost) )
                        {
                            cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(BulletCost))
                            g_damage[id] = true
                            ColorChat(id,GREEN,"^4[%s] ^1You have ^4bullet damage^1.",gPrefix)
                        }
                        else
                        {
                            ColorChat(id,GREEN,"^4[%s] ^1You dont have enough ^4money^1.",gPrefix)
                        }
                    }
                }
            }
            else if (g_damage[id])
            {
                ColorChat(id,GREEN,"^4[%s] ^1Your bullet damage is already turned ^4On^1.",gPrefix)
            }
        }
        case 1:
        {   
            if(g_damage[id])
            {
                switch(get_pcvar_num(BulletRegain))
                {   
                    case 0:
                    {
                        g_damage[id] = false
                        ColorChat(id,RED,"^4[%s] ^1You have ^3bullet damage Off^1.",gPrefix)
                    }
                    case 1:
                    {   
                        if ( cs_get_user_money(id) <= CONSTMAXMONEY )
                        {
                            cs_set_user_money(id,cs_get_user_money(id) + get_pcvar_num(BulletCost))
                            g_damage[id] = false
                            ColorChat(id,RED,"^4[%s] ^1You have ^3bullet damage Off^1.",gPrefix)
                        }
                        else
                        {
                            g_damage[id] = false
                            ColorChat(id,RED,"^4[%s] ^1You have the maximum money^4.",gPrefix)
                            ColorChat(id,RED,"^4[%s] ^3Bullet damage Off^1.",gPrefix)
                        }
                    }
                }     
            }
            else if (!g_damage[id])
            {
                ColorChat(id,RED,"^4[%s] ^1Your bullet damage is already turned ^3Off^1.",gPrefix)
            }
        }
    }

    menu_destroy(menu)
   
    return PLUGIN_HANDLED
}

public Event_Damage(iVictim)
{
    if ( read_data(4) || read_data(5) || read_data(6) )
    {
        new id = get_user_attacker(iVictim)
     
        if ((1 <= id <= g_iMaxPlayers) && is_user_connected(id))
        {
            new iPos = ++g_iPlayerPos[id]
           
            if (iPos == sizeof(g_flCoords))
            {
                iPos = g_iPlayerPos[id] = 0
            }
               
            switch (get_pcvar_num(BulletHudType))
            {
                case 1:
                {
                    set_hudmessage(red,green,blue,Float:g_flCoords[iPos][0],Float:g_flCoords[iPos][1],0,6.0,3.0,0.1,0.02)
                    if (g_damage[id])
                    {
                        show_hudmessage(id, "%d", read_data(2))
                    }
                }
                case 2:
                {
                    set_dhudmessage(red,green,blue,Float:g_flCoords[iPos][0],Float:g_flCoords[iPos][1],0,6.0,3.0,0.1,0.02)
                    if (g_damage[id])
                    {
                        show_dhudmessage(id, "%d", read_data(2))
                    }
                }
            }
        }
    }
}
Ако трябва да разясня cvar-ите казвайте.
Кода е старичък, все пак за онова време толкова разбирах. :lol:

Аватар
viewsonic
Извън линия
Потребител
Потребител
Мнения: 135
Регистриран на: 09 Юни 2018, 17:46
Се отблагодари: 22 пъти
Обратна връзка:

Леко редактиране на плъгин Bullet_Damage

Мнение от viewsonic » 10 Окт 2018, 00:02

благодаря ви, благодаря ви може да локвате <3

Код за потвърждение: Избери целия код

93.123.18.76:27016

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 27 госта