Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Работа Детектива - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

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

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ GF ]
Работа Детектива
Оценка: -----

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

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию
Для начала сделайте пикап на том месте, где игрок будет устраиваться и сделайте, чтобы он устраивался.

Далее следуйте моей инструкции:

В public OnPlayerCommandText(playerid, cmdtext[]) Добавляем команду:
if(strcmp(cmd, "/find", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
		    if(PlayerInfo[playerid][pJob] != 1)
		    {
				SendClientMessage(playerid, COLOR_RED, "** Вы не работаете детективом!");
				return 1;
		    }
		    if(PlayerOnMission[playerid] > 0)
			{
				SendClientMessage(playerid, COLOR_GREY, " На мисси нельзя использовать эту команду !");
			    return 1;
			}
			if(UsedFind[playerid] != 0 && PlayerInfo[playerid][pDetSkill] < 401)
			{
			    SendClientMessage(playerid, COLOR_RED, "** Жди 2 минуты!");
			    return 1;
			}
		    tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_ISPOLZUY, "*Используйте: /find [ид игрока]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			if(IsPlayerConnected(giveplayerid))
			{
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
			        if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_RED, "** Вы не можете искать самого себя!"); return 1; }
			        new points;
			        new level = PlayerInfo[playerid][pDetSkill];
					if(level >= 0 && level <= 50)
					{ points = 4; }
					else if(level >= 51 && level <= 100)
					{ points = 6; }
					else if(level >= 101 && level <= 200)
					{ points = 8; }
					else if(level >= 201 && level <= 400)
					{ points = 10; }
					else if(level >= 401)
					{ points = 12; }
				    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					new Float:X,Float:Y,Float:Z;
					GetPlayerPos(giveplayerid, X,Y,Z);
					SetPlayerCheckpoint(playerid, X,Y,Z, 6);
					FindTime[playerid] = 1;
					FindTimePoints[playerid] = points;
					PlayerInfo[playerid][pDetSkill] ++;
					UsedFind[playerid] = 1;
					if(PlayerInfo[playerid][pDetSkill] == 50)
					{ SendClientMessage(playerid, COLOR_YELLOW, "* Твой скилл Детектива достиг 2 Уровня."); }
					else if(PlayerInfo[playerid][pDetSkill] == 100)
					{ SendClientMessage(playerid, COLOR_YELLOW, "* Твой скилл Детектива достиг 3 Уровня."); }
					else if(PlayerInfo[playerid][pDetSkill] == 200)
					{ SendClientMessage(playerid, COLOR_YELLOW, "* Твой скилл Детектива достиг 4 Уровня."); }
					else if(PlayerInfo[playerid][pDetSkill] == 400)
					{ SendClientMessage(playerid, COLOR_YELLOW, "* Твой скилл Детектива достиг 5 Уровня."); }
				}
			}
			else
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Неправельный Ник/ID !");
			}
		}
	    return 1;
	}


Далее у кого совсем нет работ на сервере В enum pinfo ДОбавьте
pJob,
pDetSkill,


Далее, если нет - добавьте ко всем new это:
new PlayerOnMission[MAX_PLAYERS];
new UsedFind[MAX_PLAYERS];
new FindTimePoints[MAX_PLAYERS];
new FindTime[MAX_PLAYERS];


На этом вроде все. Ну и повторюсь в 100-тый раз: есть вопросы - пишем сюда в тему.

Автор: Vlad7060908
2

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

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Очень полезно+
0

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

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияBruno (02 Сентябрь 2011 - 19:28) писал:

Очень полезно+


Спасибо :rolleyes:
0

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


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

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