Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Как сделать проверку на то что у игрока уже есть. - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Тема закрыта

Как сделать проверку на то что у игрока уже есть. Оценка: -----

#1
Пользователь офлайн   Flick 

  • Scripting рулит :=)
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Как сделать проверку что бы если игроку уже выдали военный билет и он у него есть то писало типо "У игрока уже есть военный билет!"
Код :
if(strcmp(cmd, "/givevb", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(IsAnArmy(playerid))
	        {
	            tmp = strtok(cmdtext, idx);
				if(!strlen(tmp))
				{
				    SendClientMessage(playerid, COLOR_WHITE, "Используй: /givevb [ид]");
				    return 1;
				}
							if(PlayerInfo[playerid][pRank] < 15)
			{
			    SendClientMessage(playerid, COLOR_RED, " Вы должны быть Больше 15 ранга Армии что бы это сделать !");
			    return 1;
			   }
				if(IsPlayerConnected(giveplayerid))
				{
				    if(giveplayerid != INVALID_PLAYER_ID)
				    {
				        GetPlayerName(playerid, sendername, sizeof(sendername));
				        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				        format(string, sizeof(string), " Вы выдали %s Военный Билет.",giveplayer);
				        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
				        format(string, sizeof(string), " Лидер Армии выдал вам Военный Билет.",sendername);
				        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
			            PlayerInfo[giveplayerid][pVoenBil] = 1;
				    }
				}
				else
				{
				    SendClientMessage(playerid, COLOR_GREY, " Этого игрока нету на сервере !");
				    return 1;
				}
	        }
	        else
	        {
	            SendClientMessage(playerid, COLOR_GREY, " Вы не Лидер Армии !");
	            return 1;
	        }
	    }
	    return 1;
	}

0

#2
Пользователь офлайн   Lacoste 

  • Новичок
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Попробуй так

if(strcmp(cmd, "/givevb", true) == 0)
        {
            if(IsPlayerConnected(playerid))
            {
                if(IsAnArmy(playerid))
                {
                    tmp = strtok(cmdtext, idx);
                                if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Используй: /givevb [ид]");
                                if(PlayerInfo[playerid][pRank] < 15) return SendClientMessage(playerid, COLOR_RED, " Вы должны быть Больше 15 ранга Армии что бы это сделать !");
                                if(PlayerInfo[giveplayerid][pVoenBil] = 1) return SendClientMessage(playerid, COLOR_RED, " У игрока уже есть билет !");
                                if(IsPlayerConnected(giveplayerid))
                                {
                                    if(giveplayerid != INVALID_PLAYER_ID)
                                    {
                                        GetPlayerName(playerid, sendername, sizeof(sendername));
                                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                        format(string, sizeof(string), " Вы выдали %s Военный Билет.",giveplayer);
                                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                        format(string, sizeof(string), " Лидер Армии выдал вам Военный Билет.",sendername);
                                        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                    	PlayerInfo[giveplayerid][pVoenBil] = 1;
                                    }
                                }
                                else
                                {
                                    SendClientMessage(playerid, COLOR_GREY, " Этого игрока нету на сервере !");
                                    return 1;
                                }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, " Вы не Лидер Армии !");
                    return 1;
                }
            }
            return 1;
        }


0

#3
Пользователь офлайн   Flick 

  • Scripting рулит :=)
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Так он вообще не пишет что выдает.Он пишет даже если у меня нету военного билета пишет "У игрока уже есть Военный Билет" и выдает.
0

#4
Пользователь онлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Так вообще то:
if(PlayerInfo[giveplayerid][pVoenBil] != 1) return SendClientMessage(playerid, COLOR_RED, " У игрока уже есть билет !");

0

#5
Пользователь офлайн   Flick 

  • Scripting рулит :=)
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Сейчас поставил,выдает ошибку pawnocc.exe и ctrl+z не помогает О_о .
0

#6
Пользователь онлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Вот так работает норм:?
if(strcmp(cmd, "/givevb", true) == 0)
        {
            if(IsPlayerConnected(playerid))
            {
                if(IsAnArmy(playerid))
                {
                    tmp = strtok(cmdtext, idx);
                                if(!strlen(tmp))
                                {
                                    SendClientMessage(playerid, COLOR_WHITE, "Используй: /givevb [ид]");
                                    return 1;
                                }
                                                        if(PlayerInfo[playerid][pRank] < 15)
                        {
                            SendClientMessage(playerid, COLOR_RED, " Вы должны быть Больше 15 ранга Армии что бы это сделать !");
                            return 1;
                           }
                                if(IsPlayerConnected(giveplayerid))
                                {
                                    if(giveplayerid != INVALID_PLAYER_ID)
                                    {
                                        GetPlayerName(playerid, sendername, sizeof(sendername));
                                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                        format(string, sizeof(string), " Вы выдали %s Военный Билет.",giveplayer);
                                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                        format(string, sizeof(string), " Лидер Армии выдал вам Военный Билет.",sendername);
                                        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                    PlayerInfo[giveplayerid][pVoenBil] = 1;
                                    }
                                }
                                else
                                {
                                    SendClientMessage(playerid, COLOR_GREY, " Этого игрока нету на сервере !");
                                    return 1;
                                }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, " Вы не Лидер Армии !");
                    return 1;
                }
            }
            return 1;
        }


Если твоя команда рабочая тогда и эта работать должна...
	if(strcmp(cmd, "/givevb", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
			if(IsAnArmy(playerid))
			{
				tmp = strtok(cmdtext, idx);
				if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Используй: /givevb [ид]");
				if(PlayerInfo[playerid][pRank] < 15) return SendClientMessage(playerid, COLOR_RED, " Вы должны быть Больше 15 ранга Армии что бы это сделать !");
                if(PlayerInfo[giveplayerid][pVoenBil] != 1) return SendClientMessage(playerid, COLOR_RED, " У игрока уже есть билет !");
				if(IsPlayerConnected(giveplayerid))
				{
					if(giveplayerid != INVALID_PLAYER_ID)
					{
						GetPlayerName(playerid, sendername, sizeof(sendername));
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        format(string, sizeof(string), " Вы выдали %s Военный Билет.",giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), " Лидер Армии выдал вам Военный Билет.",sendername);
                        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                        PlayerInfo[giveplayerid][pVoenBil] = 1;
					}
				}
				else
				{
				SendClientMessage(playerid, COLOR_GREY, " Этого игрока нету на сервере !");
				return 1;
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, " Вы не Лидер Армии !");
				return 1;
			}
		}
		return 1;
	}


0

#7
Пользователь офлайн   Flick 

  • Scripting рулит :=)
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Капец..теперь проблема в том что выдает ошибку про pawncc.exe и память не может быть read
Даже команды пробовал удалять эти.И ничего.
0

#8
Пользователь онлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Проблема значить не в командах.
0

#9
Пользователь офлайн   Flick 

  • Scripting рулит :=)
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
А всё.С pawncc.exe исправил,сейчас проверю команду,отпишусь.
0

#10
Пользователь офлайн   Flick 

  • Scripting рулит :=)
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
С вашей командой он просто выдает и выдает.Не проверяет.
0

Поделиться темой:


  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Тема закрыта

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей