Sign in to follow this  
Followers 0
Умелец

Проблема с переменными

Рекомендованные сообщения



5 posts in this topic

Тут такое дело, делал выбор скина на Text Draw'ах, но столкнулся с проблемой что значение переменной ведет себя странно нажав 2-а раза на стрелки вправо выходит 1 и при нажатии стрелки влево выходит 2, хотя должно отнять, я запутался уже, буду рад помощи.

 

Спойлер

public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
	new string[20];
	format(string, sizeof(string), "ChoiceClothes: %d", ChoiceClothes[playerid]);
//------------------- Выбор скина ----------------
	if(clickedid == PublicTD[1]) // Лево
	{
		ChoiceClothes[playerid] --;
		if(ChoiceClothes[playerid] < 0) ChoiceClothes[playerid] = 5;
		SCM(playerid, -1, string);
	}
	else if(clickedid == PublicTD[0]) // Право
	{
		ChoiceClothes[playerid] ++;
		if(ChoiceClothes[playerid] > 5) ChoiceClothes[playerid] = 0;
		SCM(playerid, -1, string);
	}
	else if(clickedid == PublicTD[2])
	{ // Выбрать
		SCM(playerid, -1, string);
	}
  return 1;
}

 

 

Edited by Умелец

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

@20th century "Различимые сообщения поставь" - можешь объяснить как именно это сделать?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

TS Posted (edited) · Report post

@20th century Огромное тебе спасибо, проблема решилась спустя пару дней, и я не понял каким образом, еще раз спасибо 

Edited by Умелец

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

2.8. Если вы нашли ответ на свой вопрос, рекомендуется поощрить автора лучшего ответа поднятием репутации, а также обязательно пометить ответ на вопрос лучшим.  Как пометить ответ лучшим?

Устное предупреждение.

Share this post


Link to post
Share on other sites
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

    • Игорь5878
      By Игорь5878
      Продаётся оригинальный игровой мод проекта RakNet Role Play
      В моде присутствует множество уникальных систем например пару примеров: уникальная система крафта оружия/патронов, система чердаков, автосалонов.
      В продажу мода входит: Группа ВК проекта - vk.com/raknet_official Свободная группа - vk.com/raknet_fr
      Сайт/форум проекта - raknetrp.ru
      Цена на мод договорная. 
      Связаться со мной можете по ссылке во вконтактах группы, либо на форуме.
      Продаётся самая последняя версия мода - 2.2.3
    • Игорь5878
      By Игорь5878
      Оригинальный RakNet ONLINE
      Просмотр файла Продаётся оригинальный игровой мод проекта RakNet Role Play
      В моде присутствует множество уникальных систем например пару примеров: уникальная система крафта оружия/патронов, система чердаков, автосалонов.
      В продажу мода входит: Группа ВК проекта - vk.com/raknet_official Свободная группа - vk.com/raknet_fr
      Сайт/форум проекта - raknetrp.ru
      Цена на мод договорная. 
      Связаться со мной можете по ссылке во вконтактах группы, либо на форуме.
      Продаётся самая последняя версия мода - 2.2.3
      Добавил Игорь5878 Добавлено 19.04.2021 Категория Моды Автор Angel_  
    • odosenok
      By odosenok
      Описание системы.
      Система полета камерой представляет собой возможность перемещаться в пространстве игры по всем осям (X, Y, Z) путем нажатия кнопок на клавиатуре.
       
      Подключение системы.
      1. Система написана в отдельном файле - include. Вам необходимо скачать этот файл и добавить в папку, находящейся в следующей директории:
      "..\pawno\include" 2. Затем Вам следует открыть свой игровой мод и в начале, после всех инклудов, дописать следующую строку:
      #include <fly>  
      Работа с системой.
      В систему полета камерой включены две функции:
      1.
      SetPlayerFlyStatus(playerid, status = 2) /* playerid - ID игрока, которого Вы хотите "отправить" в режим полета status - режим полета* * предусмотрено три режима полета: CAMERA_MODE_NONE (0) - выключить режим полета, CAMERA_MODE_FLY (1) - включить режим полета, CAMERA_MODE_REVERSE (2) - сменить режим на реверсивный */ 2. 
      IsPlayerFlying(playerid) /* playerid - ID игрока, пребывание в состоянии полета которого Вы хотите проверить *данная функция возвращает: CAMERA_MODE_NONE (0), если игрок не находится в состоянии полета, CAMERA_MODE_FLY (1), если игрок находится в состоянии полета */ При помощи данных функций Вы можете управлять пребыванием игрока в режиме полета, а также получать информацию о том, "летает" ли игрок в тот или иной момент.
       
      Особенности системы.
      Системой полета предусмотрено, что игрок, выходящий из режима полета, появится именно там, где вышел. Так, если Вы покидаете режим полета, пребывая в озере, то появление игрока будет именно в этом озере.
       
      Пример использования.
      CMD:fly(playerid, params[]) { static const MSG_USE_CMD[] = !"» Usage the command: /fly [mode 0-2]"; if(isnull(params)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; new mode; if(sscanf(params, "d", mode)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; else if(!(0 <= mode <= 2)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; SetPlayerFlyStatus(playerid, mode); return 1; } CMD:checkfly(playerid, params[]) { static const MSG_USE_CMD[] = !"» Usage the command: /checkfly [playerid]"; if(isnull(params)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; new id; if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, !"The player is not connected") & 0; static const status_fly[][] = { !"The player is not flying", !"The player is flying" }; SendClientMessage(playerid, -1, status_fly[IsPlayerFlying(id)]); return 1 } Авторское право.
      Функции для получения позиции для перемещения камеры, само перемещение вырезаны из разработки Norck.
      В свою очередь я, @odosenok, лишь преобразовал данный код, создал более удобный интерфейс.
       
      fly.inc
    • Drummer1993
      By Drummer1993
      Здравствуйте... не видно обичным игрокам Textdraws помогите куда этот код поставить ? при команде /sp видно.... нужно чтобы всегда было видно заранее спасибо