05:33
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 5 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
Модератор форума: Dima-kun  
Оптимизация кода
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, fun ,и как ты собираешься юзать Cuffedsss если у тебя он на нуле,и в середине кода,получается надо засунуть new Cuffedsss = 0; вверх кода,и тогда всё будет.
ImperealДата: Суббота, 11.06.2011, 16:31 | Сообщение # 66
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
Репутация: 1868
Замечания: 100%
Статус:
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;//даём знать что мы с анимацией
}
}

Что за порнуха? ugly



Прощай самп-рус =Р
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
Город: Санкт-Петербург
Репутация: 1868
Замечания: 100%
Статус:
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%
Статус:
Quote (Impereal)
}

большое спасибо попробую :)

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
Город: Санкт-Петербург
Репутация: 1868
Замечания: 100%
Статус:
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://дейстие
}

ет знаю ищо раз спасибо все работает как нужно ;)

  • Страница 5 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua