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

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

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

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

jb block ct team проблема

Статус пользователя CH0CAPIC
сообщение 6.5.2014, 20:02
Сообщение #1


Стаж: 12 лет

Сообщений: 388
Благодарностей: 19
Полезность: < 0

Всем Привет, вот плагин jb block ct team , когда блокирую игрок переходит в tt но если заново перейдет в ст он не блокируется. помогите plis



Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "BlockCT"
#define VERSION "1.0"
#define AUTHOR "xxxx"

new g_LoadName[81], g_Name[64]
new szLine, szNum
new Block[33]

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

register_clcmd("say /block", "BlockMenu")
register_clcmd("jointeam 2", "BlockJoin")

register_dictionary( "jb_blockct.txt" );
}

public client_connect(id)
{
set_task(1.0, "CheckName", id)
}


public plugin_cfg()
{
get_configsdir(g_LoadName, 81)
format(g_LoadName, 80, "%s/jb_block.ini", g_LoadName)
}

public CheckName(id)
{
new szName[32]

for(szLine=0;read_file(g_LoadName, szLine, g_Name, 41, szNum);szLine++)
{
if(szNum>0 && g_Name[0]!=';')
{
get_user_name(id, szName, 31)
new szPos = contain(szName, g_Name)

if(szPos != -1)
{
Block[id] = true
}
}
}
}

public BlockMenu(id)
{
new szText[ 555 char ]

formatex( szText, charsmax( szText ), "%L", id, "JB_BLOCKMENU_TITLE")
new menu = menu_create( szText, "BlockMenu_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 = s_Players[i]

if(get_user_team(i_Player)!=2 && !Block[i_Player])
continue

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

if(!Block[i_Player])
{
menu_additem(menu, s_Name, s_Player, 0)
}else{
formatex( szText, charsmax( szText ), "%s - %L", s_Name, id, "JB_BLOCK_PLAYER")
menu_additem(menu, szText, s_Player, 0)
}
}

menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_setprop( menu, MPROP_NEXTNAME, "Далее")
menu_setprop( menu, MPROP_BACKNAME, "Назад")
menu_setprop( menu, MPROP_EXITNAME, "Выход")

if(get_user_flags(id) & ADMIN_BAN)
{
menu_display(id, menu, 0)
}else{
ChatColor(id, "%L",0,"JB_BLOCK_NOACCESS")
}
}

public BlockMenu_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, i_Name[32], i_Text[555 char]
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new i_Player = str_to_num(s_Data)
get_user_name(i_Player, i_Name, 31)

if(Block[i_Player])
{
for(szLine=0;read_file(g_LoadName, szLine, g_Name, 41, szNum);szLine++)
{
if(szNum>0 && g_Name[0]!=';')
{
new szPos = contain(i_Name, g_Name)

if(szPos != -1)
{
Block[i_Player] = false

formatex( i_Text, charsmax( i_Text ), ";%s", i_Name)
write_file(g_LoadName, i_Text, szLine)
ChatColor(0, "%L",0,"JB_BLOCK_DEL", i_Name)
}
}
}
}else{
Block[i_Player] = true

write_file(g_LoadName, i_Name, -1)
ChatColor(0, "%L",0,"JB_BLOCK_ADD", i_Name)

user_kill(i_Player)
cs_set_user_team(i_Player, CS_TEAM_T)
engclient_cmd(i_Player, "jointeam", "1")
engclient_cmd(i_Player, "joinclass", "1")
}

menu_destroy(menu)
return PLUGIN_HANDLED
}

