Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Форум Perfect Soft » Моды и AMX Скриптинг CS 1.6 » AMX Скриптинг CS 1.6 (вопрос | ответ) » Можно ли сделать чтобы Hud timer не прерывался?
Можно ли сделать чтобы Hud timer не прерывался?
FriNTeZza
Дата: Суббота, 23.06.2012, 15:22 | Сообщение # 1
офлайн

  • Сообщения: 12
  • Награды: 0
  • Замечания:
 
Можно ли сделать чтобы этот Hud timer не прерывался другими Hud сообщениями?
Code
public timer_task()
{
      if ( get_pcvar_num(kz_show_timer) > 0 )
      {
       new Alive[32], Dead[32], alivePlayers, deadPlayers;
       get_players(Alive, alivePlayers, "ach")
       get_players(Dead, deadPlayers, "bch")
       for(new i=0;i<alivePlayers;i++)
       {
        if( timer_started[Alive[i]])
        {
         new Float:kreedztime = get_gametime() - (IsPaused[Alive[i]] ? get_gametime() -    
         g_pausetime[Alive[i]] : timer_time[Alive[i]])

         if( ShowTime[Alive[i]] == 1 )
         {
          new colors[12], r[4], g[4], b[4];
          new imin = floatround(kreedztime / 60.0,floatround_floor)
          new isec = floatround(kreedztime - imin * 60.0,floatround_floor)
          get_pcvar_string(kz_hud_color, colors, 11)
          parse(colors, r, 3, g, 3, b, 4)
                
          set_hudmessage(str_to_num(r), str_to_num(g), str_to_num(b), 0.40, 0.10, 0, 0.0, 1.0, 0.0, 0.0, 1)      
          show_hudmessage(Alive[i], "Time: %02d:%02d  | CPs: %d | TPs: %d %s ",imin, isec,
checknumbers[Alive[i]], gochecknumbers[Alive[i]], IsPaused[Alive[i]] ? "| *Paused*" : "")      
         }
         else
         if( ShowTime[Alive[i]] == 2 )
         {
          kz_showtime_roundtime(Alive[i], floatround(kreedztime))
         }
        }
              
       }
       for(new i=0;i<deadPlayers;i++)
       {
        new specmode = pev(Dead[i], pev_iuser1)
        if(specmode == 2 || specmode == 4)
        {
         new target = pev(Dead[i], pev_iuser2)
         if(target != Dead[i])
          if(is_user_alive(target) && timer_started[target])
          {
           new name[32], colors[12], r[4], g[4], b[4];
           get_user_name (target, name, 31)

           new Float:kreedztime = get_gametime() - (IsPaused[target] ? get_gametime() -    
           g_pausetime[target] : timer_time[target])
           new imin = floatround(kreedztime / 60.0,floatround_floor)
           new isec = floatround(kreedztime - imin * 60.0,floatround_floor)

           get_pcvar_string(kz_hud_color, colors, 11)
           parse(colors, r, 3, g, 3, b, 4)

           set_hudmessage(str_to_num(r), str_to_num(g), str_to_num(b), -1.0, 0.46, 0, 0.0, 1.0, 0.0, 0.0, 1)
           show_hudmessage(Dead[i], "Time: %02d:%02d  | CPs: %d | TPs: %d %s ",
imin, isec, checknumbers[target], gochecknumbers[target], IsPaused[target] ? "| *Paused*" : "")       
          }
        }
       }
      }
}
Прикрепления: prokreedz.sma (75.2 Kb)
 
KinD
Дата: Суббота, 23.06.2012, 15:56 | Сообщение # 2
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
FriNTeZza, всего 4 канала,+ некоторые плагины clearhud делают(к примеру war3ft)

Skype:daywerok
 
FriNTeZza
Дата: Суббота, 23.06.2012, 17:33 | Сообщение # 3
офлайн

  • Сообщения: 12
  • Награды: 0
  • Замечания:
 
У меня, этот таймер прерывается, плагином uq_jumpstats, при прыжке показывает hud prestrafe. И когда мап проходишь, жутко раздражает, они друг другу мешают. Можно ли сделать что-нибудь? Или переделать не в hud, как-нибудь иначе?
 
KinD
Дата: Суббота, 23.06.2012, 17:37 | Сообщение # 4
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Координаты менял?
Можно dhud, client_print(id, print_center, "сообщение")


Skype:daywerok
 
FriNTeZza
Дата: Воскресенье, 24.06.2012, 17:27 | Сообщение # 5
офлайн

  • Сообщения: 12
  • Награды: 0
  • Замечания:
 
Сделал так:
Code

.
set_dhudmessage(str_to_num(r), str_to_num(g), str_to_num(b), 0.40, 0.10, 0, 0.0, 1.0, 0.0, 0.0, 1)        
show_dhudmessage(Alive[i], "Time: %02d:%02d  | CPs: %d | TPs: %d %s ",
imin, isec,checknumbers[Alive[i]], gochecknumbers[Alive[i]], IsPaused[Alive[i]] ? "| *Paused*" : "")      
.

Они перестали друг другу мешать, теперь проблема с dhud накладываемым текстом, то есть секунда идет, например 5 дальше идет 6, она накладывается поверх 5, и только через несколько милисекунд 5 изчезает и так далее. Это можно как-то исправить?


Сообщение отредактировал FriNTeZza - Воскресенье, 24.06.2012, 17:29
 
KinD
Дата: Воскресенье, 24.06.2012, 17:57 | Сообщение # 6
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Code
Float:fxtime = 6.0, Float:holdtime = 3.0, Float:fadeintime = 0.1, Float:fadeouttime = 1.5,

Меняй время вывода сообщений.


Skype:daywerok
 
FriNTeZza
Дата: Воскресенье, 24.06.2012, 18:12 | Сообщение # 7
офлайн

  • Сообщения: 12
  • Награды: 0
  • Замечания:
 
При компиляции выдает ошибки, не знает аргументы fxtime и т.д. И куда лучше вставлять эту функцию?
 
KinD
Дата: Воскресенье, 24.06.2012, 18:28 | Сообщение # 8
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
это stock,чтобы понять всю функцию смотри dhudmessage.inc.

Skype:daywerok
 
FriNTeZza
Дата: Вторник, 26.06.2012, 20:09 | Сообщение # 9
офлайн

  • Сообщения: 12
  • Награды: 0
  • Замечания:
 
Менять прям в этом файле? Просто изменял даже ставил:
Code
Float:fxtime = 0.0, Float:holdtime = 0.0, Float:fadeintime = 0.0, Float:fadeouttime = 0.0,

Время появления и изчезновение не менялось.

Добавлено (26.06.2012, 15:25)
---------------------------------------------
ммм?

Добавлено (26.06.2012, 20:09)
---------------------------------------------
Народ помогите)

 
SMaster
Дата: Четверг, 28.06.2012, 22:24 | Сообщение # 10
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Шаг 1.
В самом верху плагина объявляешь
Code
new stSyncHudCreate;


Шаг 2.
В public plugin_init() добавляешь
Code
stSyncHudCreate = CreateHudSyncObj();


Шаг 3.
Вместо show_hudmessage используешь ShowSyncHudMsg

В твоем случае будет так (для одного сообщения пишу):

Вместо
Code
set_hudmessage(str_to_num(r), str_to_num(g), str_to_num(b), -1.0, 0.46, 0, 0.0, 1.0, 0.0, 0.0, 1)
show_hudmessage(Dead[i], "Time: %02d:%02d  | CPs: %d | TPs: %d %s ",
imin, isec, checknumbers[target], gochecknumbers[target], IsPaused[target] ? "| *Paused*" : "")

Напиши
Code
set_hudmessage(str_to_num(r), str_to_num(g), str_to_num(b), -1.0, 0.46, 0, 0.0, 1.0, 0.0, 0.0, 1)
ShowSyncHudMsg(Dead[i], stSyncHudCreate , "Time: %02d:%02d  | CPs: %d | TPs: %d %s ",
imin, isec, checknumbers[target], gochecknumbers[target], IsPaused[target] ? "| *Paused*" : "")


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
Ихtианdр
Дата: Понедельник, 09.07.2012, 03:38 | Сообщение # 11
офлайн

  • Сообщения: 142
  • Награды: 0
  • Замечания:
 
у меня два плагина, HUD сообщения которых конфликтуют и мигают (одно справа от радара - контакты админа, а другое в верхнем правом углу экрана - сообщение "меню сервера - f3"), я изменял координаты сообщения меню сервера, менял положение в этом углу, перемещал в нижний левый и нижний правый угол, но в любой части экрана оно конфликтует с сообщением контактов админа. что мне делать?
 
FriNTeZza
Дата: Понедельник, 13.08.2012, 11:19 | Сообщение # 12
офлайн

  • Сообщения: 12
  • Награды: 0
  • Замечания:
 
SMaster - благодарю за помощь.
 
Форум Perfect Soft » Моды и AMX Скриптинг CS 1.6 » AMX Скриптинг CS 1.6 (вопрос | ответ) » Можно ли сделать чтобы Hud timer не прерывался?
  • Страница 1 из 1
  • 1
Поиск: