Sign in to follow this  
Followers 0
Умелец

Как проверить засажена грядка или нет?

Рекомендованные сообщения



2 posts in this topic

Доброй ночи скриптЁры, вопрос к вам, а то у меня уже голова не варит.


Делаю работу фермер, есть поле с грядками вот массив с их координатами:

 

Спойлер

new Float: farm_garden_plot[14][3] = 
{
	{-378.6715,-1377.2567,23.3667},					// Грядка 1
	{-387.2284,-1384.2168,23.6397},					// Грядка 2
	{-396.8094,-1388.1034,24.0591},					// Грядка 3
	{-412.8471,-1393.1367,23.7880},					// Грядка 4
	{-432.4252,-1398.6993,22.7377},					// Грядка 5
	{-423.2293,-1387.6077,23.4805},					// Грядка 6
	{-408.8897,-1380.5859,24.0599},					// Грядка 7
	{-395.3853,-1375.8176,24.2155},					// Грядка 8
	{-387.4225,-1366.6290,24.0371},					// Грядка 9
	{-379.4528,-1355.7389,23.7237},					// Грядка 10
	{-397.9720,-1360.5576,24.5535},					// Грядка 11
	{-405.9891,-1368.4297,24.4549},					// Грядка 12
	{-419.8964,-1376.4897,23.8372},					// Грядка 13
	{-421.8597,-1363.2914,24.1329}					// Грядка 14
};

 


И также к этим грядкам я прикрепляю 3D Text:
 

new Text3D:farm_garden_plot_id[sizeof(farm_garden_plot)];


 

Спойлер

static const text3d[] = "Грядка №%d\n\n{bebebe}Использование:{5f9ea0}'ALT'";
for (new i = 0; i < sizeof(farm_garden_plot); i++)
{
    new fmt_text3d[sizeof(text3d) - 2 + 11];    
    format(fmt_text3d, sizeof(fmt_text3d), text3d, i + 1);      
    farm_garden_plot_id[i] = CreateDynamic3DTextLabel(
        fmt_text3d,
        -1,
        farm_garden_plot[i][0], 
        farm_garden_plot[i][1],
        farm_garden_plot[i][2],
        5.0
    );
}

 

Спойлер

Screenshot_118.thumb.png.eea78d8429333862e25e012468f9f5e6.png

 

Спойлер

if(newkeys & KEY_WALK)
{
    for(new i; i < sizeof(farm_garden_plot); i++)
    {
        if(!IsPlayerInRangeOfPoint(playerid, 1.0, farm_garden_plot[i][0], farm_garden_plot[i][1], farm_garden_plot[i][2]))
            continue;
        new fmt_text3d[16 - 2 + 11];
        format(fmt_text3d, sizeof(fmt_text3d), "Это грядка: №%d", i + 1);
        SCM(playerid, -1, fmt_text3d);
        break;
    }
}

 



Как мне реализовать что бы допустим посадил я на Грядке под номером 4 что-то оно это обработало и сделал эту грядку готовой к поливу допустим а другие грядки которые не посажены не были готовы, короче несу уже бред, думаю вы меня поняли, нужна проверка каждой грядки.

Edited by Умелец

Share this post


Link to post
Share on other sites

TS Posted (edited) · Report post

РЕШЕНО:

 

new farm_plot_progress[sizeof(farm_garden_plot)];

 

Плюс проверка:
 

 

if(farm_plot_progress == 2)
  	return ErrorMessage(playerid, "Нужен полив");

 

Edited by Умелец

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Dworkin
      By Dworkin
      Привет. Мне тяжело дается понимание строк в pawn из за не динамических массивов.
      #include enum pInfo { pRangName[25] } new players[MAX_PLAYERS][pInfo]; new string[20]; main() { format(string, sizeof(string), "Салага"); printf(string); players[0][pRangName] = string; } выдает ошибку "error 047: array sizes do not match, or destination array is too small" на строку "players[0][pRangName] = string;"
      Я понимаю что в ошибке говорится что размер не совпадает, но не могу понять как это сделать в павне