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

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

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

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

Что-то не так с командой /drugs

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

Zeka_Peka228

Умник
Всем привет, решил сделать два типа наркотиков.
PHP:
pDrugs[0] - это первый тип
pDrugs[1]  - это второй тип
Сделал сохранение и загрузку их, и компилирует без единого варнинга и ошибки, но вот проблема..
Когда использую команду /drugs (я её модернизировал, подстроив под свою систему):
PHP:
if(strcmp(cmd, "/drugs", true) == 0)
	{
		if(Logged[playerid] == true)
		{
		    if(PlayerInfo[playerid][pMember] >= 6 && PlayerInfo[playerid][pMember] <= 9 || PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pMember] == 14)
		    {
				if(GetPVarInt(playerid,"DrugsEffect") == 1) return SendClientMessage(playerid,COLOR_GRAD2, "Нельзя употре***ть наркотики слишком часто...");
				new gramm;
				tmp = strtok(cmdtext, idx);
				gramm = strval(tmp);
				if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /drugs [тип наркотиков(1-марихуанна, 2-спайс) [грамм]");
				new typedrugs;
				tmp = strtok(cmdtext, idx);
				typedrugs = strval(tmp);
				if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /drugs [тип наркотиков(1-марихуанна, 2-спайс) [грамм]");
				if(gramm <= 0) return SendClientMessage(playerid,COLOR_GRAD2, "Неверное кол-во грамм.");
				if(gramm > 20) return SendClientMessage(playerid,COLOR_GRAD2, "Не более 10 грамм за раз.");
				if(typedrugs <= 0 && typedrugs >= 3) return SendClientMessage(playerid,COLOR_GRAD2, "Неверный номер наркотиков.");
				if(PlayerInfo[playerid][pDrugs][0] < gramm && typedrugs == 1) return SendClientMessage(playerid,COLOR_GRAD2, "У Вас нет столько грамм марихуанны/спайса.");
				if(PlayerInfo[playerid][pDrugs][1] < gramm && typedrugs == 2) return SendClientMessage(playerid,COLOR_GRAD2, "У Вас нет столько грамм спайса.");
				if(gramm >= 1 && gramm <= 3 && typedrugs == 1)
				{
					if(PlayerInfo[playerid][pHealth] < 100.0) PlayerInfo[playerid][pHealth] += 5.0;
					if(PlayerInfo[playerid][pHealth] > 100.0) PlayerInfo[playerid][pHealth] = 100.0;
					SetTimerEx("DrugsEffect", 6000, false, "i", playerid);
					SetPlayerDrunkLevel(playerid, 3000);
				}
				if(gramm >= 4 && gramm <= 6 && typedrugs == 1)
				{
					if(PlayerInfo[playerid][pHealth] < 100.0) PlayerInfo[playerid][pHealth] += 20.0;
					if(PlayerInfo[playerid][pHealth] > 100.0) PlayerInfo[playerid][pHealth] = 100.0;
					SetTimerEx("DrugsEffect", 12000, false, "i", playerid);
					SetPlayerDrunkLevel(playerid, 6000);
				}
				if(gramm >= 7 && gramm <= 10 && typedrugs == 1)
				{
					if(PlayerInfo[playerid][pHealth] < 100.0) PlayerInfo[playerid][pHealth] += 35.0;
					if(PlayerInfo[playerid][pHealth] > 100.0) PlayerInfo[playerid][pHealth] = 100.0;
					SetTimerEx("DrugsEffect", 20000, false, "i", playerid);
					SetPlayerDrunkLevel(playerid, 9000);
				}
				if(gramm >= 11 && gramm <= 15 && typedrugs == 1)
				{
					if(PlayerInfo[playerid][pHealth] < 100.0) PlayerInfo[playerid][pHealth] += 50.0;
					if(PlayerInfo[playerid][pHealth] > 100.0) PlayerInfo[playerid][pHealth] = 100.0;
					SetTimerEx("DrugsEffect", 30000, false, "i", playerid);
					SetPlayerDrunkLevel(playerid, 15000);
				}
				if(gramm >= 16 && gramm <= 20 && typedrugs == 1)
				{
					if(PlayerInfo[playerid][pHealth] < 100.0) PlayerInfo[playerid][pHealth] += 70.0;
					if(PlayerInfo[playerid][pHealth] > 100.0) PlayerInfo[playerid][pHealth] = 100.0;
					SetTimerEx("DrugsEffect", 50000, false, "i", playerid);
					SetPlayerDrunkLevel(playerid, 30000);
				}
				if(gramm >= 1 && gramm <= 3 && typedrugs == 2)
				{
					if(PlayerInfo[playerid][pHealth] < 100.0) PlayerInfo[playerid][pHealth] += 5.0;
					if(PlayerInfo[playerid][pHealth] > 100.0) PlayerInfo[playerid][pHealth] = 100.0;
					SetTimerEx("DrugsEffect", 6000, false, "i", playerid);
					SetPlayerDrunkLevel(playerid, 3000);
				}
				if(gramm >= 4 && gramm <= 6 && typedrugs == 2)
				{
					if(PlayerInfo[playerid][pHealth] < 100.0) PlayerInfo[playerid][pHealth] += 20.0;
					if(PlayerInfo[playerid][pHealth] > 100.0) PlayerInfo[playerid][pHealth] = 100.0;
					SetTimerEx("DrugsEffect", 12000, false, "i", playerid);
					SetPlayerDrunkLevel(playerid, 6000);
				}
				if(gramm >= 7 && gramm <= 10 && typedrugs == 2)
				{
					if(PlayerInfo[playerid][pHealth] < 100.0) PlayerInfo[playerid][pHealth] += 35.0;
					if(PlayerInfo[playerid][pHealth] > 100.0) PlayerInfo[playerid][pHealth] = 100.0;
					SetTimerEx("DrugsEffect", 20000, false, "i", playerid);
					SetPlayerDrunkLevel(playerid, 9000);
				}
				if(gramm >= 11 && gramm <= 15 && typedrugs == 2)
				{
					if(PlayerInfo[playerid][pHealth] < 100.0) PlayerInfo[playerid][pHealth] += 50.0;
					if(PlayerInfo[playerid][pHealth] > 100.0) PlayerInfo[playerid][pHealth] = 100.0;
					SetTimerEx("DrugsEffect", 30000, false, "i", playerid);
					SetPlayerDrunkLevel(playerid, 15000);
				}
				if(gramm >= 16 && gramm <= 20 && typedrugs == 2)
				{
					if(PlayerInfo[playerid][pHealth] < 100.0) PlayerInfo[playerid][pHealth] += 70.0;
					if(PlayerInfo[playerid][pHealth] > 100.0) PlayerInfo[playerid][pHealth] = 100.0;
					SetTimerEx("DrugsEffect", 50000, false, "i", playerid);
					SetPlayerDrunkLevel(playerid, 30000);
				}
				if(typedrugs == 1) PlayerInfo[playerid][pDrugs][0] -= gramm;
				if(typedrugs == 2) PlayerInfo[playerid][pDrugs][1] -= gramm;
				if(PlayerInfo[playerid][pSex] == 1 && typedrugs == 1) format(string, sizeof(string), "%s употребил %dг марихуанны", PlayerInfo[playerid][pName],gramm);
				if(PlayerInfo[playerid][pSex] == 1 && typedrugs == 2) format(string, sizeof(string), "%s употребил %dг спайса", PlayerInfo[playerid][pName],gramm);
				if(PlayerInfo[playerid][pSex] == 2 && typedrugs == 1) format(string, sizeof(string), "%s употребила %dг марихуанны", PlayerInfo[playerid][pName],gramm);
				if(PlayerInfo[playerid][pSex] == 2 && typedrugs == 2) format(string, sizeof(string), "%s употребила %dг марихуанны", PlayerInfo[playerid][pName],gramm);
				StatusMessage(playerid,string,string);
				if(typedrugs == 1) format(string, sizeof(string), "~r~-%i gramm marih.", gramm);
				if(typedrugs == 2) format(string, sizeof(string), "~r~-%i gramm spice", gramm);
				SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
				GameTextForPlayer(playerid, string, 2000, 1);
				SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
				SetPVarInt(playerid,"DrugsEffect",1);
				}
				}
		return true;
	}
Вот в чем проблема собсна:
Когда юзаю /drugs 1 10 (ну крч марихуану (первый тип)), то мне дает сигарету в чат идет пустое SendClientMessage и никакого эффекта не дает моему персонажу(хотя по коду должно давать hp и опьянение). Также не идет GameText. Но что самое интересное, у меня по статистике нет вообще ниодного грамма первого типа наркотиков, но он их все равно пропускает.
А также после того как дало сигарету эту - после ввода /drugs (просто /drugs без никаких значений) пишет "Нельзя употре***ть слишком часто")

Кто поможет с меня ОГРОМНЫЙ +

---------- Сообщение добавлено в 14:08 ---------- Предыдущее сообщение добавлено в 13:58 ----------

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