Поиск Запрет покупки оружия

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
119
Реакции
53
Помог
4 раз(а)
Прошу помощи.
1) Подскажите пожалуйста способ , как запретить закупать определённый итем(оружие,гранату и т.п) на определённой карте.
2) Или просто убрать зону закупки.(первый вариант более весомый)
Простите что сюда записал. Т.к в разделе помощи не нашёл подходящего раздела.
 
Сообщения
2,722
Реакции
2,997
Помог
60 раз(а)
sleedney, У меня сейчас нет времени на релизы ресурсов, но есть плагин от Vaqtincha
Позже этот плагин появится в разделе ресурсы, оформлю я, если меня не опередят :pleasantry:
4 Мар 2017
sleedney, на заметку, плагины у нас ищут ЗДЕСЬ: Поиск
 

Вложения

hajimura

Е777КХ05
Сообщения
287
Реакции
223
Помог
6 раз(а)
sleedney, в 6 строке вписываешь названия карт, а в 19 - названия оружия или айтема. Код:
C++:
#include <amxmodx>
#include <reapi>

public plugin_init()
{
new szMapName[][] = {"de_dust2", "de_inferno"}, szCurrentMapName[32];
rh_get_mapname(szCurrentMapName, charsmax(szCurrentMapname));
for(new i; i < sizeof szMapName; i++)
{
if(equal(szMapName, szCurrentMapName))
{
RegisterHookChain(RG_CBasePlayer_HasRestrictItem, "fwdHasRestrictItemPre", false);
}
}
}

public fwdHasRestrictItemPre(const id, const ItemID:item, ItemRestType:type)
{
if(item == ITEM_SHIELDGUN)
{
if(type == ITEM_TYPE_BUYING) client_print(id, print_center, "This item is restricted!");
SetHookChainReturn(ATYPE_INTEGER, 1);
return HC_SUPERCEDE;
}
return HC_CONTINUE;
}
 
Последнее редактирование:
Сообщения
2,722
Реакции
2,997
Помог
60 раз(а)
Phantom, что не так с решением в моём посте?
 

hajimura

Е777КХ05
Сообщения
287
Реакции
223
Помог
6 раз(а)
wopox1337, не обновил страницу в браузере
 
Сообщения
119
Реакции
53
Помог
4 раз(а)
Лучше уж 2 решения чем не одного )
4 Мар 2017
Phantom, К примеру если мне нужно больше 1 го итема то через запятую их записывать? просто я не знаю логики reapi.

на карту не обр. внимания

Код:
#include <amxmodx>
#include <reapi>

public plugin_init()
{
new szMapName[][] = {"$2000$", "awp_india"}, szCurrentMapName[32];
rh_get_mapname(szCurrentMapName, charsmax(szCurrentMapname));
for(new i; i < sizeof szMapName; i++)
{
if(equal(szMapName, szCurrentMapName))
{
RegisterHookChain(RG_CBasePlayer_HasRestrictItem, "fwdHasRestrictItemPre", false);
}
}
}

public fwdHasRestrictItemPre(const id, const ItemID:item, ItemRestType:type)
{
if(item == ITEM_HEGRENADE ,ITEM_FLASHBANG)
{
if(type == ITEM_TYPE_BUYING) client_print(id, print_center, "This weapon is restricted!");
SetHookChainReturn(ATYPE_INTEGER, 1);
return HC_SUPERCEDE;
}
return HC_CONTINUE;
}
 

hajimura

Е777КХ05
Сообщения
287
Реакции
223
Помог
6 раз(а)
sleedney,
C++:
if(item == ITEM_SHIELDGUN || item == CSW_HEGRENADE)
 
Сообщения
526
Реакции
462
Предупреждения
16
Помог
9 раз(а)

hajimura

Е777КХ05
Сообщения
287
Реакции
223
Помог
6 раз(а)
Vaqtincha, не задавался этим вопросом. Мне непринципиально использовать этот натив, можно и get_mapname
 
Сообщения
119
Реакции
53
Помог
4 раз(а)
Vaqtincha, использую плагин с первого ответа на сервере вполне справляется со своими функциями. Блокирует всё что мне нужно на определённой карте.

