28.09.2015, 13:48
Добрый день. Есть код, который по сути должен преобразовывать %0 > PlayerInfo[0][pName]. Если написать в чат %0 выведет без проблем имя. Если же ввести %0 и пробел, то выводит %0. Если же ввести %00, то Выведет 'Имя'0. Если ввести %0'Буква', то выводит %0'Буква'.
Если Ввести %00%0, то выводит %00'Имя'. Т.е. просто игнорит.. Что я сделал не так?
Если Ввести %00%0, то выводит %00'Имя'. Т.е. просто игнорит.. Что я сделал не так?
Код:
stock TagName(chat[])
{
new text[256], length = strlen(chat), a = 0;
strmid(text, chat, 0, length, 256);
while(a < (length - 1))
{
if(text[a]=='#' || text[a]=='@')
{
if(IsNumeric(text[a+1]))
{
new id, tmp[3];//3
strmid(tmp, text, a+1, (IsNumeric(text[a+2])) ? a+3:a+2);//+3
id = strval(tmp);
if(IsPlayerConnected(id))
{
if(id < 10) strdel(text[a], 0, 2);
else strdel(text[a], 0, 3);
new NameText[60];
format(NameText, 60, "{888888}%s (%d){ffffff}", PlayerInfo[id][pName], id);
strins(text[a], NameText, 0);//0
length += strlen(NameText);
a += strlen(NameText);
continue;
}
else a++;
}
else a++;
}
return text;
}


И что за pName? И ошибка при компиляции, кто же у неопознанного аргумента size получает? Ай-яй-яй... У меня код самодостаточный, без всяких функций. И рабочий. А у тебя ещё надстройку придётся делать. Так что ты держишься на том же уровне в моих глазах. И я не тёлка, чтобы тебя очаровывать)



