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

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

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

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

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

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

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

[поиск] Плагина префиксы

serfreeman1337
сообщение 23.5.2014, 12:36
Сообщение #81
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

В конфиге почитай про пропуск префикса.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя firante
сообщение 23.5.2014, 12:36
Сообщение #82


Стаж: 12 лет

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

r1nk0,
В users убери с админа флаг t
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 23.5.2014, 12:50
Сообщение #83


Стаж: 12 лет

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

r1nk0,
Оффтоп
dproto 390 + hashsalt и не смогут поставить определенный ID
Подробнее тут https://c-s.net.ua/forum/index.php?showtopic=57308
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя r1nk0
сообщение 23.5.2014, 12:57
Сообщение #84


Стаж: 12 лет

Сообщений: 1417
Благодарностей: 705
Полезность: 349

надо было дописать наверно что

через запятую прописываются номера префиксов по их порядку в ЗАВИСИМОСТИ ОТ доступныч вариантов префиксов

тк вот так заработало.

Код
"aes" "" "prefix" "^1[^3#rank#^1]" "20" "" "1"
"access" "d" "prefix" "^1[^4ADMIN^1]^1" "45" "2" "1" - игнорируется второй префикс випа в группе типа access если поставить 3 то небудет игнора.
"access" "t" "prefix" "^1[^4VIP^1]^1" "40"
"dproto" "2" "prefix" "^1[^4STEAM^1]" "10"


Отредактировал: r1nk0, - 23.5.2014, 13:04


Создание и редактирование карт ($) - vk.com/id476857873
Настройка и техническое обслуживание ваших игровых серверов - vk.com/id476857873
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Statsenko_91
сообщение 23.5.2014, 15:19
Сообщение #85


Стаж: 13 лет

Сообщений: 387
Благодарностей: 121
Полезность: 457

Ребята, подскажите плиз, что не так.

prefixManager.ini
; Prefix Manager by serfreeman1337 | http://gf.hldm.org/
; Файл конфигурации версии 0.1
;
; структура:
; "<тип префикса>" "<параметры для префикса>" "<режим форматирования>" "<текст префикса>" "<вес префикса>" "<пропуск префиксов>" "<учитывать или нет префикс для квара>" "<группа префиксов>"
;
; доступные варианты префиксов (может варьироваться в зависимости от компиляции):
; all - префикс для всех
; access - префикс по флагам, в параметрах нужно указать флаги
; steamid - префикс для steamid, в параметрах указывается steamid
; top - префикс для топ игроков, в параметрах указывается позиция топа
; в тексте префикса можно указать #rank# для вывода позиции игрока в префикс
; dproto - префикс по клиенту игрока, в параметрах указывается значение dproto
; aes - вания из плагина Advanced Experience System
; в тексте нужно указать #rank# для вывода звания
;
; режим форматирования
; prefix - просто добавление префикса в начало сообщения
; format - режим полного форматирования сообщения
; %s1 - имя игрока
; %s2 - его сообщение
; #prefix# - префиксы
; #team# - тег команды, если есть
; #dead# - тег убитого
; текст префикса
; сюда пишется текст самого префикса, а также отсюда задаются параметры форматирования сообщений
; возможно использования цветовых кодов:
; ^1 - обычный
; ^3 - цвет команды
; ^4 - зеленый
; вес префикса
; определяет очередь вывода префиксов
;
; пропуск префиксов
; через запятую прописываются номера префиксов по их порядку в этом файле, которые не будут выведены вместе с этим префиксом
; допустим, у нас есть 3 перфикса, которые могут вывестись одновременно и вы хотите чтобы какой-то из них не выводился
; пример, на флаг d у нас префикс "[АДМИН]"; на флаг s префикс "[АДМИН ДЕВУШКА]"; на флаг t префикс "[VIP]":
; "access" "d" "prefix" "[АДМИН]" "10"
; "access" "s" "prefix" "[АДМИН ДЕВУШКА]" "10"
; "access" "t" "prefix" "[VIP]" "5"
;
; у игрока есть флаги dst и нужно вывести только префикс "[АДМИН ДЕВУШКА]"
; для это нужно задать более высокий вес этому префиксу, т.к. свойства префиксов приминяются последовательно
; и записать в наш 6ой параметр номера этих префиксов:
; "access" "s" "prefix" "[АДМИН ДЕВУШКА]" "15" "1,3"
; таким образом выведится только префикс "[АДМИН ДЕВУШКА]"
;
; неучет префикса для pm_max_count
; укажите 1 если вы не хотите учитывать этот префикс для общего кол-ва префиксов
; полезно для вывода приставки звания AES или STEAM префикса
;
; группа префикса
; указывается группа для этого префикса, стандартная группа - 1
; с помощью групп можно вывести несколько префиксов в разных местах сообщения
; префиксы из группы можно вывести только в режиме format, выводится они через указание #prefix<номер группы>#
; для префиксов группы не идет учет общего кол-ва префиксов
; ЭКСПЕРЕМЕНТАЛЬНАЯ ФУНКЦИЯ.
;

