Перейти к содержанию
Авторизация  
Alonso

Не работает команда (sscanf + pawn.cmd)

Рекомендуемые сообщения

Alonso
cmd:anews(playerid, params[])
{
checkadmin3
flood
 if(sscanf(params,"s[128]",params[0]))return SCM(playerid, -1, "{008000}Используйте {ffff00}/anews Текст");
new string[256];
f(string, "{ffff00}[A] {008000}%s {33CCFF}%s", GetAdmin(playerid), PlayerInfo[playerid][pName], params[0]);
SCMTA(-1, string);
return 1;
}

что бы не вводил, все равно пишет Используйте /anews Текст, в логах пусто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Alonso,плагин dc_cmd стоит? sscanf последней версии? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

 

 


dc_cmd

читай название темы

 

На счет сканфа 2.8.2 вроде

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Alonso,дефайн f( скинь мне 


и проверки те

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

#define f(%1,                               format(%1, sizeof(%1),
#define flood 								if(GetPVarInt(playerid, "flood") > gettime()) return SendClientMessage(playerid, -1, "{ffff00}Не флудите, пожалуйста!");
#define checkadmin3                         if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, -1, "{008000}Вам не доступна эта функция. Приносим извинения.");
#define checkadmin5                         if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, -1, "{008000}Вам не доступна эта функция. Приносим извинения.");

И кстати, /me работает отлично:

cmd:me(playerid, params[])
{
	flood
	SetPVarInt(playerid, "flood", gettime() + 3);
    if(sscanf(params,"s[128]",params[0])) return SendClientMessage(playerid, -1, "{ffff00}Используйте '/me Действие'.");
	new string[256];
    f(string, "[ME] %s %s.", PlayerInfo[playerid][pName], params[0]);
    ProxDetector(15.0, playerid, string,COLOR_GRAD1,COLOR_GRAD2,COLOR_GRAD3,COLOR_GRAD4,COLOR_GRAD5);
    return 1;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

Попробуй так:

cmd:anews(playerid, params[])
{
new string[256];
checkadmin3
if(sscanf(params,"s[256]",params[0])) return SCM(playerid, -1, "{008000}Используйте {ffff00}/anews Текст");
f(string, "{ffff00}[A] {008000}%s {33CCFF}%s", GetAdmin(playerid), PlayerInfo[playerid][pName], params[0]);
SCMTA(-1, string);
return 1;
}
Изменено пользователем SCRIPTMAN

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#Rips

А вы прописали командный процессор Pawn.Cmd?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

,походу да, раз у него /me работает 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

@SCRIPTMAN,не помогло 

cmd:a(playerid, params[])
{
	checkadmin
	flood
	new string[256];
 	if(sscanf(params,"s",params[0])) return SCM(playerid, -1, "{008000}Используйте {ffff00}/a Текст");
	f(string, "{ffff00}[A] {008000}%s {33CCFF}%s", GetAdmin(playerid), PlayerInfo[playerid][pName], params[0]);
	SendAdm(string, 1);
	return 1;
}

убрал в проверке [256], теперь я могу отсылать, но пишет только [A] ранг админа Ник  и все. текста что я пишу нет

Изменено пользователем Alonso

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

ап

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Alonso,попробуй с другого мода. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

@SCRIPTMAN,вырезал, не помогло, видел какие то паблики нужны, что на этот случай? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Alonso,я когда писал для своего мода с нуля, ничего такого не делал, а ну-ка, попробуй мою:

CMD:aad(playerid, params[])
{
	new arank[22];
	if(Player[playerid][pAdmin] < 2) return SCM(playerid, COLOR_GREY, "Вы не уполномочены использовать данную команду!");
	if(sscanf(params, "s[128]", params[0])) return SCM(playerid, COLOR_WHITE, "Введите: /aad [объявление]");
	switch(Player[playerid][pAdmin])
	{
	    case 1: arank = "Модератор";
	    case 2: arank = "Старший модератор";
	    case 3: arank = "Младший администратор";
	    case 4: arank = "Администратор";
	    case 5: arank = "Главный администратор";
	    case 6: arank = "Создатель";
	}
    static const fmt_str[] = "%s %s[%d]: {FAFF38}%s";
	new string[sizeof(fmt_str)-2+21-2+MAX_PLAYER_NAME-2+3+72];
	format(string, sizeof(string), fmt_str, arank, GN(playerid), playerid, params[0]);
	SCMTA(COLOR_RED, string);
	return true;
} 

Под себя подстрой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

@SCRIPTMAN,зачем мне твой кусок? У меня /me работает только со стрингом, остальные кмд нет 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Alonso,попробуй просто, подстрой под себя, это не кусок, а целая команда. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

@SCRIPTMAN, опять же нот ворк (не работает) как говорится

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

ап

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#Pawno

Ты видел что у тебя не свопадение аргументов? по этому текст и не выводит.

Вот пробуй

cmd:a(playerid, params[])
{
	checkadmin
	flood
	new chat,string[256];
 	if(sscanf(params,"s",chat)) return SCM(playerid, -1, "{008000}Используйте {ffff00}/a Текст");
	f(string, "{ffff00}[A] {008000}%s {33CCFF}%s  %s", GetAdmin(playerid), PlayerInfo[playerid][pName], chat);
	SendAdm(string, 1);
	return 1;
} 

ну и вместо params[0] можно использовать как я сделал.

.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@#Pawno,смысл? тогда добавь к "s" "[128]", иначе не будет текста. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

@#Pawno, спасибо, работает!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.