amx_money

3Be3Da

Пользователь
Регистрация
14 Авг 2017
Сообщения
131
Симпатии
3
Предупреждения
30
Пол
Мужской
Код:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <cstrike>

#define PLUGIN "give_hp_player"
#define VERSION "1.0"
#define AUTHOR "3Be3Da"


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("amx_money", "get_money", ADMIN_RCON)
}
new g_isplayerHP[33]
public get_money(id)
{
    new menu = menu_create("Выдача \rденег", "give_money")
    menu_additem(menu, "\yВыдать деньги \r1000", "1")
    menu_additem(menu, "\yВыдать деньги \r3000", "2")
    menu_additem(menu, "\yВыдать деньги \r5000", "3")
    menu_additem(menu, "\yВыдать деньги \r10000", "4")
    menu_additem(menu, "\yВыдать деньги \r16000", "5")
    menu_additem(menu, "\yВыдать деньги \r25000", "6")
    
    menu_setprop(menu, MPROP_EXIT, "Выход")
    menu_display(id, menu, 0)
}
public give_money(id, menu, iItem)
{
    if(!is_user_connected(id))
    return;
    
    if(iItem == MENU_EXIT)
    return;
    
    g_isplayerHP[id] = iItem
    menu_player(id)
}
public menu_player(id)
{
    new menu = menu_create("\yКакому игроку дать?", "player_give")
    new sName[32], sItem[3]
    for(new iPlayer = 1; iPlayer < get_maxplayers(); iPlayer++)
    {
    if(!is_user_alive(iPlayer))
    continue;
    
    get_user_name(iPlayer, sName, 32)
    num_to_str(iPlayer, sItem, 3)
    menu_additem(menu, sName, sItem)
    }
    
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
    menu_display(id, menu, 0)
}
public player_give(id, menu, iItem)
{
    if(!is_user_connected(id))
    return;
    
    if(iItem == MENU_EXIT)
    return;
    iItem++;
    if(!is_user_alive(iItem))
    return;
    switch(g_isplayerHP[id])
    {
        case 1:
        {
            cs_set_user_money(iItem, cs_get_user_money(iItem) + 1000)
        }
        case 2:
        {
            cs_set_user_money(iItem, cs_get_user_money(iItem) + 3000)
        }
        case 3:
        {
            cs_set_user_money(iItem, cs_get_user_money(iItem) + 5000)
        }
        case 4:
        {
            cs_set_user_money(iItem, cs_get_user_money(iItem) + 10000)
        }
        case 5:
        {
            cs_set_user_money(iItem, cs_get_user_money(iItem) + 16000)
        }
        case 6:
        {
            cs_set_user_money(iItem, cs_get_user_money(iItem) + 25000)
        }
    }
}
Заместь того что-б выдать 3000 выдаёт 5000 и так далее вот код[DOUBLEPOST=1523550910][/DOUBLEPOST]И другим игрокам не выдаётся только если на себя нажму
 

Mandar1n

theRoone
Пользователь
Регистрация
13 Янв 2018
Сообщения
394
Симпатии
70
Пол
Мужской
3Be3Da, переделал код
C++:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif   

#define PLUGIN "give_hp_player"
#define VERSION "1.0"
#define AUTHOR "3Be3Da"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("amx_money", "get_money", ADMIN_RCON)
}

new g_Money

public get_money(id)
{
    new menu = menu_create("\yМеню выдачи денег:", "give_money")
    menu_additem(menu, "Выдать \r1000$", "1")
    menu_additem(menu, "Выдать \r3000$", "2")
    menu_additem(menu, "Выдать \r5000$", "3")
    menu_additem(menu, "Выдать \r10000$", "4")
    menu_additem(menu, "Выдать \r16000$", "5")
    menu_additem(menu, "Выдать \r25000$", "6")
    
    menu_setprop(menu, MPROP_EXIT, "Закрыть")
    menu_display(id, menu, 0)
}

