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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

PrivateMessage

, PrivateMessage
Статус пользователя CH0CAPIC
сообщение 26.4.2014, 23:53
Сообщение #1


Стаж: 12 лет

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

есть ли у кавота такой плагин PrivateMessage, но чтоб у него был меню для выбора игроков, я нашел на ya-cs но нету исходника cray.gif .


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя csnet
сообщение 27.4.2014, 0:03
Сообщение #2
Стаж: 12 лет

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

вот какой то

https://forums.alliedmods.net/showthread.ph...195098?p=195098


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 27.4.2014, 0:04
Сообщение #3


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Пробуй
Код:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

#define PLUGIN "PrivateMessage"
#define VERSION "1.0"
#define AUTHOR "CrAsH"

new szPlayerPM[33]
new szPlayerPMBlockAll[33]
new szPlayerPMBlock[33][33]

static const g_Sound[] = "pm/sms.wav"

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

register_clcmd("say /pm", "MainMenu")
register_clcmd("say_team /pm", "MainMenu")

register_clcmd("pm", "PMessage")

register_dictionary("pm.txt")
}

public plugin_precache()
{
precache_sound( g_Sound )
}

public MainMenu(id)
{
new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_MAINMENU_TITLE")
new szMenu = menu_create(szTitle, "MainMenu_handler" )

formatex(szItem, charsmax( szItem ), "%L", id, "PM_MAINMENU_ITEM_1")
menu_additem(szMenu, szItem, "1", 0 )

formatex(szItem, charsmax( szItem ), "%L", id, "PM_MAINMENU_ITEM_2")
menu_additem(szMenu, szItem, "2", 0 )

menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(szMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(szMenu, MPROP_BACKNAME, "Назад")
menu_setprop(szMenu, MPROP_EXITNAME, "Выход")
menu_display(id, szMenu, 0)

return PLUGIN_HANDLED
}

public MainMenu_handler(id, szMenu, szItem)
{
if(szItem == MENU_EXIT)
{
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], szAccess, szCallback
menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)

new szKey = str_to_num( szData )

switch( szKey )
{
case 1:
{
PlayerMenu(id)
}

case 2:
{
BlockMenu(id)
}
}
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

public PlayerMenu(id)
{
new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_PLAYERMENU_TITLE")
new szMenu = menu_create(szTitle, "PlayerMenu_handler")

new szPlayers[32]
new szPlayer, szNum
new szName[32], szPlayerNum[10]

get_players(szPlayers, szNum)

for(new i; i < szNum; i++)
{
szPlayer = szPlayers[i]

if(szPlayer == id || is_user_bot(szPlayer) || !is_user_connected(szPlayer) || is_user_hltv(szPlayer))
continue

get_user_name(szPlayer, szName, charsmax( szName ))
num_to_str(szPlayer, szPlayerNum, charsmax( szPlayerNum ))

if(szPlayerPMBlock[szPlayer][id])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName)
menu_additem(szMenu, szItem, szPlayerNum, ADMIN_ADMIN)
}else
if(szPlayerPMBlockAll[szPlayer])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName)
menu_additem(szMenu, szItem, szPlayerNum, ADMIN_ADMIN)
}else{
menu_additem(szMenu, szName, szPlayerNum, 0)
}
}

menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(szMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(szMenu, MPROP_BACKNAME, "Назад")
menu_setprop(szMenu, MPROP_EXITNAME, "Выход")
menu_display(id, szMenu, 0)

return PLUGIN_HANDLED
}

public PlayerMenu_handler(id, szMenu, szItem)
{
if(szItem == MENU_EXIT)
{
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], szAccess, szCallback
menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)

new szPlayer = str_to_num( szData )

szPlayerPM[id] = szPlayer
client_cmd(id, "messagemode pm")
ChatColor(id, "%L", id, "PM_SEND_INFO")

menu_destroy( szMenu )
return PLUGIN_HANDLED
}

public BlockMenu(id)
{
new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_BLOCKMENU_TITLE")
new szMenu = menu_create(szTitle, "BlockMenu_handler")

if(!szPlayerPMBlockAll[id])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_BLOCKMENU_ITEM_1")
menu_additem(szMenu, szItem, "1", 0 )
}else{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_BLOCKMENU_ITEM_1_1")
menu_additem(szMenu, szItem, "1", 0 )
}

new szPlayers[32]
new szPlayer, szNum
new szName[32], szPlayerNum[10]

get_players(szPlayers, szNum)

