PDA

Просмотр полной версии : [Вопрос] offmembers



#mike
11.06.2014, 00:18
Доброй ночи ув. пользователи Pro-Pawn. У меня возник один вопрос.
Делаю команду '/offuninvite' - уволить члена организации оффлайн.
Как сделать так, чтобы если игрок был в сети, то писало "Ошибка: Игрок в сети, используйте /uninvite"

С меня '+'

#mike
11.06.2014, 00:23
if(ПРОВЕРКА НА ОНЛАЙН) return SendClientMessage(playerid,-1,"ЭТОТ ПЕТАШКА ОНЛАЙН");

эта проверка?


if(IsPlayerConnected(giveplayerid)

DeimoS
11.06.2014, 00:34
эта проверка?


if(IsPlayerConnected(giveplayerid)

Ну получайте ник того игрока, что хотите уволить, и стартуйте цикл на всех игроков, выискивая среди них нужного.
Цикл выглядит так

new player_name[MAX_PLAYER_NAME];
for(new i = GetMaxPlayers(); i != -1; i--)//Или foreach, если используете
{
if(!IsPlayerConnected(i)) continue;
GetPlayerName(i, player_name, MAX_PLAYER_NAME);
if(!strcmp(/*Ник того, кого увольняем*/, player_name, false)) return SendClientMessage(playerid, 0xFF0000FF, "Игрок в сети! Используйте /uninvite");
}

#mike
11.06.2014, 00:40
Ну получайте ник того игрока, что хотите уволить, и стартуйте цикл на всех игроков, выискивая среди них нужного.
Цикл выглядит так

new player_name[MAX_PLAYER_NAME];
for(new i = GetMaxPlayers(); i != -1; i--)//Или foreach, если используете
{
if(!IsPlayerConnected(i)) continue;
GetPlayerName(i, player_name, MAX_PLAYER_NAME);
if(!strcmp(/*Ник того, кого увольняем*/, player_name, false)) return SendClientMessage(playerid, 0xFF0000FF, "Игрок в сети! Используйте /uninvite");
}


C:\Documents and Settings\admin\Рабочий стол\PW\gamemodes\SGL.pwn(23675) : error 029: invalid expression, assumed zero
C:\Documents and Settings\admin\Рабочий стол\PW\gamemodes\SGL.pwn(23675) : error 017: undefined symbol "player_name"
C:\Documents and Settings\admin\Рабочий стол\PW\gamemodes\SGL.pwn(23675) : error 029: invalid expression, assumed zero
C:\Documents and Settings\admin\Рабочий стол\PW\gamemodes\SGL.pwn(23675) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

строка


GetPlayerName(i, player_name, MAX_PLAYER_NAME);
if(!strcmp(/*Ник того, кого увольняем*/, player_name, false)) return SendClientMessage(playerid, 0xFF0000FF, "Игрок в сети! Используйте /uninvite");

DeimoS
11.06.2014, 00:47
Так а переменную вставили (player_name)? И вместо "/*Ник того, кого увольняем*/" вставили переменную с ником того, кого будут увольнять?

#mike
11.06.2014, 00:50
Так а переменную вставили (player_name)? И вместо "/*Ник того, кого увольняем*/" вставили переменную с ником того, кого будут увольнять?

Все, решил проблему. Спасибо

Тему Closed.