public give_money(id, menu, iItem)
{
    if(!is_user_connected(id))
    return;
    
    if(iItem == MENU_EXIT)
    return;
    
    switch(iItem)
    {
        case 0: g_Money = 1000
        case 1: g_Money = 3000
        case 2: g_Money = 5000
        case 3: g_Money = 10000
        case 4: g_Money = 16000
        case 5: g_Money = 25000
    }
    
    My_Menu(id)
}

public My_Menu(id)
{
    // Сперва необходимо создать переменную для меню, с которой мы будем взаимодействовать в дальнейшем
    new i_Menu = menu_create("\yМеню выбора игрока:\w", "menu_handler")

    // Необходимые переменные, которые понадобятся нам при выводе меню из игроков
    new s_Players[32], i_Num, i_Player

    // Переменные для хранения информации об игроках
    new s_Name[32], s_Player[10]

    // Получаем массив игроков
    get_players(s_Players, i_Num)

    // Цикл по всем игрокам
    for (new i; i < i_Num; i++)
    {
        // Сохраняем текущего игрока в i_Player
        i_Player = s_Players[i]
        // Получаем имя и ID игрока

        get_user_name(i_Player, s_Name, charsmax(s_Name))
        num_to_str(i_Player, s_Player, charsmax(s_Player))

        // Добавляем опцию по данному игроку
        menu_additem(i_Menu, s_Name, s_Player, 0)

    }

    // Мы сформировали меню из игроков, присутствующих на сервере, теперь выводим его
    menu_display(id, i_Menu, 0)
}
 
public menu_handler(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }

    new s_Data[6], s_Name[64], i_Access, i_Callback
    menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

    // Получаем ID игрока, который был выбран в меню
    new i_Player = str_to_num(s_Data)
    new nameID[32], namei_Player[32]
    get_user_name(id, nameID, 31)
    get_user_name(i_Player, namei_Player, 31)

    cs_set_user_money(i_Player, cs_get_user_money(i_Player) + g_Money)
    client_print_color(0, print_chat, "[^4Money^1] Игрок^4 %s ^1выдал^3 %d$ ^1игроку^4 %s", nameID, g_Money, namei_Player)
 
    menu_destroy(menu)
    return PLUGIN_HANDLED
 }
 
K

kapangaIII

Не переделывай больше ничего, логика - не твое.
 

Mandar1n

theRoone
Пользователь
Регистрация
13 Янв 2018
Сообщения
394
Симпатии
70
Пол
Мужской
, много говорить и ничего не делать. Не лучше.
 

Bitter

Пользователь
Регистрация
6 Апр 2018
Сообщения
43
Симпатии
1
3Be3Da, переделал код
C++:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif  

#define PLUGIN "give_hp_player"
#define VERSION "1.0"
#define AUTHOR "3Be3Da"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
   
    register_clcmd("amx_money", "get_money", ADMIN_RCON)
}

new g_Money

public get_money(id)
{
    new menu = menu_create("\yМеню выдачи денег:", "give_money")
    menu_additem(menu, "Выдать \r1000$", "1")
    menu_additem(menu, "Выдать \r3000$", "2")
    menu_additem(menu, "Выдать \r5000$", "3")
    menu_additem(menu, "Выдать \r10000$", "4")
    menu_additem(menu, "Выдать \r16000$", "5")
    menu_additem(menu, "Выдать \r25000$", "6")
   
    menu_setprop(menu, MPROP_EXIT, "Закрыть")
    menu_display(id, menu, 0)
}

public give_money(id, menu, iItem)
{
    if(!is_user_connected(id))
    return;
   
    if(iItem == MENU_EXIT)
    return;
   
    switch(iItem)
    {
        case 0: g_Money = 1000
        case 1: g_Money = 3000
        case 2: g_Money = 5000
        case 3: g_Money = 10000
        case 4: g_Money = 16000
        case 5: g_Money = 25000
    }
   
    My_Menu(id)
}