for(new i; i < szNum; i++)
{
szPlayer = szPlayers[i]

if(szPlayer == id || is_user_bot(szPlayer) || !is_user_connected(szPlayer) || is_user_hltv(szPlayer))
continue

get_user_name(szPlayer, szName, charsmax( szName ))
num_to_str(szPlayer + 1, szPlayerNum, charsmax( szPlayerNum ))

if(szPlayerPMBlock[id][szPlayer])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName)
menu_additem(szMenu, szItem, szPlayerNum, 0)
}else
if(szPlayerPMBlockAll[id])
{
menu_additem(szMenu, szName, szPlayerNum, ADMIN_ADMIN)
}else{
menu_additem(szMenu, szName, szPlayerNum, 0)
}
}

menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(szMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(szMenu, MPROP_BACKNAME, "Назад")
menu_setprop(szMenu, MPROP_EXITNAME, "Выход")
menu_display(id, szMenu, 0)

return PLUGIN_HANDLED
}

public BlockMenu_handler(id, szMenu, szItem)
{
if(szItem == MENU_EXIT)
{
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], szAccess, szCallback
menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)

new szItemID = str_to_num( szData )

if(szItemID == 1)
{
if(!szPlayerPMBlockAll[id])
{
szPlayerPMBlockAll[id] = true
ChatColor(id, "%L", id, "PM_BLOCK_ALL")
}else{
szPlayerPMBlockAll[id] = false
ChatColor(id, "%L", id, "PM_UNBLOCK_ALL")
}
}else{
new szPlayer = szItemID - 1

new szNameBlock[32]
get_user_name(szPlayer, szNameBlock, charsmax( szNameBlock ))

if(!szPlayerPMBlock[id][szPlayer])
{
szPlayerPMBlock[id][szPlayer] = true
ChatColor(id, "%L", id, "PM_BLOCK_PLAYER", szNameBlock)
}else{
szPlayerPMBlock[id][szPlayer] = false
ChatColor(id, "%L", id, "PM_UNBLOCK_PLAYER", szNameBlock)
}
}

menu_destroy( szMenu )
return PLUGIN_HANDLED
}

public PMessage(id)
{
if(!szPlayerPM[id])
{
ChatColor(id, "%L", id, "PM_NOPLAYER")
return PLUGIN_HANDLED
}

if(!is_user_connected(szPlayerPM[id]))
{
ChatColor(id, "%L", id, "PM_NOPLAYER_CONNECT")
return PLUGIN_HANDLED
}

new szMessage[192]

read_args(szMessage, charsmax( szMessage ))
remove_quotes( szMessage )

while (replace(szMessage, charsmax( szMessage ), "q", "й")) {}
while (replace(szMessage, charsmax( szMessage ), "w", "ц")) {}
while (replace(szMessage, charsmax( szMessage ), "e", "у")) {}
while (replace(szMessage, charsmax( szMessage ), "r", "к")) {}
while (replace(szMessage, charsmax( szMessage ), "t", "е")) {}
while (replace(szMessage, charsmax( szMessage ), "y", "н")) {}
while (replace(szMessage, charsmax( szMessage ), "u", "г")) {}
while (replace(szMessage, charsmax( szMessage ), "i", "ш")) {}
while (replace(szMessage, charsmax( szMessage ), "o", "щ")) {}
while (replace(szMessage, charsmax( szMessage ), "p", "з")) {}
while (replace(szMessage, charsmax( szMessage ), "[", "х")) {}
while (replace(szMessage, charsmax( szMessage ), "]", "ъ")) {}
while (replace(szMessage, charsmax( szMessage ), "a", "ф")) {}
while (replace(szMessage, charsmax( szMessage ), "s", "ы")) {}
while (replace(szMessage, charsmax( szMessage ), "d", "в")) {}
while (replace(szMessage, charsmax( szMessage ), "f", "а")) {}
while (replace(szMessage, charsmax( szMessage ), "g", "п")) {}
while (replace(szMessage, charsmax( szMessage ), "h", "р")) {}
while (replace(szMessage, charsmax( szMessage ), "j", "о")) {}
while (replace(szMessage, charsmax( szMessage ), "k", "л")) {}
while (replace(szMessage, charsmax( szMessage ), "l", "д")) {}
while (replace(szMessage, charsmax( szMessage ), ";", "ж")) {}
while (replace(szMessage, charsmax( szMessage ), "'", "э")) {}
while (replace(szMessage, charsmax( szMessage ), "z", "я")) {}
while (replace(szMessage, charsmax( szMessage ), "x", "ч")) {}
while (replace(szMessage, charsmax( szMessage ), "c", "с")) {}
while (replace(szMessage, charsmax( szMessage ), "v", "м")) {}
while (replace(szMessage, charsmax( szMessage ), "b", "и")) {}
while (replace(szMessage, charsmax( szMessage ), "n", "т")) {}
while (replace(szMessage, charsmax( szMessage ), "m", "ь")) {}
while (replace(szMessage, charsmax( szMessage ), ",", "б")) {}
while (replace(szMessage, charsmax( szMessage ), ".", "ю")) {}
while (replace(szMessage, charsmax( szMessage ), "Q", "Й")) {}
while (replace(szMessage, charsmax( szMessage ), "W", "Ц")) {}
while (replace(szMessage, charsmax( szMessage ), "E", "У")) {}
while (replace(szMessage, charsmax( szMessage ), "R", "К")) {}
while (replace(szMessage, charsmax( szMessage ), "T", "Е")) {}
while (replace(szMessage, charsmax( szMessage ), "Y", "Н")) {}
while (replace(szMessage, charsmax( szMessage ), "U", "Г")) {}
while (replace(szMessage, charsmax( szMessage ), "I", "Ш")) {}
while (replace(szMessage, charsmax( szMessage ), "O", "Щ")) {}
while (replace(szMessage, charsmax( szMessage ), "P", "З")) {}
while (replace(szMessage, charsmax( szMessage ), "{", "Х")) {}
while (replace(szMessage, charsmax( szMessage ), "}", "Ъ")) {}
while (replace(szMessage, charsmax( szMessage ), "A", "Ф")) {}
while (replace(szMessage, charsmax( szMessage ), "S", "Ы")) {}
while (replace(szMessage, charsmax( szMessage ), "D", "В")) {}
while (replace(szMessage, charsmax( szMessage ), "F", "А")) {}
while (replace(szMessage, charsmax( szMessage ), "G", "П")) {}
while (replace(szMessage, charsmax( szMessage ), "H", "Р")) {}
while (replace(szMessage, charsmax( szMessage ), "J", "О")) {}
while (replace(szMessage, charsmax( szMessage ), "K", "Л")) {}
while (replace(szMessage, charsmax( szMessage ), "L", "Д")) {}
while (replace(szMessage, charsmax( szMessage ), ":", "Ж")) {}
while (replace(szMessage, charsmax( szMessage ), "Z", "Я")) {}
while (replace(szMessage, charsmax( szMessage ), "X", "Ч")) {}
while (replace(szMessage, charsmax( szMessage ), "C", "С")) {}
while (replace(szMessage, charsmax( szMessage ), "V", "М")) {}
while (replace(szMessage, charsmax( szMessage ), "B", "И")) {}
while (replace(szMessage, charsmax( szMessage ), "N", "Т")) {}
while (replace(szMessage, charsmax( szMessage ), "M", "Ь")) {}
while (replace(szMessage, charsmax( szMessage ), "<", "Б")) {}
while (replace(szMessage, charsmax( szMessage ), ">", "Ю")) {}
new szNamePlayer[32], szNamePlayerPM[32]

get_user_name(id, szNamePlayer, charsmax( szNamePlayer ))
get_user_name(szPlayerPM[id], szNamePlayerPM, charsmax( szNamePlayerPM ))

ChatColor(id, "%L", id, "PM_SEND", szNamePlayerPM, szMessage)
ChatColor(szPlayerPM[id], "%L", id, "PM_SEND", szNamePlayer, szMessage)
client_cmd(szPlayerPM[id], "spk %s", g_Sound)

szPlayerPM[id] = 0
return PLUGIN_HANDLED
}

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, "!t", "^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();
}
}
}
}


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Safety1st
сообщение 27.4.2014, 1:20
Сообщение #4
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Гляньте Private Message от Liverwiz.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя CH0CAPIC
сообщение 27.4.2014, 10:32
Сообщение #5


Стаж: 12 лет

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

Developer
csnet
у этих нету меню, там надо писать так say /pm name sms.
я хочу как на снимке .

Цитата(Fred Perry @ 26.4.2014, 23:04) *
Пробуй
Код:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

#define PLUGIN "PrivateMessage"
#define VERSION "1.0"
#define AUTHOR "CrAsH"

new szPlayerPM[33]
new szPlayerPMBlockAll[33]
new szPlayerPMBlock[33][33]

static const g_Sound[] = "pm/sms.wav"

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

register_clcmd("say /pm", "MainMenu")
register_clcmd("say_team /pm", "MainMenu")

register_clcmd("pm", "PMessage")

register_dictionary("pm.txt")
}

public plugin_precache()
{
precache_sound( g_Sound )
}