; приставка с отображение ранга у топ 10 игроков
"top" "10" "prefix" "^1[^3TOP-^4#rank#^1]" "1000"

"aes" "" "prefix" "^1[^3#rank#^1]" "10" "" ""

; приставка [ДНО] для настоящего дна, которое не знает что есть нормальная сборка
"dproto" "1" "prefix" "^1[^4ДНО^1]" "500"

; приставка [1337] для игрока со SteamID STEAM_0:1:25876755
"steamid" "STEAM_0:1:25876755" "prefix" "^4[1337]^1" "200"

;"access" "l" "prefix" "^3[^4Гл.Админ^3]^1" "200"

; приставка [ADMIN] для игрока с флагом a
"access" "d" "prefix" "^3[^4ADMIN^3]^1" "150" "6"

; приставка [VIP] для игрока с флагом t
"access" "t" "prefix" "^3[^4VIP^3]^1" "15"

; приставка [STEAM] для Steam игрока
"dproto" "2" "prefix" "^1[^4STEAM^1]" "5"

; сделаем зеленый цвет cообщения от Steam игрока
;"access" "a" "format" "#prefix2##prefix4##prefix1# ^3%s1^1 : ^4%s2^1 " "10"

; сделаем зеленый цвет cообщения от Steam игрока
;"dproto" "2" "format" "#prefix##dead##team# ^3%s1^1 : ^4%s2^1" "10"


prefixManager.sma
/*
* Prefix Manager v. 0.1
* by serfreeman1337 http://gf.hldm.org/
*/

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Prefix Manger"
#define VERSION "0.1"
#define AUTHOR "serfreeman1337"

// префикс по флагам
#define USE_PREFIX_ACCESS

// префикс для топ игроков
#define USE_PREFIX_TOP // cstrike only

// префикс по steamid
#define USE_PREFIX_STEAMID

// префикс по клиенту
#define USE_PREFIX_DPROTO // no steam only

// префикс звания из AES


#if defined USE_PREFIX_TOP
#include <csstats>
#endif

#if defined USE_PREFIX_AES
#include <aes_main>
#endif

#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif

enum _:cvars {
CVAR_MAX_PREFIXES
}

new cvar[cvars]

enum _:prfx {
PREFIX_ALL,

#if defined USE_PREFIX_ACCESS
PREFIX_ACCESS,
#endif

#if defined USE_PREFIX_TOP
PREFIX_TOP,
#endif

#if defined USE_PREFIX_STEAMID
PREFIX_STEAMID,
#endif

#if defined USE_PREFIX_DPROTO
PREFIX_DPROTO,
#endif

#if defined USE_PREFIX_AES
PREFIX_AES,
#endif

PREFIX_END
}

new prefixWayId[prfx][] = {
"all",

#if defined USE_PREFIX_ACCESS
"access",
#endif

#if defined USE_PREFIX_TOP
"top",
#endif

#if defined USE_PREFIX_STEAMID
"steamid",
#endif

#if defined USE_PREFIX_DPROTO
"dproto",
#endif

#if defined USE_PREFIX_AES
"aes",
#endif

""
}

enum _:prefixDataStruct {
PREFIX_ID,
PREFIX_POS,
PREFIX_DATA[128],
bool:PREFIX_FORMAT,
PREFIX_NAME[128],
PREFIX_WEIGHT,
PREFIX_GROUP,
Array:PREFIX_SKIP,
bool:PREFIX_UNCOUNT
}

new Array:prefixes
new prefixCount

new g_maxplayers

new teamMsgString[][] = {
"#Cstrike_Chat_CT",
"#Cstrike_Chat_T",
"#Cstrike_Chat_CT_Dead",
"#Cstrike_Chat_T_Dead",
"#Cstrike_Chat_Spec"
}

