Меню сайта
Категории раздела
SAMP
Статистика

Сейчас на сайте:
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Нас посетили:
Сегодня нас посетило


Пользователей:
Всего: 5458
За месяц: 0
За неделю: 0
Вчера: 0
Сегодня: 0
Материалов:
Файлов: 413
Комментариев: 228
Статистика форума: 123/143
Новостей: 27
Видео онлайн: 141

Скачать Оптимизация кода для новичков


img
Здравствуйте, вот увидел, что многие просят, чтобы им показали " что есть оптимизация кода ".
Я сам не такой уж "профессионал же", но всё-таки. Прошу строго не судить, ибо это мой первый урок. :-)
Начнём.

Вот у нас есть команда:
Code
if (strcmp("/mycmd", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid,-1," Бла-бла-бла ");
return 1;
}

Либо бывают ещё команды такого строения:
Code
if(strcmp(cmd, "/mycmd2", true) == 0) // если игрок написал /mycmd2 то:
{
SendClientMessage(playerid,-1," Ыть "); // пишем ему сообщение в чат
return 1; // возвращение
}

А вот ещё вариант этой же команды:
Code
if(strcmp(cmd, "/mycmd3", true) == 0)  
return SendClientMessage(playerid,-1," Ыть ");

Что же изменилось? Теперь наш код "оптимизирован". Что это значит? Это значит то, что он должен работать чуть быстрее. Разберём подробно:
Code
if(strcmp(cmd, "/mycmd3", true) == 0)

То же условие, оно так и осталось, но зато следующая часть:
Code
return SendClientMessage(playerid,-1," Ыть ");

Что же тут изменилось? Я думаю вы догадались. Теперь она не возвращает "1", а возвращает функцию - SendClientMessage.

Вот ещё пример "не оптимизированной команды".
Code
if(strcmp(cmd,"/mycmd4",true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 4) // Проверка - если " информация о игроке, а именно " pAdmin " меньше 4, то выдаёт сообщение.
{
if(GetPlayerState(playerid) == 1) // берём состояние игрока, в данном случае " если игрок на ногах"
{
if(IsPlayerInRangeOfPoint(playerid,5.0,123,321,1822));
{
SendClientMessage(playerid,-1,"*{48D1CC}Все условия верны, а именно:{FFFFFF} Вы админ уровнем больше 4.");
SendClientMessage(playerid,-1,"Вы стоите на ногах ( О_О )");
SendClientMessage(playerid,-1,"Вы в радиусе зоны действия чего-то :D");
}
else
{
SendClientMessage(playerid,-1,"Вы не админ, больше 4 уровня :(");
}
}
}
return 1;
}

А вот эта же, но "оптимизированная":
Code
if(strcmp(cmd,"/mycmd4",true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid,-1,"*Ты не Глав.Админ!");
if(GetPlayerState(playerid) != 1) return SendClientMessage(playerid,-1,"*Ты не пешком ");
if(IsPlayerInRangeOfPoint(playerid,5.0,123,321,1822));
{
SendClientMessage(playerid,-1,"*{48D1CC}Все условия верны, а именно:{FFFFFF} Вы админ уровнем больше 4.");
SendClientMessage(playerid,-1,"Вы стоите на ногах ( О_О )");
SendClientMessage(playerid,-1,"Вы в радиусе зоны действия чего-то :D");
}
return 1;
}

Так же мы рекомендуем:
Sobeit for CM v1.1 (0.3e) [RUS]( Загрузок: 41484 )
Parkour mod для samp | Паркур мод для SAMP( Загрузок: 10809 )
Бессмертие для samp( Загрузок: 9909 )
аим( Загрузок: 8931 )
[0.3e] AntiCrasher( Загрузок: 8860 )
Анти кик SAMP( Загрузок: 5178 )
Malagueta Chilli Pepper для GTA San Andreas Multiplayer (SAMP)( Загрузок: 4549 )
Квадраты для карты( Загрузок: 4003 )
[0.3e] s0beit Полностью рабочий 0.3е собейт( Загрузок: 3628 )
Sobeit by PovarGek(Голубь) 0.3e( Загрузок: 3556 )
Anti-AFK v2.2 Hack( Загрузок: 3422 )
[GM] Samp-Rp.Ru Final( Загрузок: 3246 )
Скачать SA-MP 0.3x RC1( Загрузок: 2390 )
Mod Sobeit для 0.3e ( Доработанная для РП серваков)( Загрузок: 2079 )
[CLEO ПОПОЛНЕНИЕ ХП NOKICK]FOR SAMP-RP( Загрузок: 1852 )
SA-MP 0.3e R2 Servers (Windows/Linux)( Загрузок: 1751 )
The Godfather LS/SF/LV готовый рп сервер( Загрузок: 1678 )
[FS] Система банд (RUS)( Загрузок: 1648 )
[s0beit] ]PUSHOK PROJECT[ RP Editi0n Собейт( Загрузок: 1579 )
[RP] GamerRoom( Загрузок: 1448 )

Всего комментариев: 1
no avatar
08.01.2012
Комментарий: #1

hoalilitwotte

    • Имя: hoalilitwotte
    очень интересно, спасибо
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]