Re: Скриптинг курилка -
Mcc - 10.09.2017
Quote:
Originally Posted by stabker
& не нужно, строки по умолчанию передаются по ссылке.
|
А вот про это я не знал. Да и не пробовал даже, а может и пробовал но забыл. Спасибо пацаны
Re: Скриптинг курилка -
thebatya - 14.09.2017
В библиотеках от Zeex/pawncc
У print изменены параметры, и вообще там много новых нативных функций, кто то знает их назначение или где можно найти документацию по ним и работают ли они вообще в SA:MP?
PHP код:
native print(const string[], foreground=-1, background=-1, highlight=-1);
Или же они предназначены не для SA:MP?
Re: Скриптинг курилка -
VVWVV - 14.09.2017
Quote:
Originally Posted by thebatya
В библиотеках от Zeex/pawncc
У print изменены параметры, и вообще там много новых нативных функций, кто то знает их назначение или где можно найти документацию по ним и работают ли они вообще в SA:MP?
PHP код:
native print(const string[], foreground=-1, background=-1, highlight=-1);
Или же они предназначены не для SA:MP?
|
Компилятор - это вам не интерпретатор. Компилятор использует ваш код для компиляции в байт-код (P-код), а интерпретатор, соответственно, интерпретирует его. То, что вы увидели в форке от Zeex в нем используется только лишь частично (там более новая версия ВМ); модули там вообще не используются. На сервере SA:MP используется старая версия ВМ, а print - функция, созданная командой SA:MP.
Re: Скриптинг курилка -
Stepashka - 15.09.2017
Перевожу: sa-mp будет игнорировать все параметры о которых не знает, или просто вылетит с ошибкой.
Re: Скриптинг курилка -
Mcc - 15.09.2017
Пузырьковая сортировка. Цикл внутри цикла. В первом 30 итераций и во втором 30 на каждую из итераций первого цикла. Не много ли это для самп сервера с онлайном под пять сотен? Сортировка вызывается при подгрузке контактов в телефоне. Я иных способов расфосовать контакты по порядку просто не вижу
Не могли бы вы развести мои сомнения
На локалке выполняется за 15 ms
Re: Скриптинг курилка -
Eims - 15.09.2017
Quote:
Originally Posted by Mcc
Я иных способов расфосовать контакты по порядку просто не вижу
|
Подгружать данные из БД, перекладывая сортировку на MySQL сервер? Конечно при больших объёмах и для MySQL может быть тяжеловато, но она гораздо выносливее SA-MP сервера будет в этом плане, как мне кажется
Re: Скриптинг курилка -
White_116 - 15.09.2017
QuickSort уже вышел из моды? Как часто ты подгружаешь телефонный справочник?
Re: Скриптинг курилка -
Mcc - 15.09.2017
Quote:
Originally Posted by White_116
QuickSort уже вышел из моды? Как часто ты подгружаешь телефонный справочник?
|
Только тогда когда в справочнике происходят изменения в середине массива, чтобы выстроить всё по нормальному. Да я уже сделал все нормальненько
Re: Скриптинг курилка -
ZiGGi - 15.09.2017
Quote:
Originally Posted by Mcc
Пузырьковая сортировка. Цикл внутри цикла. В первом 30 итераций и во втором 30 на каждую из итераций первого цикла. Не много ли это для самп сервера с онлайном под пять сотен? Сортировка вызывается при подгрузке контактов в телефоне. Я иных способов расфосовать контакты по порядку просто не вижу
Не могли бы вы развести мои сомнения
На локалке выполняется за 15 ms
|
1. Лучше сортировать с помощью MySQL (если данные берутся оттуда).
2. Если нужна сортировка на Pawn, то я рекомендую сортировку вставками: простая для запоминания и довольно эффективная, по сравнению с пузырьковой.
PHP код:
stock insert_sort(array[], const size = sizeof(array))
{
new
i,
j,
key;
for (i = 1; i < size; i++) {
key = array[i];
for (j = i - 1; j >= 0 && array[j] > key; j--) {
array[j + 1] = array[j];
}
array[j + 1] = key;
}
}
Re: Скриптинг курилка -
Mcc - 16.09.2017
Quote:
Originally Posted by ZiGGi
1. Лучше сортировать с помощью MySQL (если данные берутся оттуда).
2. Если нужна сортировка на Pawn, то я рекомендую сортировку вставками: простая для запоминания и довольно эффективная, по сравнению с пузырьковой.
PHP код:
stock insert_sort(array[], const size = sizeof(array))
{
new
i,
j,
key;
for (i = 1; i < size; i++) {
key = array[i];
for (j = i - 1; j >= 0 && array[j] > key; j--) {
array[j + 1] = array[j];
}
array[j + 1] = key;
}
}
|
Благодарочка. На будущее сохранил
Re: Скриптинг курилка -
Romz - 20.09.2017
Quote:
Originally Posted by ZiGGi
1. Лучше сортировать с помощью MySQL (если данные берутся оттуда).
|
Интересно стало, как сортировка делается через MySQL?
Re: Скриптинг курилка -
Eims - 20.09.2017
Quote:
Originally Posted by Kolstin
Интересно стало, как сортировка делается через MySQL?
|
Смотря по какому принципу нужно сортировать. Можно выделить дополнительный столбец и указывать в нём нужную информацию
(например, если нужно сортировать по первым буквам имени/фамилии, указывать там эти буквы), а можно прямо по конкретному столбцу, если там достаточно информации. Всё от ситуации зависит.
Но вообще
вот можно почитать о сортировке
Re: Скриптинг курилка -
Mcc - 20.09.2017
Давно пользуюсь сортировкой мускулом, ибо так проще, но не думал что так еще и быстрее, это так?
Рассуждаю так - сортировка происходит на мускуле без влияния на сервер, а после, сервер уже получает готовую информацию без необходимости её сортировки.
Но разве запросы выборки с order by будут быстрее той же пузырьковой сортировки на стороне сервера?
Если мускул с сервером на одном хосте, к примеру.
Re: Скриптинг курилка -
Stepashka - 20.09.2017
Quote:
Originally Posted by Eims
Смотря по какому принципу нужно сортировать. Можно выделить дополнительный столбец и указывать в нём нужную информацию (например, если нужно сортировать по первым буквам имени/фамилии, указывать там эти буквы), а можно прямо по конкретному столбцу, если там достаточно информации. Всё от ситуации зависит.
Но вообще вот можно почитать о сортировке
|
А зачем заводить отдельное поле если эти первые буквы можно выдернуть при запросе? Более того, сортировка по полному имени и фамилии будет правильней.
Quote:
Originally Posted by Mcc
Давно пользуюсь сортировкой мускулом, ибо так проще, но не думал что так еще и быстрее, это так?
Рассуждаю так - сортировка происходит на мускуле без влияния на сервер, а после, сервер уже получает готовую информацию без необходимости её сортировки.
Но разве запросы выборки с order by будут быстрее той же пузырьковой сортировки на стороне сервера?
Если мускул с сервером на одном хосте, к примеру.
|
да это так.
Правильно рассуждайте.
Естественно быстрей. Начнём с того что мускул сортирует не пузырьками. А если ещё и грамотно ключи расставлены, то и сортирует не весь пул данных, а только то что нужно в запросе. В добавок мускул работает на гораздо более низком уровне нежели sa-mp. И в конце концов он многопоточен.
Re: Скриптинг курилка -
Eims - 20.09.2017
Quote:
Originally Posted by Stepashka
А зачем заводить отдельное поле если эти первые буквы можно выдернуть при запросе? Более того, сортировка по полному имени и фамилии будет правильней.
|
Я лишь привёл пример, хоть и не совсем удачный. А примером пытался сказать, что если нужно отсортировать данные по какому-то признаку, который трудно или невозможно получить путём простого запроса - можно выделить дополнительный столбец и сортировать по нему. И пусть на практике такое вряд ли потребуется, но лишней ведь информация не будет эта
Re: Скриптинг курилка -
Stepashka - 20.09.2017
Quote:
Originally Posted by Eims
но лишней ведь информация не будет эта
|
Будет, если даёте пример - будьте любезны давать его правильно! Практика показывает что такие "примеры на скорую руку" заканчиваются быдлокодом.
Re: Скриптинг курилка -
Romz - 20.09.2017
Quote:
Originally Posted by Eims
Смотря по какому принципу нужно сортировать. Можно выделить дополнительный столбец и указывать в нём нужную информацию (например, если нужно сортировать по первым буквам имени/фамилии, указывать там эти буквы), а можно прямо по конкретному столбцу, если там достаточно информации. Всё от ситуации зависит.
Но вообще вот можно почитать о сортировке
|
точно, чет затупил...
Re: Скриптинг курилка -
Eims - 20.09.2017
Quote:
Originally Posted by Stepashka
Будет, если даёте пример - будьте любезны давать его правильно! Практика показывает что такие "примеры на скорую руку" заканчиваются быдлокодом.
|
Практика показывает, что если людям не показать альтернативу, они сами даже никогда о ней и не подумают, а будут городить ещё больший говнокод с теми "правильными" примерами, что им дали, описав лишь один путь решения.
Да и что в моём примере такого от быдлокода? Мой вариант будет работать совершенно так же, просто добавит один столбец в таблицу, но, при этом, упростит сам запрос. В твоём же случае отсутствие дополнительного столбца компенсируется всеми махинациями с именем прямо при запросе, что, в теории, только прибавит времени к обработке информации
(и да, я, если что, подразумевал сортировку по первой букве и имени, и фамилии).
Это то же самое, что и варианты хранения информации в массиве: либо просто записывать данные в каждую ячейку, либо начать работать с битами, усложнив сам процесс работы с таким кодом, но сэкономив пару лишних байт. Оба варианта имеют право на существование. Всё лишь зависит от нужд в конкретной ситуации.
Re: SAMP.img -
OKStyle - 02.10.2017
Уже видели? Наш раздел тоже под угрозой? Подставой попахивает))
Re: Скриптинг курилка -
Romz - 05.10.2017
Появился еще один бета тестер TommyB. Надеюсь это приведет к чему то, например обновление сампа выйдет.