И тут я не могу понять почему не выводится сериал в чат...
Ячейкам значения больше делал и бестолку...
Если ник выводить, то он выводится, а этот gpci не фурычит!
Вид для печати
Ознакомьтесь с функцией GetPlayerClientID [gpci]
Попробуйте:
PHP код:
if (strcmp(cmdtext, "/ser", true) == 0)
{
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] < 13 || !IsPlayerConnected(giveplayerid)) return 0;
tmp = strcharsplit(cmdtext, idx);
if (!strlen(tmp))
return SendClientMessage(playerid, COLOR_WHITE, "::: Ââåäèòå: /ser [id]");
const LENGHT_BUFFER = 40 + 1;
static const string[] = "[%d]: {FFFFFF}%s";
new str[sizeof(string) - 2 + LENGHT_BUFFER];
gpci(giveplayerid, str);
format(str, sizeof(str), string, giveplayerid, str);
SendClientMessage(playerid,-1, str);
return 1;
}
Ах вот и ошибка благодарю)
Я из других статей где то давно ещё нашёл эту функцию и там она была вот так объявлена:
Попозже протестирую, скажу чего как..PHP код:
native gpci(playerid, serial[], len);
- - - Добавлено - - -
Вот ещё вопрос как её в БД записать?
А то я смотрю с ней не всё так просто.
Всё думаю почему ты такую последовательность задал если по сути надо сразу проверку делать админ или приконнектился, а потом всю уже и команду + у меня с tmp все команды идут в такой последовательности:
Ну да чёрт с ним выровнял, но результата не какого, мессейж высвечивается, а вот если уже айди задать то вообще не какого результата...PHP код:
tmp = strcharsplit(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Ââåäèòå: /ser [id]");
giveplayerid = ReturnUser(tmp);
Уже всё сделал как подобающе...
Если указанный игрок не подключен, команда вместо вывода сообщения об ошибке просто втихаря завершит работу. Так и было задумано?
Логируйте значения, которые возвращают функции ReturnUser и gpci. Или просто вставляйте между строками кода что-нибудь типа "print("1")", "print("2")", что угодно - главное узнать, до какого момента выполняется код и почему прекращается выполнение.
Попробуйте:
заменить наPHP код:
if(strcmp(cmdtext, "/ser", true) == 0)
PHP код:
if(strcmp(cmdtext, "/ser", true, 4) == 0)
Что это даёт хотелось бы знать, ибо я ещё не особо умён...PHP код:
, 4
Вопрос решён благодаря этой цифре!
Хотелось бы ещё узнать каким способом в БД записать gpci и возможно ли это?
Была команда до того как native подредактировал:
Я там держал все serial's, сегодня случайно решил проверить и обнаружил что список не выводит больше!PHP код:
if(strcmp(cmdtext, "/aserials", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 11)
{
if(!fexist("SerialBans.txt")) return SendClientMessage(playerid, 0x6EF83CFF, "[Ëîã åù¸ íå ñîçäàí] Íà ñåðâåðå íåò çàáàíåííûõ {FFFFFF}Serial ID");
new banstr[512], File:file = fopen("SerialBans.txt", io_read);
SendClientMessage(playerid, -1, "{6EF83C}Ñïèñîê çàáàíåíûõ ñåðèéíûõ íîìåðîâ:");
if(file)
{
fread(file, banstr);
fclose(file);
if(strlen(banstr) < 2) return SendClientMessage(playerid, 0xFFFFFFFF, "Ñïèñîê ïóñò");
file = fopen("SerialBans.txt", io_read);
while(fread(file, banstr)) SendClientMessage(playerid, 0xFFFFFFFF, banstr);
fclose(file);
}
return 1;
}
}
Работает так когбудто выше разобранная, помогите до конца решить:to_take_umbrage:
Тему можно считать решёной в общем! :wizard:
Спасибо всем кто помог!