Question

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

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

 

Edited by Andrey_Akkerman

Share this post


Link to post

12 answers to this question

  • 0

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0

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

 

Share this post


Link to post
  • 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; 
}

 

Share this post


Link to post
  • 0

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

 

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

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

Share this post


Link to post
  • 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.

 

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 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.

 

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0
2 минуты назад, DEST сказал:

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

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

Share this post


Link to post
  • 0

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

Share this post


Link to post
  • 0
1 минуту назад, 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 - (Отошел от клавиатуры).");
		}
	}

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • kekkomomek1941
      By kekkomomek1941
      Всем привет, вот ошибки, понятия не имею как их исправить, кто может - помогите пожалуйста
      arizona.pwn(92829) : error 001: expected token: ";", but found ":"
      arizona.pwn(92829) : error 029: invalid expression, assumed zero
      arizona.pwn(92799) : error 002: only a single statement (or expression) can follow each "case"
      arizona.pwn(92829) : error 014: invalid statement; not in switch
      arizona.pwn(92829) : fatal error 107: too many error messages on one line
      Вот все строчки с ошибками
       
       
    • KenzoSam
      By KenzoSam
      Всем привет,писал код на инвентарь,появились ошибки которые я незнаю как убрать.
      Компилятор:
      C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(39) : warning 201: redefinition of constant/macro (symbol "FOREACH_I_Bot") C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(40) : warning 201: redefinition of constant/macro (symbol "FOREACH_I_Character") C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\brnotification.inc(24) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customhud.inc(83) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customhud.inc(327) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customhud.inc(342) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customhud.inc(398) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customtune.inc(211) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customtune.inc(272) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\pawno\include\customtune.inc(721) : warning 234: function is deprecated (symbol "BS_Send") Use PR_SendPacket instead C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(119) : warning 201: redefinition of constant/macro (symbol "M_DIALOG_DialogForPlayer") C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(8763) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(8773) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(9869) : symbol is assigned a value that is never used: "carid" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(10671) : symbol is assigned a value that is never used: "color2" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(10670) : symbol is assigned a value that is never used: "color1" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(10818) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(10816) : symbol is assigned a value that is never used: "job_car" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(13444) : symbol is assigned a value that is never used: "carid" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(13461) : symbol is assigned a value that is never used: "s" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(13946) : symbol is assigned a value that is never used: "randomize" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(14713) : warning 216: nested comment C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25414) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25410) : symbol is assigned a value that is never used: "action_id" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25409) : symbol is assigned a value that is never used: "action_type" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25597) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25595) : symbol is assigned a value that is never used: "action_id" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(25594) : symbol is assigned a value that is never used: "action_type" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30735) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30755) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30768) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30824) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30822) : symbol is assigned a value that is never used: "fmt_text" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30850) : loose indentation C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(30848) : symbol is assigned a value that is never used: "fmt_text" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(34053) : error 017: undefined symbol "playertextid" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(34053) : warning 215: expression has no effect C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(34053) : error 001: expected token: ";", but found "]" C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(34053) : error 029: invalid expression, assumed zero C:\Users\asus\OneDrive\Ðàáî÷èé ñòîë\byreytiz\gamemodes\byreytiz.pwn(34053) : fatal error 107: too many error messages on one line Compilation aborted. Pawn compiler 3.2.3664          Copyright (c) 1997-2016, ITB CompuPhase 4 Errors. Код(только ошибок):
      public OnPlayerClickTextDraw(playerid, Text:clickedid) {     for(new i=0; i < 97; i++)     {         if(playertextid == inv_TD[playerid][i])//34053 на эту стройку пищит         {             if(PlayerInfo[playerid][Inv][i] == 1649)             {                 if(GetPVarInt(playerid, "ClickInv") == -1)                 {                     new id_inv = GetPVarInt(playerid, "ClickInv");                     PlayerTextDrawSetPriviewModel(playerid, inv_TD[playerid][id_inv], 1649);                     PlayerTextDrawSetPriviewModel(playerid, inv_TD[playerid][i], PlayerInfo[playerid][Inv][i]);                     PlayerInfo[playerid][Inv][i] = PlayerInfo[playerid][Inv][id_inv];                     PlayerInfo[playerid][Inv][id_inv] = 1649;                     SetRotInv(playerid, i, PlayerInfo[playerid][Inv][i];                     SetRotInv(playerid, id_td, PlayerInfo[playerid][Inv][id_inv];                     UpdateInv(playerid, id_inv, 1);                     UpdateInv(playerid, i, 1);                     SetPVarInt(playerid, "ClickInv", -1);                 }             }             else             {                 if(GetPVarInt(playerid, "ClickInv") == -1)                 {                     SetPVarInt(playerid, "ClickInv", i);                     UpdateInv(playerid, i, 2);                 }             }                 else                 {                     if(GetPVarInt(playerid, "ClickInv") == i)                     {                         SetPVarInt(playerid, "ClickInv", -1);                         UpdateInv(playerid, i, 1);                     }                 }         }     }     if(playertextid == InvText[playerid[4])     {         if(GetPVarInt(playerid, "ClickInv") != -1)         {         new id_inv = GetPVarInt(playerid, "ClickInv");         PlayerInfo[playerid][Inv][id_inv] = 1649;         PlayerTextDrawSetPriviewModel(playerid, inv_TD[playerid][id_inv], PlayerInfo[playerid][Inv][id_inv];         SetRotInv(playerid, id_inv, PlayerInfo[playerid][Inv][id_inv]);         UpdateInv(playerid, id_inv, 1);         SetPVarInt(playerid, "ClickInv", -1);         SendClientMessage(playerid, 0xFFFFFFF, "[Èíâåíòàðü]: Äàííûé ïðåäìåò áûë óñïåøíî óäàëåí!");     }     }      Помогите плиз,буду благодарен