public MainMenu(id)
{
new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_MAINMENU_TITLE")
new szMenu = menu_create(szTitle, "MainMenu_handler" )

formatex(szItem, charsmax( szItem ), "%L", id, "PM_MAINMENU_ITEM_1")
menu_additem(szMenu, szItem, "1", 0 )

formatex(szItem, charsmax( szItem ), "%L", id, "PM_MAINMENU_ITEM_2")
menu_additem(szMenu, szItem, "2", 0 )

menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(szMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(szMenu, MPROP_BACKNAME, "Назад")
menu_setprop(szMenu, MPROP_EXITNAME, "Выход")
menu_display(id, szMenu, 0)

return PLUGIN_HANDLED
}

public MainMenu_handler(id, szMenu, szItem)
{
if(szItem == MENU_EXIT)
{
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], szAccess, szCallback
menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)

new szKey = str_to_num( szData )

switch( szKey )
{
case 1:
{
PlayerMenu(id)
}

case 2:
{
BlockMenu(id)
}
}
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

public PlayerMenu(id)
{
new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_PLAYERMENU_TITLE")
new szMenu = menu_create(szTitle, "PlayerMenu_handler")

new szPlayers[32]
new szPlayer, szNum
new szName[32], szPlayerNum[10]

get_players(szPlayers, szNum)

for(new i; i < szNum; i++)
{
szPlayer = szPlayers[i]

if(szPlayer == id || is_user_bot(szPlayer) || !is_user_connected(szPlayer) || is_user_hltv(szPlayer))
continue

get_user_name(szPlayer, szName, charsmax( szName ))
num_to_str(szPlayer, szPlayerNum, charsmax( szPlayerNum ))

if(szPlayerPMBlock[szPlayer][id])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName)
menu_additem(szMenu, szItem, szPlayerNum, ADMIN_ADMIN)
}else
if(szPlayerPMBlockAll[szPlayer])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName)
menu_additem(szMenu, szItem, szPlayerNum, ADMIN_ADMIN)
}else{
menu_additem(szMenu, szName, szPlayerNum, 0)
}
}

menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(szMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(szMenu, MPROP_BACKNAME, "Назад")
menu_setprop(szMenu, MPROP_EXITNAME, "Выход")
menu_display(id, szMenu, 0)

return PLUGIN_HANDLED
}

public PlayerMenu_handler(id, szMenu, szItem)
{
if(szItem == MENU_EXIT)
{
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], szAccess, szCallback
menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)

new szPlayer = str_to_num( szData )

szPlayerPM[id] = szPlayer
client_cmd(id, "messagemode pm")
ChatColor(id, "%L", id, "PM_SEND_INFO")

menu_destroy( szMenu )
return PLUGIN_HANDLED
}

public BlockMenu(id)
{
new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_BLOCKMENU_TITLE")
new szMenu = menu_create(szTitle, "BlockMenu_handler")

if(!szPlayerPMBlockAll[id])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_BLOCKMENU_ITEM_1")
menu_additem(szMenu, szItem, "1", 0 )
}else{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_BLOCKMENU_ITEM_1_1")
menu_additem(szMenu, szItem, "1", 0 )
}

new szPlayers[32]
new szPlayer, szNum
new szName[32], szPlayerNum[10]

get_players(szPlayers, szNum)

for(new i; i < szNum; i++)
{
szPlayer = szPlayers[i]

if(szPlayer == id || is_user_bot(szPlayer) || !is_user_connected(szPlayer) || is_user_hltv(szPlayer))
continue

get_user_name(szPlayer, szName, charsmax( szName ))
num_to_str(szPlayer + 1, szPlayerNum, charsmax( szPlayerNum ))

if(szPlayerPMBlock[id][szPlayer])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName)
menu_additem(szMenu, szItem, szPlayerNum, 0)
}else
if(szPlayerPMBlockAll[id])
{
menu_additem(szMenu, szName, szPlayerNum, ADMIN_ADMIN)
}else{
menu_additem(szMenu, szName, szPlayerNum, 0)
}
}

menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(szMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(szMenu, MPROP_BACKNAME, "Назад")
menu_setprop(szMenu, MPROP_EXITNAME, "Выход")
menu_display(id, szMenu, 0)

return PLUGIN_HANDLED
}

public BlockMenu_handler(id, szMenu, szItem)
{
if(szItem == MENU_EXIT)
{
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], szAccess, szCallback
menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)

new szItemID = str_to_num( szData )

if(szItemID == 1)
{
if(!szPlayerPMBlockAll[id])
{
szPlayerPMBlockAll[id] = true
ChatColor(id, "%L", id, "PM_BLOCK_ALL")
}else{
szPlayerPMBlockAll[id] = false
ChatColor(id, "%L", id, "PM_UNBLOCK_ALL")
}
}else{
new szPlayer = szItemID - 1

new szNameBlock[32]
get_user_name(szPlayer, szNameBlock, charsmax( szNameBlock ))

if(!szPlayerPMBlock[id][szPlayer])
{
szPlayerPMBlock[id][szPlayer] = true
ChatColor(id, "%L", id, "PM_BLOCK_PLAYER", szNameBlock)
}else{
szPlayerPMBlock[id][szPlayer] = false
ChatColor(id, "%L", id, "PM_UNBLOCK_PLAYER", szNameBlock)
}
}

menu_destroy( szMenu )
return PLUGIN_HANDLED
}