public My_Menu(id)
{
    // Сперва необходимо создать переменную для меню, с которой мы будем взаимодействовать в дальнейшем
    new i_Menu = menu_create("\yМеню выбора игрока:\w", "menu_handler")

    // Необходимые переменные, которые понадобятся нам при выводе меню из игроков
    new s_Players[32], i_Num, i_Player

    // Переменные для хранения информации об игроках
    new s_Name[32], s_Player[10]

    // Получаем массив игроков
    get_players(s_Players, i_Num)

    // Цикл по всем игрокам
    for (new i; i < i_Num; i++)
    {
        // Сохраняем текущего игрока в i_Player
        i_Player = s_Players[i]
        // Получаем имя и ID игрока

        get_user_name(i_Player, s_Name, charsmax(s_Name))
        num_to_str(i_Player, s_Player, charsmax(s_Player))

        // Добавляем опцию по данному игроку
        menu_additem(i_Menu, s_Name, s_Player, 0)

    }

    // Мы сформировали меню из игроков, присутствующих на сервере, теперь выводим его
    menu_display(id, i_Menu, 0)
}

public menu_handler(id, menu, item)
{
    if (item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }

    new s_Data[6], s_Name[64], i_Access, i_Callback
    menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

    // Получаем ID игрока, который был выбран в меню
    new i_Player = str_to_num(s_Data)
    new nameID[32], namei_Player[32]
    get_user_name(id, nameID, 31)
    get_user_name(i_Player, namei_Player, 31)

    cs_set_user_money(i_Player, cs_get_user_money(i_Player) + g_Money)
    client_print_color(0, print_chat, "[^4Money^1] Игрок^4 %s ^1выдал^3 %d$ ^1игроку^4 %s", nameID, g_Money, namei_Player)

    menu_destroy(menu)
    return PLUGIN_HANDLED
}
А зачем было делать amx1.8.3 многие все еще на 1.8.2
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
А зачем было делать amx1.8.3 многие все еще на 1.8.2
И где тут только 1.8.3 только? Есьб же подключение колорчата если версия ниже. Да и по сути зачем сидеть на старом не поддерживаемом дерьме? Даже сам разработчик АМХХ написал то, что незачем его использовать
 
  • Мне нравится
Симпатии: ifx

Bitter

Пользователь
Регистрация
6 Апр 2018
Сообщения
43
Симпатии
1
И где тут только 1.8.3 только? Есьб же подключение колорчата если версия ниже. Да и по сути зачем сидеть на старом не поддерживаемом дерьме? Даже сам разработчик АМХХ написал то, что незачем его использовать
Потому что приват плагины не поддерживает 1.8.3 версию. Вот почему!
 

ifx

Пользователь
Регистрация
11 Фев 2018
Сообщения
361
Симпатии
148
Bitter, поставьте 183-dev build, большая часть таких плагинов должна запуститься без проблем, если конечно там не совсем кривой код
по моему опыту только 2 из 20+ плагинов НЕ запустились именно на дев-билде 183
 

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.578
Симпатии
914
Пол
Женский

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
Потому что приват плагины не поддерживает 1.8.3 версию. Вот почему!
Так заказывайте далее пределку под 1.8.2 если вам нужно больше приватов. А скриптеры пусть не паряться о совместимости и спокойно себе пилят под 1.8,3-1.9.0 где есть некоторые фичи которые сильно упрощают жизнь
 

Bitter

Пользователь
Регистрация
6 Апр 2018
Сообщения
43
Симпатии
1
Какие нахер приват плагины? lol
CSSB[DOUBLEPOST=1536763907][/DOUBLEPOST]
Так заказывайте далее пределку под 1.8.2 если вам нужно больше приватов. А скриптеры пусть не паряться о совместимости и спокойно себе пилят под 1.8,3-1.9.0 где есть некоторые фичи которые сильно упрощают жизнь
Да я уже сам переписал под 1.8.2 -_-
 
Сверху Снизу