Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Мануал] Работа грузчика

Статус
В этой теме нельзя размещать новые ответы.

Flores

Умник
Итак приступим.
Ко всем new:
PHP:
new InLoaderJob[MAX_PLAYERS];
new Meshki[MAX_PLAYERS];
new Meshok[MAX_PLAYERS];
new LoaderPickup[3];
Далее в >
public OnPlayerPickUpPickup(playerid, pickupid)
PHP:
 else if(pickupid == LoaderPickup[0])
    {
        ShowPlayerDialog(playerid,56,DIALOG_STYLE_MSGBOX,"Информация о работе","Здесь вы можете подработать грузчиком\n\nВ здании напротив, вы найдете раздевалку,\nА так же кассу, где получают деньги.\n\nЧтобы начать работу, необходимо переодеться в робу\nдалее вам укажут, где брать груз.\n\nКак только вы захотите завершить рабочий день, пройдите к кассе.","Ок","");
    }
    else if(pickupid == LoaderPickup[1])
    {
        ShowPlayerDialog(playerid,57,DIALOG_STYLE_MSGBOX,"Раздевалка","Вы хотите начать рабочий день, или завершить?","Начать","Завершить");
    }
    else if(pickupid == LoaderPickup[2])
    {
		new string[128];
        if(InLoaderJob[playerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Ошибка! Вы не начинали работать.");
     	if(Meshki[playerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Ошибка! Вы ничего не заработали.");
     	SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
		GiveMoney(playerid, Meshki[playerid]*25);
		format(string, sizeof(string), "Вы заработали %d за %d перетащенных мешков.", Meshki[playerid]*25, Meshki[playerid]);
		SendClientMessage(playerid, COLOR_GREEN, string);
		Meshki[playerid] = 0;
		InLoaderJob[playerid] = 0;
		DisablePlayerCheckpoint(playerid);
    }
Далее в >
public OnGameModeInit()
PHP:
LoaderPickup[0] = CreatePickup(1239, 23, 2229.8684, -2211.0364, 13.5469, 0); pickups++; 
	LoaderPickup[1] = CreatePickup(1275, 23, 2137.8227539063, -2282.4379882813, 20.671875, 0); pickups++;
    LoaderPickup[2] = CreatePickup(1274, 23, 2127.4551, -2275.2461, 20.6719, 0); pickups++;
Далее в
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
	else if(dialogid == 56) return 1;
	else if(dialogid == 57)
	{
	    if(response)
	    {
	        if(InLoaderJob[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "Ошибка! Вы уже здесь работаете.");
	        InLoaderJob[playerid] = 1;
	        Meshki[playerid] = 0;
	        SetPlayerSkin(playerid, 16);
	        DisablePlayerCheckpoint(playerid);
	        SetPlayerCheckpoint(playerid, 2231.5237, -2284.7725, 14.3751, 2.0);
	        SendClientMessage(playerid, COLOR_GREEN, "Рабочий день начат. (( На радаре помечены места загрузки и разгрузки ))");
	    }
	    else
	    {
	        if(InLoaderJob[playerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Ошибка! Вы уже начали здесь работать.");
			Meshki[playerid] = 0;
			InLoaderJob[playerid] = 0;
			DisablePlayerCheckpoint(playerid);
			SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
	    }
	}
Теперь в
public OnPlayerConnect(playerid)
PHP:
InLoaderJob[playerid] = 0; Meshki[playerid] = 0; Meshok[playerid] = 0;
В >
public OnPlayerEnterCheckpoint(playerid)
PHP:
if(PlayerToPoint(2.0, playerid, 2231.5237, -2284.7725, 14.3751))
 	{
  		Meshok[playerid] = 1;
	  	ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1);
  		SetPlayerAttachedObject(playerid, 1 , 2358, 1,0.11,0.36,0.0,0.0,90.0);
  		ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1);
    	SetPlayerCheckpoint(playerid, 2171.7520, -2255.5974, 13.3039, 2.0);
   	}
	if(PlayerToPoint(2.0, playerid, 2171.7520, -2255.5974, 13.3039))
 	{
  		Meshok[playerid] = 0;
	  	ApplyAnimation(playerid,"PED","IDLE_tired",4.1,0,1,1,0,1);
	  	Meshki[playerid]++;
	  	if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1);
	  	format(string, sizeof(string), "Мешков перетащено: %d",Meshki[playerid]);
	  	SendClientMessage(playerid, COLOR_GREEN, string);
    	SetPlayerCheckpoint(playerid, 2231.5237, -2284.7725, 14.3751, 2.0);
  	}
Ещё в >
public OneSecondTimer()
PHP:
CheckMeshok(i);
Теперь создаем сток, примерно в конец мода вот это.
PHP:
stock CheckMeshok(playerid)
{
   	new animlib[32];
   	new animname[32];
	if(Meshok[playerid] == 1)
	{
	 	GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32);
	 	if(strcmp(animname, "IDLE_STANCE", true) != 0
 		&& strcmp(animname, "RUN_CIVI", true) != 0
 		&& strcmp(animname, "WALK_CIVI", true) != 0
 		&& strcmp(animname, "crry_prtial", true) != 0
 		&& strcmp(animname, "SPRINT_PANIC", true) != 0
 		&& strcmp(animname, "RUN_PLAYER", true) != 0
 		&& strcmp(animname, "WALK_PLAYER", true) != 0
 		&& strcmp(animname, "SPRINT_CIVI", true) != 0)
	 	{
 			Meshok[playerid] = 0;
		 	SendClientMessage(playerid, COLOR_LIGHTRED, "Вы уронили мешок!");
		 	if(IsPlayerAttachedObjectSlotUsed(playerid,2)) RemovePlayerAttachedObject(playerid,2);
		 	ApplyAnimation(playerid,"PED","IDLE_tired",4.1,0,1,1,0,1);
		 	SetPlayerCheckpoint(playerid,2230.8132324219,-2285.7043457031,13.531787872314,2.0);
	  	}
	}
 	return 1;
}
Мой первый урок, строго не судите. ;)

Скриншоты:








p.s объект в руки добавил.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу