Название скрипта: Greeting in OpChat
Версия API: API2
Автор: X-Sky
Дата написания: 8.10.2009
Описание скрипта: Приветствие/прощание состава администрации в ОпЧате
Прикрепленный скрипт:
Greeting_in_OpChat.lua ( 807 байт )
: 221
P.S. Поздравьте, мой первый написанный "с нуля" скрипт По голове не бейте, если что не так
а зачем в опчате это нужно?
Так, для удобства
поздравляю)))))
Спасибо, Wariner ;)
Когда пишешь скрипт, нужно понимать за что отвечает каждая функция. Нужно писать скрипты как можно более оптимизированными.
Функция Core.GetUserAllData(tUser) бестолку вызывается, при этом нагружая хаб не столько из-за вызова, сколько из-за занесения данных в таблицу tUser.
Переменные sInMes и sOutMes следует сделать локальными, а не глобальными.
Переменные OpChat, sInMessages и sOutMessages также следует снабдить словом local, так как локальные переменные вызываются быстрее, чем глобальные.
А теперь комментарии в стиле Setuper`а )))
1) таблицы лучше сделать локальными + для удобства вынести в начало скрипта
2) мне тоже задавали этот вопрос:
зачем строчка
Если придерживаешься Венгерской нотации, то переменные нужно писать соответствующим образом: sOpChat, tInMessages, tOutMessages
Интересно из какого скрипта пошла такая петрушка с обрамлением переменной пустыми строками: ""..OpChat.."" ?
Ведь тут не только 2 лишние конкатенации, но и пустые строки "" будут каждый раз выделять под себя память.
Спасибо за советы, парни!
поправь и перезалей ;)
вместо
Функцию Core.GetUserAllData(tUser) так и не убрал.
Могу сказать одно, разработчики хаба пытались снизить затраты на выполнения скриптов, однако, на мой взгляд, до конца не снизили их, и оставили в таблице часто используемые поля: sNick, sIP, iProfile, хотя для наилучшей оптимизации программист в скрипте сам должен выбирать какие необходимые поля должна содержать таблица.
Думаю должно быть так:
Исправил, перезалил
Ещё раз спасибо спасибо за помощь, Setuper