Question

Lalka001
Освоившийся

Можно-ли как-нибудь сделать что-бы настоящее время показывалось на TD? Просто создаю TD телефон и мне нужно что-бы когда я нажимал на alt у меня высвечивался телефон и показывалось время на этих TD. Всё я сделал, но как сделать время?

Share this post


Link to post

22 answers to this question

  • 0
DEST
Maintainer

@Lalka001 нужно чтобы время обновлялось или чтобы показывало только время, которое было в момент открытия телефона? 

Share this post


Link to post
  • 0
Lalka001
Освоившийся
1 час назад, DEST сказал:

@Lalka001 нужно чтобы время обновлялось или чтобы показывало только время, которое было в момент открытия телефона? 

Что-бы обновлялось, если такое невозможно то только то которое было в момент открытия. Но надо что-бы обновлялось 

Share this post


Link to post
  • 0
DEST
Maintainer

@Lalka001 тогда нужно создать таймер при открытии текстдрава и через форматирование строки изменять время.

Пример

К глобальным переменным:

new TimeUpdate[MAX_PLAYERS]; 
// действие: игрок открыл текстдрав. 
TimeUpdate[playerid] = SetTimerEx("UpdateTime", 60*1000, false, "i", playerid); 

ко всем пабликам:

forward UpdateTime(playerid); 
public UpdateTime(playerid) 
{
  new str[6], hour, minute; 
  gettime(hour, minute); 
  format(str, sizeof str, "%d:%d", hour, minute); 
  TextDrawSetString(переменная_текстдрава, str); 
  return true; 
}

Туда, где игрок закрывает текстдрав: 
 

KillTimer(TimeUpdate[playerid]); 

 

Share this post


Link to post
  • 0
Lalka001
Освоившийся

Извиняюсь что поторопился с ответом

Но у меня 1 ошибки и 1 варнинг:

1 Ошибка: (532)error 021: symbol already defined: "UpdateTime"

2 Варнинг: (539)warning 209: function "UpdateTime" should return a value

Share this post


Link to post
  • 0
Lalka001
Освоившийся

Заменил на своё, ошибок нет, но всё равно не настоящее время.

Может что-то не так? Просто это TD обычный(текст) и я ввёл просто для красоты когда создавал "12:00".

 

12 часов назад, DEST сказал:

@Lalka001 замените название на любое другое

 

Edited by Lalka001
Причина: Забыл процетировать

Share this post


Link to post
  • 0
MuhammadPawn
Великий Гуру

тебе время будет показывать такое , какое стоит на хостинге -_-

Share this post


Link to post
  • 0
Lalka001
Освоившийся
5 часов назад, DEST сказал:

Кинь уже готовый вариант, который получился

new TimeUpdateTD[MAX_PLAYERS];

public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
	new string[500];
	if(clickedid == Menu[3]) // ВКЛ экрана телефона
	{
 		TimeUpdateTD[playerid] = SetTimerEx("UpdateTimeTD", 60*1000, false, "i", playerid);
	    TextDrawShowForPlayer(playerid, Menu[2]);
 	    TextDrawShowForPlayer(playerid, Menu[4]);
  	    TextDrawShowForPlayer(playerid, Menu[5]);
  	    TextDrawShowForPlayer(playerid, Menu[6]);
  	    TextDrawShowForPlayer(playerid, Menu[7]);
 	    TextDrawShowForPlayer(playerid, Menu[8]);
  	    TextDrawShowForPlayer(playerid, Menu[9]);
	}
	if(clickedid == Menu[10]) // Убрать телефон
	{
	    TextDrawHideForPlayer(playerid, Menu[0]);
 	    TextDrawHideForPlayer(playerid, Menu[1]);
 	    TextDrawHideForPlayer(playerid, Menu[2]);
  	    TextDrawHideForPlayer(playerid, Menu[3]);
  	    TextDrawHideForPlayer(playerid, Menu[4]);
  	    TextDrawHideForPlayer(playerid, Menu[5]);
 	    TextDrawHideForPlayer(playerid, Menu[6]);
 	    TextDrawHideForPlayer(playerid, Menu[7]);
 	    TextDrawHideForPlayer(playerid, Menu[8]);
  	    TextDrawHideForPlayer(playerid, Menu[9]);
  	    TextDrawHideForPlayer(playerid, Menu[10]);
  	    KillTimer(TimeUpdateTD[playerid]);
	    CancelSelectTextDraw(playerid);
	}
	return 0;
}

forward UpdateTimeTD(playerid);
public UpdateTimeTD(playerid)
{
		new str[6], hour, minute;
		gettime(hour, minute);
		format(str, sizeof str, "%d:%d", hour, minute);
		TextDrawSetString(Menu[4], str);
		return true;
}

 

Share this post


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

TextDrawShowForPlayer(playerid, Menu[4]);

вот эту строку убери из функции показа телефона

Share this post


Link to post
  • 0
Lalka001
Освоившийся
1 час назад, DEST сказал:

вот эту строку убери из функции показа телефона

Теперь его совсем нету

Share this post


Link to post
  • 0
DEST
Maintainer
55 минут назад, Lalka001 сказал:

TextDrawSetString(Menu[4], str);

и после этой строки добавить еще: 

TextDrawHideForPlayer(playerid, Menu[4]); 
TextDrawShowForPlayer(playerid, Menu[4]); 

А ту строку, которую убирали раннее, можете вернуть на место. 

Share this post


Link to post
  • 0
Lalka001
Освоившийся
1 час назад, DEST сказал:

и после этой строки добавить еще: 


TextDrawHideForPlayer(playerid, Menu[4]); 
TextDrawShowForPlayer(playerid, Menu[4]); 

А ту строку, которую убирали раннее, можете вернуть на место. 

Ничего не изменяется, так-же остаётся TD 12:00

Share this post


Link to post
  • 0
DEST
Maintainer
1 час назад, Lalka001 сказал:

TimeUpdateTD[playerid] = SetTimerEx("UpdateTimeTD", 60*1000, false, "i", playerid);

в этой строке false поменяйте на true. Также сразу в паблик таймера киньте перед return true такой код: 

printf("%s", str);

Если не получится снова, киньте логи. Если получиться, этот код из паблика таймера удалите. 

Share this post


Link to post
  • 0
Lalka001
Освоившийся
1 час назад, DEST сказал:

в этой строке false поменяйте на true. Также сразу в паблик таймера киньте перед return true такой код: 

printf("%s", str);

Если не получится снова, киньте логи. Если получиться, этот код из паблика таймера удалите. 

Не получается, мне кинуть коды? Или логи с samp-server.exe

Share this post


Link to post
  • 0
Lalka001
Освоившийся
В 21.05.2018 в 20:18, DEST сказал:

@Lalka001 логи (server_log.txt)

SA-MP Dedicated Server
----------------------
v0.3.7-R2, (C)2005-2015 SA-MP Team

[00:54:57] filterscripts = ""  (string)
[00:54:57] 
[00:54:57] Server Plugins
[00:54:57] --------------
[00:54:57]  Loading plugin: dc_cmd
[00:54:57]   Daniel's CMD plugin v2.8
[00:54:57]     (c) 2014 Daniel_Cortez
[00:54:57]     www.pro-pawn.ru
[00:54:57]   Loaded.
[00:54:57]  Loading plugin: sscanf
[00:54:57] 

[00:54:57]  ===============================

[00:54:57]       sscanf plugin loaded.     

[00:54:57]          Version:  2.8.1        

[00:54:57]    (c) 2012 Alex "Y_Less" Cole  

[00:54:57]  ===============================

[00:54:57]   Loaded.
[00:54:57]  Loading plugin: streamer
[00:54:57] 

