Вопросы

Drummer1993
Постоянный

Здравствуйте, такая проблема первый раз инвентарь "Y" открывает , на второй раз открывается и сразу закрывается ... вот код я думаю что тут я не правильно что-то сделал . Заранее спасибо

if(_:clickedid == INVALID_TEXT_DRAW)
	{
		for(new i; i < 16; i++) {
			TextDrawHideForPlayer(playerid, inv_global[i]);
		}
		for(new i; i < 60; i++) {
			PlayerTextDrawHide(playerid, inv_player[playerid][i]);
		}
	 	CancelSelectTextDraw(playerid);
	 	return 1;

 

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


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

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

  • 0
Drummer1993
Постоянный
}
	if(PRESSED(KEY_NO)) { // KEY_NO
		ShowInventory(playerid);
		for(new i=0; i<16; i++) {
			TextDrawShowForPlayer(playerid, inv_global[i]);
		}
		for(new i; i < 60; i++) {
			PlayerTextDrawShow(playerid, inv_player[playerid][i]);
		}
		SelectTextDraw(playerid, 0xEA363FFF);
  		return 1;

 

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


Ссылка на сообщение
  • 0
SCRIPTMAN
Великий Гуру

Возможно, ты ESC нажимаешь, просто этого не замечаешь? Глупо конечно.. но, как вариант

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


Ссылка на сообщение
  • 0
Drummer1993
Постоянный

подниму!
просто кнопка KEY_NO работает один раз , второй раз жму "N" открылось и резко закрылось .. не могу понять что не так сделал

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


Ссылка на сообщение
  • 0
Drummer1993
Постоянный
  В 12/5/2019 в 04:29, SCRIPTMAN сказал:

@Drummer1993 весь паблик с клавишами скинь. Или все, что там есть у тебя с инвентарем

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

https://pastebin.com/AMs6HnMp это все что есть инвентарь 
https://pastebin.com/tyurB1rb public OnPlayerKeyStateChange

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


Ссылка на сообщение
  • 0
SCRIPTMAN
Великий Гуру
if(PRESSED(KEY_NO)) { // KEY_NO
		for(new A; A != 15; A++)//15
    	{
        	PlayerTextDrawSetPreviewModel(playerid, inv_player[playerid][59], GetPlayerSkin(playerid));//59
        	PlayerTextDrawShow(playerid, inv_player[playerid][A]);
    	}
		for(new i=0; i<16; i++) {
			TextDrawShowForPlayer(playerid, inv_global[i]);
		}
		for(new i; i < 60; i++) {
			PlayerTextDrawShow(playerid, inv_player[playerid][i]);
		}
		SelectTextDraw(playerid, 0xEA363FFF);
  		SetPVarInt(playerid, "inventory_td_check", 1);
  		return 1;

Сделай так, но, пока я это всё это писал, появилась идея, то, замени первый код на этот:

if(_:clickedid == INVALID_TEXT_DRAW && GetPVarInt(playerid, "inventory_td_check") == 1)
	{
		for(new i; i < 16; i++) {
			TextDrawHideForPlayer(playerid, inv_global[i]);
		}
		for(new i; i < 60; i++) {
			PlayerTextDrawHide(playerid, inv_player[playerid][i]);
		}
	 	CancelSelectTextDraw(playerid);
  		DeletePVar(playerid, "inventory_td_check");
	 	return 1;

Не стоит конечно юхать пвары, но, попробуй.

Вкратце объясню: у тебя идёт проверка: если игрок нажал ESC, то TD скрываются, но не указано, какой тд открыт, я добавил, что бы кроме нажатия кнопки, была проверка, а тот ли TD сейчас показывается у игрока.

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


Ссылка на сообщение
  • 0
Drummer1993
Постоянный
  В 12/5/2019 в 20:42, SCRIPTMAN сказал:
if(PRESSED(KEY_NO)) { // KEY_NO
		for(new A; A != 15; A++)//15
    	{
        	PlayerTextDrawSetPreviewModel(playerid, inv_player[playerid][59], GetPlayerSkin(playerid));//59
        	PlayerTextDrawShow(playerid, inv_player[playerid][A]);
    	}
		for(new i=0; i<16; i++) {
			TextDrawShowForPlayer(playerid, inv_global[i]);
		}
		for(new i; i < 60; i++) {
			PlayerTextDrawShow(playerid, inv_player[playerid][i]);
		}
		SelectTextDraw(playerid, 0xEA363FFF);
  		SetPVarInt(playerid, "inventory_td_check", 1);
  		return 1;

Сделай так, но, пока я это всё это писал, появилась идея, то, замени первый код на этот:

if(_:clickedid == INVALID_TEXT_DRAW && GetPVarInt(playerid, "inventory_td_check") == 1)
	{
		for(new i; i < 16; i++) {
			TextDrawHideForPlayer(playerid, inv_global[i]);
		}
		for(new i; i < 60; i++) {
			PlayerTextDrawHide(playerid, inv_player[playerid][i]);
		}
	 	CancelSelectTextDraw(playerid);
  		DeletePVar(playerid, "inventory_td_check");
	 	return 1;

Не стоит конечно юхать пвары, но, попробуй.

Вкратце объясню: у тебя идёт проверка: если игрок нажал ESC, то TD скрываются, но не указано, какой тд открыт, я добавил, что бы кроме нажатия кнопки, была проверка, а тот ли TD сейчас показывается у игрока.

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

спасибо, сейчас это заменю аа в public OnPlayerKeyStateChange у меня все в порядке? просто еще вопрос 
кнопка "Н" Заехать в гараж или открыть шлагбаум очень долго нужно жать ... я где то слишал эту проблему но вспомнить не могу

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


Ссылка на сообщение
  • 0
Drummer1993
Постоянный
  В 12/5/2019 в 20:42, SCRIPTMAN сказал:
if(PRESSED(KEY_NO)) { // KEY_NO
		for(new A; A != 15; A++)//15
    	{
        	PlayerTextDrawSetPreviewModel(playerid, inv_player[playerid][59], GetPlayerSkin(playerid));//59
        	PlayerTextDrawShow(playerid, inv_player[playerid][A]);
    	}
		for(new i=0; i<16; i++) {
			TextDrawShowForPlayer(playerid, inv_global[i]);
		}
		for(new i; i < 60; i++) {
			PlayerTextDrawShow(playerid, inv_player[playerid][i]);
		}
		SelectTextDraw(playerid, 0xEA363FFF);
  		SetPVarInt(playerid, "inventory_td_check", 1);
  		return 1;

Сделай так, но, пока я это всё это писал, появилась идея, то, замени первый код на этот:

if(_:clickedid == INVALID_TEXT_DRAW && GetPVarInt(playerid, "inventory_td_check") == 1)
	{
		for(new i; i < 16; i++) {
			TextDrawHideForPlayer(playerid, inv_global[i]);
		}
		for(new i; i < 60; i++) {
			PlayerTextDrawHide(playerid, inv_player[playerid][i]);
		}
	 	CancelSelectTextDraw(playerid);
  		DeletePVar(playerid, "inventory_td_check");
	 	return 1;

Не стоит конечно юхать пвары, но, попробуй.

Вкратце объясню: у тебя идёт проверка: если игрок нажал ESC, то TD скрываются, но не указано, какой тд открыт, я добавил, что бы кроме нажатия кнопки, была проверка, а тот ли TD сейчас показывается у игрока.

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

все работает спасибо огромное ! 

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


Ссылка на сообщение
  • 0
Drummer1993
Постоянный
  В 12/6/2019 в 10:33, SCRIPTMAN сказал:

@Drummer1993 

pc_cmd_how

предоставь

MyButtonSystem(playerid)

и это

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

уже исправил спасибо ) 

Можно закрыть. я создам новую тему есть еще проблема одна

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


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

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

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

    • crearot
      От crearot
      Мы ищем талантливого 3D-моделлера в команду.  Гибкий график, опытный коллектив.
      Что мы предлагаем:
      — Конкурентоспособную и стабильную заработную плату;
      — Гибкий график и возможность работать удаленно;
      — Работа в окружении специалистов, готовых способствовать развитию ваших навыков;
      — Перспективы карьерного и профессионального роста.
      От вас требуется:
      — Опыт владением 3ds Max и Blender для моделирования и текстурирования;
      — Работа по референсам;
      — Опыт создания интерьеров и экстерьеров;
      — Наличие портфолио.
      — Работа с текстурами (архивы (сборка, пересборка), добавление текстур, создание архивов под разные видеоускорители(PVR, DXT, ETC))
      — Работа с архивами моделей (.img образы) для добавления моделей и пересборки
      — Моделирование карты, работа по т/з для создания ландшафта на карте и т.д


      Отправьте резюме: → https://forms.gle/Trn4vjMEi58EDybv6
    • Axel myself
      От Axel myself
       
      C:\Users\User\Desktop\Adamand Role Play Original\gamemodes\Adamand037.pwn(25676) : error 017: undefined symbol "Geo_GetCountry2"
      C:\Users\User\Desktop\Adamand Role Play Original\gamemodes\Adamand037.pwn(81191) : error 017: undefined symbol "Geo_GetCountry2"
      Pawn compiler 3.2.3664              Copyright (c) 1997-2017, ITB CompuPhase

      2 Errors.


      Помогите пожалуйста с проблемой, ничего нового не добавлял, сам 50/50 разбираюсь в павно) но посмотрев на глаз особо ничего ошибочного не попалось
      Буду благодарен.