Доступ к готовым решениям

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

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

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

Мануал Работа Дровосека [№3]

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

Merlin

Умник
Автор вырезки: Merlin
Мод : Eliment RolePlay

К new
PHP:
new WoodJoin[2],WoodCP1[MAX_PLAYERS], WoodCP[MAX_PLAYERS];
new bool: WoodJoins[MAX_PLAYERS];
new RandomWood[][1] =
{
	{15},
	{51},
	{31},
	{35},
	{47},
	{27},
	{49},
	{39},
	{50}
};
new WoodPay[MAX_PLAYERS];
Далее в public OnGameModeInit()//события, когда загружается мод
PHP:
//
    WoodJoin[0] = CreateDynamicPickup(1275, 23, -491.4599, -193.9483, 78.3592, 0, 0, -1, 100);//Лес
	WoodJoin[1] = CreateDynamicPickup(1239, 2, -486.0296, -194.3103, 78.3290, 0, 0, -1, 100);//Лес
В public OnPlayerPickUpDynamicPickup(playerid, pickupid)
PHP:
public OnPlayerPickUpDynamicPickup(playerid, pickupid)
{
return true;
}
PHP:
for(new t=0;t<TOTAL_TELEPORT;t++)//цикл
    {
        if(pickupid == TeleportInfo[t][tPickup])//проверка на пикап который встали
        {
            SetPlayerPos(playerid,TeleportInfo[t][txX],TeleportInfo[t][txY],TeleportInfo[t][txZ]);//тп на координаты
            SetPlayerInterior(playerid, TeleportInfo[t][txIntor]);//устанавливаем инт
            SetPlayerVirtualWorld(playerid, TeleportInfo[t][txVW]);//устанавливаем мир
        }
    }
    if(pickupid == WoodJoin[0])//лес
	{
	    if(WoodJoins[playerid] == false)
		{
			new string[512];
			format(string, sizeof(string),"{FFFFFF}Здраствуйте...\nВы находитесь на территории лесопилки\nНаша лесопилка постовляет дерево по всему штату\nНам сейчас нужны люди для работы на лесопилки\nМы предлогаем тебе немного поработать на лесопилки. Ты согласен?\n\n\t{FF9900}Примечание:\n\t-Работать можно сколько угодно\n\t-За каждый килограмм дерева ты будешь получать 5$\n\t-За раз ты можешь унести от 30 до 50кг дерева");
			ShowPlayerDialog(playerid,9, DIALOG_STYLE_MSGBOX,"{6699FF}Работа | {FFFFFF}Лесоруб", string, "Согласен", "Не согласен");
		}
		else ShowPlayerDialog(playerid, 9, DIALOG_STYLE_MSGBOX, "{6699FF}Работа | {FFFFFF}Лесоруб", "{FFFFFF}Вы хотите собрать свои честно заработаные деньги?\nВы так же можете продолжать работу", "Заберу", "Продолжу");
	}
   	if(pickupid == WoodJoin[1])//лес
	{
	    new string[520];
	    SetPlayerCameraPos(playerid, -566.9392, -121.1201, 215.7434);
		SetPlayerCameraLookAt(playerid, -565.9352, -121.1014, 212.1335, 1);
		TogglePlayerControllable(playerid, 0);
		format(string, sizeof(string), "{FFFFFF}Добро пожаловать на лесопилку штата {6699FF}\n{FFFFFF}Тут вы можете заработать денег.\nЛесопилка одна из важных работ нашего штат.\nБез нашей древесины завод не сможет производить продукты.\nБез наших деревяных рукоядог завод по производству оружия не сможет выпускать оружие.\nРаботать на лесопилке может любой и в любое время суток.\nЦена за 1 кг древесины 3$.");
		ShowPlayerDialog(playerid, 11, DIALOG_STYLE_MSGBOX, "{6699FF}Работа | {FFFFFF}Лесоруб | Информация", string, "Ок", "");
	}
