Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Оптимизация команд

Статус
В этой теме нельзя размещать новые ответы.

OrangeStyle

Новичок
Здравствуйте друзья! Сегодня я вам расскажу о оптимизации игровых модов.
Ну во-первых заставляет немного подгрузиться серверу система сохранения аккаунтов MxINI. Из этой системы можно сделать конфетку если постараться над инклюдом. НО, лучше не заморачиваться над багами данной системы и перейти на MySQL. Как перейти на MySQL найдете портале (Перейти в раздел MYSQL)
Во-вторых это использование стандартной системы комманд. Да, strcmd вполне хорошая система, багов нету, но тот-же ZCMD, а темболее YCMD намного оптимизированней. Переход с одного на другое не составит труда, разве размеры и около дня для переписания комманд

Было:
PHP:
if(strcmp(cmd,"/taxiskill",true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(PlayerInfo[playerid][pTskill] > 1000)
        {
            PlayerInfo[playerid][pTskill] = 1000;
        }
        if(PlayerInfo[playerid][pTskill] < 0)
        {
            PlayerInfo[playerid][pTskill] = 0;
        }
        format(string,sizeof(string),"Ваш скилл таксиста» : %d / 1000",PlayerInfo[playerid][pTskill]);
        SendClientMessage(playerid,COLOR_BLUE,string);
        return 1;
    }
    return 1;
}
Стало:
PHP:
CMD:taxiskill(playerid, params[])
{
    if(!IsPlayerConnected(playerid)) return true;
    if(PlayerInfo[playerid][pTskill]>999) return PlayerInfo[playerid][pTskill]=1000;
    if(PlayerInfo[playerid][pTskill]<0) return PlayerInfo[playerid][pTskill]=0;
    format(string,sizeof(string),"Ваш скилл таксиста» : %d / 1000",PlayerInfo[playerid][pTskill]);
    SendClientMessage(playerid,COLOR_BLUE,string);
    return true;
}
Во-первых комманды станут короче, во-вторых более оптимизированы.
Если вам необходимо будет перевести комманды, напишите в теме, и киньте в спойлер комманду.
В-третьих некоторые на убой не хотят использовать свич, хотя он намного удобнее сравнения.


Пример:
PHP:
if(dialogid == 99)
{
    lalala=1;
}
if(dialogid == 88)
{
    lalala=2;
}
и так же со switch
PHP:
switch(dialogid)
{
    case 99: lalala=1;
    case 88: lalala=2;
    return true;
}
Чем же это оптимизирует? А тем, что при сравнении сервер тоже использует память, и в итоге если этих диалогов будет не 2 как в примере, а 20000. То при поиске диалога сервер просто-напросто повиснет, а в случае со свичем он просто ищет диалог. То-есть он не проверяет каждую возможность, а просто берет число и ищет кейс с ним.
В-четвертых, это много ненужных комманд/скриптов. Многие непопулярные сервера не задумываются о том, что например комманда /kiss, /minet и другие ненужные могут просто напросто положить сервер, особенно если эти комманды на strcmd с системой сохранения комманд MxINI. Эти комманды не то что просто валяются без дела, они еще и вредят ему. (Тот-же пример с /cnn, /cnnn, одну комманду можно смело убрать. Т.к. они выполняют одну и ту-же функцию но одна показывает ник, а другая нет...) А тем более меня поражают такие сервера, на которых стоят разнообразные казино, у людей денег море... Зачем казино? Господи, оно не вливается в ваш супер-пупер Role Play режим, где бомж приезжает и можно сказать находит чемодан с миллионами вирт. А ведь эти казино еще и нагружают сервер своими системами.
В-пятых, это множество домов/квартир и других вещей. Ну вот у вас онлайн на сервере 20-30 человек. Зачем вам 600-700 домов? Куда они вам? Зачем вам 2000 квартир которые вы старательно выставляли? Зачем вам 40 бизнесов по всему штату? Зачем вам 33 организации на сервер? Когда 5-6 человек обычно администраторы, а остальные лидеры. Советую пока онлайн сервера не подрастет заставить игроков посидеть в одном городе... Не тяжело же перенести пикапы из СФ в ЛС например с покупкой автомобилей.
В-шестых, это огромное кол-во объектов, ненужных автомобилей на сервере. Вы же видели тот-же самый Samp-RP, где вы видели на мэрии около 120-150 объектов? У них от силы на всем сервере столько наберется... Да и море автомобилей для фракции с максимальным кол-вом человек в 5-10 во фракции, из которых одновременно играет человека 2-3.
В общем так, повышают пинг игроков огромное кол-во объектов, автомобилей, пикапов домов, пикапов квартир, великое кол-во ненужных комманд и систем... Так-же повышают пинг игроков многие другие системы (комманды, сохранение/загрузка аккаунтов).
Удачи вам в пробах оптимизации мода​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу