Оптимизация кода
|
|
Goshik | Дата: Пятница, 10.06.2011, 20:42 | Сообщение # 61 |
Уверенный в себе
Группа:
Пользователи
Сообщений: 280
Награды: 1
Город: ---
Репутация: 18
Замечания: 60%
Статус:
| Jericho, ....... Code OnGameModeInit() { SetTimer("lol", 1000, 0); }
public lol() { }
Code OnGameModeInit() { lol(); }
public lol() { SetTimer("lol", 1000, 0); } Добавлено (10.06.2011, 20:42) --------------------------------------------- Точнее,
Code OnGameModeInit() { SetTimer("lol", 1000, 1); }
|
|
|
|
Eakwarp | Дата: Пятница, 10.06.2011, 21:04 | Сообщение # 62 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
| Goshik, вы хоть поняли что поменяли шило на шило? Только добавили лишние 2 тика на выполнение еще и созданного паблика, да, молодец. "Оптимизация" в стиле "6й БЭ"... Ок. Добавлено (10.06.2011, 21:04) ---------------------------------------------
Quote (Goshik) Eakwarp, тебе что, так важно чтобы таймер шел именно каждую секунду? Мне лично нет, я ставлю приблизительно на 1 сек (античиты, разные проверки и т.д.), а если хочешь точности юзай y timers, хотя они тоже бывает встают... я веду к тому, что лучше создать несколько таймеров в разное время, чем лепить все в один паблик под один таймер Кстати если ты даже поставишь на 1000 мсек, он не будет выполняться ТОЧНО раз в 1 секунду, он будет выполняться с запозданием Честное слово, вы идиот. Таймер запаздывает ровно на столько, сколько занимает время выполнения его тела.
И я повторюсь, прерывания. А что это, уже извольте сами разбирать.
More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.
Valakas Roleplay on Twitter
Платные консультации, разработка, в ICQ. Дорого.
|
|
|
|
Interpol | Дата: Пятница, 10.06.2011, 22:35 | Сообщение # 63 |
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 5358
Награды: 77
Город: НеБаку
Репутация: 3795
Замечания: 20%
Статус:
| Quote (RoACh) Тогда нахер вопрос-ответ, если можно по магазинам ходить и книги покупать? комплексно как в книге тут все равно не написать все сразу
|
|
|
|
4erpa4ok | Дата: Суббота, 11.06.2011, 02:54 | Сообщение # 64 |
Новенький
Группа:
Пользователи
Сообщений: 18
Награды: 0
Город: Минск
Репутация: 0
Замечания: 0%
Статус:
| Кстати все чтобы подстрохаватся в коде (например античита) делают слишком много лишних проверок и переменых.Я так тоже делал пока пинг до 200 не поднялся у всех:).Избегайте этого перепроверьте код что и как он выполняет и соответствует ли он тому что вы хотели воплатить в реальность.ещо вместо того чтоб ставить дофига лишних if (не знаю писали про это или нет) достаточно 1 if а всё остольное это else :). чтобы вы поняли суть того что я пытаюсь вам впарить Code if(IsPlayerInRangeOfPlayer(1.6,playerid,consid))//Если в радиусе 3 метров { if(Secondss[consid] >=3)//больше 3 секунд на 1 месте { SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);//Убираем анимацию TogglePlayerControllableEx(playerid, 0);//Обездвиживаем Cuffedsss = 1; } } new Cuffedsss = 0; if(Secondss[consid] < 3)//Если конвоир стоит меньше 3 секунд или двигается { if(Cuffedsss == 1)//Если игрок уже заморожен и без анимации { TogglePlayerControllableEx(playerid, 1);//Возвращаем возможность двигатся ApplyAnimation(playerid,"PED","WALK_old",4.9,9,9,9,9,9);//Возвращаем анимацию Cuffedsss = 0;//даём знать что мы с анимацией } } догадайтесь что тут лишнее? И самым разумным ДЛЯ ЧЕГО ЭТОТ КОД?
Я на Virtual City ! IP:93.84.114.180 Port:7777 (The best RP mode)!
|
|
|
|
KozzPorno | Дата: Суббота, 11.06.2011, 15:37 | Сообщение # 65 |
Группа:
Продвинутые
Сообщений: 117
Награды: 7
Город: Бузулаевка
Репутация: 390
Замечания: 100%
Статус:
| 4erpa4ok, ,и как ты собираешься юзать Cuffedsss если у тебя он на нуле,и в середине кода,получается надо засунуть new Cuffedsss = 0; вверх кода,и тогда всё будет.
|
|
|
|
Impereal | Дата: Суббота, 11.06.2011, 16:31 | Сообщение # 66 |
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
| Quote (4erpa4ok) if(IsPlayerInRangeOfPlayer(1.6,playerid,consid))//Если в радиусе 3 метров { if(Secondss[consid] >=3)//больше 3 секунд на 1 месте { SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);//Убираем анимацию TogglePlayerControllableEx(playerid, 0);//Обездвиживаем Cuffedsss = 1; } } new Cuffedsss = 0; if(Secondss[consid] < 3)//Если конвоир стоит меньше 3 секунд или двигается { if(Cuffedsss == 1)//Если игрок уже заморожен и без анимации { TogglePlayerControllableEx(playerid, 1);//Возвращаем возможность двигатся ApplyAnimation(playerid,"PED","WALK_old",4.9,9,9,9,9,9);//Возвращаем анимацию Cuffedsss = 0;//даём знать что мы с анимацией } } Что за порнуха?
Прощай самп-рус =Р
|
|
|
|
dark_parson | Дата: Воскресенье, 12.06.2011, 17:18 | Сообщение # 67 |
Освоившийся
Группа:
Продвинутые
Сообщений: 144
Награды: 1
Город: Острог
Репутация: 52
Замечания: 0%
Статус:
| привет все у меня вопрос ,как правильно сделать оптимизацию? вот код , random будет как минимум 20 штук Code new rand = random(3); { if(rand==0) { //код } if(rand==1) { //код } if(rand==2) { //код
} }
|
|
|
|
Impereal | Дата: Воскресенье, 12.06.2011, 18:22 | Сообщение # 68 |
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
| dark_parson, Code switch(rand) { case 0: case 1: .... case 20: }
Прощай самп-рус =Р
|
|
|
|
oleg_tarantula | Дата: Воскресенье, 12.06.2011, 18:23 | Сообщение # 69 |
Постоялец
Группа:
Продвинутые
Сообщений: 345
Награды: 5
Город: -
Репутация: 118
Замечания: 60%
Статус:
| dark_parson, вот так код чуток меньший... Code new rand = random(12); switch(rand) { case 0: //код case 1: //код case 2: //код case 3: //код case 4: //код case 5: //код case 6: //код case 7: //код case 8: //код case 9: //код case 10: //код case 11: //код }
|
|
|
|
dark_parson | Дата: Воскресенье, 12.06.2011, 18:25 | Сообщение # 70 |
Освоившийся
Группа:
Продвинутые
Сообщений: 144
Награды: 1
Город: Острог
Репутация: 52
Замечания: 0%
Статус:
| большое спасибо попробую
|
|
|
|
oleg_tarantula | Дата: Воскресенье, 12.06.2011, 18:27 | Сообщение # 71 |
Постоялец
Группа:
Продвинутые
Сообщений: 345
Награды: 5
Город: -
Репутация: 118
Замечания: 60%
Статус:
| [off]Немного не успел)[/off]
|
|
|
|
Impereal | Дата: Воскресенье, 12.06.2011, 18:29 | Сообщение # 72 |
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
| dark_parson, Так же,если у тебя с 1 по 10 идёт одно действие(одинаковое),а с 11 по 20 другое(одинаковое),делай так: switch(rand) { case 1..10://действие case 11..20://дейстие }
Прощай самп-рус =Р
|
|
|
|
dark_parson | Дата: Воскресенье, 12.06.2011, 18:39 | Сообщение # 73 |
Освоившийся
Группа:
Продвинутые
Сообщений: 144
Награды: 1
Город: Острог
Репутация: 52
Замечания: 0%
Статус:
| Quote (Impereal) ase 1..10://действие case 11..20://дейстие } ет знаю ищо раз спасибо все работает как нужно
|
|
|
|