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

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

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

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

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

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

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

Ищу плагин [Страна]

Статус пользователя sdf
сообщение 6.10.2013, 9:18
Сообщение #1


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

qq.
Когда пишет игрок в чат выбивает сначала его страну, затем ник.
Пример: [UA] adidas?: qq all
Подскажите название или дайте линк. Благодарю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя winzh1
сообщение 6.10.2013, 9:28
Сообщение #2


Стаж: 14 лет

Сообщений: 1414
Благодарностей: 600
Полезность: 838

Вот
Скрытый текст
Код:
/*
* Link to the plugin: http://virtual.new.bg/forum/viewtopic.php?f=125&t=1864
*===============================================================================
======
* Country Chat plugin by Virtual.New.BG Version 2.1 Made in Bulgaria
*===============================================================================
======
* Change Log:
* v1.0 = Initial release
* v1.1 = Correction Code
* v2.0 = Fixed all possible bugs
* v2.1 = Fixed bug with the quote where country is not shown
* Fixed bug with logging the chat in the console
* Fixed bug where the players see team chat of the other team
* v2.2 = Added Cvar out how to name the country - full or short name
* v2.3 = Now plugin replace error message
* v2.4 = Added GeoIP Code3. To display three characters from the Country
*===============================================================================
======
* Tests:
* Under Windows 4554 platform with AmxModx 1.8.1 - Work
* Under Linux 4617 platform with AmxModx 1.8.1 - Work
*===============================================================================
======
*/

#include <amxmodx>
#include <geoip>

#define VERSION "2.4"

new SzCountryLength, SzMaxPlayers, SzSayText;
new SzName[33][32];
new SzIP[17][16];
new SzGeoIP2[4][3];
new SzGeoIP3[5][4];
new SzCountry[33][46];

new SzGTeam[3][] = {
"Spectator",
"Terrorist",
"Counter-Terrorist"
}

public plugin_init()
{
register_plugin("Country Chat", VERSION, "Virtual.New.BG");
register_clcmd("say", "hook_say");
register_clcmd("say_team", "hook_say_team");

SzCountryLength = register_cvar("country_chat_length", "1");

register_cvar("country_chat_version", VERSION, FCVAR_SERVER|FCVAR_SPONLY);
set_cvar_string("country_chat_version", VERSION);

SzSayText = get_user_msgid ("SayText");
SzMaxPlayers = get_maxplayers();

register_message(SzSayText, "MsgDuplicate");
}

public MsgDuplicate(id){ return PLUGIN_HANDLED; }

public hook_say(id){
new Messages[192];
new SzAlive = is_user_alive(id);

read_args(Messages, 191);
remove_quotes(Messages);
get_user_name(id, SzName[id], 31);
get_user_ip(id, SzIP[id], 15);
geoip_country(SzIP[id], SzCountry[id]);
geoip_code2(SzIP[id], SzGeoIP2[id]);
geoip_code3(SzIP[id], SzGeoIP3[id]);

if(!is_valid_msg(Messages))
return PLUGIN_CONTINUE;

switch(get_pcvar_num(SzCountryLength)){
case 1: { (SzAlive ? format(Messages, 191, "^4[%s] ^3%s : ^1%s", SzCountry[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* ^4[%s] ^3%s : ^1%s", SzCountry[id], SzName[id], Messages)); }
case 2: { (SzAlive ? format(Messages, 191, "^4[%s] ^3%s : ^1%s", SzGeoIP2[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* ^4[%s] ^3%s : ^1%s", SzGeoIP2[id], SzName[id], Messages)); }
case 3: { (SzAlive ? format(Messages, 191, "^4[%s] ^3%s : ^1%s", SzGeoIP3[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* ^4[%s] ^3%s : ^1%s", SzGeoIP3[id], SzName[id], Messages)); }}

for(new i = 1; i <= SzMaxPlayers; i++){
if(!is_user_connected(i))
continue;
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i)){
message_begin(MSG_ONE, SzSayText, {0, 0, 0}, i);
write_byte(id);
write_string(Messages);
message_end();} }
return PLUGIN_CONTINUE;
}

public hook_say_team(id){
new Messages[192];
new SzPlayerTeam = get_user_team(id);
new SzAlive = is_user_alive(id);

read_args(Messages, 191);
remove_quotes(Messages);
get_user_name(id, SzName[id], 31);
get_user_ip(id, SzIP[id], 15)
geoip_country(SzIP[id], SzCountry[id]);
geoip_code2(SzIP[id], SzGeoIP2[id]);
geoip_code3(SzIP[id], SzGeoIP3[id]);

if(!is_valid_msg(Messages))
return PLUGIN_CONTINUE;

switch(get_pcvar_num(SzCountryLength)){
case 1: { (SzAlive ? format(Messages, 191, "^1(%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzCountry[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* (%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzCountry[id], SzName[id], Messages)); }
case 2: { (SzAlive ? format(Messages, 191, "^1(%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzGeoIP2[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* (%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzGeoIP2[id], SzName[id], Messages)); }
case 3: { (SzAlive ? format(Messages, 191, "^1(%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzGeoIP3[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* (%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzGeoIP3[id], SzName[id], Messages)); } }

for(new i = 1; i <= SzMaxPlayers; i++){
if(!is_user_connected(i))
continue;
if(get_user_team(i) != SzPlayerTeam)
continue;
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i)){
message_begin(MSG_ONE, SzSayText, {0, 0, 0}, i);
write_byte(id);
write_string(Messages);
message_end();} }
return PLUGIN_CONTINUE;
}

bool:is_valid_msg(const Messages[]){
if( Messages[0] == '@'
|| !strlen(Messages)){ return false; }
return true;}


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sdf
сообщение 6.10.2013, 9:36
Сообщение #3


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

Цитата(winzh1 @ 6.10.2013, 10:28) *
Вот
Скрытый текст
Код:
/*
* Link to the plugin: http://virtual.new.bg/forum/viewtopic.php?f=125&t=1864
*===============================================================================
======
* Country Chat plugin by Virtual.New.BG Version 2.1 Made in Bulgaria
*===============================================================================
======
* Change Log:
* v1.0 = Initial release
* v1.1 = Correction Code
* v2.0 = Fixed all possible bugs
* v2.1 = Fixed bug with the quote where country is not shown
* Fixed bug with logging the chat in the console
* Fixed bug where the players see team chat of the other team
* v2.2 = Added Cvar out how to name the country - full or short name
* v2.3 = Now plugin replace error message
* v2.4 = Added GeoIP Code3. To display three characters from the Country
*===============================================================================
======
* Tests:
* Under Windows 4554 platform with AmxModx 1.8.1 - Work
* Under Linux 4617 platform with AmxModx 1.8.1 - Work
*===============================================================================
======
*/

#include <amxmodx>
#include <geoip>

#define VERSION "2.4"

new SzCountryLength, SzMaxPlayers, SzSayText;
new SzName[33][32];
new SzIP[17][16];
new SzGeoIP2[4][3];
new SzGeoIP3[5][4];
new SzCountry[33][46];

new SzGTeam[3][] = {
"Spectator",
"Terrorist",
"Counter-Terrorist"
}

public plugin_init()
{
register_plugin("Country Chat", VERSION, "Virtual.New.BG");
register_clcmd("say", "hook_say");
register_clcmd("say_team", "hook_say_team");

SzCountryLength = register_cvar("country_chat_length", "1");

register_cvar("country_chat_version", VERSION, FCVAR_SERVER|FCVAR_SPONLY);
set_cvar_string("country_chat_version", VERSION);

SzSayText = get_user_msgid ("SayText");
SzMaxPlayers = get_maxplayers();

register_message(SzSayText, "MsgDuplicate");
}

public MsgDuplicate(id){ return PLUGIN_HANDLED; }

public hook_say(id){
new Messages[192];
new SzAlive = is_user_alive(id);

read_args(Messages, 191);
remove_quotes(Messages);
get_user_name(id, SzName[id], 31);
get_user_ip(id, SzIP[id], 15);
geoip_country(SzIP[id], SzCountry[id]);
geoip_code2(SzIP[id], SzGeoIP2[id]);
geoip_code3(SzIP[id], SzGeoIP3[id]);

if(!is_valid_msg(Messages))
return PLUGIN_CONTINUE;

switch(get_pcvar_num(SzCountryLength)){
case 1: { (SzAlive ? format(Messages, 191, "^4[%s] ^3%s : ^1%s", SzCountry[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* ^4[%s] ^3%s : ^1%s", SzCountry[id], SzName[id], Messages)); }
case 2: { (SzAlive ? format(Messages, 191, "^4[%s] ^3%s : ^1%s", SzGeoIP2[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* ^4[%s] ^3%s : ^1%s", SzGeoIP2[id], SzName[id], Messages)); }
case 3: { (SzAlive ? format(Messages, 191, "^4[%s] ^3%s : ^1%s", SzGeoIP3[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* ^4[%s] ^3%s : ^1%s", SzGeoIP3[id], SzName[id], Messages)); }}

for(new i = 1; i <= SzMaxPlayers; i++){
if(!is_user_connected(i))
continue;
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i)){
message_begin(MSG_ONE, SzSayText, {0, 0, 0}, i);
write_byte(id);
write_string(Messages);
message_end();} }
return PLUGIN_CONTINUE;
}

public hook_say_team(id){
new Messages[192];
new SzPlayerTeam = get_user_team(id);
new SzAlive = is_user_alive(id);

read_args(Messages, 191);
remove_quotes(Messages);
get_user_name(id, SzName[id], 31);
get_user_ip(id, SzIP[id], 15)
geoip_country(SzIP[id], SzCountry[id]);
geoip_code2(SzIP[id], SzGeoIP2[id]);
geoip_code3(SzIP[id], SzGeoIP3[id]);

if(!is_valid_msg(Messages))
return PLUGIN_CONTINUE;

switch(get_pcvar_num(SzCountryLength)){
case 1: { (SzAlive ? format(Messages, 191, "^1(%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzCountry[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* (%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzCountry[id], SzName[id], Messages)); }
case 2: { (SzAlive ? format(Messages, 191, "^1(%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzGeoIP2[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* (%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzGeoIP2[id], SzName[id], Messages)); }
case 3: { (SzAlive ? format(Messages, 191, "^1(%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzGeoIP3[id], SzName[id], Messages) : format(Messages, 191, "^1*DEAD* (%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzPlayerTeam], SzGeoIP3[id], SzName[id], Messages)); } }

for(new i = 1; i <= SzMaxPlayers; i++){
if(!is_user_connected(i))
continue;
if(get_user_team(i) != SzPlayerTeam)
continue;
if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i)){
message_begin(MSG_ONE, SzSayText, {0, 0, 0}, i);
write_byte(id);
write_string(Messages);
message_end();} }
return PLUGIN_CONTINUE;
}

bool:is_valid_msg(const Messages[]){
if( Messages[0] == '@'
|| !strlen(Messages)){ return false; }
return true;}


Чат не работает.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
XyLiGaN
сообщение 6.10.2013, 11:13
Сообщение #4
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

Клац..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sdf
сообщение 6.10.2013, 11:17
Сообщение #5


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

Цитата(XyLiGaN @ 6.10.2013, 12:13) *


Это подключение ...
А мне нужно что-бы просто в чате выбивал тег страны.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
dr-ef
сообщение 6.10.2013, 11:28
Сообщение #6
Стаж: 15 лет

Сообщений: 943
Благодарностей: 305
Полезность: 325

Цитата(XyLiGaN @ 6.10.2013, 12:13) *

это для соурсмод
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
XyLiGaN
сообщение 6.10.2013, 11:31
Сообщение #7
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

А если из этого переделать?!
Тут показывает страну при нажатии на TAB
Код:
#include < amxmodx >
#include < geoip >

#define VERSION "1.0"

new g_country[ 33 ][ 5 ];

public plugin_init( )
{
register_plugin( "Country On Name", VERSION, "Bboy Grun" );

register_cvar( "country_on_name", VERSION, FCVAR_SERVER | FCVAR_SPONLY );
set_cvar_string( "country_on_name", VERSION );
}

public client_putinserver( id )
{
new ip[ 32 ], country[ 3 ];
get_user_ip( id, ip, charsmax( ip ) );

if( geoip_code2_ex( ip, country ) )
{
format( g_country[ id ], charsmax( g_country[ ] ), "[%s]", country );
}
else
{
g_country[ id ] = "[??]";
}
}

public client_disconnect( id )
{
g_country[ id ][ 0 ] = EOS;
}

#define has_good_name(%1) ( %1[ 0 ] == '[' && %1[ 3 ] == ']' && ( %1[ 1 ] == g_country[ id ][ 1 ] || %1[ 1 ] == '?' ) && ( %1[ 2 ] == g_country[ id ][ 2 ] || %1[ 2 ] == '?' ) )

public client_infochanged( id )
{
if( g_country[ id ][ 0 ] )
{
new newname[ 32 ];
get_user_info( id, "name", newname, charsmax( newname ) );

if( !has_good_name( newname ) )
{
format( newname, charsmax( newname ), "%s %s", g_country[ id ], newname );
set_user_info( id, "name", newname );

return PLUGIN_HANDLED;
}
}

return PLUGIN_CONTINUE;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TheNega
сообщение 6.10.2013, 13:43
Сообщение #8


Стаж: 13 лет

Сообщений: 724
Благодарностей: 1396
Полезность: 1101

sdf, есть похожий плагин только он приписывает префикс страны в Таблице Счёта перед ником.
Скрытый текст
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sdf
сообщение 6.10.2013, 13:50
Сообщение #9


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

Цитата(TheNega @ 6.10.2013, 14:43) *
sdf, есть похожий плагин только он приписывает префикс страны в Таблице Счёта перед ником.
Скрытый текст


Это я знаю, но мне нужен именно в чат.
Мб это приват?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 6.10.2013, 13:59
Сообщение #10


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Цитата(sdf @ 6.10.2013, 11:36) *
Чат не работает.

Colored Translit установлен?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TheNega
сообщение 6.10.2013, 14:03
Сообщение #11


Стаж: 13 лет

Сообщений: 724
Благодарностей: 1396
Полезность: 1101

sdf, вот что на аленях нашел: Клац
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sdf
сообщение 6.10.2013, 14:18
Сообщение #12


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

Цитата(Rejiser @ 6.10.2013, 14:59) *
Colored Translit установлен?


Нет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sdf
сообщение 6.10.2013, 14:25
Сообщение #13


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466



В чате все ок, но при нажатии таб такое...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TheNega
сообщение 6.10.2013, 14:33
Сообщение #14


Стаж: 13 лет

Сообщений: 724
Благодарностей: 1396
Полезность: 1101

sdf,
[--] это значит что сервер не может распознать страну , как бы вместо Erorr или ??.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 6.10.2013, 14:35
Сообщение #15
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

sdf,поищите базу(GeoIPCity или GeoIP) посвежее.

*есть даже офф сайт
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sdf
сообщение 6.10.2013, 14:38
Сообщение #16


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

Вы не поняли, мне не нужно что-бы в табе игре было это. Только чат.


Может он переписанный на том сервере где я его видел...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TheNega
сообщение 6.10.2013, 14:43
Сообщение #17


Стаж: 13 лет

Сообщений: 724
Благодарностей: 1396
Полезность: 1101

Цитата(sdf @ 6.10.2013, 15:38) *
Вы не поняли, мне не нужно что-бы в табе игре было это. Только чат.


Выложи сюда исходник , может кто-то покажет где вырезать надо...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sdf
сообщение 6.10.2013, 14:52
Сообщение #18


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

TheNega,

а он у меня есть? =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TheNega
сообщение 6.10.2013, 15:17
Сообщение #19


Стаж: 13 лет

Сообщений: 724
Благодарностей: 1396
Полезность: 1101

sdf, я дал ссылку на алени , ты от туда скачал*?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sdf
сообщение 6.10.2013, 15:54
Сообщение #20


Стаж: 13 лет

Сообщений: 721
Благодарностей: 208
Полезность: 466

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