public BlockJoin(id)
{
if(Block[id])
{
user_kill(id)
cs_set_user_team(id, CS_TEAM_T)
engclient_cmd(id, "jointeam", "1")
engclient_cmd(id, "joinclass", "1")
ChatColor(id, "%L",0,"JB_YOU_BLOCKCT")
}
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!team", "^3")

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


Отредактировал: CH0CAPIC, - 13.5.2014, 10:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя CH0CAPIC
сообщение 6.5.2014, 20:22
Сообщение #2


Стаж: 12 лет

Сообщений: 388
Благодарностей: 19
Полезность: < 0

или вообще есть ли у кавота исходник JailBreak Block Team v 1.0 Автор: DeViL_MiKKi ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Luciferr
сообщение 6.5.2014, 21:11
Сообщение #3


Стаж: 12 лет

Сообщений: 439
Благодарностей: 199
Полезность: 703

Цитата(CH0CAPIC @ 6.5.2014, 21:02) *
Всем Привет, вот плагин jb block ctteam , когда блокирую игрок переходит в tt но если заново перейдет в ст он не блокируется. помогите plis

Что прости...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя CH0CAPIC
сообщение 6.5.2014, 22:23
Сообщение #4


Стаж: 12 лет

Сообщений: 388
Благодарностей: 19
Полезность: < 0

с плагином JailBreak Block Team админ может запретить игроку заход за ct. say /block . то есть игрок не сможет зайти в этом в мапе в ст, даже если он сделает reconnect. только админ может его разблокировать say /unblock.

в паблике есть рабочий плагин но он без исходника, силка :
Скрытый текст


я нашел этот плагин :

Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "BlockCT"
#define VERSION "1.0"
#define AUTHOR "xxxx"

new g_LoadName[81], g_Name[64]
new szLine, szNum
new Block[33]

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

register_clcmd("say /block", "BlockMenu")
register_clcmd("jointeam 2", "BlockJoin")

register_dictionary( "jb_blockct.txt" );
}

public client_connect(id)
{
set_task(1.0, "CheckName", id)
}


public plugin_cfg()
{
get_configsdir(g_LoadName, 81)
format(g_LoadName, 80, "%s/jb_block.ini", g_LoadName)
}

public CheckName(id)
{
new szName[32]

for(szLine=0;read_file(g_LoadName, szLine, g_Name, 41, szNum);szLine++)
{
if(szNum>0 && g_Name[0]!=';')
{
get_user_name(id, szName, 31)
new szPos = contain(szName, g_Name)

if(szPos != -1)
{
Block[id] = true
}
}
}
}

public BlockMenu(id)
{
new szText[ 555 char ]

formatex( szText, charsmax( szText ), "%L", id, "JB_BLOCKMENU_TITLE")
new menu = menu_create( szText, "BlockMenu_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 = s_Players[i]

if(get_user_team(i_Player)!=2 && !Block[i_Player])
continue

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

if(!Block[i_Player])
{
menu_additem(menu, s_Name, s_Player, 0)
}else{
formatex( szText, charsmax( szText ), "%s - %L", s_Name, id, "JB_BLOCK_PLAYER")
menu_additem(menu, szText, s_Player, 0)
}
}

menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_setprop( menu, MPROP_NEXTNAME, "Далее")
menu_setprop( menu, MPROP_BACKNAME, "Назад")
menu_setprop( menu, MPROP_EXITNAME, "Выход")

if(get_user_flags(id) & ADMIN_BAN)
{
menu_display(id, menu, 0)
}else{
ChatColor(id, "%L",0,"JB_BLOCK_NOACCESS")
}
}

public BlockMenu_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, i_Name[32], i_Text[555 char]
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new i_Player = str_to_num(s_Data)
get_user_name(i_Player, i_Name, 31)

if(Block[i_Player])
{
for(szLine=0;read_file(g_LoadName, szLine, g_Name, 41, szNum);szLine++)
{
if(szNum>0 && g_Name[0]!=';')
{
new szPos = contain(i_Name, g_Name)

if(szPos != -1)
{
Block[i_Player] = false

formatex( i_Text, charsmax( i_Text ), ";%s", i_Name)
write_file(g_LoadName, i_Text, szLine)
ChatColor(0, "%L",0,"JB_BLOCK_DEL", i_Name)
}
}
}
}else{
Block[i_Player] = true

write_file(g_LoadName, i_Name, -1)
ChatColor(0, "%L",0,"JB_BLOCK_ADD", i_Name)

user_kill(i_Player)
cs_set_user_team(i_Player, CS_TEAM_T)
engclient_cmd(i_Player, "jointeam", "1")
engclient_cmd(i_Player, "joinclass", "1")
}

menu_destroy(menu)
return PLUGIN_HANDLED
}

public BlockJoin(id)
{
if(Block[id])
{
user_kill(id)
cs_set_user_team(id, CS_TEAM_T)
engclient_cmd(id, "jointeam", "1")
engclient_cmd(id, "joinclass", "1")
ChatColor(id, "%L",0,"JB_YOU_BLOCKCT")
}
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!team", "^3")

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


но он чуть чуть другой, он проста перебрасывает игрока в tt. ну если кто то его переделает и добавить save block & /unblock будет просто класс.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Affl
сообщение 6.5.2014, 23:19
Сообщение #5


Стаж: 15 лет

Сообщений: 1573
Благодарностей: 1182
Полезность: 1042

Цитата(CH0CAPIC @ 6.5.2014, 22:23) *
с плагином JailBreak Block Team админ может запретить игроку заход за ct. say /block . то есть игрок не сможет зайти в этом в мапе в ст, даже если он сделает reconnect. только админ может его разблокировать say /unblock.

в паблике есть рабочий плагин но он без исходника, силка :
Скрытый текст


я нашел этот плагин :

Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "BlockCT"
#define VERSION "1.0"
#define AUTHOR "xxxx"

new g_LoadName[81], g_Name[64]
new szLine, szNum
new Block[33]

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

register_clcmd("say /block", "BlockMenu")
register_clcmd("jointeam 2", "BlockJoin")

register_dictionary( "jb_blockct.txt" );
}

public client_connect(id)
{
set_task(1.0, "CheckName", id)
}


public plugin_cfg()
{
get_configsdir(g_LoadName, 81)
format(g_LoadName, 80, "%s/jb_block.ini", g_LoadName)
}

public CheckName(id)
{
new szName[32]

for(szLine=0;read_file(g_LoadName, szLine, g_Name, 41, szNum);szLine++)
{
if(szNum>0 && g_Name[0]!=';')
{
get_user_name(id, szName, 31)
new szPos = contain(szName, g_Name)

if(szPos != -1)
{
Block[id] = true
}
}
}
}

public BlockMenu(id)
{
new szText[ 555 char ]

formatex( szText, charsmax( szText ), "%L", id, "JB_BLOCKMENU_TITLE")
new menu = menu_create( szText, "BlockMenu_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 = s_Players[i]

if(get_user_team(i_Player)!=2 && !Block[i_Player])
continue

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

if(!Block[i_Player])
{
menu_additem(menu, s_Name, s_Player, 0)
}else{
formatex( szText, charsmax( szText ), "%s - %L", s_Name, id, "JB_BLOCK_PLAYER")
menu_additem(menu, szText, s_Player, 0)
}
}

menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_setprop( menu, MPROP_NEXTNAME, "Далее")
menu_setprop( menu, MPROP_BACKNAME, "Назад")
menu_setprop( menu, MPROP_EXITNAME, "Выход")

if(get_user_flags(id) & ADMIN_BAN)
{
menu_display(id, menu, 0)
}else{
ChatColor(id, "%L",0,"JB_BLOCK_NOACCESS")
}
}

public BlockMenu_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, i_Name[32], i_Text[555 char]
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new i_Player = str_to_num(s_Data)
get_user_name(i_Player, i_Name, 31)

if(Block[i_Player])
{
for(szLine=0;read_file(g_LoadName, szLine, g_Name, 41, szNum);szLine++)
{
if(szNum>0 && g_Name[0]!=';')
{
new szPos = contain(i_Name, g_Name)

if(szPos != -1)
{
Block[i_Player] = false

formatex( i_Text, charsmax( i_Text ), ";%s", i_Name)
write_file(g_LoadName, i_Text, szLine)
ChatColor(0, "%L",0,"JB_BLOCK_DEL", i_Name)
}
}
}
}else{
Block[i_Player] = true

write_file(g_LoadName, i_Name, -1)
ChatColor(0, "%L",0,"JB_BLOCK_ADD", i_Name)

user_kill(i_Player)
cs_set_user_team(i_Player, CS_TEAM_T)
engclient_cmd(i_Player, "jointeam", "1")
engclient_cmd(i_Player, "joinclass", "1")
}

menu_destroy(menu)
return PLUGIN_HANDLED
}

public BlockJoin(id)
{
if(Block[id])
{
user_kill(id)
cs_set_user_team(id, CS_TEAM_T)
engclient_cmd(id, "jointeam", "1")
engclient_cmd(id, "joinclass", "1")
ChatColor(id, "%L",0,"JB_YOU_BLOCKCT")
}
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!team", "^3")

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


но он чуть чуть другой, он проста перебрасывает игрока в tt. ну если кто то его переделает и добавить save block & /unblock будет просто класс.

Может лучше написать самому DeViL_MiKKi в скайп?


WAR3FT Пивка для Рывка 202 lvl
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя CH0CAPIC
сообщение 7.5.2014, 0:03
Сообщение #6


Стаж: 12 лет

Сообщений: 388
Благодарностей: 19
Полезность: < 0

Цитата(Affl @ 6.5.2014, 22:19) *
Может лучше написать самому DeViL_MiKKi в скайп?


у тебя есть его skype ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя CH0CAPIC
сообщение 13.5.2014, 10:58
Сообщение #7


Стаж: 12 лет

Сообщений: 388
Благодарностей: 19
Полезность: < 0


ребята в чем проблема не сохраняет заблокированных игроков? он должен сохранить только до перехода mapi.

Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "BlockCT"
#define VERSION "1.0"
#define AUTHOR "xxxx"

new g_LoadName[81], g_Name[64]
new szLine, szNum
new Block[33]

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

register_clcmd("say /block", "BlockMenu")
register_clcmd("jointeam 2", "BlockJoin")

register_dictionary( "jb_blockct.txt" );
}

public client_connect(id)
{
set_task(1.0, "CheckName", id)
}


public plugin_cfg()
{
get_configsdir(g_LoadName, 81)
format(g_LoadName, 80, "%s/jb_block.ini", g_LoadName)
}

public CheckName(id)
{
new szName[32]

for(szLine=0;read_file(g_LoadName, szLine, g_Name, 41, szNum);szLine++)
{
if(szNum>0 && g_Name[0]!=';')
{
get_user_name(id, szName, 31)
new szPos = contain(szName, g_Name)

if(szPos != -1)
{
Block[id] = true
}
}
}
}

public BlockMenu(id)
{
new szText[ 555 char ]

formatex( szText, charsmax( szText ), "%L", id, "JB_BLOCKMENU_TITLE")
new menu = menu_create( szText, "BlockMenu_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 = s_Players[i]

if(get_user_team(i_Player)!=2 && !Block[i_Player])
continue

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

if(!Block[i_Player])
{
menu_additem(menu, s_Name, s_Player, 0)
}else{
formatex( szText, charsmax( szText ), "%s - %L", s_Name, id, "JB_BLOCK_PLAYER")
menu_additem(menu, szText, s_Player, 0)
}
}

menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_setprop( menu, MPROP_NEXTNAME, "Далее")
menu_setprop( menu, MPROP_BACKNAME, "Назад")
menu_setprop( menu, MPROP_EXITNAME, "Выход")

if(get_user_flags(id) & ADMIN_BAN)
{
menu_display(id, menu, 0)
}else{
ChatColor(id, "%L",0,"JB_BLOCK_NOACCESS")
}
}

public BlockMenu_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, i_Name[32], i_Text[555 char]
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new i_Player = str_to_num(s_Data)
get_user_name(i_Player, i_Name, 31)

if(Block[i_Player])
{
for(szLine=0;read_file(g_LoadName, szLine, g_Name, 41, szNum);szLine++)
{
if(szNum>0 && g_Name[0]!=';')
{
new szPos = contain(i_Name, g_Name)

if(szPos != -1)
{
Block[i_Player] = false

formatex( i_Text, charsmax( i_Text ), ";%s", i_Name)
write_file(g_LoadName, i_Text, szLine)
ChatColor(0, "%L",0,"JB_BLOCK_DEL", i_Name)
}
}
}
}else{
Block[i_Player] = true

write_file(g_LoadName, i_Name, -1)
ChatColor(0, "%L",0,"JB_BLOCK_ADD", i_Name)

user_kill(i_Player)
cs_set_user_team(i_Player, CS_TEAM_T)
engclient_cmd(i_Player, "jointeam", "1")
engclient_cmd(i_Player, "joinclass", "1")
}

menu_destroy(menu)
return PLUGIN_HANDLED
}

public BlockJoin(id)
{
if(Block[id])
{
user_kill(id)
cs_set_user_team(id, CS_TEAM_T)
engclient_cmd(id, "jointeam", "1")
engclient_cmd(id, "joinclass", "1")
ChatColor(id, "%L",0,"JB_YOU_BLOCKCT")
}
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!team", "^3")

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя CH0CAPIC
сообщение 13.5.2014, 11:06
Сообщение #8


Стаж: 12 лет

Сообщений: 388
Благодарностей: 19
Полезность: < 0

Цитата(serfreeman1337 @ 13.5.2014, 10:02) *
Может не сохраняет из-за того что в этом плагине вообще сохранения нету?



может быть, ты разбираешься ? есть или нет посмотри пожалуйста

Цитата(CH0CAPIC @ 13.5.2014, 10:03) *
может быть, ты разбираешься ? есть или нет посмотри пожалуйста



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