Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Бинд своего магазина.

, Магазин
Статус пользователя kolobok1
сообщение 5.8.2015, 0:25
Сообщение #1


Стаж: 11 лет

Сообщений: 464
Благодарностей: 23
Полезность: 71

Всем доброй ночи.Задался таким вопросом.Можно ли как-то забиндить свой магазин на кнопку B?Может можно как-то обмануть клиента?Так чтобы меня раскрутки потом не нагнули derisive.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Fullserver
сообщение 5.8.2015, 0:45
Сообщение #2


Иконка группы

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

К сожалению никак.

Думал предложить
register_clcmd("buy","имя_функции")

Но работать не будет, как пишут на оленях.
Существуют способы обхода открытия стандартного меню, но придется отключать VGUI, за что многие раскрутки банят.

Отредактировал: Fullserver, - 5.8.2015, 0:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kolobok1
сообщение 5.8.2015, 0:51
Сообщение #3


Стаж: 11 лет

Сообщений: 464
Благодарностей: 23
Полезность: 71

Fullserver, Во-во через VGUI не хочу)Да и у меня стандартное меню не работает,заблочил плагином)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fullserver
сообщение 5.8.2015, 0:52
Сообщение #4


Иконка группы

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

kolobok1, если заблочено, попробуйте как я написал.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kolobok1
сообщение 5.8.2015, 0:56
Сообщение #5


Стаж: 11 лет

Сообщений: 464
Благодарностей: 23
Полезность: 71

Fullserver, Хорошо,завтра попробую)
У меня магазин офнут этим плагином,если не трудно посмотрите,меня ваша раскрутка и другие не забанят?Я там сверхъестественного не чего не вижу,но я еще зелёный могу ошибаться)
Cкрытый текст

Код:

#include <amxmodx>
#include <fakemeta>

// plugin's main information
#define PLUGIN_NAME "Buyzone Range"
#define PLUGIN_VERSION "0.1"
#define PLUGIN_AUTHOR "VEN"

// OPTIONS BELOW

// CVAR name and its default value
#define CVAR_NAME "bz_range"
#define CVAR_DEF "0"

// uncomment to disable automatic 32/64bit processor detection
// possible values is <0: 32bit | 1: 64bit>
//#define PROCESSOR_TYPE 0

// OPTIONS ABOVE

// mapzone player's private data offset
#define OFFSET_32BIT 235
#define OFFSET_64BIT 268

// offset's linux difference
#define OFFSET_LINUX_DIFF 5

// buyzone bit
#define BIT_BUYZONE (1<<0)

// determination of actual offsets
#if !defined PROCESSOR_TYPE // is automatic 32/64bit processor detection?
#if cellbits == 32 // is the size of a cell 32 bits?
// then considering processor as 32 bit
#define OFFSET OFFSET_32BIT
#else // in other case considering the size of a cell as 64 bits
// and then considering processor as 64 bit
#define OFFSET OFFSET_64BIT
#endif
#else // processor type is specified by PROCESSOR_TYPE define
#if PROCESSOR_TYPE == 0 // 32bit processor defined
#define OFFSET OFFSET_32BIT
#else // considering that defined 64bit processor
#define OFFSET OFFSET_64BIT
#endif
#endif

// get/set mapzone bits
#define CS_GET_USER_MAPZONES(%1) get_pdata_int(%1, OFFSET, OFFSET_LINUX_DIFF)
#define CS_SET_USER_MAPZONES(%1,%2) set_pdata_int(%1, OFFSET, %2, OFFSET_LINUX_DIFF)

// fake buyzone absmin and absmax
new Float:g_buyzone_min[3] = {-8192.0, -8192.0, -8192.0}
new Float:g_buyzone_max[3] = {-8191.0, -8191.0, -8191.0}

new g_buyzone
new g_pcvar

new bool:g_enabled
new g_bit

new bool:g_new_round
new g_maxplayers

#define MAX_PLAYERS 32
new bool:g_alive[MAX_PLAYERS + 1]

new g_msgid_icon
new g_icon_name[] = "buyzone"

#define ICON_R 0
#define ICON_G 160
#define ICON_B 0

public plugin_init() {
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)

g_pcvar = register_cvar(CVAR_NAME, CVAR_DEF)

register_clcmd("buy", "menu_block")
register_clcmd("buyequip", "menu_block")
register_clcmd("fullupdate", "clcmd_fullupdate")

register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
register_event("ResetHUD", "event_player_alive", "be")
register_event("Health", "event_player_dead", "bd", "1=0")

register_forward(FM_PlayerPostThink, "forward_player_postthink")

g_msgid_icon = get_user_msgid("StatusIcon")
register_message(g_msgid_icon, "message_status_icon")

g_maxplayers = get_maxplayers()

g_buyzone = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "func_buyzone"))
dllfunc(DLLFunc_Spawn, g_buyzone)
engfunc(EngFunc_SetSize, g_buyzone, g_buyzone_min, g_buyzone_max)

update_state_vars()
}

public forward_player_postthink(id) {
if (g_alive[id] && g_enabled) {
switch (g_bit) {
case BIT_BUYZONE: dllfunc(DLLFunc_Touch, g_buyzone, id)
default: CS_SET_USER_MAPZONES(id, CS_GET_USER_MAPZONES(id) & ~BIT_BUYZONE)
}
}
}

public event_new_round() {
g_new_round = true
set_task(0.1, "task_unset_var")
update_state_vars()
}

public task_unset_var() {
g_new_round = false
}

