AMX MOD X
Понедельник, 21.09.2020, 22:00:16



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Помогите подставить проверки
Помогите подставить проверки
ahaДата: Суббота, 04.07.2009, 01:56:17 | Сообщение # 1
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
В плугинчике я достою всех имена и принчу их в Hud'е, но мне надо подставить проверки (is_user_connected и is_user_alive)

Code
public set_pid_msg()
{
  static g_pidName[32],pos, i
  pos = 0
  pos += formatex(g_msg[pos], 511-pos, "List:")
   

  for(i = 1 ; i <= g_iMaxPlayers ; i++)
  {  
   // В этом месте надо бы проверочки
   {
    get_user_name(i, g_pidName, 31)
    pos += formatex(g_msg[pos], 511-pos, "^n%s", g_pidName)
   }
  }
}

Подставив так

Code
  if(is_user_alive[i])
   {
    get_user_name(i, g_pidName, 31)
    pos += formatex(g_msg[pos], 511-pos, "^n%s", g_pidName)
   }

компилятор ругается:

Code
Error: Invalid subscript (not an array or too many subscripts): "is_user_alive" on line 75
Warning: Expression has no effect on line 75
Error: Expected token: ";", but found "]" on line 75
Error: Invalid expression, assumed zero on line 75
Error: Too many error messages on one line on line 75

Compilation aborted.
 
se7hДата: Суббота, 04.07.2009, 11:44:55 | Сообщение # 2
Генерал-майор
Группа: Cупер-модеры
Сообщений: 424
Репутация: 13
Статус: Не в сети
индексы игроков лучше получать с помощью get_players:

Code
public set_pid_msg()    
{    
     static g_pidName[32],pos
     pos = 0    
     pos += formatex(g_msg[pos], 511-pos, "List:")    
         
     static iPlayers[32], iNum, i
     get_players(iPlayers, iNum, "a") // флаг "a" означает что мы береём только живых игроков и is_user_alive уже не нужна
     for(i=0; i<iNum; i++)
     {
       get_user_name(iPlayers[i], g_pidName, 31)    
       pos += formatex(g_msg[pos], 511-pos, "^n%s", g_pidName)    
     }    
}

покажи как ты объявлял массив g_msg

и ещё чтобы ты знал на будущее: в проверке is_user_alive уже включена is_user_connected




Сообщение отредактировал se7h - Суббота, 04.07.2009, 12:17:17
 
ahaДата: Суббота, 04.07.2009, 14:11:00 | Сообщение # 3
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
Code
new g_msg[512]

Я этот player list вырезал из http://forums.alliedmods.net/showthread.php?p=830495

 
se7hДата: Суббота, 04.07.2009, 15:17:44 | Сообщение # 4
Генерал-майор
Группа: Cупер-модеры
Сообщений: 424
Репутация: 13
Статус: Не в сети
пробуй мой вариант, должно работать

 
ahaДата: Суббота, 04.07.2009, 15:54:46 | Сообщение # 5
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
Да да, подставил все работает, люкс ;)
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Помогите подставить проверки
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2020