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

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

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

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

[Вопрос] Кто поможет исправить баг с /refill ???

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

Павел57rus

Умник
Кароче у меня проблема такая...1.Механик может брать контракт у не купленной заправки. 2.Когда мех вводит команду /refill там пишет "/refill ид цена" но всё равно цена потом автоматичиски делится пополам допустим бенз на заправке стоит 1500 он заправит за 750 а мех вводил 1к + на заправку не приходят деньги когда мех хаправляет кого то всё эти 750вирт идут ему...+ на заправке нету продуктов(бенза) но мех всё равно всех может заливать...Вот команды
PHP:
else if(strcmp(cmd, "/refill", true) == 0)
	{
		if(PlayerInfo[playerid][pJob] != 2) return    SendClientMessage(playerid, COLOR_GREY, "Вы не механик!");
		if(gcontract[playerid] != 1) return SendClientMessage(playerid, COLOR_GREY, "У Вас не подписан контракт с заправкой!");
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /refill [id] [цена]");
		new playa;
		new money;
		playa = ReturnUser(tmp);
		tmp = strtok(cmdtext, idx);
		money = cenabenza[playerid];
		//money = strval(tmp);
		if(money < 1 || money > 5000) { SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 1, и больше 5000!"); return 1; }
		if(IsPlayerConnected(playa))
		{
			if(playa != INVALID_PLAYER_ID)
			{
				if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 525) return    SendClientMessage(playerid, COLOR_GREY, "Вы не на эвакуаторе!");
				if(ProxDetectorS(8.0, playerid, playa)&& IsPlayerInAnyVehicle(playa))
				{
					if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы указали свой ID!"); return 1; }
					GetPlayerName(playa, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), "Вы предложили %s заправить его машину за %d рублей.",giveplayer,cenabenza[playerid]);
					SendClientMessage(playerid, 0x6495EDFF, string);
					format(string, sizeof(string), "Механик %s предлагает заправить вашу машину за %d рублей.(Введите /use refill), чтобы потвердить заправку.",sendername,cenabenza[playerid]);
					SendClientMessage(playa, 0x6495EDFF, string);
					RefillOffer[playa] = playerid;
					RefillPrice[playa] = cenabenza[playerid];
				}
				else
				{
					SendClientMessage(playerid, COLOR_GREY, "Он не в машине!");
				}
			}
		}
		else
		{
			SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Игрок не найден!");
		}
		return 1;
	}
PHP:
else if(strcmp(cmdtext, "/gcontract", true) == 0)
	{
		new Veh = GetPlayerVehicleID(playerid);
		if(PlayerInfo[playerid][pJob] == 2 && PlayerInfo[playerid][pMember] == 0)
		{
			if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 525) return SendClientMessage(playerid,COLOR_GREY,"Вы не в машине механика!");
			if(gcontract[playerid] == 1)
			{
				Delete3DTextLabel(Meh3d[Veh]);
				cenabenza[playerid] = 0;
				gcontract[playerid] = 0;
				Mechanics -= 1;
				SendClientMessage(playerid,COLOR_WHITE,"Контракт с заправкой рассторгнут!");
				return 1;
			}
			for(new b = 0; b < sizeof(SBizzInfo); b++)
			{
				if(PlayerToPoint(10.0, playerid, SBizzInfo[b][sbEntranceX], SBizzInfo[b][sbEntranceY], SBizzInfo[b][sbEntranceZ]))
				{
					//if(SBizzInfo[b][sbOwner] == 0) return SendClientMessage(playerid,COLOR_GRAD1,"У заправки нет Владельца!!");
					Delete3DTextLabel(Meh3d[Veh]);
					gcontract[playerid] =1;
					cenabenza[playerid] = SBizzInfo[b][sbPriceProd] / 2;
					format(string, sizeof(string), "<< 200 литров\nЦена: %d рублей >>", cenabenza[playerid]);
					Meh3d[Veh] = Create3DTextLabel(string, COLOR_RED, 9999.0, 9999.0, 9999.0, 30.0, 0, 1);
					Attach3DTextLabelToVehicle(Meh3d[Veh], Veh, 0, 0, 1.5);
					SendClientMessage(playerid,COLOR_GREEN,"Вы подписали контракт с заправкой");
					Mechanics += 1;
				}
			}
		}
		return 1;
	}
в /gcontract я думаю из за этой строки,//if(SBizzInfo[sbOwner] == 0) return SendClientMessage(playerid,COLOR_GRAD1,"У заправки нет Владельца!!"); ну хз лучше узнаю у вас...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу