Место свободно
Здесь вы сможете купить рекламу на данном форуме
Стоимость за 1 день 12 ₽

Bonus: Ultimate Revolver

Аватара пользователя
Kurtis
Сообщения: 0
Зарегистрирован: 05 янв 2025, 13:41
Контактная информация:

Re: Bonus: Ultimate Revolver

Kurtis »
Сегодня, 11:36
Tails, Host-v, нашёл, добавил.
Сергей Панов, да, могу.
Аватара пользователя
Сергей Панов
Сообщения: 0
Зарегистрирован: 03 авг 2023, 15:04
Контактная информация:

Re: Bonus: Ultimate Revolver

Сегодня, 12:38
Kurtis писал(а):Сегодня, 11:36да, могу.
Бесплатно или за $? Ждем ;)
Последний раз редактировалось Сергей Панов 09 авг 2026, 12:41, всего редактировалось 1 раз.
Аватара пользователя
Kurtis
Сообщения: 0
Зарегистрирован: 05 янв 2025, 13:41
Контактная информация:

Re: Bonus: Ultimate Revolver

Kurtis »
Сегодня, 14:13
Сергей Панов, просто приобретите плагин, используйте только плагин револьвера, а бонусы за фраги не надо (в архиве 2 плагина).
А чтобы сконнектить бонусменю с револьвером, то используйте этот плагин (можно отдельно, можно впихнуть в сам плагин револьвера если надо):

Код: Выделить всё

#include <amxmodx>

new const g_szVerionPlugin[] = "0.1";

// Стоимость револьвера в бонус меню
const UR_COST = 5

// натив револьвера
native give_user_revolver(pPlayer);

// натив бонусов
native bonusmenu_add_user_points(id, points);

// без работающих плагинов револьвера/бонусменю плагин будет выдавать ошибку из-за нативов выше

public plugin_init() {
	register_plugin("Bonus item: Ultimate Revolver", g_szVerionPlugin, "Kurtis");

	register_srvcmd("amx_give_ultimate_revolver", "_srvcmd_give_ultimate_revolver");
}

public _srvcmd_give_ultimate_revolver() {
	new szUserId[8];
	read_argv(1, szUserId, charsmax(szUserId));

	new pPlayer = get_user_userid(str_to_num(szUserId));

	if(give_user_revolver(pPlayer)) {
		bonusmenu_add_user_points(pPlayer, -UR_COST);

		new szWordBonus[16];
		correct_word_bonus(UR_COST, szWordBonus, charsmax(szWordBonus));
		client_print_color(pPlayer, print_team_default, "Вы взяли ^4Ультимативный револьвер ^1за^3 %s %s", UR_COST, szWordBonus);
	}
}

// thx the_hunter
enum _:
{
	Plural,
	Singular,
	Nominative
};

stock correct_word_bonus(iNum, sWords[], iWordsLen)
{
	switch(get_numerical_noun_form(iNum))
	{
		case Plural: format(sWords, iWordsLen, "бонусов");
		case Singular: format(sWords, iWordsLen, "бонуса");
		case Nominative: format(sWords, iWordsLen, "бонус");
	}
}

stock get_numerical_noun_form(iNum)
{
	if(iNum > 10 && ((iNum % 100) / 10) == 1)
		return Plural;                   

	switch (iNum % 10)
	{
		case 1: return Nominative;       
		case 2, 3, 4: return Singular;   
	}

	return Plural;                       
}
В bonusmenu_rbs.ini:

Код: Выделить всё

"srvcmd"   "3"   "!amx_give_ultimate_revolver #%userid%"   ""   "0"   "0"   "ультимативный револьвер"
Не трогайте "srvcmd" и "!amx_give_ultimate_revolver #%userid%", остальное можно менять.
Обращайте внимание на восклицательный знак, он должен оставаться, чтобы мы сами контролировали списание поинтов в случае ошибки.
Также не забывайте подгонять стоимость бонусов в конфиге и в исходнике плагина.

Если какие-то проблемы будут, то стучитесь в личку, потому что я не знаю как точно работает бонусменю, сделал по описанию конфига.

Кто сейчас на конференции

Зарегистрированные пользователи: Baidu [Spider], Semrush [Bot]

Место свободно
Здесь вы сможете купить рекламу на данном форуме
Стоимость за 1 день 10 ₽