new Trie:teamMsgPointers

#if defined USE_PREFIX_STEAMID
new steamIdPrefix[33]

new Trie:prefixForId
#endif

#if defined USE_PREFIX_DPROTO
new pDprotoProvider

new playerClient[33]
#endif

new prefixMax

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

// Максимальное кол-во префиксов
cvar[CVAR_MAX_PREFIXES] = register_cvar("pm_max_count","1")
}

/*
* загрузка конфигурации
*/
public plugin_cfg(){
new configFile[256]
get_configsdir(configFile,255)
add(configFile,255,"/prefixManager.ini")

new f = fopen(configFile,"rt")

if(!f){ // не удалось открыть конфиг-файл
log_amx("config file not found")

return PLUGIN_CONTINUE
}

prefixes = ArrayCreate(prefixDataStruct,1)

new buf[512]

new tmpWay[20],tmpData[128],tmpFormat[10],tmpName[128],tmpWeight[10],tmpSkip[20],tmp
Uncount[2],tmpGroup[10],datPrefixId
new prefixInfo[prefixDataStruct],bool:isTeamFormat,prefixNum

// читаем содержимое файла
while(!feof(f)){
fgets(f,buf,511)
trim(buf)

// пропускаем пустые строки и комментарии
if(!buf[0] || buf[0] == ';')
continue

// очищаем предыдущий результат
tmpWay[0] = 0 // указатель префикса
tmpData[0] = 0 // доп. информация для префикса
tmpFormat[0] = 0 // тип модифакции сообщений префиксом
tmpName[0] = 0 // название этого префикса
tmpSkip[0] = 0 // пропуск префиксов
tmpUncount[0] = 0 // не считать данный префикс
tmpGroup[0] = 0 // группа префикса
datPrefixId = -1 // ID префикса

parse(buf,tmpWay,19,tmpData,127,tmpFormat,9,tmpName,127,tmpWeight,9,tmpSkip,19,t
mpUncount,1,tmpGroup,9)

// проверяем наличие признака префикса
for(new i ; i < prfx - 1 ; ++i){
if(strcmp(tmpWay,prefixWayId[i]) != 0)
continue

datPrefixId = i // нашли ID префикса
}

// префикс не найден, пероходим к следующей строке
if(datPrefixId == -1)
continue

arrayset(prefixInfo,0,prefixDataStruct)

// задаем параметры префикса
prefixInfo[PREFIX_ID] = datPrefixId // ID префикса
prefixInfo[PREFIX_POS] = prefixNum++
prefixInfo[PREFIX_FORMAT] = strcmp(tmpFormat,"prefix") == 0 ? false : true // форматирование чата или просто добавление префикса
prefixInfo[PREFIX_WEIGHT] = str_to_num(tmpWeight) // вес
prefixInfo[PREFIX_GROUP] = tmpGroup[0] ? str_to_num(tmpGroup) : 1
prefixInfo[PREFIX_UNCOUNT] = str_to_num(tmpUncount)

// строим массив с префиксами для пропуска
if(tmpSkip[0]){
new stPos,ePos,rawPoint[20]

prefixInfo[PREFIX_SKIP] = _:ArrayCreate(1,1)

do {
ePos = strfind(tmpSkip[stPos],",")

formatex(rawPoint,ePos,tmpSkip[stPos])
ArrayPushCell(prefixInfo[PREFIX_SKIP] ,str_to_num(rawPoint))

stPos += ePos + 1
} while (ePos != -1)
}

replace_all2(tmpName,127,"^^1","^1")
replace_all2(tmpName,127,"^^2","^2")
replace_all2(tmpName,127,"^^3","^3")
replace_all2(tmpName,127,"^^4","^4")
replace_all2(tmpName,127,"%","%%")

// доп. обработка согласно префиксам
switch(datPrefixId){
case PREFIX_ALL: {
}

#if defined USE_PREFIX_ACCESS
case PREFIX_ACCESS:
prefixInfo[PREFIX_DATA][0] = read_flags(tmpData) // считаем бит сумму флагов
#endif

#if defined USE_PREFIX_TOP
case PREFIX_TOP:
prefixInfo[PREFIX_DATA][0] = str_to_num(tmpData)
#endif

#if defined USE_PREFIX_STEAMID
case PREFIX_STEAMID:{
if(prefixForId == Invalid_Trie)
prefixForId = TrieCreate()

prefixInfo[PREFIX_DATA][0] = prefixCount
TrieSetCell(prefixForId,tmpData,prefixCount)
}
#endif

#if defined USE_PREFIX_DPROTO
case PREFIX_DPROTO:
prefixInfo[PREFIX_DATA][0] = str_to_num(tmpData)
#endif

#if defined USE_PREFIX_AES
case PREFIX_AES:{}
#endif

default: continue
}

if(prefixInfo[PREFIX_FORMAT] && contain(tmpName,"#team#") != -1)
isTeamFormat = true

copy(prefixInfo[PREFIX_NAME],127,tmpName)
ArrayPushArray(prefixes,prefixInfo)

prefixCount ++
}

fclose(f)

if(!prefixCount)
return PLUGIN_CONTINUE

// сортировка префиксов по весу

#if AMXX_VERSION_NUM < 183
ArraySort(prefixes,"SortPrefixesByWeight")
#else
ArraySortEx(prefixes,"SortPrefixesByWeight")
#endif

if(isTeamFormat){
teamMsgPointers = TrieCreate()

for(new i ; i < sizeof teamMsgString ; ++i)
TrieSetCell(teamMsgPointers,teamMsgString[i],1)
}

#if defined USE_PREFIX_DPROTO
pDprotoProvider = get_cvar_pointer( "dp_r_id_provider" ) // dproto interface
#endif

g_maxplayers = get_maxplayers()
prefixMax = get_pcvar_num(cvar[CVAR_MAX_PREFIXES])

register_message(get_user_msgid("SayText"),"MsgHook_SayText")
register_dictionary("prefixManager.txt")

return PLUGIN_CONTINUE
}

public client_putinserver(id){
#if defined USE_PREFIX_STEAMID
new authId[36]
get_user_authid(id,authId,35)

if(prefixForId == Invalid_Trie || !TrieGetCell(prefixForId,authId,steamIdPrefix[id]))
steamIdPrefix[id] = -1
#endif

#if defined USE_PREFIX_DPROTO
if(!pDprotoProvider){
playerClient[id] = 0
}else if( is_user_bot(id) || is_user_hltv(id) )
playerClient[id] = 0
else {
server_cmd( "dp_clientinfo %d", id )
server_exec()

playerClient[id] = get_pcvar_num(pDprotoProvider)
}
#endif
}

#if AMXX_VERSION_NUM >= 183
public SortPrefixesByWeight(Array:array, prefix1[], prefix2[]){
if(prefix1[PREFIX_WEIGHT] > prefix2[PREFIX_WEIGHT])
return -1
else if (prefix1[PREFIX_WEIGHT] < prefix2[PREFIX_WEIGHT])
return 1

return 0
}
#else
public SortPrefixesByWeight(Array:array, item1, item2){
new prefix1[prefixDataStruct],prefix2[prefixDataStruct]

ArrayGetArray(array,item1,prefix1)
ArrayGetArray(array,item2,prefix2)

if(prefix1[PREFIX_WEIGHT] > prefix2[PREFIX_WEIGHT])
return -1
else if (prefix1[PREFIX_WEIGHT] < prefix2[PREFIX_WEIGHT])
return 1

return 0
}
#endif

public MsgHook_SayText(msgId,msgDest,reciever){
if(msgDest != MSG_ONE)
return PLUGIN_CONTINUE

new id = get_msg_arg_int(1)

if( !(0 < id <= g_maxplayers) )
return PLUGIN_CONTINUE

static formatedMsg[191],chatHead[191],contentMsg[191]
static msgLastId,Float:msgLastTime

if(msgLastId == id && msgLastTime == get_gametime()){
set_msg_arg_string(2,formatedMsg)
set_msg_arg_string(4,contentMsg)

return PLUGIN_CONTINUE
}

new len,bool:isTeamMsg
get_msg_arg_string(2,chatHead,190) // указатель
get_msg_arg_string(4,contentMsg,190) // сообщение

if(teamMsgPointers)
isTeamMsg = TrieGetCell(teamMsgPointers,chatHead,isTeamMsg)

if(!FormatPrefixes(id,formatedMsg,190,len,isTeamMsg)){
if(!strcmp(chatHead,"#Cstrike_Chat_All"))
len += formatex(formatedMsg[len],190-len,"^3%%s1^1 : %%s2")
else
len += formatex(formatedMsg[len],190-len,"%s",chatHead)
}

// не допускаем перехода лимита в 190 символов
if(strlen(formatedMsg) + strlen(contentMsg) >= 190){
new contentLen = 190 - strlen(chatHead) - strlen(contentMsg)

if(((contentMsg[contentLen - 1] & 0xFF) >= 0xC2) && ((contentMsg[contentLen - 1] & 0xFF) <= 0xEF)) // Don't truncate a double-byte character
contentLen--

contentMsg[contentLen] = 0

set_msg_arg_string(4,contentMsg)
}

set_msg_arg_string(2,formatedMsg)

msgLastId = id
msgLastTime = get_gametime()

return PLUGIN_CONTINUE
}

/*
* функция форматирования сообщения с префиксом
*/
public FormatPrefixes(id,fmt[],maxlen,&len,bool:isTeam){
new prefixInfo[prefixDataStruct]
new fmtPrefixes,msgFormer[128]
new Array:skipArray

len += formatex(fmt[len],maxlen-len,"^1")

new startLen = len // запоминаем для режима форматирования всего сообщения

static Trie:prefixByGroup,bool:prefixGroup

prefixGroup = false

for(new i ; i < prefixCount ; i++){
ArrayGetArray(prefixes,i,prefixInfo)

if(!prefixInfo[PREFIX_FORMAT] && fmtPrefixes >= prefixMax)
continue

if(skipArray && check_prefix_for_skip(skipArray,prefixInfo[PREFIX_POS]))
continue

switch(prefixInfo[PREFIX_ID]){
#if defined USE_PREFIX_ACCESS
case PREFIX_ACCESS:
if(!(get_user_flags(id) & prefixInfo[PREFIX_DATA][0]))
continue
#endif

#if defined USE_PREFIX_TOP
case PREFIX_TOP:{
new st[8],rank = get_user_stats(id,st,st)

if(rank > prefixInfo[PREFIX_DATA][0])
continue

new rankStr[10]
num_to_str(rank,rankStr,9)

replace_all2(prefixInfo[PREFIX_NAME],127,"#rank#",rankStr)
}
#endif

#if defined USE_PREFIX_STEAMID
case PREFIX_STEAMID:{
if(steamIdPrefix[id] == -1)
continue
else if(steamIdPrefix[id] != prefixInfo[PREFIX_DATA][0])
continue
}
#endif

#if defined USE_PREFIX_DPROTO
case PREFIX_DPROTO:
if(playerClient[id] != prefixInfo[PREFIX_DATA][0])
continue
#endif

#if defined USE_PREFIX_AES
case PREFIX_AES:{
new aStats[AES_ST_END],levelName[64]
aes_get_player_stats(id,aStats)
aes_get_level_name(aStats[AES_ST_LEVEL],levelName,63,LANG_SERVER)

replace_all2(prefixInfo[PREFIX_NAME],127,"#rank#",levelName)
}
#endif
}

if(prefixInfo[PREFIX_SKIP] != Invalid_Array)
skipArray = prefixInfo[PREFIX_SKIP]

// это простой префикс
if(!prefixInfo[PREFIX_FORMAT]){
if(prefixInfo[PREFIX_GROUP] == 1){
len += formatex(fmt[len],maxlen - len,"%s%s",fmtPrefixes ? " " : "",prefixInfo[PREFIX_NAME])

if(!prefixInfo[PREFIX_UNCOUNT])
fmtPrefixes ++
else if(!fmtPrefixes)
len += formatex(fmt[len],maxlen - len," ")
}else{
if(prefixByGroup == Invalid_Trie)
prefixByGroup = TrieCreate()

new groupKey[14],groupText[191],groupLen
formatex(groupKey,13,"#prefix%d#",prefixInfo[PREFIX_GROUP])

TrieGetString(prefixByGroup,groupKey,groupText,190)
groupLen = strlen(groupText)

formatex(groupText[groupLen],190 - groupLen,"%s%s",groupLen ? " " : "",prefixInfo[PREFIX_NAME])

TrieSetString(prefixByGroup,groupKey,groupText)

prefixGroup = true
}
}else if(!msgFormer[0]) // это режим форматирования вида сообщения
copy(msgFormer,127,prefixInfo[PREFIX_NAME])

arrayset(prefixInfo,0,prefixDataStruct)
}

if(fmtPrefixes)
len += formatex(fmt[len],maxlen - len," ")

// форматирование сообщения
if(msgFormer[0]){
replace_all2(msgFormer,127,"#prefix#",fmt) // заменяем на префиксы

if(prefixGroup){ // груповой префикс
new w,l,r = 0
new raw[14],groupText[191]
new fmted

do {
w = contain(msgFormer[l],"#prefix")

if(w == -1)
break

l += w + 7
r = contain(msgFormer[l],"#") + l

if(r - l <= 0)
continue

formatex(raw,r - l,msgFormer[l])
formatex(raw,13,"#prefix%d#",str_to_num(raw))

if(!TrieGetString(prefixByGroup,raw,groupText,190)){
replace(msgFormer,127,raw,"")

l -= strlen(raw) - 2
}else{
formatex(groupText,190,"%s%s",fmted ? " " : "",groupText)
replace_all2(msgFormer,127,raw,groupText)

l += strlen(groupText) - strlen(raw)

fmted ++
}
} while(l != -1)

TrieClear(prefixByGroup)
}

// тег команды для чата
if(contain(msgFormer,"#team#") != -1){
if(isTeam){
new lngKey[11],teamTag[30]
formatex(lngKey,10,"CHAT_TEAM%d",get_user_team(id))
formatex(teamTag,29,"%L",LANG_SERVER,lngKey)

replace_all2(msgFormer,127,"#team#",teamTag)
}else
replace_all2(msgFormer,127,"#team#","")
}

// тег убитого
if(contain(msgFormer,"#dead#") != -1){
if(!is_user_alive(id)){
new deadTag[30]
formatex(deadTag,29,"%L",LANG_SERVER,get_user_team(id) != 0 ? "CHAT_DEAD" : "CHAT_DEAD0")

replace_all2(msgFormer,127,"#dead#",deadTag)
}else
replace_all2(msgFormer,127,"#dead#","")
}

len = formatex(fmt[startLen],maxlen - startLen,msgFormer)
}

return msgFormer[0] ? true : false
}

check_prefix_for_skip(Array:which,prefixNum){
for(new i ; i < ArraySize(which) ; ++i)
if(ArrayGetCell(which,i) == prefixNum)
return true

return false
}

/* Replaces a contained string iteratively.
* This ensures that no infinite replacements will take place by
* intelligently moving to the next string position each iteration.
*/

/*
* небольшой фикс от serfreeman1337
* прекращаем заменять если не хвататет места
* чтобы избежать проблем с replace() buffer not big enough
*/
stock replace_all2(string[], len, const what[], const with[])
{
new pos = 0;

if ((pos = contain(string, what)) == -1)
{
return 0;
}

new total = 0;
new with_len = strlen(with);
new diff = strlen(what) - with_len;
new total_len = strlen(string);
new temp_pos = 0;

while (total_len + with_len < len && replace(string[pos], len - pos, what, with) != 0)
{
total++;

/* jump to position after replacement */
pos += with_len;

/* update cached length of string */
total_len -= diff;

/* will the next call be operating on the last character? */
if (pos >= total_len)
{
break;
}

/* find the next position from our offset */
temp_pos = contain(string[pos], what);

/* if it's invalid, we're done */
if (temp_pos == -1)
{
break;
}

/* otherwise, reposition and update counters */
pos += temp_pos;
}

return total;
}


prefixManager.txt
[en]
CHAT_DEAD = ^4(^3DEAD^4)
CHAT_DEAD0 = ^4(^3SPEC^4)
CHAT_TEAM1 = ^4(^3Terorrist^4)
CHAT_TEAM2 = ^4(^3Counter-Terorrist^4)
CHAT_TEAM0 = ^4(^3Spectator^4)

Плагин вообще не работает.

Моя версия AMX Mod X, v1.8.2-dev
компилировал тут http://aghl.ru/webcompiler/webcompiler.php

и тут http://compiler.amx-x.ru/

Отредактировал: Statsenko_91, - 23.5.2014, 15:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя firante
сообщение 23.5.2014, 15:56
Сообщение #86


Стаж: 12 лет

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

Statsenko_91,
Добавь:
Код:
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Statsenko_91
сообщение 23.5.2014, 15:58
Сообщение #87


Стаж: 13 лет

Сообщений: 387
Благодарностей: 121
Полезность: 457

Цитата(firante @ 23.5.2014, 15:56) *
Statsenko_91,
Добавь:
Код:
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif


Там это все есть. Он вообще у меня не работает, тоесть как будто и не ставил плагин.

Возможно я с .ini файлом там перемудрил((

Отредактировал: Statsenko_91, - 23.5.2014, 15:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя firante
сообщение 23.5.2014, 16:00
Сообщение #88


Стаж: 12 лет

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

Statsenko_91,
На локалке компилируй в веб компиляторах нет colorchat.inc
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 23.5.2014, 16:03
Сообщение #89


Стаж: 12 лет

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

Statsenko_91, а в amx_plugins он есть и запущен?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Statsenko_91
сообщение 23.5.2014, 16:08
Сообщение #90


Стаж: 13 лет

Сообщений: 387
Благодарностей: 121
Полезность: 457

Цитата(Bloo @ 23.5.2014, 16:03) *
Statsenko_91, а в amx_plugins он есть и запущен?


Да)
Prefix Manger 0.1 serfreeman1337 prefixManager.a running

Цитата
Statsenko_91,
На локалке компилируй в веб компиляторах нет colorchat.inc


На локалке что то он не компилируется у меня( Но ведь если прокомпилировался онлайн, то какой то эффект должен быть в чате. пусть там даже с какой то ошибкой.

Отредактировал: Statsenko_91, - 23.5.2014, 16:13
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 23.5.2014, 16:21
Сообщение #91
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Стоят плагины, которые как-то могут влиять на чат?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Statsenko_91
сообщение 23.5.2014, 16:23
Сообщение #92


Стаж: 13 лет

Сообщений: 387
Благодарностей: 121
Полезность: 457

Цитата(serfreeman1337 @ 23.5.2014, 16:21) *
Стоят плагины, которые как-то могут влиять на чат?


army_ranks если только
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 23.5.2014, 16:26
Сообщение #93
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Отключи его.
В логах есть что-то?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Statsenko_91
сообщение 23.5.2014, 16:35
Сообщение #94


Стаж: 13 лет

Сообщений: 387
Благодарностей: 121
Полезность: 457

Цитата(serfreeman1337 @ 23.5.2014, 16:26) *
Отключи его.
В логах есть что-то?


да все из за army_ranks((( отключил и заработало
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя firante
сообщение 26.5.2014, 16:07
Сообщение #95


Стаж: 12 лет

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

serfreeman1337,
Вот такие проблемы выходят как решить их ?
При включении поддержки зелёного чата для стимовцев тег КОМАНДЫ всё как надо в цвете

При отключении поддержки зелёного чата для стимовцев тег КОМАНДЫ не в цвете

При включении поддержки зелёного чата для стимовцев не все сообщения в зелёном цвете можно ли это исправить?


Ввывод: Нужно чтобы или была поддержка зелёного чата (чтобы все сообщения были зелёными) или без зелёного чата но чтобы теги команд были в цвете!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 26.5.2014, 16:11
Сообщение #96
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Код:
"all" "" "format" "#prefix##dead##team# ^3%s1^1 :  %s2" "10"

Включи форматирование чата для всех.
Зачем тебе столько тегов? Сообщение не умещается в одну строку и происходит плвалдыоавлофвфы.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя firante
сообщение 26.5.2014, 16:13
Сообщение #97


Стаж: 12 лет

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

serfreeman1337,
Ну не у всех же будут Стимы и Админки )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя firante
сообщение 26.5.2014, 16:55
Сообщение #98


Стаж: 12 лет

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

Цитата(serfreeman1337 @ 26.5.2014, 16:11) *
Код:
"all" "" "format" "#prefix##dead##team# ^3%s1^1 :  %s2" "10"

Включи форматирование чата для всех.
Зачем тебе столько тегов? Сообщение не умещается в одну строку и происходит плвалдыоавлофвфы.

Спасибо помогло! )
А на счёт этого ни как нельзя исправить если лимит сообщений превышает ?
При включении поддержки зелёного чата для стимовцев не все сообщения в зелёном цвете можно ли это исправить?


Отредактировал: firante, - 26.5.2014, 16:56
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 9art
сообщение 26.5.2014, 16:56
Сообщение #99


Стаж: 12 лет

Сообщений: 991
Благодарностей: 534
Полезность: 843

firante, можно обрезать его
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bapstop
сообщение 12.1.2015, 14:57
Сообщение #100


Стаж: 12 лет

Сообщений: 206
Благодарностей: 100
Полезность: 686

У кого нибудь остался оригинал где работает с aes тегами звания ? на яндексе пропал
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
6 страниц V  « 4 5 6
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: