AMX MOD X
Суббота, 04.05.2024, 20:09:49



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » restart плагин неработает :что тут нетак? (я только начал скриптить и прийму любую критику)
restart плагин неработает :что тут нетак?
RE_an1m@t0rrДата: Воскресенье, 06.05.2007, 23:18:03 | Сообщение # 1
Лейтенант
Группа: Скриптеры
Сообщений: 77
Репутация: 0
Статус: Не в сети
неработает :что тут нетак??? cry wacko
я только начал скриптить и прийму любую критику tongue
Прикрепления: 02460138.sma (1.2 Kb)


Сообщение отредактировал RE_an1m@t0rr - Воскресенье, 06.05.2007, 23:20:35
 
AlModДата: Понедельник, 07.05.2007, 06:51:03 | Сообщение # 2
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
Будем разъяснять. Во-первых, заливать сюда (на форум) надо зип-архив а не .сма файл, в правилах написано.

теперь собственно к коду.

Зачем тебе МАССИВ для хранения времени?

используй так

Code

new g_RestartLevel = -1 // Так ты сразу инициализируешь переменную

Потом, то что ты считываешь как
Code

new arg1[32]  
read_argv(1,arg1,31)

Нужно перевести в число, или сравнивать строкой. А там написана ересь мягко говоря, потому что нулевой элемент массива строки, по-моему содержит ее длину.

тебе нужно сделать так

Code

g_RestartLevel = str_to_num(arg1)

task лучше включать 1 раз, чем так мудрено, писать чтобы самому потом путаться
Code

set_task(1.0,"rch",7897) // id здесь - id игрока, не рационально для глобал таска его использовать, 7897 - произв. число

потом в коде функции

Code

public rch(id)
{
  if(g_RestartLevel == -1) return
   
  if(g_RestartLevel > 0)
  {
   set_hudmessage(255, 0, 0, 0.73, 0.17, 0, 0.0, 1.0, 0.0, 0.0, -1)
   show_hudmessage(id, "restart in %d",g_RestartLevel)   
   g_RestartLevel--
    set_task(1.0,"rch",7897)
  }
   if(g_RestartLevel == 0)
  {
   server_cmd("sv_restart 1")
   g_RestartLevel = -1
  }
}

Фуух, вроде все


 
VENДата: Понедельник, 07.05.2007, 13:01:12 | Сообщение # 3
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Quote
нулевой элемент массива строки, по-моему содержит ее длину.
Нет, в Pawn нулевой элемент - это первый элемент массива.

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

 
VENДата: Понедельник, 07.05.2007, 17:12:41 | Сообщение # 4
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Отделил сообщения данной темы от темы нужен простой скрипт (sv_restart 1)
 
RE_an1m@t0rrДата: Понедельник, 07.05.2007, 20:47:25 | Сообщение # 5
Лейтенант
Группа: Скриптеры
Сообщений: 77
Репутация: 0
Статус: Не в сети
L 05/07/2007 - 19:46:06: Invalid player id 7897
L 05/07/2007 - 19:46:06: [AMXX] Run time error 10 (plugin "restart.amxx") (native "show_hudmessage") - debug not enabled!
L 05/07/2007 - 19:46:06: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quote
 
VENДата: Понедельник, 07.05.2007, 21:18:31 | Сообщение # 6
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Активируй debug.
 
AlModДата: Вторник, 08.05.2007, 06:43:41 | Сообщение # 7
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
Code
public rch(id)  
{  
   if(g_RestartLevel == -1) return  
      
   if(g_RestartLevel > 0)  
   {  
    set_hudmessage(255, 0, 0, 0.73, 0.17, 0, 0.0, 1.0, 0.0, 0.0, -1)  
    show_hudmessage(id, "restart in %d",g_RestartLevel)     
    g_RestartLevel--  
     set_task(1.0,"rch",7897)  
   }  
    if(g_RestartLevel == 0)  
   {  
    server_cmd("sv_restart 1")  
    g_RestartLevel = -1  
   }  
}

Надо public rch(id)
заменить на public rch()


 
RE_an1m@t0rrДата: Вторник, 08.05.2007, 14:52:42 | Сообщение # 8
Лейтенант
Группа: Скриптеры
Сообщений: 77
Репутация: 0
Статус: Не в сети
прочитал я пару статтей с amxmodx.org
и сделал от-такое

Добавлено (2007-05-08, 2:52 Pm)
---------------------------------------------
а за чем
Code

g_RestartLevel  

можно ж просто
Code

restartlevel

Прикрепления: 73003481.rar (0.9 Kb)


Сообщение отредактировал RE_an1m@t0rr - Вторник, 08.05.2007, 14:53:01
 
slogicДата: Вторник, 08.05.2007, 15:06:14 | Сообщение # 9
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Quote (RE_an1m@t0rr)
можно ж просто

Представь что плагин у тебя на 1000 строк. И таких переменных бдет туча. Неделю плагином не позанимаешься, и все к чертям забудешь. А "g_" - это префикс, означающий что переменная объявлена в глобальном контексте, т.е. видна для всех функций. Т.е. как бы помогаешь себе подсказками. Вообще по нотации (правильности оформления переменных/функций) читай "венгерскую" нотацию (в Полезной информации смотри). Чем раньше привыкнешь, тем будет лучше и самому себе и тем, кто тебе помагает, читая твой код.
 
AlModДата: Вторник, 08.05.2007, 20:44:00 | Сообщение # 10
Сонный кодер
Группа: Админы
Сообщений: 600
Репутация: 27
Статус: Не в сети
Quote (RE_an1m@t0rr)
прочитал я пару статтей с amxmodx.org
и сделал от-такое

Доношу до твоего сведения, что для того чтобы худ (да и любое другое) сообщение увидели ВСЕ, в качестве Id надо написать 0 (0 - сервер, показать всем)


 
RE_an1m@t0rrДата: Вторник, 08.05.2007, 21:04:30 | Сообщение # 11
Лейтенант
Группа: Скриптеры
Сообщений: 77
Репутация: 0
Статус: Не в сети
Quote (AlMod)
Доношу до твоего сведения, что для того чтобы худ (да и любое другое) сообщение увидели ВСЕ, в качестве Id надо написать 0 (0 - сервер, показать всем)

понятно
а я мучался с етими for happy

 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » restart плагин неработает :что тут нетак? (я только начал скриптить и прийму любую критику)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024