PDA

Просмотр полной версии : [Вопрос] Ввод в SendClientMessage больше 144 символов



Skyline
29.07.2016, 05:43
Здравствуйте, такой вопрос, как сделать, чтобы выводилось (в определенных командах | системах) в чат сообщение, больше 144 символов.
Видел много где на серверах такое, подскажите как.

VVWVV
29.07.2016, 06:15
Используй zmessage (https://github.com/Open-GTO/zmessage) (автор ziggi).

Skyline
29.07.2016, 06:25
Функционал и способ приминения не скажите?

VVWVV
29.07.2016, 06:35
Функционал и способ приминения не скажите?

Библиотека перехватывает (http://pro-pawn.ru/showthread.php?10447) стандартные функции sa-mp (SendClientMessage/SendClientMessageToAll/SendPlayerMessageToPlayer/SendPlayerMessageToAll).

Skyline
29.07.2016, 06:42
При добавлении инклуда, ошибки выдает.
Хотя функции стандартные и количество аргументов совпадают.


SendClientMessageToAll(color, string);
SendClientMessage(i, color, string);


error 035: argument type mismatch (argument 2)
error 035: argument type mismatch (argument 3)

VVWVV
29.07.2016, 06:44
При добавлении инклуда, ошибки выдает.
Хотя функции стандартные и количество аргументов совпадают.


SendClientMessageToAll(color, string);
SendClientMessage(i, color, string);


error 035: argument type mismatch (argument 2)
error 035: argument type mismatch (argument 3)

Можете показать инициализацию переменных?

Skyline
29.07.2016, 06:45
public BroadCast(color,const string[])
{
SendClientMessageToAll(color, string);
return true;
}

public ABroadCast(color,const string[],level)
{
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if (PlayerInfo[i][pAdmin] >= level)
{
SendClientMessage(i, color, string);
}
}
}
return true;
}

VVWVV
29.07.2016, 06:47
public BroadCast(color,const string[])
{
SendClientMessageToAll(color, string);
return true;
}

public ABroadCast(color,const string[],level)
{
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if (PlayerInfo[i][pAdmin] >= level)
{
SendClientMessage(i, color, string);
}
}
}
return true;
}

Уберите const у массивов.

Skyline
29.07.2016, 07:06
Уберите const у массивов.

Спасибо. Буду проверять.

- - - Добавлено - - -


Уберите const у массивов.

Да, спасибо, работает. Только такой вопрос, можно ли это приминить, для определенных команд/систем?

VVWVV
29.07.2016, 07:15
Спасибо. Буду проверять.

- - - Добавлено - - -



Да, спасибо, работает. Только такой вопрос, можно ли это приминить, для определенных команд/систем?

Если вы про библиотеку, то да.
Если вы про const, то да, но только в определённых местах.

Skyline
29.07.2016, 12:21
Если вы про библиотеку, то да.
Если вы про const, то да, но только в определённых местах.

Ну я в том плане, как сделать, чтобы работало для одной команды например на SendClientMessage

ziggi
29.07.2016, 13:59
Ну я в том плане, как сделать, чтобы работало для одной команды например на SendClientMessage

Всё само по себе работает, просто подключи файл и передавай в функцию SendClientMessage строки любого размера.

Skyline
29.07.2016, 18:45
Всё само по себе работает, просто подключи файл и передавай в функцию SendClientMessage строки любого размера.

Наверное неправильно поняли.
Я например хочу чтобы в одной системе работал этот функционал, а например в командах /pm и обычных чатах, было стандартное ограничение на 144 символа, только в одной системе чтобы выводило больше.

ziggi
29.07.2016, 18:58
Наверное неправильно поняли.
Я например хочу чтобы в одной системе работал этот функционал, а например в командах /pm и обычных чатах, было стандартное ограничение на 144 символа, только в одной системе чтобы выводило больше.

Тогда просто скопируй функцию (https://github.com/Open-GTO/zmessage/blob/master/zmessage.inc#L34-L77) и используй её там, где надо.

Skyline
29.07.2016, 19:12
Спасибо большое.