В теме 6 сообщений

SlenderTop4ik
Новичок

Здравствуйте, я выкладываю команду /givegun. Что она может? Она выдает оружие игрокам. Код ниже:

Автор: SlenderTop4ik

Команду слил: SlenderTop4ik

	if(strcmp(cmd, "/givegun", true) == 0)
	{
		if(IsPlayerConnected(playerid))
		{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_YELLOW, "Помощь: /givegun [ид] [ид оружия] [патроны]");
				return 1;
			}
			new playa;
			new gun;
			new ammo;
			giveplayerid = ReturnUser(tmp);
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			playa = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			gun = strval(tmp);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_YELLOW, "Помощь: /givegun [ид] [ид оружия] [патроны]");
				SendClientMessage(playerid, COLOR_GRAD1, "1(кастет) 2(клюшка) 3(дубинка) 4(нож) 5(бита)");
				SendClientMessage(playerid, COLOR_GRAD1, "6(лопата) 7(кий) 8(катана) 9(пила) 10-13(фаллосы) 14(букет)");
				SendClientMessage(playerid, COLOR_GRAD1, "15(трость) 16(гранаты) 17(дым) 18(коктейль молотова)");
				SendClientMessage(playerid, COLOR_GRAD1, "22(кольт) 23(глушитель) 24(пустынный орел) 25(дробовик)");
				SendClientMessage(playerid, COLOR_GRAD1, "26(обрезы) 27(дробовик/7) 28(узи) 29(МР5)");
				SendClientMessage(playerid, COLOR_GRAD1, "30(АК47) 31(М16) 32(ТЕС9) 33(винтовка)");
				SendClientMessage(playerid, COLOR_GRAD1, "34(сн.винтовка) 35(базука) 36(базука с СР) 37(огнемет)");
				SendClientMessage(playerid, COLOR_GRAD1, "41(спрей) 42(огнетушитель) 43(фотокамера)");
				SendClientMessage(playerid, COLOR_GRAD1, "44(ПНВ) 45(ПТВ) 46(прашут)");
				return 1;
			}
			tmp = strtok(cmdtext, idx);
			ammo = strval(tmp);
			if(ammo <1||ammo > 9999)
			{ SendClientMessage(playerid, COLOR_GRAD1, "Кол-во патронов от 1 до 9999"); return 1; }
			if (PlayerInfo[playerid][pAdmin] >= 11)//Проверка на админа. Меняйте на свое
			{
				if(IsPlayerConnected(playa))
				{
					if(playa != INVALID_PLAYER_ID)
					{
						PyxiTime[playa] = 5;
						GivePlayerWeapon(playa, gun, ammo);
						SendClientMessage(playerid, COLOR_RED, "Выдано");
						format(string, sizeof(string), "[A] %s выдал %s оружие. (%d-%d-%d)",sendername,giveplayer,gun, ammo);
						ABroadCast(COLOR_GRAD1,string,7);
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "У вас нету прав!");
			}
		}
		return 1;
	}

 

Отредактировано пользователем SlenderTop4ik
Причина: Кое-что забыл добавить

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


Ссылка на сообщение
Поделиться на другие сайты
Braavos
Новичок

D:\!user\Desktop\[FS] Семья\gamemodes\new.pwn(755) : warning 217: loose indentation
D:\!user\Desktop\[FS] Семья\gamemodes\new.pwn(770) : error 017: undefined symbol "sendername"
D:\!user\Desktop\[FS] Семья\gamemodes\new.pwn(770) : error 017: undefined symbol "sendername"
D:\!user\Desktop\[FS] Семья\gamemodes\new.pwn(770) : error 029: invalid expression, assumed zero
D:\!user\Desktop\[FS] Семья\gamemodes\new.pwn(770) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.
 

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


Ссылка на сообщение
Поделиться на другие сайты
Skiffi
Активный

Функции:

  • ReturnUser,
  • ABroadCast

Предоставьте.

Отредактировано пользователем Skiffi

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


Ссылка на сообщение
Поделиться на другие сайты
Skiffi
Активный

Немного оптимизировал, вырезал лишнее, перевел на командный процессор DCMD.
Так же стоит отметить, что для нормальной компиляции и работы данного кода в моде должны быть подключены sscanf2 и foreach.

  Code (открыть спойлер)


И.. Псс.. Чел ? А ты сам заметил что те сообщения с ID оружия, которые по твоей задумке должны выводится, просто напросто никогда не смогут вывестись? :D
Если поднять глаза чуть выше этих самых сообщений, можно найти абсолютно идентичную проверку, в конце которой стоит return, т.е. ты возвращаешь действие.

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

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

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

    • lisicaf
      От lisicaf
      Всех приветствую и заранее спасибо за любую оказанную помощь.
      Суть: Аризона выпускает новое обновление в котором меняет CEF доната(скрин ниже), каким образом можно его скопировать и перенести к себе в мод Аризоны?

    • Владислав Малиновский
      От Владислав Малиновский
      SWEEK RUSSIA — онлайн игра на телефон с открытым миром, в котором Вы можете создать персонажей вместе со своими друзьями и начать весело проводить время. Вы можете продвигаться по сюжету квестовых миссий или же начать игру с зарабатывания денег в транспортной компании. Создавать организации, подниматься по карьерной лестнице. Заполучив влияние над другими игроками - попробуй себя в роли Президента.
       
      Нам нужны ответственные люди на должность главного администратора. Если вы считаете себя адекватным и ответственным, отпишите в vk.com/devmaksim или t.me/raphmarci.
       
      Официальный сайт проекта - sweekrussia.ru
      Официальный форум проекта - forum.sweekrussia.ru
      Официальное сообщество VK - vk.com/sweekrussia.game
      Официальный TG канал - t.me/sweek_dev
    • bogdan295@gmai
      От bogdan295@gmai
      Здраствуйте, я создавал новую организации когда дело дашло до пикапов они не создаются 
      new lssd1; new lssd2;  else if(pickupid == lssd2)// Вход     {         SetPlayerInteriorEx(playerid,0);         SetPPos(playerid,1567.5510,-1657.9956,5.3859);         SetPlayerFacingAngle(playerid, 500);         return true;     } else if(pickupid == lssd1)// Вsход     {         SetPlayerInteriorEx(playerid,0);         SetPPos(playerid,630.0542,-572.0032,16.3359);         SetPlayerFacingAngle(playerid, 500);         return true;     }     lssd2 = CreatePickupAC(1318,1,626.9653,-571.8394,17.9207, 147); // вход лссд     lssd1 = CreatePickupAC(1318,1,1567.4720,-1660.6494,5.3859, 147); // выход лссд Что я сделал не так?