Заявка за плъгин [Spectator]
-
bobywTf
Извън линия - Потребител
- Мнения: 37
- Регистриран на: 21 Ное 2021, 14:28
- Се отблагодари: 18 пъти
- Получена благодарност: 3 пъти
- Обратна връзка:
Заявка за плъгин [Spectator]
Здравейте!
Бих искал да попитам дали някой може да направи плъгн който отваря меню с лист на играчите и след като се избере играч да го мята в Spectator + да излиза Public Message в чата и да може да връща играча обратно в игра + [Текст по желание след като админ го е пуснал да се върне в игра] и ако напусне сървъра да банне дадения играч за 1 седмица.
Нямам притенций с каква команда се отваря менюто !
Да може само АДМИН с флаг [по избор] да използва това меню !
Благодаря предварително ако някой ме отрази !
Бих искал да попитам дали някой може да направи плъгн който отваря меню с лист на играчите и след като се избере играч да го мята в Spectator + да излиза Public Message в чата и да може да връща играча обратно в игра + [Текст по желание след като админ го е пуснал да се върне в игра] и ако напусне сървъра да банне дадения играч за 1 седмица.
Нямам притенций с каква команда се отваря менюто !
Да може само АДМИН с флаг [по избор] да използва това меню !
Благодаря предварително ако някой ме отрази !
-
mharisrazaa
Извън линия - Потребител
- Мнения: 31
- Регистриран на: 15 Дек 2021, 17:15
- Местоположение: Pakistan
- Се отблагодари: 2 пъти
- Обратна връзка:
Заявка за плъгин [Spectator]
explain it a bit more pricesly.
there are Spectator Menu in amxmodmenu, and others plugin too.
Just Search on Google > Spectator Plugin and modifiy it.
there are Spectator Menu in amxmodmenu, and others plugin too.
Just Search on Google > Spectator Plugin and modifiy it.
-
rago12
Извън линия - Потребител
- Мнения: 63
- Регистриран на: 10 Апр 2017, 15:23
- Получена благодарност: 34 пъти
Заявка за плъгин [Spectator]
Ти ми беше писал на лично братле ама те забравих покрай празниците
Набързо съм го написал, тествай го.
Ако имаш някакви добавки или нещо да поправя пиши като коментар и когато мога ще редактирам кода.
Отваря се менюто с /inspect, за флаг съм сложил ADMIN_BAN.
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cstrike>
#include <fun>
#if defined client_disconnected
#define client_disconnect client_disconnected
#endif
new bool:UnderInspection[33]
new UserTeam[33]
new plAuthId[33]
public plugin_init()
register_clcmd("say /inspect", "InspectMenu")
public InspectMenu(id)
{
if(!is_user_connected(id) && !(get_user_flags(id) & ADMIN_BAN)) return
new menu = menu_create( "Choose option", "main_menu_handler" )
menu_additem(menu, "Inspect player")
menu_additem(menu, "Clear players inspection")
menu_display(id,menu)
}
public main_menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return
}
switch(item)
{
case 0: InspectPlayers(id)
case 1: ClearPlayers(id)
}
}
public ClearPlayers(id)
{
new players[32],num
get_players(players,num)
for(new i; i<num;i++)
{
@clear_all(players[i])
}
new szName[32]
get_user_name(id, szName, charsmax(szName))
client_print_color(0, print_team_default,"^3(Inpsector)^1 Admin ^3%s ^1has cleared the inspections", szName)
}
public InspectPlayers(id)
{
new plmenu = menu_create( "Choose player", "menu_player_handler" )
new players[32], pnum, tempid
new szName[32], szUserId[32]
get_players(players, pnum, "a")
for ( new i; i<pnum; i++ )
{
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName))
formatex(szUserId, charsmax(szUserId), "%d", get_user_userid(tempid))
menu_additem(plmenu, szName, szUserId, 0)
}
menu_display(id, plmenu)
}
public menu_player_handler(id, plmenu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(plmenu)
return
}
new szData[6], szName[64];
new _access, item_callback;
menu_item_getinfo( plmenu, item, _access, szData,charsmax( szData ), szName,charsmax( szName ), item_callback );
new userid = str_to_num( szData );
new player = find_player( "k", userid );
if (player && is_user_alive(player))
{
UnderInspection[player] = true
UserTeam[player] = get_user_team(player)
user_kill(player)
cs_set_user_team(player, CS_TEAM_SPECTATOR)
new szNamePlayer[32], szNameAdmin[32]
get_user_name(player, szNamePlayer, charsmax(szNamePlayer))
get_user_name(id, szNameAdmin, charsmax(szNameAdmin))
new authid[34]
plAuthId[player] = get_user_authid(player,authid,charsmax(authid))
client_cmd(player, "spk ambience/bigwarning" )
client_print_color(0, print_team_default,"^3(Inspector) ^1Player ^3%s ^1was placed under inspection by ^3%s", szNamePlayer, szNameAdmin)
}else{
client_print_color(id, print_team_default,"^3(Inspector) ^1Player not found")
InspectPlayers(id)
}
}
public client_disconnect(id)
{
if(UnderInspection[id] == true)
{
server_cmd( "banid 10080 %s", plAuthId[id])
}
}
@clear_all(id)
{
if(UnderInspection[id] == true)
{
if(is_user_connected(id))
{
cs_set_user_team(id, UserTeam[id])
UnderInspection[id] = false
client_cmd(id, "stopsound")
}
}
}
Ако имаш някакви добавки или нещо да поправя пиши като коментар и когато мога ще редактирам кода.
Отваря се менюто с /inspect, за флаг съм сложил ADMIN_BAN.
-
bobywTf
Извън линия - Потребител
- Мнения: 37
- Регистриран на: 21 Ное 2021, 14:28
- Се отблагодари: 18 пъти
- Получена благодарност: 3 пъти
- Обратна връзка:
Заявка за плъгин [Spectator]
Работи чудестно почети, когато вкарам играча в Spectator да не може да му позволява да влезе обратно в отбор и ако напусне сървъра преди да съм потвърдил че е чист да го бане за 1 седмица ,и ако може да се добави след команда /wginfo примерно да излиза MOTD и ако може да има log файл който да записва кой админ на кого е искал WarGod.rago12 написа: ↑08 Яну 2022, 20:05 Ти ми беше писал на лично братле ама те забравих покрай празниците
Набързо съм го написал, тествай го.Код за потвърждение: Избери целия код
#include <amxmodx> #include <cstrike> #include <fun> #if defined client_disconnected #define client_disconnect client_disconnected #endif new bool:UnderInspection[33] new UserTeam[33] new plAuthId[33] public plugin_init() register_clcmd("say /inspect", "InspectMenu") public InspectMenu(id) { if(!is_user_connected(id) && !(get_user_flags(id) & ADMIN_BAN)) return new menu = menu_create( "Choose option", "main_menu_handler" ) menu_additem(menu, "Inspect player") menu_additem(menu, "Clear players inspection") menu_display(id,menu) } public main_menu_handler(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return } switch(item) { case 0: InspectPlayers(id) case 1: ClearPlayers(id) } } public ClearPlayers(id) { new players[32],num get_players(players,num) for(new i; i<num;i++) { @clear_all(players[i]) } new szName[32] get_user_name(id, szName, charsmax(szName)) client_print_color(0, print_team_default,"^3(Inpsector)^1 Admin ^3%s ^1has cleared the inspections", szName) } public InspectPlayers(id) { new plmenu = menu_create( "Choose player", "menu_player_handler" ) new players[32], pnum, tempid new szName[32], szUserId[32] get_players(players, pnum, "a") for ( new i; i<pnum; i++ ) { tempid = players[i]; get_user_name(tempid, szName, charsmax(szName)) formatex(szUserId, charsmax(szUserId), "%d", get_user_userid(tempid)) menu_additem(plmenu, szName, szUserId, 0) } menu_display(id, plmenu) } public menu_player_handler(id, plmenu, item) { if (item == MENU_EXIT) { menu_destroy(plmenu) return } new szData[6], szName[64]; new _access, item_callback; menu_item_getinfo( plmenu, item, _access, szData,charsmax( szData ), szName,charsmax( szName ), item_callback ); new userid = str_to_num( szData ); new player = find_player( "k", userid ); if (player && is_user_alive(player)) { UnderInspection[player] = true UserTeam[player] = get_user_team(player) user_kill(player) cs_set_user_team(player, CS_TEAM_SPECTATOR) new szNamePlayer[32], szNameAdmin[32] get_user_name(player, szNamePlayer, charsmax(szNamePlayer)) get_user_name(id, szNameAdmin, charsmax(szNameAdmin)) new authid[34] plAuthId[player] = get_user_authid(player,authid,charsmax(authid)) client_cmd(player, "spk ambience/bigwarning" ) client_print_color(0, print_team_default,"^3(Inspector) ^1Player ^3%s ^1was placed under inspection by ^3%s", szNamePlayer, szNameAdmin) }else{ client_print_color(id, print_team_default,"^3(Inspector) ^1Player not found") InspectPlayers(id) } } public client_disconnect(id) { if(UnderInspection[id] == true) { server_cmd( "banid 10080 %s", plAuthId[id]) } } @clear_all(id) { if(UnderInspection[id] == true) { if(is_user_connected(id)) { cs_set_user_team(id, UserTeam[id]) UnderInspection[id] = false client_cmd(id, "stopsound") } } }
Ако имаш някакви добавки или нещо да поправя пиши като коментар и когато мога ще редактирам кода.
Отваря се менюто с /inspect, за флаг съм сложил ADMIN_BAN.
Благодаря !
-
rago12
Извън линия - Потребител
- Мнения: 63
- Регистриран на: 10 Апр 2017, 15:23
- Получена благодарност: 34 пъти
Заявка за плъгин [Spectator]
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cstrike>
#include <fun>
#if defined client_disconnected
#define client_disconnect client_disconnected
#endif
#define WARGOD_MOTD "addons/amxmodx/configs/WG_info.txt"
new bool:UnderInspection[33]
new UserTeam[33]
public plugin_init()
{
register_clcmd("say /inspect", "InspectMenu")
register_clcmd("say /wginfo", "WargodMotd")
register_clcmd("chooseteam", "cmdChooseTeam")
register_clcmd("jointeam", "cmdChooseTeam")
}
public WargodMotd(id)
show_motd(id, WARGOD_MOTD, "WarGod information")
public cmdChooseTeam(id)
{
if(UnderInspection[id] == true)
{
client_print_color(id, print_team_default,"^1You are under ^3Inspection ^1 and cannot join teams.")
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public InspectMenu(id)
{
if(!is_user_connected(id) && !(get_user_flags(id) & ADMIN_BAN)) return
new menu = menu_create( "Choose option", "main_menu_handler" )
menu_additem(menu, "Inspect player")
menu_additem(menu, "Clear players inspection")
menu_display(id,menu)
}
public main_menu_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return
}
switch(item)
{
case 0: InspectPlayers(id)
case 1: ClearPlayers(id)
}
}
public ClearPlayers(id)
{
new players[32],num
get_players(players,num)
for(new i; i<num;i++)
@clear_all(players[i])
new szName[32]
get_user_name(id, szName, charsmax(szName))
client_print_color(0, print_team_default,"^3(Inpsector)^1 Admin ^3%s ^1has cleared the inspections", szName)
}
public InspectPlayers(id)
{
new plmenu = menu_create( "Choose player", "menu_player_handler" )
new players[32], pnum, tempid
new szName[32], szUserId[32]
get_players(players, pnum, "ch")
for ( new i; i<pnum; i++ )
{
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName))
formatex(szUserId, charsmax(szUserId), "%d", get_user_userid(tempid))
menu_additem(plmenu, szName, szUserId, 0)
}
menu_display(id, plmenu)
}
public menu_player_handler(id, plmenu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(plmenu)
return
}
new szData[6], szName[64];
new _access, item_callback;
menu_item_getinfo( plmenu, item, _access, szData,charsmax( szData ), szName,charsmax( szName ), item_callback );
new userid = str_to_num( szData );
new player = find_player( "k", userid );
if (player && is_user_alive(player))
{
UnderInspection[player] = true
UserTeam[player] = get_user_team(player)
user_kill(player)
cs_set_user_team(player, CS_TEAM_SPECTATOR)
new szNamePlayer[32], szNameAdmin[32]
get_user_name(player, szNamePlayer, charsmax(szNamePlayer))
get_user_name(id, szNameAdmin, charsmax(szNameAdmin))
client_cmd(player, "spk ambience/bigwarning" )
client_print_color(0, print_team_default,"^3(Inspector) ^1Player ^3%s ^1was placed under inspection by ^3%s", szNamePlayer, szNameAdmin)
log_to_file("WG_Inspect.log", "Player: %s | inspected by Admin: %s", szNamePlayer, szNameAdmin)
client_print_color(player, print_team_default,"^1Type ^3/wginfo")
}else{
client_print_color(id, print_team_default,"^3(Inspector) ^1Player not found")
InspectPlayers(id)
}
}
public client_disconnect(id)
{
if(UnderInspection[id] == true)
{
new authid[34]
get_user_authid(id,authid,charsmax(authid))
server_cmd("amx_banip %s 10080", authid)
}
}
@clear_all(id)
{
if(UnderInspection[id] == true)
{
if(is_user_connected(id))
{
cs_set_user_team(id, UserTeam[id])
UnderInspection[id] = false
client_cmd(id, "stopsound")
}
}
}
за MOTD-то съм сложил път : addons/amxmodx/configs/WG_info.txt най-отгоре в кода можеш да си го промениш ако искаш, в случая си създаваш .txt файл в amxmodx/configs на име WG_info, и там си слагаш какъвто MOTD решиш.
Лог файла е с име WG_Inspect.log
Пак съм бързал, така че може да съм пропуснал нещо
-
bobywTf
Извън линия - Потребител
- Мнения: 37
- Регистриран на: 21 Ное 2021, 14:28
- Се отблагодари: 18 пъти
- Получена благодарност: 3 пъти
- Обратна връзка:
Заявка за плъгин [Spectator]
Много по добре от стария код !! Работи до 90% единствено не работи ако играча излезе от сървъра да го банне за 1 седмица + "причина текс по избор" ако е възжмоно ?rago12 написа: ↑09 Яну 2022, 17:57Пробвай го така,Код за потвърждение: Избери целия код
#include <amxmodx> #include <cstrike> #include <fun> #if defined client_disconnected #define client_disconnect client_disconnected #endif #define WARGOD_MOTD "addons/amxmodx/configs/WG_info.txt" new bool:UnderInspection[33] new UserTeam[33] public plugin_init() { register_clcmd("say /inspect", "InspectMenu") register_clcmd("say /wginfo", "WargodMotd") register_clcmd("chooseteam", "cmdChooseTeam") register_clcmd("jointeam", "cmdChooseTeam") } public WargodMotd(id) show_motd(id, WARGOD_MOTD, "WarGod information") public cmdChooseTeam(id) { if(UnderInspection[id] == true) { client_print_color(id, print_team_default,"^1You are under ^3Inspection ^1 and cannot join teams.") return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public InspectMenu(id) { if(!is_user_connected(id) && !(get_user_flags(id) & ADMIN_BAN)) return new menu = menu_create( "Choose option", "main_menu_handler" ) menu_additem(menu, "Inspect player") menu_additem(menu, "Clear players inspection") menu_display(id,menu) } public main_menu_handler(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return } switch(item) { case 0: InspectPlayers(id) case 1: ClearPlayers(id) } } public ClearPlayers(id) { new players[32],num get_players(players,num) for(new i; i<num;i++) @clear_all(players[i]) new szName[32] get_user_name(id, szName, charsmax(szName)) client_print_color(0, print_team_default,"^3(Inpsector)^1 Admin ^3%s ^1has cleared the inspections", szName) } public InspectPlayers(id) { new plmenu = menu_create( "Choose player", "menu_player_handler" ) new players[32], pnum, tempid new szName[32], szUserId[32] get_players(players, pnum, "ch") for ( new i; i<pnum; i++ ) { tempid = players[i]; get_user_name(tempid, szName, charsmax(szName)) formatex(szUserId, charsmax(szUserId), "%d", get_user_userid(tempid)) menu_additem(plmenu, szName, szUserId, 0) } menu_display(id, plmenu) } public menu_player_handler(id, plmenu, item) { if (item == MENU_EXIT) { menu_destroy(plmenu) return } new szData[6], szName[64]; new _access, item_callback; menu_item_getinfo( plmenu, item, _access, szData,charsmax( szData ), szName,charsmax( szName ), item_callback ); new userid = str_to_num( szData ); new player = find_player( "k", userid ); if (player && is_user_alive(player)) { UnderInspection[player] = true UserTeam[player] = get_user_team(player) user_kill(player) cs_set_user_team(player, CS_TEAM_SPECTATOR) new szNamePlayer[32], szNameAdmin[32] get_user_name(player, szNamePlayer, charsmax(szNamePlayer)) get_user_name(id, szNameAdmin, charsmax(szNameAdmin)) client_cmd(player, "spk ambience/bigwarning" ) client_print_color(0, print_team_default,"^3(Inspector) ^1Player ^3%s ^1was placed under inspection by ^3%s", szNamePlayer, szNameAdmin) log_to_file("WG_Inspect.log", "Player: %s | inspected by Admin: %s", szNamePlayer, szNameAdmin) client_print_color(player, print_team_default,"^1Type ^3/wginfo") }else{ client_print_color(id, print_team_default,"^3(Inspector) ^1Player not found") InspectPlayers(id) } } public client_disconnect(id) { if(UnderInspection[id] == true) { new authid[34] get_user_authid(id,authid,charsmax(authid)) server_cmd("amx_banip %s 10080", authid) } } @clear_all(id) { if(UnderInspection[id] == true) { if(is_user_connected(id)) { cs_set_user_team(id, UserTeam[id]) UnderInspection[id] = false client_cmd(id, "stopsound") } } }
за MOTD-то съм сложил път : addons/amxmodx/configs/WG_info.txt най-отгоре в кода можеш да си го промениш ако искаш, в случая си създаваш .txt файл в amxmodx/configs на име WG_info, и там си слагаш какъвто MOTD решиш.
Лог файла е с име WG_Inspect.log
Пак съм бързал, така че може да съм пропуснал нещо
Благодаря !!
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 1 Отговори
- 1338 Преглеждания
-
Последно мнение от Nine Finger's
-
- 5 Отговори
- 1045 Преглеждания
-
Последно мнение от tom1k
-
- 12 Отговори
- 4870 Преглеждания
-
Последно мнение от Siska
-
- 0 Отговори
- 1877 Преглеждания
-
Последно мнение от lantimilan
-
- 0 Отговори
- 1937 Преглеждания
-
Последно мнение от mi0
-
- 4 Отговори
- 3426 Преглеждания
-
Последно мнение от atmax
-
- 2 Отговори
- 1210 Преглеждания
-
Последно мнение от bustA
Кой е на линия
Потребители разглеждащи този форум: Semrush [Bot] и 14 госта