public event_player_alive(id) {
g_alive[id] = true

if (g_new_round) {
if (g_enabled)
draw_buyzone_icon(id, g_bit)
}
else {
update_state_vars()
if (g_enabled) {
for (new i = 1; i <= g_maxplayers; ++i) {
if (g_alive[i])
draw_buyzone_icon(i, g_bit)
}
}
}
}

public event_player_dead(id) {
g_alive[id] = false
}

public client_disconnect(id) {
g_alive[id] = false
}

public message_status_icon(msg_id, msg_dest, id) {
if (!g_alive[id] || !g_enabled)
return PLUGIN_CONTINUE

new icon[8]
get_msg_arg_string(2, icon, 7)
if (equal(icon, g_icon_name))
return PLUGIN_HANDLED

return PLUGIN_CONTINUE
}

public menu_block(id) {
if (g_alive[id] && g_enabled && !g_bit)
return PLUGIN_HANDLED

return PLUGIN_CONTINUE
}

public clcmd_fullupdate() {
return PLUGIN_HANDLED
}

update_state_vars() {
new cvar_value = get_pcvar_num(g_pcvar)
g_enabled = true
switch (cvar_value) {
case 0: g_bit = 0
case 1: g_enabled = false
default: g_bit = BIT_BUYZONE
}
}

draw_buyzone_icon(id, draw) {
message_begin(MSG_ONE, g_msgid_icon, _, id)
write_byte(draw)
write_string(g_icon_name)
if (draw) {
write_byte(ICON_R)
write_byte(ICON_G)
write_byte(ICON_B)
}
message_end()
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fullserver
сообщение 5.8.2015, 1:02
Сообщение #6


Иконка группы

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

Нет, в плагине нет ничего портящего клиент.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя kolobok1
сообщение 5.8.2015, 15:49
Сообщение #7


Стаж: 11 лет

Сообщений: 464
Благодарностей: 23
Полезность: 71

Fullserver, Не,не работает,я видел сервера,особенно на зм видел раньше.Там как-то биндят.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя damilurg
сообщение 5.8.2015, 15:54
Сообщение #8


Иконка группы

Стаж: 13 лет

Сообщений: 1191
Благодарностей: 1297
Полезность: 1230

https://forums.alliedmods.net/showthread.php?t=87776
изучай как там это используется.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kolobok1
сообщение 5.8.2015, 16:33
Сообщение #9


Стаж: 11 лет

Сообщений: 464
Благодарностей: 23
Полезность: 71

damilurg, Ты походу не правильно меня понял.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 5.8.2015, 17:07
Сообщение #10
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

на F делай через register_impulse


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 5.8.2015, 18:11
Сообщение #11


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

kolobok1, посмотри в FT Mod как s1lent сделал. Если old меню то подменяет, если VGUI пишет что бы отключили что бы работало без мелькания.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kolobok1
сообщение 5.8.2015, 18:16
Сообщение #12


Стаж: 11 лет

Сообщений: 464
Благодарностей: 23
Полезность: 71

Bloo, Можно источник мода?VGUI - это уже как бы порча клиента,раскрутки банят,а я хочу избежать этого.

csnet, Не вариант.Фонарик оффать не хочу:D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 5.8.2015, 18:19
Сообщение #13


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

kolobok1, порча клиента чем? Сообщением в DHUD что из за того что у него стоит vgui, меню магазина у него будет открываться с багом?
FrozenTag Mod v 2.95 Beta
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Supernatura1
сообщение 5.8.2015, 19:45
Сообщение #14
Стаж: 11 лет

Сообщений: 107
Благодарностей: 2
Полезность: 23

Не знаю, банят ли за такое, но тут не чего такого нет ;)
Я надумал так, чтобы когда игрок зашел на сервер, через его консоль посылалась команда которое изменяет настройку, а именно настройку меню с VGUI на Old Style, примерно это выглядит так!

Код:

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("buy", "MyShop"); // За место стандартного магазина, вызываем свое!
register_concmd("buy", "MyShop"); // За место стандартного магазина, вызываем свое!
}

public client_putinserver(id) { // Игрок зашел на сервер...
set_task(1.0,"OldMenu",id); // Выполняем OldMenu
}

public OldMenu(id) {
if(is_user_connected(id)) // Если игрок подключился, то...
{
client_cmd(id, "setinfo _vgui_menus 0"); // Прописываем команду через его консоль!
}
}


Отредактировал: Supernatura1, - 5.8.2015, 20:36
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Supernatura1
сообщение 5.8.2015, 20:37
Сообщение #15
Стаж: 11 лет

Сообщений: 107
Благодарностей: 2
Полезность: 23

Если и за это банят, то можно попробовать так!
Проверить значение setinfo _vgui_menus у клиента, если оно ровно 1, то вызвать меню где предлагается изменить его на 0!
Но я не знаю есть ли такая проверка вообще, чтобы проверяло определенyое значение в config.cfg

Отредактировал: Supernatura1, - 5.8.2015, 20:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 5.8.2015, 20:55
Сообщение #16


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Supernatura1, Бинд своего магазина. (Пост #829512)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kolobok1
сообщение 5.8.2015, 21:16
Сообщение #17


Стаж: 11 лет

Сообщений: 464
Благодарностей: 23
Полезность: 71

Supernatura1, Не знаю что на счет твоего способа банят или нет)Но я сделал,вот так,подсказали:
Код:

register_clcmd("buyammo1", "show_shop_menu");
register_clcmd("buyammo2", "show_shop_menu");
Не на букву B,но тоже не плохо)

Отредактировал: kolobok1, - 5.8.2015, 21:16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: