Русское сообщество по скриптингу

Какие недочёты есть в выполнении кода?  [Решено]

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Re: Какие недочёты есть в выполнении кода?

Сообщение [N][E][M][E][C] » 21 мар 2021, 22:22

Вопрос, а что лучше в данном примере использовать get_players или get_maxplayers?

Добавлено спустя 19 минут 50 секунд:
Если допустим сервер не полный, наверное лучше получить индексы игроков, а то макплайерс сделает лишнии цыклы?
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: Какие недочёты есть в выполнении кода?

Сообщение RevCrew » 23 мар 2021, 13:19

Надо сразу писать, что ты новичок и хочешь исправить свой код

get_players почти всегда быстрее

Нет смысла каждый раз создавать новую переменную в цикле, проще вынести ее
Код: Выделить всё
for(new i=1i<MAXPLAYRS; ++i) { 
new 
player_name[32]; 
 
get_user_name(iplayer_name31); 

>>>

Код: Выделить всё
new player_name[32]; 
for(new 
i=1i<MAXPLAYRS; ++i) { 
 
get_user_name(iplayer_name31); 
}
 


Это вообще непонятно

Код: Выделить всё
#define TASKID 555
new IndeX[1]; 
public 
client_putinserver(id) { 
 
IndeX[0] = id
 
set_task(0.1"METOMOD"id TASKIDIndeX1"a"1); 

 
public 
METOMOD (taskID) { 
 new 
ID IndeX[0]; 
 
show_motd(ID,"pravila.txt","VELCOM FROM SERVER"); 

 


почему у тебя массив на 1 элемент?
В данном случае можно сделать типа того
Код: Выделить всё
public client_putinserver(id) { 
 
set_task(0.1"METOMOD"id TASKID); 

public 
METOMOD (taskID) { 
 new 
ID taskID -  TASKID 
 show_motd
(ID,"pravila.txt","VELCOM FROM SERVER"); 

 


Ну и названия переменных у тебя написаны странно

Код: Выделить всё
new ID =  >>> new id


Глобальные переменные лучше называть с префиксом g_, например в твоем случае g_num, хотя все равно не понятно зачем нужна данная переменная, но вот если назвать ее g_CurrentMessageNumber то уже лучше
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Какие недочёты есть в выполнении кода?

Сообщение RSO_ » 23 мар 2021, 20:33

а лучше ещё task_id - так как это ид таймера (но я думаю это не критично если для себя так удобнее)
слава великой сонтаранской империи !
Аватара пользователя
RSO_
 
Сообщения: 280
Зарегистрирован: 20 окт 2019, 21:40
Откуда: от верблюда
Благодарил (а): 45 раз.
Поблагодарили: 20 раз.
Опыт программирования: Меньше недели
Языки программирования: . . . 100 ISQ

Re: Какие недочёты есть в выполнении кода?

Сообщение [N][E][M][E][C] » 24 мар 2021, 10:59

Префиксы пишутся только для читабильности, на код это не влияет
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: Какие недочёты есть в выполнении кода?

Сообщение RevCrew » 25 мар 2021, 00:56

vitalik19842105, основной приоритет - читабельность кода, был бы тут товарищ shell, он бы продемонстрировал пример плагина в одну строку.
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Пред.

Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8