PDA

Просмотр полной версии : [Вопрос] Как сделать проверку на ник игрока? Sscanf2



I'm Cobra
18.12.2014, 19:24
Здравствуйте! Как сделать проверку на ник игрока в команде? Командный процессор ZCMD+Sscanf2.
Переменная с именем игрока
plname[%0]

Unreal
18.12.2014, 20:40
CMD:name(playerid,params[])
{
if(isnull(params)) return SendClientMessage(playerid,COLOR_GREY,"Введите: /name [NAME]");
new string[MAX_PLAYER_NAME+3]
foreach(new i: Player)
{
if(FindString(PlayerName[i],params))
{
format(string,sizeof(string),"%s[%i]",PlayerName[i],i);
SendClientMessage(playerid,COLOR_BLUE,string);
}
}
return true;
}

P.S: PlayerName замени

I'm Cobra
18.12.2014, 20:59
CMD:name(playerid,params[])
{
if(isnull(params)) return SendClientMessage(playerid,COLOR_GREY,"Введите: /name [NAME]");
new string[MAX_PLAYER_NAME+3]
foreach(new i: Player)
{
if(FindString(PlayerName[i],params))
{
format(string,sizeof(string),"%s[%i]",PlayerName[i],i);
SendClientMessage(playerid,COLOR_BLUE,string);
}
}
return true;
}

P.S: PlayerName замени

Я имел ввиду чтобы игрок с определенным именем, мог использовать команду.

Salvacore
19.12.2014, 15:46
Я имел ввиду чтобы игрок с определенным именем, мог использовать команду.
В RLS модах подсмотри, там есть такая тема.

I'm Cobra
19.12.2014, 16:10
В RLS модах подсмотри, там есть такая тема.

В RLS модах команды написаны на Sscanf2?

Salvacore
19.12.2014, 16:12
В RLS модах команды написаны на Sscanf2?
Увы, в некоторых.

I'm Cobra
19.12.2014, 16:16
Увы, в некоторых.

Можно ссылочку на такой сервер? Я просто даже не представляю как искать такое)

Mazzilla
19.12.2014, 16:40
if(!strcmp(Name(playerid),"[BOT1]",true)) {
// действия в команде
}
Зачем scanf?

I'm Cobra
19.12.2014, 20:05
if(!strcmp(Name(playerid),"[BOT1]",true)) {
// действия в команде
}
Зачем scanf?

Увы, но не помогло.

IceShock
20.12.2014, 00:28
if(strcmp(plname[playerid], "Nick_Name", true)) return SendClientMessage(playerid, 0xFFFFFF, "Извините но вы не уполномочены использовать эту команду!"); Если же конечно не спутал с отрицанием strcmp, давно им не пользовался, насколько помню без ! перед ним это проверка на сравнение, а с отрицанием на сходство.

L0ndl3m
20.12.2014, 00:57
Увы, но не помогло.
Покажите как используете.

I'm Cobra
20.12.2014, 09:20
if(strcmp(plname[playerid], "Nick_Name", true)) return SendClientMessage(playerid, 0xFFFFFF, "Извините но вы не уполномочены использовать эту команду!"); Если же конечно не спутал с отрицанием strcmp, давно им не пользовался, насколько помню без ! перед ним это проверка на сравнение, а с отрицанием на сходство.

Помогло, спасибо!

L0ndl3m
20.12.2014, 15:27
IceShock, что на счёт того, что strcmp может вернуть так же -1?

I'm Cobra
20.12.2014, 15:32
IceShock, что на счёт того, что strcmp может вернуть так же -1?

И как в таком случае использовать проверку?

L0ndl3m
20.12.2014, 19:54
Условие != 0

I'm Cobra
21.12.2014, 22:12
Условие != 0

Пример использования можно?

L0ndl3m
21.12.2014, 23:33
if (strcmp("Londlem", player_name[playerid], false, 7) != 0) {
// ник не Londlem
}

Пельмень
22.12.2014, 10:43
if (strcmp("Londlem", player_name[playerid], false, 7) != 0) {
// ник не Londlem
}


Лучше-бы размер не указывал, а то зайдёт парень с 8+ символьным ником, и усё)

I'm Cobra
24.12.2014, 11:39
if(strcmp("name", plname(playerid), false, MAX_PLAYER_NAME) != 0)
{
// ник не name
}

Решено! Всем спасибо за помощь.