Вариант Phantom решил затестить ибо код в 4 ре раза меньше предыдущего стало интересно ,решил опробовать ,много ошибок при компиляции.
Не стал теребить человека. И поберёг своё время.
 
Сообщения
1,017
Реакции
819
Помог
10 раз(а)
Vaqtincha, rh_get_mapname спасает в случае если необходимо вернуть истинное название карты, когда используешь mode_2x2 к примеру.
de_dust2_2x2, de_dust2 при get_mapname мне придется вписать две карты, хотя может можно обойтись приставками :dntknw: да и на локалке вроде работало
 
Сообщения
1,017
Реакции
819
Помог
10 раз(а)
Вариант Phantom решил затестить ибо код в 4 ре раза меньше предыдущего стало интересно ,решил опробовать ,много ошибок при компиляции.
Не стал теребить человека. И поберёг своё время.
все компилирует :pardon:
 

Вложения

  • 711 байт Просмотры: 50
Сообщения
119
Реакции
53
Помог
4 раз(а)
wopox1337, да знаю я знаю )
5 Мар 2017
Javekson, завтра с компа перепроверю свои ошибки.
5 Мар 2017
Javekson, ну естественно при подключении прагмы всё заработало =)

Phantom, item == CSW_HEGRENADE заменил на item == ITEM_HEGRENADE т.к выдавало предупреждение. Спасибо , сёдня затестю твой способ.

Код:
#include <amxmodx>
#include <reapi>

#pragma semicolon 1

public plugin_init() {
new szMapName[][] = {"$2000$", "awp_india"}, szCurrentMapName[32];
rh_get_mapname(szCurrentMapName, charsmax(szCurrentMapName));
for(new i; i < sizeof szMapName; i++) {
if(equal(szMapName, szCurrentMapName)) {
RegisterHookChain(RG_CBasePlayer_HasRestrictItem, "fwdHasRestrictItemPre", false);
}
}
}

public fwdHasRestrictItemPre(const id, const ItemID:item, ItemRestType:type) {
if(item == ITEM_FLASHBANG || item == ITEM_HEGRENADE) {
if(type == ITEM_TYPE_BUYING)
client_print(id, print_center, "This weapon is restricted!");
SetHookChainReturn(ATYPE_INTEGER, 1);
return HC_SUPERCEDE;
}
return HC_CONTINUE;
}

5 Мар 2017
Phantom, Работает.
 

hajimura

Е777КХ05
Сообщения
287
Реакции
223
Помог
6 раз(а)
sleedney, ну ошибся, извиняйте. Я этот код с телефона писал
 
Сообщения
80
Реакции
54
Помог
1 раз(а)
Вот вы предлагаете плагины на reapi, но чем плох стандартный restmenu? Он же использует только amxmodx.
 
Сообщения
2,722
Реакции
2,997
Помог
60 раз(а)
Leshiy, я предложил вариант с расширенным функционалом. Есть возможности блокировки покупки, поднятия, и получения
 
Сообщения
119
Реакции
53
Помог
4 раз(а)
wopox1337, удали пожалуйста мой выброс с видео. Не пойму как он тут оказался.Совсем не по теме.
6 Мар 2017
Leshiy, restmenu разве не блокирует закуп на всех картах? Мне ведь надо было на определённой карте заблочить закуп.
6 Мар 2017
Phantom, вопрос код учитывает дебаг режим?
 
Сообщения
80
Реакции
54
Помог
1 раз(а)
sleedney, можно ведь заставить плагин работать только на определенных картах. Ты вроде бы об этом недавно узнал в другой теме.
 
Сообщения
316
Реакции
131
Помог
4 раз(а)
sleedney,
В /addons/amxmodx/configs создаешь папку maps
В ней создаешь файл с названием твоей карты в расширении .cfg и запрещаешь оружие

Например, создаешь de_dust2_2x2.cfg и вписываешь
amx_restrict on awp
amx_restrict on g3sg1
amx_restrict on sg550
Запрет на авп и 2 скорaстрелки, вот названия оружий, столбик BUYNAME
CS Weapons Information - AlliedModders Wiki

p.s. вроде все правильно :)
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу