AMX MOD X
Пятница, 07.02.2025, 05:10:24



Приветствую Вас Гость | RSS
[ Главная ] [ set_task для таймера - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
set_task для таймера
accessДата: Вторник, 31.07.2007, 10:47:00 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 45
Репутация: 1
Статус: Не в сети
Есть таймпроектор, плагин такой, но как поставить set_task, чтобы таймер отображался клиенту, допустим, только через 15 секунд после того, как клиент зашел на сервер?

Code
#include <amxmodx>  
#include <amxmisc>
   
public the_main(){
   
  new nextmap[32]  
  get_cvar_string("amx_nextmap",nextmap,31)  
  new timeleft = get_timeleft()
  new mapname[32]
  get_mapname(mapname, 31)
  set_hudmessage(0,255,255,-1.0,0.0,0, 1.0, 1.0, 0.1, 0.2, 13)
   show_hudmessage(0,"%s > %d:%02d > %s", mapname,timeleft / 60, timeleft % 60,nextmap)  
      
  }
  return PLUGIN_CONTINUE  
}

public plugin_init()  
{  
  register_plugin("TimeProjector","0.1","ST4life")  
  set_task(1.0, "the_main",0,"",0,"b")  
  return PLUGIN_CONTINUE  
}
 
slogicДата: Среда, 01.08.2007, 15:46:45 | Сообщение # 2
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
show_hudmessage(0, ...) показывает всем игрокам. Вместо 0 надо использовать индекс нужного тебе игрока. Поэтому тебе придется перебрать в цикле каждого игрока и проверить его вермя на сервере, и если оно больше 15 сек. то ему можно отправить hud сообщение. В целях оптимизации (чтобы каждую сек. не обходить снова и снова игроков) надо сделать флаг, что все игроки находятся на сервере более 15 мнут (тогда в этом случае можно использовать show_hudmessage(0, ...)), и сбрасывать его если-кто кто приконнектился (или ввести такие флаги для каждого игрока). get_user_time() возвращает кол-во сек., проведенынх игроком на сервере.
 
accessДата: Четверг, 02.08.2007, 08:58:54 | Сообщение # 3
Лейтенант
Группа: Пользователи
Сообщений: 45
Репутация: 1
Статус: Не в сети
Мда.
Спасибо, конечно, но ответ слишком заумен. С моими знаниями по скриптингу я могу только попросить переделать этот плагин.
 
AlModДата: Четверг, 02.08.2007, 09:38:52 | Сообщение # 4
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
ХМ...

Code
public client_putinserver(id)
{
  set_task(15.0,"hud_msg",id)
}

public hud_msg(id)
{
  set_hudmessage(....)
  show_hudmessage(id,"Some text")
}


 
slogicДата: Четверг, 02.08.2007, 12:47:14 | Сообщение # 5
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
AlMod, ну один раз покажет и все. К тому же если в течение 15 сек. игрок дисконнектится, то вывалится ошибка.
 
slogicДата: Четверг, 02.08.2007, 12:49:21 | Сообщение # 6
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Quote (access)
Спасибо, конечно, но ответ слишком заумен.

Что именно не понятно? Если не знаешь, что такое циклы, то конечно, можно (и даже нужно) НЕ спрашивать тогда в этом разделе, а просить дописать плагин в обсуждении плагинов.
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2025