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

 



 
          





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





Последние Файлы 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
  • Страница 1 из 1
  • 1
Модератор форума: Dima-kun  
Коллекия функций/макросов
ВеликсДата: Понедельник, 28.02.2011, 22:01 | Сообщение # 1
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
Делимся функциями/макросами, я начну:
Проверка на наличие игрока в авто на каком либо сидении.
Code
stock IsAnyPlayerInVehicle(vehicleid,seat){
  for(new i = 0; i < MAX_PLAYERS; i++){
   if (IsPlayerInVehicle(i, vehicleid) && GetPlayerVehicleSeat(i) == seat){
    return 1;
   }
  }
  return 0;
}

P.S. - Закрепите тему, если народ будет делиться - тема станет полезной.


[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
Fus1Дата: Понедельник, 28.02.2011, 22:15 | Сообщение # 2
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
Узнаёт в каком слоте лежит оружие

Code
stock GetWeaponSlot(gunid)   
{
  if(gunid == 1)     return 0;
         else if(IsAMelee(gunid))   return 1;
  else if(IsAPistol(gunid))   return 2;
  else if(IsAShotgun(gunid))   return 3;
  else if(IsAMachineGun(gunid))  return 4;
  else if(IsAnAssault(gunid))    return 5;
  else if(IsARifle(gunid))   return 6;
  else if(IsAHeavyAssault(gunid))   return 7;
  else if(IsAGrenade(gunid))   return 8;
  else if(IsAStuff1(gunid))   return 9;
  else if(IsAGirlsStuff(gunid))  return 10;
  else if(IsAStuff2(gunid))  return 11;
  return -1;
}

Само оружие

Code
stock IsAPistol(gunid)
{
  if(gunid >= 22 && gunid <=24)
     return 1;
  return 0;
}
stock IsAMelee(gunid)
{
  if(gunid >= 2 && gunid <= 9)
     return 1;
  return 0;
}
stock IsAGirlsStuff(gunid)
{
  if(gunid >= 10 && gunid <= 15)
     return 1;
  return 0;
}
stock IsAGrenade(gunid)
{
  if((gunid >= 16 && gunid <= 18) || gunid == 39)
     return 1;
  return 0;
}
stock IsAShotgun(gunid)
{
  if(gunid >= 25 && gunid <= 27)
     return 1;
  return 0;
}
stock IsAMachineGun(gunid)
{
  if(gunid == 28 || gunid == 29 || gunid == 32)
     return 1;
  return 0;
}
stock IsAnAssault(gunid)
{
  if(gunid == 30 || gunid == 31)
     return 1;
  return 0;
}
stock IsARifle(gunid)
{
  if(gunid == 33 || gunid == 34)
     return 1;
  return 0;
}
stock IsAHeavyAssault(gunid)
{
  if(gunid == 35 || gunid == 36 || gunid == 37)
     return 1;
  return 0;
}
stock IsAStuff1(gunid)//Баллончик
{
  if(gunid >= 41 && gunid <= 43 )
     return 1;
  return 0;
}
stock IsAStuff2(gunid)
{
  if(gunid >= 44 && gunid <= 46 )//Парашют
     return 1;
  return 0;
}

ВеликсДата: Вторник, 01.03.2011, 22:25 | Сообщение # 3
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
Эмм, вопрос. Возможно ли сделать проверку на кол-во игроков в авто?Чет сам никак не допру crazy


[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
AndrejsДата: Вторник, 01.03.2011, 22:55 | Сообщение # 4
Группа: I'm V.I.P.
Сообщений: 1801
Награды: 37
Город: Tallinn
Репутация: 2282
Замечания: 20%
Статус:
[MrVelix], возможно.

Добавлено (01.03.2011, 22:55)
---------------------------------------------
Fus1, всё можно сделать проще :)

Quote
stock WeaponSlot(weaponid)
{
switch (weaponid)
{
case 0,1: return 0;
case 2..9: return 1;
case 10..15: return 10;
case 16..18,39: return 8;
case 22..24: return 2;
case 25..27: return 3;
case 28,29,32: return 4;
case 30,31: return 5;
case 33,34: return 6;
case 35..38: return 7;
case 41..43: return 9;
case 44..46: return 9;
default: return 12;
}
return true;
}




Fus1Дата: Среда, 02.03.2011, 05:44 | Сообщение # 5
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
McSquizzy , ну легче то легче, но многие и в моде используют не всё оружие, а допустим только пистолеты, и тут можно просто IsAPistol
toneysixДата: Среда, 02.03.2011, 07:17 | Сообщение # 6
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
Кстати говоря, конструкция switch/case работает быстрее операторов условий, проверено.


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
AndrejsДата: Среда, 02.03.2011, 08:32 | Сообщение # 7
Группа: I'm V.I.P.
Сообщений: 1801
Награды: 37
Город: Tallinn
Репутация: 2282
Замечания: 20%
Статус:
Fus1, вот как раз если в моде используют не всё оружие, то моя будет удобнее, потому что
Quote (toneysix)
конструкция switch/case работает быстрее операторов условий

что тоже могу подтвердить ;)

В любом случае, пользователь выберет удобный способ для себя, а мы предлагаем ему выбор ;)



Fus1Дата: Среда, 02.03.2011, 15:08 | Сообщение # 8
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
McSquizzy,это понятно что как хочет так и использует, но смотри просто это ведь всё равно вариант легче, допустим :

Например, нам нужно узнать, ID 24 (дигл) - это пистолет или нет? Мы можем вызвать функцию WeaponSlot, чтобы узнать слот оружия, функция вернет значение 2. Но вдруг мы забыли, что номер слота для пистолетов - это 2 ? Нам прийдется делать отдельную проверку для этого.
А так - мы просто вызвали функцию IsAPistol(пистолет это или нет?) и получили точный ответ: да или нет.
В данном случае - да, т. к. дигл - это пистолет.

AndrejsДата: Четверг, 03.03.2011, 12:17 | Сообщение # 9
Группа: I'm V.I.P.
Сообщений: 1801
Награды: 37
Город: Tallinn
Репутация: 2282
Замечания: 20%
Статус:
Ладно, ладно. Главное, что работают, а там уже выберут кому что надо



  • Страница 1 из 1
  • 1
Поиск:





 


 


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