Далее в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
	//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=лес
		case 9:
		{
		    if(response)
		    {
		        if(WoodJoins[playerid] == false)
		        {
		            SetPlayerAttachedObject(playerid, 1, 341, 6, 0.0000, 0.0000, 0.0000, 0.00, 0.00, 0.00, 1.00, 1.00, 1.00);
		            SetPlayerSkin(playerid, 16);
		            WoodJoins[playerid] = true;
		            ApplyAnimation(playerid, "CARRY", "liftup", 4.1, 0, 0, 0, 0, 0);
	    			ClearAnimations(playerid);
	    			WoodPay[playerid] = 0;
					switch(random(16))
					{
					    case 0: WoodCP[playerid] = CreateDynamicCP(-558.3461,-96.4911,63.7808, 1, 0, 0, playerid, 300);
					    case 1: WoodCP[playerid] = CreateDynamicCP(-566.5664,-96.6741,64.1709, 1, 0, 0, playerid, 300);
					    case 2: WoodCP[playerid] = CreateDynamicCP(-575.8914,-97.3578,64.9064, 1, 0, 0, playerid, 300);
					    case 3: WoodCP[playerid] = CreateDynamicCP(-576.9098,-106.0395,66.4642, 1, 0, 0, playerid, 300);
					    case 4: WoodCP[playerid] = CreateDynamicCP(-564.8276,-106.5039,65.5906, 1, 0, 0, playerid, 300);
					    case 5: WoodCP[playerid] = CreateDynamicCP(-558.4440,-69.3001,63.9709, 1, 0, 0, playerid, 300);
					    case 6: WoodCP[playerid] = CreateDynamicCP(-568.1744,-69.3540,64.3700, 1, 0, 0, playerid, 300);
					    case 7: WoodCP[playerid] = CreateDynamicCP(-570.5004,-51.7872,64.6015, 1, 0, 0, playerid, 300);
					    case 8: WoodCP[playerid] = CreateDynamicCP(-557.1951,-52.1161,64.0528, 1, 0, 0, playerid, 300);
					    case 9: WoodCP[playerid] = CreateDynamicCP(-488.8452,-79.4848,61.0273, 1, 0, 0, playerid, 300);
					    case 10: WoodCP[playerid] = CreateDynamicCP(-489.8865,-91.3937,60.9827, 1, 0, 0, playerid, 300);
					    case 11: WoodCP[playerid] = CreateDynamicCP(-493.7771,-104.7237,63.0327, 1, 0, 0, playerid, 300);
					    case 12: WoodCP[playerid] = CreateDynamicCP(-481.7454,-105.2177,62.5931, 1, 0, 0, playerid, 300);
					    case 13: WoodCP[playerid] = CreateDynamicCP(-469.1781,-114.8248,63.5512, 1, 0, 0, playerid, 300);
						case 14: WoodCP[playerid] = CreateDynamicCP(-481.8251,-114.6299,64.0558, 1, 0, 0, playerid, 300);
						case 15: WoodCP[playerid] = CreateDynamicCP(-484.4761,-122.5868,65.8577, 1, 0, 0, playerid, 300);
						case 16: WoodCP[playerid] = CreateDynamicCP(-470.0460,-123.6368,65.5081, 1, 0, 0, playerid, 300);
					}
		        }
		        else
		        {
		            new string[128];
		            SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
		            if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
		            WoodJoins[playerid] = false;
		            SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
		            DestroyDynamicCP(WoodCP[playerid]),DestroyDynamicCP(WoodCP[playerid]);
		            format(string, sizeof(string), "Вы закончили рабочий день.\nВсего вы пренисли {FFFFFF}%d кг{33AA33} древесины. Ваш заработок {FFFFFF}%d$", WoodPay[playerid], WoodPay[playerid]*3);
		            SendClientMessage(playerid, COLOR_GREEN, string);
		            GivePlayerMoney(playerid, WoodPay[playerid]*3);
		            format(string, sizeof(string), "~g~+%d$", WoodPay[playerid]*3);
		            GameTextForPlayer(playerid, string, 5000, 1);

		        }
		    }
		}
case 11: if(response) SetCameraBehindPlayer(playerid),TogglePlayerControllable(playerid, 1);
В конец мода
PHP:
//лес
forward Joins(playerid);
public Joins(playerid)
{
    new JoinsTimer[MAX_PLAYERS];
	if(WoodJoins[playerid] == true)
	{
	    ApplyAnimation(playerid, "CARRY", "liftup", 4.1, 0, 0, 0, 0, 0);
    	JoinsTimer[playerid] = SetTimerEx("JoinSklad",1500,false,"i", playerid);
    }
	return true;
}
forward JoinSklad(playerid);
public JoinSklad(playerid)
{
	if(WoodJoins[playerid] == true)
	{
		ClearAnimations(playerid);
	    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
	    SetPlayerAttachedObject(playerid, 1, 1463, 5, 0.0670, 0.1399, 0.2609, -82.99, -2.09, -70.60, 0.43, 0.29, 0.41);
	    WoodCP1[playerid] = CreateDynamicCP(-536.3078,-74.1449,62.8594,2,0,0,playerid,300);
	}
	return true;
}
В public OnPlayerEnterCheckpoint(playerid)// Наступление игроком на Чекпоинт
PHP:
new JoinsTimer[MAX_PLAYERS];
	if(IsPlayerInRangeOfPoint(playerid, 1, -558.3461,-96.4911,63.7808) ||
 	IsPlayerInRangeOfPoint(playerid, 1,-566.5664,-96.6741,64.1709) ||
 	IsPlayerInRangeOfPoint(playerid, 1,-575.8914,-97.3578,64.9064) ||
 	IsPlayerInRangeOfPoint(playerid, 1,-576.9098,-106.0395,66.4642) ||
 	IsPlayerInRangeOfPoint(playerid, 1,-564.8276,-106.5039,65.5906) ||
 	IsPlayerInRangeOfPoint(playerid, 1,-558.4440,-69.3001,63.9709) ||
 	IsPlayerInRangeOfPoint(playerid, 1,-568.1744,-69.3540,64.3700) ||
 	IsPlayerInRangeOfPoint(playerid, 1,-570.5004,-51.7872,64.6015) ||
	IsPlayerInRangeOfPoint(playerid, 1,-557.1951,-52.1161,64.0528) ||
	IsPlayerInRangeOfPoint(playerid, 1,-488.8452,-79.4848,61.0273) ||
	IsPlayerInRangeOfPoint(playerid, 1,-489.8865,-91.3937,60.9827) ||
	IsPlayerInRangeOfPoint(playerid, 1,-493.7771,-104.7237,63.0327) ||
	IsPlayerInRangeOfPoint(playerid, 1,-481.7454,-105.2177,62.5931) ||
	IsPlayerInRangeOfPoint(playerid, 1,-484.4761,-122.5868,65.8577) ||
	IsPlayerInRangeOfPoint(playerid, 1,-470.0460,-123.6368,65.5081) ||
	IsPlayerInRangeOfPoint(playerid, 1,-469.1781,-114.8248,63.5512))
	{
	    ApplyAnimation(playerid, "CHAINSAW", "WEAPON_csaw", 4.1, 1, 0, 0, 0, 0);
	    DestroyDynamicCP(WoodCP[playerid]);
	    JoinsTimer[playerid] = SetTimerEx("Joins",9800,false,"i",playerid);
	}
    if(IsPlayerInRangeOfPoint(playerid, 2, -536.3078,-74.1449,62.8594))
	{
	    new string[128], woodkol[MAX_PLAYERS];
	    ApplyAnimation(playerid, "CARRY", "PUTDWN", 4.1, 0, 1, 1, 0, 0, 1);
	    SetPlayerAttachedObject(playerid, 1, 341, 6, 0.0000, 0.0000, 0.0000, 0.00, 0.00, 0.00, 1.00, 1.00, 1.00);
	    DestroyDynamicCP(WoodCP1[playerid]);
	    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
	    woodkol[playerid] = RandomWood[random(sizeof(RandomWood))][0];
	    WoodPay[playerid] += woodkol[playerid];
		format(string, sizeof(string), "Вы пренисли {FFFFFF}%d кг {33AA33}древесины. Всего вы пренисли {FFFFFF}%d кг {33AA33}древесины.",woodkol[playerid], WoodPay[playerid]);
		SendClientMessage(playerid, COLOR_GREEN, string);
		switch(random(16))
		{
			case 0: WoodCP[playerid] = CreateDynamicCP(-558.3461,-96.4911,63.7808, 1, 0, 0, playerid, 300);
 			case 1: WoodCP[playerid] = CreateDynamicCP(-566.5664,-96.6741,64.1709, 1, 0, 0, playerid, 300);
 			case 2: WoodCP[playerid] = CreateDynamicCP(-575.8914,-97.3578,64.9064, 1, 0, 0, playerid, 300);
 			case 3: WoodCP[playerid] = CreateDynamicCP(-576.9098,-106.0395,66.4642, 1, 0, 0, playerid, 300);
 			case 4: WoodCP[playerid] = CreateDynamicCP(-564.8276,-106.5039,65.5906, 1, 0, 0, playerid, 300);
 			case 5: WoodCP[playerid] = CreateDynamicCP(-558.4440,-69.3001,63.9709, 1, 0, 0, playerid, 300);
 			case 6: WoodCP[playerid] = CreateDynamicCP(-568.1744,-69.3540,64.3700, 1, 0, 0, playerid, 300);
 			case 7: WoodCP[playerid] = CreateDynamicCP(-570.5004,-51.7872,64.6015, 1, 0, 0, playerid, 300);
 			case 8: WoodCP[playerid] = CreateDynamicCP(-557.1951,-52.1161,64.0528, 1, 0, 0, playerid, 300);
 			case 9: WoodCP[playerid] = CreateDynamicCP(-488.8452,-79.4848,61.0273, 1, 0, 0, playerid, 300);
 			case 10: WoodCP[playerid] = CreateDynamicCP(-489.8865,-91.3937,60.9827, 1, 0, 0, playerid, 300);
 			case 11: WoodCP[playerid] = CreateDynamicCP(-493.7771,-104.7237,63.0327, 1, 0, 0, playerid, 300);
 			case 12: WoodCP[playerid] = CreateDynamicCP(-481.7454,-105.2177,62.5931, 1, 0, 0, playerid, 300);
 			case 13: WoodCP[playerid] = CreateDynamicCP(-469.1781,-114.8248,63.5512, 1, 0, 0, playerid, 300);
			case 14: WoodCP[playerid] = CreateDynamicCP(-481.8251,-114.6299,64.0558, 1, 0, 0, playerid, 300);
			case 15: WoodCP[playerid] = CreateDynamicCP(-484.4761,-122.5868,65.8577, 1, 0, 0, playerid, 300);
			case 16: WoodCP[playerid] = CreateDynamicCP(-470.0460,-123.6368,65.5081, 1, 0, 0, playerid, 300);
		}
	}
В public OnPlayerConnect(playerid)//Вызывается когда игрок подключается к серверу.
PHP:
WoodJoins[playerid] = false;
В Верху мода
PHP:
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
/enum tTeleport
{
    tID,//ид в базе
    tModel,//модель
    Float:tX,//Координата пикапа
    Float:tY,//Координата пикапа
    Float:tZ,//Координата пикапа
    tVW,//ид мира пикапа
    tIntor,//ид интора пикапа
    Float:txX,//Координата телепорта
    Float:txY,//Координата телепорта
    Float:txZ,//Координата телепорта
    txVW,//ид мира телепорта
    txIntor,//ид мира телепорта
    tPickup//используется для создания пикапа
}
new TeleportInfo[MAX_TELEPORT][tTeleport];
new TOTAL_TELEPORT = 0;*/
Если будут проблемы пишите , а то и в прям мог ошибиться​
Могу вырезать работу шахтёра если кому надо с того же мода.




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