*** Streamer Plugin v2.7.4 by Incognito loaded ***

[00:54:57]   Loaded.
[00:54:57]  Loading plugin: mysql
[00:54:57]  >> plugin.mysql: R39-2 successfully loaded.
[00:54:57]   Loaded.
[00:54:57]  Loaded 4 plugins.

[00:54:57] 
[00:54:57] Filterscripts
[00:54:57] ---------------
[00:54:57]   Loaded 0 filterscripts.

[00:54:57] Number of vehicle models: 0
[00:55:29] [connection] 127.0.0.1:61812 requests connection cookie.
[00:55:30] [connection] incoming connection: 127.0.0.1:61812 id: 0
[00:55:30] [join] Danial_Torreto has joined the server (0:127.0.0.1)
[00:58:24] [part] Danial_Torreto has left the server (0:1)

 

Share this post


Link to post
  • 0
MuhammadPawn
Великий Гуру
60*1000 не многовато для таймера? (раз в минуту токо обновляться будет) 

измени на 6*1000 (раз в сек )

также меняй 

format(str, sizeof str, "%d:%d", hour, minute);

на:

format(str, sizeof str, "%02d:%02d", hour, minute);

 

Edited by MuhammadPawn

Share this post


Link to post
  • 0
Lalka001
Освоившийся
3 часа назад, MuhammadPawn сказал:

60*1000 не многовато для таймера? (раз в минуту токо обновляться будет) 

измени на 6*1000 (раз в сек )

также меняй 


format(str, sizeof str, "%d:%d", hour, minute);

на:


format(str, sizeof str, "%02d:%02d", hour, minute);

 

Всё равно реальное время не показывает, только 12:00, как и было

Share this post


Link to post
  • 0
MuhammadPawn
Великий Гуру

@Lalka001 хоть б сам попробовал с таймером пойграться... ставь 1000 за место 6*1000  и в таймере за место false ставь true

Share this post


Link to post
  • 0
DEST
Maintainer

@Lalka001 вы хоть ждете немного, таймер-то раз в минуту по моему коду должен работать. Подождите минуту, потому что таймер ни разу не сработал, судя по логам. 

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

    • LORDIKUS
      By LORDIKUS
      Уважаемые участники форума - всех приветствую, кто перешел в беседу моей темы обсуждения. В настоящее время у меня зарождается огромное желание и мысль создать собственный CR:MP проект, но столкнулся с единственной проблемой - с отсутствием команды людей, у которых будет искреннее желание ежедневно вкладывать свой труд на разработку проекта. Особого опыта в скриптинге, маппинге, дизайне или в моделировании у меня не имеется, поэтому такой критерий как опыт в определенной сфере для желающих вступить в команду я не рассматриваю. Так как проект не открыт и находится на начальной стадии создания, мое сотрудничество выстраивается на некоммерческой основе (без выплаты за проделанную работу и труд), однако я не собираюсь отрицать высокую ценность вложенного командой труд — труд, особенно на первой стадии разработки я рассматриваю превыше всего. После открытия проекта в зависимости от коммерции и чистой прибыли каждый участник будет получать настоящую выплату, однако это также может убить еще значительное время. Мне нужна команда, которая проявит искренний интерес в создании общего между командой CR:MP проекта, пожертвует свое время, а также вложит собственный труд благодаря заработанным навыкам. Если вас заинтересовала данная тема обсуждения, пожалуйста, свяжитесь со мной по любым возможным и удобным для вас контактам связи ниже. Спасибо всем, кто зашел в мою беседу!

      🔗 Спец. Связь:
      — DISCORD: https://discord.com/users/1452715348196589691 (перейти по ссылке и добавить в друзья) ИЛИ _shin833_ (ввести никнейм и отправить запрос дружбы)
      — VK: https://vk.com/shin833
      — TG: https://t.me/s_hin833
    • Korochansky
      By Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      By KodBi
      шапка
      по одиночке работают
      нужны оба