Вопросы

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

И если так можно при выходе из нее (админ зоны), то оружие которое забиралось игроку возвращалось.

 

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

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


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

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

  • 0

@Andrey_Akkerman вам нужна зона эта в виде сферы или прямоугольника (в пространстве)? 

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


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

Прямоугольника

 

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


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

@Andrey_Akkerman Тогда в начало мода: 

new admzone, 
	weapons[MAX_PLAYERS][13][2]; 

В OnGameModeInit: 

admzone = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid, interiorid, playerid);

Где вместо аргументов подставить значения. Значения брать в виде прямоугольника, т.е. противоположных углов. 

Примерно так: Screenshot_129.png

И в паблик OnPlayerEnterDynamicArea (если есть засунуть код в него, если нет - создать): 
 

public OnPlayerEnterDynamicArea(playerid, areaid) 
{ 
    if(areaid == admzone)
    {
        for(new i; i < 13; i++)
        {
          	GetPlayerWeaponData(playerid, i, weapons[playerid][i][0], weapons[playerid][i][1]);  
        }
          ResetPlayerWeapons(playerid);
          SendClientMessage(playerid, -1, "Вы вошли в админ-зону!");
      }
   	  return 1; 
} 

И в паблик OnPlayerLeaveDynamicArea (если есть засунуть код в него, если нет - создать):

public OnPlayerLeaveDynamicArea(playerid, areaid)
{
	if(areaid == admzone)
	{
		for(new i; i < 13; i++)
        {
          	GivePlayerWeapon(playerid, weapons[playerid][i][0], weapons[playerid][i][1]); 
        }
      	SendClientMessage(playerid, -1, "Вы покинули админ-зону!");
    }
  	return true; 
}

 

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


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

спасибо щас попробую

 

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

Offtop.
Устное предупреждение
Примечание: сначала пробуйте, потом пишите результат.

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


Ссылка на сообщение
  • 0
C:\Users\Андрей\Desktop\Новые идее для сервера\Astrix RolePlay\gamemodes\astrix.pwn(7420) : error 027: invalid character constant
C:\Users\Андрей\Desktop\Новые идее для сервера\Astrix RolePlay\gamemodes\astrix.pwn(7420) : error 027: invalid character constant
C:\Users\Андрей\Desktop\Новые идее для сервера\Astrix RolePlay\gamemodes\astrix.pwn(24023) : warning 219: local variable "weapons" shadows a variable at a preceding level
C:\Users\Андрей\Desktop\Новые идее для сервера\Astrix RolePlay\gamemodes\astrix.pwn(38168) : warning 219: local variable "weapons" shadows a variable at a preceding level
Pawn compiler 3.10.20160907	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

 

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


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

@Andrey_Akkerman weapons в данном коде замените на любое другое название. 

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


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

Последнее 

 

C:\Users\Àíäðåé\Desktop\Íîâûå èäåå äëÿ ñåðâåðà\Astrix RolePlay\gamemodes\astrix.pwn(7420) : error 027: invalid character constant
C:\Users\Àíäðåé\Desktop\Íîâûå èäåå äëÿ ñåðâåðà\Astrix RolePlay\gamemodes\astrix.pwn(7420) : error 027: invalid character constant
Pawn compiler 3.10.20160907	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

 

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


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

@Andrey_Akkerman строчку сразу скидывать нужно. 

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


Ссылка на сообщение
  • 0
  В 11/5/2017 в 11:59, DEST сказал:

@Andrey_Akkerman строчку сразу скидывать нужно. 

Читать далее...  

Что конкретно скидывать не понимаю!

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


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

@Andrey_Akkerman строчку, на которую ошибка скинуть нужно. Она подписана в скобках. 

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


Ссылка на сообщение
  • 0
  В 11/5/2017 в 12:02, DEST сказал:

@Andrey_Akkerman строчку, на которую ошибка скинуть нужно. Она подписана в скобках. 

Читать далее...  
	if(areaid == admzone)
	{
	    if(!pInfo[playerid][pAdmin])
	    {
			for(new i; i < 13; i++)
			{
				GetPlayerWeaponData(playerid, i, orujka[playerid][i][0], orujka[playerid][i][1]);
			}
			ResetPlayerWeapons(playerid);
			SCM(playerid, COLOR_RED, "Внимание уважаемый игрок, Вы въехали\вошли в Административную зону!"); // Та самая строчки. 7424
			SCM(playerid, COLOR_RED, "");
			SCM(playerid, COLOR_RED, "У Вас отобрали все Ваше оружие, если оно у Вас было.");
			SCM(playerid, COLOR_RED, "В административной зоне разрешается (MG), но при этом запрещается (DM) и други запрещающие правила.");
			SCM(playerid, COLOR_RED, "Запрещается брать транспорт для администраторов, запрещается стоять в AFK - (Отошел от клавиатуры).");
		}
	}

 

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


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

@Andrey_Akkerman символ \ не используйте никогда в кавычках, он означает перенос строки. Используйте / или ему подобные. 

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


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

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

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

    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }