Вопросы

Когда я начинаю работать шахтёром подходу на чекпоинт и ничего не происходит.

case CP_ACTION_TYPE_MINER_JOB_PUT:
        {
                if(GetPlayerTempJob(playerid) == TEMP_JOB_MINER)
                {
                        ApplyAnimation(playerid, "BASEBALL", "Bat_4", 4.1, 1, 1, 1, 1, 0);
                        DisablePlayerCheckpoint(playerid);
                        SetTimerEx("GivePlayerOre", 9800, false, "i", playerid);
                }
        }
        case CP_ACTION_TYPE_MINER_JOB_TAKE:
        {
                if(GetPlayerTempJob(playerid) == TEMP_JOB_MINER)
                {
                        RemovePlayerAttachedObject(playerid,2);// забрали тачку
                         RemovePlayerAttachedObject(playerid,3);// забрали камень
                        new pay = 27 + random(33);
                        PayJob[playerid] += pay;
                        SetPlayerAttachedObject(playerid, 1, 18634, 6, 0.075000,0.002999,0.154000, 98.399978,-69.600013,1.100000);
                        static const fmt_msg[] = "Вы доставили в кузницу {FF9900}%d кг {66CC33}руды.";
                        new string[sizeof(fmt_msg)+(-2+3)];
                        format(string, sizeof(string), fmt_msg, pay);
                        Send(playerid, COLOR_OSNOV, string);
                        static const fmt_msg1[] = "Всего принесено: {FF9900}%d кг {0099FF}руды";
                        new string1[sizeof(fmt_msg1)+(-2+3)];
                        format(string1, sizeof(string1), fmt_msg1, PayJob[playerid]);
                        Send(playerid, COLOR_BLUE, string1);
                        ClearAnimations(playerid);
                        TogglePlayerControllable(playerid,1);
                        DeletePVar(playerid, "Telega");
                        new mcheckShahta = random(3);//Кол-во чекпоинтов
                        {
                                if(mcheckShahta == 0) SetPlayerCheckpoint(playerid, 2316.0361,1649.5638,-37.7585-1,3.0, CP_ACTION_TYPE_MINER_JOB_PUT);
                                if(mcheckShahta == 1) SetPlayerCheckpoint(playerid, 2324.9434,1660.3811,-37.7068-1,3.0, CP_ACTION_TYPE_MINER_JOB_PUT);
                                if(mcheckShahta == 2) SetPlayerCheckpoint(playerid, 2331.0259,1654.2983,-37.6525-1,3.0, CP_ACTION_TYPE_MINER_JOB_PUT);
                        }
                }
        }
case DIALOG_TEMP_JOB_MINER_START:
{
        if(response)
        {
                new job = GetPlayerTempJob(playerid);
                if(job == TEMP_JOB_NONE)
                {
                        Send(playerid, COLOR_BLUE, "Вы начали работу шахтёра!");
                        Send(playerid, COLOR_YELLOW, "Местонахождение руды отмечено на карте красным чекпоинтом.");
                        Send(playerid, COLOR_YELLOW, "Добытое сырьё относите в кузницу.");
                        Send(playerid, COLOR_YELLOW, "Если Вы уйдёте далеко от места работы, то Ваша зарплата анулируется.");
                        player_info[playerid][JOB] = TEMP_JOB_MINER;
                        PayJob[playerid] = 0;
                        SetPlayerSkin(playerid, 16);
                        SetPlayerAttachedObject(playerid, 1, 18634, 6, 0.075000,0.002999,0.154000, 98.399978,-69.600013,1.100000);
                         RemovePlayerAttachedObject(playerid,2);// забрали тачку
                RemovePlayerAttachedObject(playerid,3);// забрали камень
                ClearAnimations(playerid);
                TogglePlayerControllable(playerid,1);
                        new mcheckShahta = random(3);//Кол-во чекпоинтов
                        {
                                if(mcheckShahta == 0) SetPlayerCheckpoint(playerid, 2316.0361,1649.5638,-37.7585-1,3.0, CP_ACTION_TYPE_MINER_JOB_PUT);
                                if(mcheckShahta == 1) SetPlayerCheckpoint(playerid, 2324.9434,1660.3811,-37.7068-1,3.0, CP_ACTION_TYPE_MINER_JOB_PUT);
                                if(mcheckShahta == 2) SetPlayerCheckpoint(playerid, 2331.0259,1654.2983,-37.6525-1,3.0, CP_ACTION_TYPE_MINER_JOB_PUT);
                        }
                }

 

Поделиться сообщением


Ссылка на сообщение

9 ответов на этот вопрос

  • 0

@Gaiduk как начинается OnPlayerEnterCheckpoint и как перехвачена SetPlayerCheckpoint выкладывайте

Поделиться сообщением


Ссылка на сообщение
  • 0

 

Спойлер

public OnPlayerEnterCheckpoint(playerid)
{
	new action_type = GetPlayerCPInfo(playerid, CP_ACTION_TYPE);
	if(IsPlayerInCheckpoint(playerid))
	{
		switch(action_type)
		{
			case CP_ACTION_TYPE_LOADER_JOB_PUT:
			{
				if(GetPlayerTempJob(playerid) == TEAM_JOB_LOADER)
				{
					PayJob[playerid]++;
					
					ClearAnimations(playerid);
					RemovePlayerAttachedObject(playerid,1);
					DisablePlayerCheckpoint(playerid);
					
					static const fmt_msg[] = "Вы принесли ящик. Всего перенесено: {FF9900}%d {136711}ящиков.";
					new string[sizeof(fmt_msg)+(-2+3)];
					format(string, sizeof(string), fmt_msg, PayJob[playerid]);
					Send(playerid, 0x136711FF, string);
					
					SetPlayerCheckpoint(playerid, 2350.9131,-258.1269,2.7890, 2.0, CP_ACTION_TYPE_LOADER_JOB_TAKE);
					
					DeletePVar(playerid, "gruz_load");
				}
			}
			case CP_ACTION_TYPE_LOADER_JOB_TAKE:
			{
				if(GetPlayerTempJob(playerid) == TEAM_JOB_LOADER)
				{
					SetPlayerCheckpoint(playerid, 2322.2651,-264.2405,1.5128, 1.5, CP_ACTION_TYPE_LOADER_JOB_PUT);
					ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1);
					SetPlayerAttachedObject(playerid, 1 ,3052, 1,0.11,0.36,0.0,0.0,90.0);
					SetPVarInt(playerid, "gruz_load", 1);
				}
			}
			case CP_ACTION_TYPE_MINER_JOB_PUT:
			{
				if(GetPlayerTempJob(playerid) == TEMP_JOB_MINER)
				{
					ApplyAnimation(playerid, "BASEBALL", "Bat_4", 4.1, 1, 1, 1, 1, 0);
					DisablePlayerCheckpoint(playerid);
					SetTimerEx("GivePlayerOre", 9800, false, "i", playerid);
				}
			}
			case CP_ACTION_TYPE_MINER_JOB_TAKE:
			{
				if(GetPlayerTempJob(playerid) == TEMP_JOB_MINER)
				{
					RemovePlayerAttachedObject(playerid,2);// забрали тачку
 					RemovePlayerAttachedObject(playerid,3);// забрали камень
					new pay = 27 + random(33);
					PayJob[playerid] += pay;
					SetPlayerAttachedObject(playerid, 1, 18634, 6, 0.075000,0.002999,0.154000, 98.399978,-69.600013,1.100000);
					static const fmt_msg[] = "Вы доставили в кузницу {FF9900}%d кг {66CC33}руды.";
					new string[sizeof(fmt_msg)+(-2+3)];
					format(string, sizeof(string), fmt_msg, pay);
					Send(playerid, COLOR_OSNOV, string);
					static const fmt_msg1[] = "Всего принесено: {FF9900}%d кг {0099FF}руды";
					new string1[sizeof(fmt_msg1)+(-2+3)];
					format(string1, sizeof(string1), fmt_msg1, PayJob[playerid]);
					Send(playerid, COLOR_BLUE, string1);
					ClearAnimations(playerid);
					TogglePlayerControllable(playerid,1);
					DeletePVar(playerid, "Telega");
					new mcheckShahta = random(3);//Кол-во чекпоинтов
					{
						if(mcheckShahta == 0) SetPlayerCheckpoint(playerid, 2316.0361,1649.5638,-37.7585-1,3.0, CP_ACTION_TYPE_MINER_JOB_PUT);
						if(mcheckShahta == 1) SetPlayerCheckpoint(playerid, 2324.9434,1660.3811,-37.7068-1,3.0, CP_ACTION_TYPE_MINER_JOB_PUT);
						if(mcheckShahta == 2) SetPlayerCheckpoint(playerid, 2331.0259,1654.2983,-37.6525-1,3.0, CP_ACTION_TYPE_MINER_JOB_PUT);
					}
				}
			}
			case CP_ACTION_TYPE_DIVER_JOB:
			{	
				DisablePlayerCheckpoint(playerid);
				RemovePlayerAttachedObject(playerid,1);
				RemovePlayerAttachedObject(playerid,2);
				RemovePlayerAttachedObject(playerid,8);
				
				if(GetPVarInt(playerid, "VodolazMeshok1") == 1) PayJob[playerid]++;
				if(GetPVarInt(playerid, "VodolazMeshok2") == 2) PayJob[playerid]++;
				
				DeletePVar(playerid, "VodolazMeshok1");
				DeletePVar(playerid, "VodolazMeshok2");
				DeletePVar(playerid, "VodolazGoToSklad");
				
				SendClientMessage(playerid, COLOR_GREEN, "Вы принесли груз из утанувшего здания.");
				SendClientMessage(playerid, COLOR_GREEN, "Теперь вы можете поднять ещё груз, либо завершить работу.");
				
				static const fmt_msg1[] = "Вы подняли %d ящиков.";
				new string1[sizeof(fmt_msg1)+(-2+3)];
				format(string1, sizeof(string1), fmt_msg1, PayJob[playerid]);
				Send(playerid, COLOR_BLUE, string1);
			}
			case CP_ACTION_TYPE_TRUCKER_TAKE:
			{
				DisablePlayerCheckpoint(playerid);
				SetPlayerCheckpoint(playerid, 2971.2620,2214.7400,6.8247, 3.0, CP_ACTION_TYPE_TRUCKER_PUT);
				Send(playerid, COLOR_GREEN, "Вы загрузились, отправляйтесь на разгрузку.");
			}
			case CP_ACTION_TYPE_TRUCKER_PUT:
			{
				DisablePlayerCheckpoint(playerid);
				player_info[playerid][TSKILL]++;
				
				if(player_info[playerid][TSKILL] == 30)
				{
					player_info[playerid][TLEVEL]++;
					player_info[playerid][TPAY] += 200;
					player_info[playerid][TSKILL] = 0;
				}
				
				new string[45];
				format(string, sizeof string, "Вы доставили груз и получили %d рублей", player_info[playerid][TPAY]);
				Send(playerid, COLOR_BLUE, string);
				
				GiveMoney(playerid, player_info[playerid][TPAY], "Зарпалата дальнобойщика");
				
				static const fmt_query1[] = "UPDATE `accounts` SET `trucker` = '%d, %d, %d' WHERE `id` = '%d' LIMIT 1";
				new query1[sizeof(fmt_query1)+(-2+9)+(-2+9)+(-2+9)+(-2+9)];
				format(query1, sizeof(query1), fmt_query1, player_info[playerid][TLEVEL], player_info[playerid][TSKILL], player_info[playerid][TPAY], player_info[playerid][ID]);
				mysql_query(dbHandle, query1);
				
				SetPlayerCheckpoint(playerid, 2738.3975,-2271.2632,17.9269, 3.0, CP_ACTION_TYPE_TRUCKER_TAKE);
				
			}
		}
	}
	return 1;
}

 

 

Отредактировано пользователем MuhammadPawn
Причина: Убрал код под спойлер

Поделиться сообщением


Ссылка на сообщение
  • 0

@Gaiduk в паблик, после 

2 часа назад, Gaiduk сказал:

case CP_ACTION_TYPE_MINER_JOB_PUT: {

и 

2 часа назад, Gaiduk сказал:

case CP_ACTION_TYPE_MINER_JOB_TAKE: {

добавьте: 

printf("%d", action_type);

Затем, опять проделайте те же действия, которые описали в первом посте и скиньте логи. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST, а как скинуть логи ?

Поделиться сообщением


Ссылка на сообщение
  • 0

@Gaiduk зайти в server_log.txt зайти и оттуда скопировать содержимое

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST, 

*** Streamer Plugin v2.8.2 by Incognito loaded ***

[18:51:21]   Loaded.
[18:51:21]  Loading plugin: CRP
[18:51:21] 

[18:51:21] ______________________________________

[18:51:21]  Convert Rus To Pwn v0.1.1 loaded
[18:51:21] ______________________________________

[18:51:21]  By: Fro (c) Copyright <TBG> 2009-2011
[18:51:21] ______________________________________

[18:51:21]   Loaded.
[18:51:21]  Loaded 7 plugins.

[18:51:21] 
[18:51:21] Filterscripts
[18:51:21] ---------------
[18:51:21]   Loaded 0 filterscripts.

[18:51:22] Подключение к базе данных MYSQL успешно
[18:51:22] Фракционные автомобили загружены. Номер посленего авто: 13
[18:51:22] Number of vehicle models: 12
[18:51:22] LOAD HOUSES: 0
[18:51:22] LOAD BUSINESS: 5
[18:51:22] [debug] Run time error 4: "Array index out of bounds"
[18:51:22] [debug]  Attempted to read/write array element at index 2 in array of size 2
[18:51:22] [debug] AMX backtrace:
[18:51:22] [debug] #0 00285ac4 in public LoadApartments () at C:\Users\Windows\Desktop\ATTRACT RP\gamemodes\a_rp.pwn:23235
[18:51:22] LOAD ENTERANCES: 1
[18:51:22] Загружено радаров: 0
[18:52:30] Incoming connection: 127.0.0.1:65202
[18:52:30] [join] Name_Name has joined the server (0:127.0.0.1)
[18:53:45] 4
[18:54:05] [part] Name_Name has left the server (0:1)

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST, я вам скинул, а вы меня игнорите ?

Заметка от DEST , создано

Оффтоп.
Устное предупреждение

Поделиться сообщением


Ссылка на сообщение
  • 0

@Gaiduk я ваш личный консультант? Если у меня будет время - отвечу, нет - ждите помощи от других пользователей. 

Вам здесь никто и не обязан отвечать. 

Поделиться сообщением


Ссылка на сообщение
  • 0

Помогите пожалуйста

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };