Оптимизация кода -
RAEN - 11.06.2010
Rто может сказать как можно оптимизировать мод с помощью функций:
continue; break;
На примере кода (с коментами плз):
Code:
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(playerid=3)
{
SendClientMessage(i, COLOR_YELLOW, "ТЕСТ");
}
}
}
Оптимизация кода -
BaRRyS3R - 11.06.2010
код - бред.
во первых проще сделать так:
Code:
SendClientmessage(3, COLOR_YELLOW, "TEST");
во вторых у тебя переменной playerid пытаються присвоить значение, что не возможно вданном случае, т.к нужно делать прверку ( == ), а не присваивание.
в третьих, у тебя цикл просто так пробежит, ибо ты ищешь переменную i, а сравниваешь - playerid.
я думаю тебе еще рано брейк, и континью юзать =\
Оптимизация кода -
RAEN - 11.06.2010
омг да этот код я для теста привел чтобы могли показать примеры оптимизации кода (подумаешь очепятка)... Вот другой
Code:
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(i != 3 )
{
SendClientMessage(i, COLOR_YELLOW, "ТЕСТ");
}
}
}
Оптимизация кода -
Fro1sha - 11.06.2010
Code:
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
if(i == 3 )
{
SendClientMessage(i, COLOR_YELLOW, "ТЕСТ");
break;
}
}
}
Оптимизация кода -
RAEN - 11.06.2010
Fro1sha спасибо за коментарии и то что ничего не объяснил...
И кстати твой пример работает только для 1 игрока а не для 499 как в моем.
Оптимизация кода -
Fro1sha - 11.06.2010
Quote:
Originally Posted by RAEN
Fro1sha спасибо за коментарии и то что ничего не объяснил...
|
Оно будет работать для стольки игроков сколько онлайн. Эта строчка значит
"if(!IsPlayerConnected(i)) continue;", что если игрок не онлайн продолжить дальше.
if( i == 3 )
{
SendClientMessage(i, COLOR_YELLOW, "ТЕСТ");
break;
}
Это значит что если i = 3, то послать сообщение 3 иду и закончить цикл break
Quote:
Originally Posted by RAEN
И кстати твой пример работает только для 1 игрока а не для 499 как в моем.
|
У тебя тоже самое, только цикл будет идти до конца
Оптимизация кода -
RAEN - 11.06.2010
Quote:
И кстати твой пример работает только для 1 игрока а не для 499 как в моем.
У тебя тоже самое, только цикл будет идти до конца
|
Дык в моём случае, как я понял break; уже применить не получится...т.к. выполняется не для 1 игрока.
Оптимизация кода -
BaRRyS3R - 11.06.2010
break; в твоём примере - закончит выполнять цикл. без него, после наахождения ид 3 он пойдет дальше до 500.
Оптимизация кода -
RAEN - 11.06.2010
BaRRyS3R это понятно... я и говорю что её поулчается нельзя применять в циклах, где нужно применить определенное действие к нескольким игрокам (как в моём примере)... Можно применить только в примере Fro1sha
Оптимизация кода -
Fro1sha - 11.06.2010
break удобна тем, что когда что-то ищешь в цикле, нашел, остановил, чтобы не тратить время дальше
Re: Оптимизация кода - Zeex - 11.06.2010
http://forum.sa-mp.com/index.php?topic=117573.0 - про это забыли что ли?
Re: Оптимизация кода -
RAEN - 11.06.2010
Zeex а ты языковыми разделами не ошибся?
Re: Оптимизация кода -
MX_Master - 11.06.2010
Quote:
Originally Posted by RAEN
MX_Master ага хорошая оптимизация, только я про неё слышал не оч. хорошие отзывы... Хотя если говоришь что (максимально оптимизирует), то стоит попробывать ![Smiley](images/smilies/smile.png)
|
Грань сильной оптимизации очень тонкая, поэтому вы должны точно знать, что делаете, и что ваш код в точности делает.
Приведи здесь эти отзывы, чтобы не быть голословным.
Quote:
Originally Posted by Zeex
|
те, кто не умеет оптимизировать стандартными средствами, тому даже самый при самый золотой плагин - не поможет
Re: Оптимизация кода -
Fro1sha - 11.06.2010
Quote:
Originally Posted by JesterX
1. Попробуй использовать меньше public - функции, заменяй их на stock. Разумеется если они не под таймером и без
|
Чем public не угодил? zcmd вроде как раз на них работает и вроде ловчее через них
![Smiley](images/smilies/smile.png)
. Знаю одно про них, что от них размер мода увеличивается.
Re: Оптимизация кода -
MX_Master - 11.06.2010
А размер имеет значение? (((:
Re: Оптимизация кода -
eakwarp - 11.06.2010
Quote:
Originally Posted by MX_Master
А размер имеет значение? (((:
|
Размер против возможности удаленно вызывать функцию.
Re: Оптимизация кода -
JesterX - 11.06.2010
Каждый public имеет свой индекс, и вызывается именно по индексу, в отличии от остальных. Кто не верит есть функция funcidx. Логично предположить, что это затраты времени!?
zcmd - всего лишь неудачный клон dcmd, кто его использует - тот точно неудачник
Re: Оптимизация кода -
MX_Master - 11.06.2010
У меня паблики это сами колбэки и функции, которые запускаются по таймеру, остальное все - stock. Если у кого-то не так, то ваш код - не оптимизирован. Удаленно я функций не запускаю.
Re: Оптимизация кода -
ZaR - 11.06.2010
Вопрос по теме. Есть ли смысл каждый раз при выполнении запроса к базе мускуля коннектится, и после запроса клозить?
Re: Оптимизация кода -
eakwarp - 11.06.2010
Quote:
Originally Posted by s3ap
Вопрос по теме. Есть ли смысл каждый раз при выполнении запроса к базе мускуля коннектится, и после запроса клозить?
|
Что то у тебя запредельно бессмысленные идеи) Закрывать коннект к базе разумно лишь в том случае если ты решил к другой приконнектиться.