Ты это, надеюсь, не в оригинальном SA-MP проворачиваешь?
Вид для печати
Ты это, надеюсь, не в оригинальном SA-MP проворачиваешь?
Нет в cr-mp
А модпак установлен?
Залогируй значение cmdtext
Дело в самих пабликах, почитай документацию установки мод пака, при том что ответ в OnPlayerCommandText отправляется сервером(при коннекте) а не игроком
Вот рабочий вариант, как видешь тут без dc_cmd
PHP код:
#include <a_samp>
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid,0x01010101, "$cmd get_custom_hash");
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strfind(cmdtext, "$response get_custom_hash", true) != -1) //Если ответ получен и искомая строка найдена
{
new packhash[64]; //Создадим массив, в котором будет находится этот хэш
strmid(packhash, cmdtext, 26, strlen(cmdtext)); //Разделяем строку cmdtext и результат разделения - искомый хэш - запишем в массив packhash
SendClientMessage (playerid, 0xFFFFFFFF, packhash); //И, к примеру, выведем текущий хэш в чат игроку.
return 1;
}
return 0;
}
А это как ? что то не пойму
Эмм
PHP код:
public OnPlayerCommandReceived(playerid, cmdtext[]) {
printf("OnPlayerCommandReceived: %s", cmdtext);
return 1;
}
public OnPlayerCommandPerformed(playerid, cmdtext[], success) {
printf("OnPlayerCommandPerformed: %s", cmdtext);
return 1;
}
Спасибо
Вот результат:
PHP код:
OnPlayerCommandPerformed: /response get_custom_hash 874233c431801d05
OnPlayerCommandText: $response get_custom_hash 874233c431801d05
Ну так и в чём проблема?
PHP код:
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid,0x01010101, "$cmd get_custom_hash");
SetPVarInt(playerid, "get_custom_hash", 1);
return 1;
}
public OnPlayerCommandReceived(playerid, cmdtext[])
{
if(GetPVarInt(playerid, "get_custom_hash"))
{
if(strfind(cmdtext, "response get_custom_hash", true) != -1)
{
DeletePVar(playerid, "get_custom_hash");
new packhash[64];
strmid(packhash, cmdtext, 26, strlen(cmdtext));
SendClientMessage (playerid, 0xFFFFFFFF, packhash);
return 0;
}
}
return 1;
}
Я решил сразу же, только не так как ты
а вот так if(strfind(cmdtext, "/response get_custom_hash", true) != -1) то есть вместо $ поставил / и работает отлично