public PMessage(id)
{
if(!szPlayerPM[id])
{
ChatColor(id, "%L", id, "PM_NOPLAYER")
return PLUGIN_HANDLED
}

if(!is_user_connected(szPlayerPM[id]))
{
ChatColor(id, "%L", id, "PM_NOPLAYER_CONNECT")
return PLUGIN_HANDLED
}

new szMessage[192]

read_args(szMessage, charsmax( szMessage ))
remove_quotes( szMessage )

while (replace(szMessage, charsmax( szMessage ), "q", "й")) {}
while (replace(szMessage, charsmax( szMessage ), "w", "ц")) {}
while (replace(szMessage, charsmax( szMessage ), "e", "у")) {}
while (replace(szMessage, charsmax( szMessage ), "r", "к")) {}
while (replace(szMessage, charsmax( szMessage ), "t", "е")) {}
while (replace(szMessage, charsmax( szMessage ), "y", "н")) {}
while (replace(szMessage, charsmax( szMessage ), "u", "г")) {}
while (replace(szMessage, charsmax( szMessage ), "i", "ш")) {}
while (replace(szMessage, charsmax( szMessage ), "o", "щ")) {}
while (replace(szMessage, charsmax( szMessage ), "p", "з")) {}
while (replace(szMessage, charsmax( szMessage ), "[", "х")) {}
while (replace(szMessage, charsmax( szMessage ), "]", "ъ")) {}
while (replace(szMessage, charsmax( szMessage ), "a", "ф")) {}
while (replace(szMessage, charsmax( szMessage ), "s", "ы")) {}
while (replace(szMessage, charsmax( szMessage ), "d", "в")) {}
while (replace(szMessage, charsmax( szMessage ), "f", "а")) {}
while (replace(szMessage, charsmax( szMessage ), "g", "п")) {}
while (replace(szMessage, charsmax( szMessage ), "h", "р")) {}
while (replace(szMessage, charsmax( szMessage ), "j", "о")) {}
while (replace(szMessage, charsmax( szMessage ), "k", "л")) {}
while (replace(szMessage, charsmax( szMessage ), "l", "д")) {}
while (replace(szMessage, charsmax( szMessage ), ";", "ж")) {}
while (replace(szMessage, charsmax( szMessage ), "'", "э")) {}
while (replace(szMessage, charsmax( szMessage ), "z", "я")) {}
while (replace(szMessage, charsmax( szMessage ), "x", "ч")) {}
while (replace(szMessage, charsmax( szMessage ), "c", "с")) {}
while (replace(szMessage, charsmax( szMessage ), "v", "м")) {}
while (replace(szMessage, charsmax( szMessage ), "b", "и")) {}
while (replace(szMessage, charsmax( szMessage ), "n", "т")) {}
while (replace(szMessage, charsmax( szMessage ), "m", "ь")) {}
while (replace(szMessage, charsmax( szMessage ), ",", "б")) {}
while (replace(szMessage, charsmax( szMessage ), ".", "ю")) {}
while (replace(szMessage, charsmax( szMessage ), "Q", "Й")) {}
while (replace(szMessage, charsmax( szMessage ), "W", "Ц")) {}
while (replace(szMessage, charsmax( szMessage ), "E", "У")) {}
while (replace(szMessage, charsmax( szMessage ), "R", "К")) {}
while (replace(szMessage, charsmax( szMessage ), "T", "Е")) {}
while (replace(szMessage, charsmax( szMessage ), "Y", "Н")) {}
while (replace(szMessage, charsmax( szMessage ), "U", "Г")) {}
while (replace(szMessage, charsmax( szMessage ), "I", "Ш")) {}
while (replace(szMessage, charsmax( szMessage ), "O", "Щ")) {}
while (replace(szMessage, charsmax( szMessage ), "P", "З")) {}
while (replace(szMessage, charsmax( szMessage ), "{", "Х")) {}
while (replace(szMessage, charsmax( szMessage ), "}", "Ъ")) {}
while (replace(szMessage, charsmax( szMessage ), "A", "Ф")) {}
while (replace(szMessage, charsmax( szMessage ), "S", "Ы")) {}
while (replace(szMessage, charsmax( szMessage ), "D", "В")) {}
while (replace(szMessage, charsmax( szMessage ), "F", "А")) {}
while (replace(szMessage, charsmax( szMessage ), "G", "П")) {}
while (replace(szMessage, charsmax( szMessage ), "H", "Р")) {}
while (replace(szMessage, charsmax( szMessage ), "J", "О")) {}
while (replace(szMessage, charsmax( szMessage ), "K", "Л")) {}
while (replace(szMessage, charsmax( szMessage ), "L", "Д")) {}
while (replace(szMessage, charsmax( szMessage ), ":", "Ж")) {}
while (replace(szMessage, charsmax( szMessage ), "Z", "Я")) {}
while (replace(szMessage, charsmax( szMessage ), "X", "Ч")) {}
while (replace(szMessage, charsmax( szMessage ), "C", "С")) {}
while (replace(szMessage, charsmax( szMessage ), "V", "М")) {}
while (replace(szMessage, charsmax( szMessage ), "B", "И")) {}
while (replace(szMessage, charsmax( szMessage ), "N", "Т")) {}
while (replace(szMessage, charsmax( szMessage ), "M", "Ь")) {}
while (replace(szMessage, charsmax( szMessage ), "<", "Б")) {}
while (replace(szMessage, charsmax( szMessage ), ">", "Ю")) {}
new szNamePlayer[32], szNamePlayerPM[32]

get_user_name(id, szNamePlayer, charsmax( szNamePlayer ))
get_user_name(szPlayerPM[id], szNamePlayerPM, charsmax( szNamePlayerPM ))

ChatColor(id, "%L", id, "PM_SEND", szNamePlayerPM, szMessage)
ChatColor(szPlayerPM[id], "%L", id, "PM_SEND", szNamePlayer, szMessage)
client_cmd(szPlayerPM[id], "spk %s", g_Sound)

szPlayerPM[id] = 0
return PLUGIN_HANDLED
}

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, "!t", "^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();
}
}
}
}



сейчас попробую
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя CH0CAPIC
сообщение 27.4.2014, 13:06
Сообщение #6


Стаж: 12 лет

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

Цитата(Fred Perry @ 26.4.2014, 23:04) *
Пробуй
Код:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

#define PLUGIN "PrivateMessage"
#define VERSION "1.0"
#define AUTHOR "CrAsH"

new szPlayerPM[33]
new szPlayerPMBlockAll[33]
new szPlayerPMBlock[33][33]

static const g_Sound[] = "pm/sms.wav"

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

register_clcmd("say /pm", "MainMenu")
register_clcmd("say_team /pm", "MainMenu")

register_clcmd("pm", "PMessage")

register_dictionary("pm.txt")
}

public plugin_precache()
{
precache_sound( g_Sound )
}

public MainMenu(id)
{
new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_MAINMENU_TITLE")
new szMenu = menu_create(szTitle, "MainMenu_handler" )

formatex(szItem, charsmax( szItem ), "%L", id, "PM_MAINMENU_ITEM_1")
menu_additem(szMenu, szItem, "1", 0 )

formatex(szItem, charsmax( szItem ), "%L", id, "PM_MAINMENU_ITEM_2")
menu_additem(szMenu, szItem, "2", 0 )

menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(szMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(szMenu, MPROP_BACKNAME, "Назад")
menu_setprop(szMenu, MPROP_EXITNAME, "Выход")
menu_display(id, szMenu, 0)

return PLUGIN_HANDLED
}

public MainMenu_handler(id, szMenu, szItem)
{
if(szItem == MENU_EXIT)
{
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], szAccess, szCallback
menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)

new szKey = str_to_num( szData )

switch( szKey )
{
case 1:
{
PlayerMenu(id)
}

case 2:
{
BlockMenu(id)
}
}
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

public PlayerMenu(id)
{
new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_PLAYERMENU_TITLE")
new szMenu = menu_create(szTitle, "PlayerMenu_handler")

new szPlayers[32]
new szPlayer, szNum
new szName[32], szPlayerNum[10]

get_players(szPlayers, szNum)

for(new i; i < szNum; i++)
{
szPlayer = szPlayers[i]

if(szPlayer == id || is_user_bot(szPlayer) || !is_user_connected(szPlayer) || is_user_hltv(szPlayer))
continue

get_user_name(szPlayer, szName, charsmax( szName ))
num_to_str(szPlayer, szPlayerNum, charsmax( szPlayerNum ))

if(szPlayerPMBlock[szPlayer][id])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName)
menu_additem(szMenu, szItem, szPlayerNum, ADMIN_ADMIN)
}else
if(szPlayerPMBlockAll[szPlayer])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName)
menu_additem(szMenu, szItem, szPlayerNum, ADMIN_ADMIN)
}else{
menu_additem(szMenu, szName, szPlayerNum, 0)
}
}

menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(szMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(szMenu, MPROP_BACKNAME, "Назад")
menu_setprop(szMenu, MPROP_EXITNAME, "Выход")
menu_display(id, szMenu, 0)

return PLUGIN_HANDLED
}

public PlayerMenu_handler(id, szMenu, szItem)
{
if(szItem == MENU_EXIT)
{
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], szAccess, szCallback
menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)

new szPlayer = str_to_num( szData )

szPlayerPM[id] = szPlayer
client_cmd(id, "messagemode pm")
ChatColor(id, "%L", id, "PM_SEND_INFO")

menu_destroy( szMenu )
return PLUGIN_HANDLED
}

public BlockMenu(id)
{
new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_BLOCKMENU_TITLE")
new szMenu = menu_create(szTitle, "BlockMenu_handler")

if(!szPlayerPMBlockAll[id])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_BLOCKMENU_ITEM_1")
menu_additem(szMenu, szItem, "1", 0 )
}else{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_BLOCKMENU_ITEM_1_1")
menu_additem(szMenu, szItem, "1", 0 )
}

new szPlayers[32]
new szPlayer, szNum
new szName[32], szPlayerNum[10]

get_players(szPlayers, szNum)

for(new i; i < szNum; i++)
{
szPlayer = szPlayers[i]

if(szPlayer == id || is_user_bot(szPlayer) || !is_user_connected(szPlayer) || is_user_hltv(szPlayer))
continue

get_user_name(szPlayer, szName, charsmax( szName ))
num_to_str(szPlayer + 1, szPlayerNum, charsmax( szPlayerNum ))

if(szPlayerPMBlock[id][szPlayer])
{
formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName)
menu_additem(szMenu, szItem, szPlayerNum, 0)
}else
if(szPlayerPMBlockAll[id])
{
menu_additem(szMenu, szName, szPlayerNum, ADMIN_ADMIN)
}else{
menu_additem(szMenu, szName, szPlayerNum, 0)
}
}

menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(szMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(szMenu, MPROP_BACKNAME, "Назад")
menu_setprop(szMenu, MPROP_EXITNAME, "Выход")
menu_display(id, szMenu, 0)

return PLUGIN_HANDLED
}

public BlockMenu_handler(id, szMenu, szItem)
{
if(szItem == MENU_EXIT)
{
menu_destroy( szMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], szAccess, szCallback
menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)

new szItemID = str_to_num( szData )

if(szItemID == 1)
{
if(!szPlayerPMBlockAll[id])
{
szPlayerPMBlockAll[id] = true
ChatColor(id, "%L", id, "PM_BLOCK_ALL")
}else{
szPlayerPMBlockAll[id] = false
ChatColor(id, "%L", id, "PM_UNBLOCK_ALL")
}
}else{
new szPlayer = szItemID - 1

new szNameBlock[32]
get_user_name(szPlayer, szNameBlock, charsmax( szNameBlock ))

if(!szPlayerPMBlock[id][szPlayer])
{
szPlayerPMBlock[id][szPlayer] = true
ChatColor(id, "%L", id, "PM_BLOCK_PLAYER", szNameBlock)
}else{
szPlayerPMBlock[id][szPlayer] = false
ChatColor(id, "%L", id, "PM_UNBLOCK_PLAYER", szNameBlock)
}
}

menu_destroy( szMenu )
return PLUGIN_HANDLED
}

public PMessage(id)
{
if(!szPlayerPM[id])
{
ChatColor(id, "%L", id, "PM_NOPLAYER")
return PLUGIN_HANDLED
}

if(!is_user_connected(szPlayerPM[id]))
{
ChatColor(id, "%L", id, "PM_NOPLAYER_CONNECT")
return PLUGIN_HANDLED
}

new szMessage[192]

read_args(szMessage, charsmax( szMessage ))
remove_quotes( szMessage )

while (replace(szMessage, charsmax( szMessage ), "q", "й")) {}
while (replace(szMessage, charsmax( szMessage ), "w", "ц")) {}
while (replace(szMessage, charsmax( szMessage ), "e", "у")) {}
while (replace(szMessage, charsmax( szMessage ), "r", "к")) {}
while (replace(szMessage, charsmax( szMessage ), "t", "е")) {}
while (replace(szMessage, charsmax( szMessage ), "y", "н")) {}
while (replace(szMessage, charsmax( szMessage ), "u", "г")) {}
while (replace(szMessage, charsmax( szMessage ), "i", "ш")) {}
while (replace(szMessage, charsmax( szMessage ), "o", "щ")) {}
while (replace(szMessage, charsmax( szMessage ), "p", "з")) {}
while (replace(szMessage, charsmax( szMessage ), "[", "х")) {}
while (replace(szMessage, charsmax( szMessage ), "]", "ъ")) {}
while (replace(szMessage, charsmax( szMessage ), "a", "ф")) {}
while (replace(szMessage, charsmax( szMessage ), "s", "ы")) {}
while (replace(szMessage, charsmax( szMessage ), "d", "в")) {}
while (replace(szMessage, charsmax( szMessage ), "f", "а")) {}
while (replace(szMessage, charsmax( szMessage ), "g", "п")) {}
while (replace(szMessage, charsmax( szMessage ), "h", "р")) {}
while (replace(szMessage, charsmax( szMessage ), "j", "о")) {}
while (replace(szMessage, charsmax( szMessage ), "k", "л")) {}
while (replace(szMessage, charsmax( szMessage ), "l", "д")) {}
while (replace(szMessage, charsmax( szMessage ), ";", "ж")) {}
while (replace(szMessage, charsmax( szMessage ), "'", "э")) {}
while (replace(szMessage, charsmax( szMessage ), "z", "я")) {}
while (replace(szMessage, charsmax( szMessage ), "x", "ч")) {}
while (replace(szMessage, charsmax( szMessage ), "c", "с")) {}
while (replace(szMessage, charsmax( szMessage ), "v", "м")) {}
while (replace(szMessage, charsmax( szMessage ), "b", "и")) {}
while (replace(szMessage, charsmax( szMessage ), "n", "т")) {}
while (replace(szMessage, charsmax( szMessage ), "m", "ь")) {}
while (replace(szMessage, charsmax( szMessage ), ",", "б")) {}
while (replace(szMessage, charsmax( szMessage ), ".", "ю")) {}
while (replace(szMessage, charsmax( szMessage ), "Q", "Й")) {}
while (replace(szMessage, charsmax( szMessage ), "W", "Ц")) {}
while (replace(szMessage, charsmax( szMessage ), "E", "У")) {}
while (replace(szMessage, charsmax( szMessage ), "R", "К")) {}
while (replace(szMessage, charsmax( szMessage ), "T", "Е")) {}
while (replace(szMessage, charsmax( szMessage ), "Y", "Н")) {}
while (replace(szMessage, charsmax( szMessage ), "U", "Г")) {}
while (replace(szMessage, charsmax( szMessage ), "I", "Ш")) {}
while (replace(szMessage, charsmax( szMessage ), "O", "Щ")) {}
while (replace(szMessage, charsmax( szMessage ), "P", "З")) {}
while (replace(szMessage, charsmax( szMessage ), "{", "Х")) {}
while (replace(szMessage, charsmax( szMessage ), "}", "Ъ")) {}
while (replace(szMessage, charsmax( szMessage ), "A", "Ф")) {}
while (replace(szMessage, charsmax( szMessage ), "S", "Ы")) {}
while (replace(szMessage, charsmax( szMessage ), "D", "В")) {}
while (replace(szMessage, charsmax( szMessage ), "F", "А")) {}
while (replace(szMessage, charsmax( szMessage ), "G", "П")) {}
while (replace(szMessage, charsmax( szMessage ), "H", "Р")) {}
while (replace(szMessage, charsmax( szMessage ), "J", "О")) {}
while (replace(szMessage, charsmax( szMessage ), "K", "Л")) {}
while (replace(szMessage, charsmax( szMessage ), "L", "Д")) {}
while (replace(szMessage, charsmax( szMessage ), ":", "Ж")) {}
while (replace(szMessage, charsmax( szMessage ), "Z", "Я")) {}
while (replace(szMessage, charsmax( szMessage ), "X", "Ч")) {}
while (replace(szMessage, charsmax( szMessage ), "C", "С")) {}
while (replace(szMessage, charsmax( szMessage ), "V", "М")) {}
while (replace(szMessage, charsmax( szMessage ), "B", "И")) {}
while (replace(szMessage, charsmax( szMessage ), "N", "Т")) {}
while (replace(szMessage, charsmax( szMessage ), "M", "Ь")) {}
while (replace(szMessage, charsmax( szMessage ), "<", "Б")) {}
while (replace(szMessage, charsmax( szMessage ), ">", "Ю")) {}
new szNamePlayer[32], szNamePlayerPM[32]

get_user_name(id, szNamePlayer, charsmax( szNamePlayer ))
get_user_name(szPlayerPM[id], szNamePlayerPM, charsmax( szNamePlayerPM ))

ChatColor(id, "%L", id, "PM_SEND", szNamePlayerPM, szMessage)
ChatColor(szPlayerPM[id], "%L", id, "PM_SEND", szNamePlayer, szMessage)
client_cmd(szPlayerPM[id], "spk %s", g_Sound)

szPlayerPM[id] = 0
return PLUGIN_HANDLED
}

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, "!t", "^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();
}
}
}
}


да это то что я искал, спасибо большое, но здесь один проблема.

не могу писать английскими буквами, он переводит на русски, может кто то сможет сделать это? pardon.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 27.4.2014, 16:06
Сообщение #7


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

CH0CAPIC,
Если делать в тупую, то так

Код:
while (replace(szMessage, charsmax( szMessage ), "q", "q")) {}
while (replace(szMessage, charsmax( szMessage ), "w", "w")) {}
//и так далее, на счет того что работать будет не знаю


Я с телефона не могу глянуть весь код, тег pawn глючит.


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: