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

 



 
          





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





Последние Файлы 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
Модератор форума: Alcoholik  
[FS+INC] OnPlayerHitSystem
toneysixДата: Среда, 14.09.2011, 04:59 | Сообщение # 61
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
Quote
За 2010 год, с глупым алгоритмом, который прокручивает цикл со сдвигом по 1.0 юниту и проверкой crazy т.е. он буквально прорисовывает траекторию полёта пули (определяет только headshot), не позавидуешь тому кто поставит этот скрипт с онлайном выше 20 человек.

Прорисовывает? Это же смешно))) Так называемый вектор рассчитывается чисто математическими формулами векторов, никакой прорисовки не существует, все эти расчеты примитивная работа компьютера, которая выполняется за сотую долю миллисекунд. Далее на счет цикла, цикл будет работать только на тех, кто стреляет, и обновляться он будет раз в 1 секунду, больше не надо. Никто не стреляет - ничего не просчитывается, стреляет один человек, просчет идет только для него, все. Это все работает быстрее, чем что-либо можно себе представить, просто грамотно надо реализовать всего-лишь.
Для примера, берем точку (игрок, который стреляет), проводим от неё вектор ко всем видящем точкам (игроки в области видимости данного игрока, по которым возможно стреляет игрок), и получаем результат, на сколько данный вектор отклонен от начальной точки, то есть никак иначе насколько наш вектор отпущенной от начальной точки перпендикулярен данной точки, то есть никак иначе, куда смотрит прицел игрока, это и есть представление нашей точки.
Cобственно это все, я изложил в предыдущем посте, на математическом языке.



Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru

Сообщение отредактировал toneysix - Среда, 14.09.2011, 05:22
AirKiteДата: Среда, 14.09.2011, 06:01 | Сообщение # 62
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Quote (toneysix)
Прорисовывает? Это же смешно))) Так называемый вектор рассчитывается чисто математическими формулами векторов

Под прорисовывает я подразумевал математические расчёты. В debug есть CreateObject, с помощью которого можно наблюдать ту самую траекторию.

Quote (toneysix)
Никто не стреляет - ничего не просчитывается, стреляет один человек, просчет идет только для него, все. Это все работает быстрее, чем что-либо можно себе представить, просто грамотно надо реализовать всего-лишь. Для примера, берем точку (игрок, который стреляет), проводим от неё вектор ко всем видящем точкам (игроки в области видимости данного игрока, по которым возможно стреляет игрок), и получаем результат, на сколько данный вектор отклонен от начальной точки, то есть никак иначе насколько наш вектор отпущенной от начальной точки перпендикулярен данной точки, то есть никак иначе, куда смотрит прицел игрока, это и есть представление нашей точки. Cобственно это все, я изложил в предыдущем посте, на математическом языке.

Ты правильно говоришь, но совсем не в тему. Ты о правильной реализации. Тот OnPlayerHit что выложен тут, почти так и реализован. Единственное с векторами намудрил чуток :D

Но речь сейчас не о том, как сделать лучше... или о oph а о скрипте на который ведёт ссылка в посте _Dark_. А именно http://forum.sa-mp.com/showthread.php?t=138791

Сначала открой скрипт, посмотри реализацию. Цикл который прокручивает дистанцию (расчёт конечной точки по вектору камеры) и сверяет позицию точки с позицией игрока crazy

Для ленивых что то качать:
Code

do
   {
          x[0] += (x[1] * 1.0);
             y[0] += (y[1] * 1.0);
             z[0] += (z[1] * 1.0);

    #if defined DEBUG
        #if !defined NO_LOS
            SetTimerEx("DestroyMe", DESTROY_LOS, 0, "i", CreateObject(1239, x[0], y[0], z[0], 0.0, 0.0, 0.0));
     #endif
    #endif

   #if !defined FOR_EACH
    for(new i = 0; i < MAX_PLAYERS; ++i)
    #if !defined DEBUG
     if(IsPlayerConnected(i))
    #endif
   #else
    foreach(HSVictim, i)
   #endif
          {
     if( i != playerid)
     {
               GetPlayerPos(i, x[2], y[2], z[2]);
                
               if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_DUCK) z[2] -= 0.6;
      else z[2] += 0.8;
      if(PointInRangeOfPoint(0.5, x[0], y[0], z[0], x[2], y[2], z[2]))
      {
                   SetPlayerHealth(i, 0.0);
       #if defined DEBUG
        count2 = GetTickCount();
        count1 = count2 - count1;
        printf("\n Player hit\n Max Players Looped: %d\n Max Weapon Range: %.2f\n Distance to Hit: %.2f\n Total execution time: %8d ms",i,range,dist,count1);
           count1=count2;
       #endif
       return 1;
      }
     }
          }
             dist += 1.0;
   }
   while( dist < range );


p.s. Как бы читай тему целиком. А то не в тему что то ответил.



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record


Сообщение отредактировал AirKite - Среда, 14.09.2011, 06:03
toneysixДата: Среда, 14.09.2011, 06:16 | Сообщение # 63
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
AirKite я сразу просто не понял, к какому доводу относился твой предыдущий пост по-поводу нагрузки. То, что там ты выше выложил, кроме как отвращения ничего более не вызывает. Проще говоря некачественная порнуха, ну или чтобы особо выразить свои эмоции секс со страхоуепищем xD


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
AirKiteДата: Среда, 14.09.2011, 06:24 | Сообщение # 64
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
toneysix, это кстати не самый страшный код подобного скрипта на SA-MP форуме.


[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record
stepaДата: Понедельник, 19.09.2011, 14:05 | Сообщение # 65
Новенький
Группа: Продвинутые
Сообщений: 38
Награды: 1
Город: Новосибирск
Репутация: 203
Замечания: 20%
Статус:
Теперь этот скрипт стал бесполезным в sa-mp 0.3d crazy Но все равно, скрипт хорош)



М+М - <3
М+Ж - :cool:
Ж+Ж - <3
ZiGGiДата: Понедельник, 19.09.2011, 14:23 | Сообщение # 66
Мастер джэдай
Группа: Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
Quote (stepa)
Теперь этот скрипт стал бесполезным в sa-mp 0.3d Но все равно, скрипт хорош)

Ваще-то нет, этот скрипт может определить дистанцию, с которого нанесён урон и часть тела...
Разве-что его можно модифицировать для 0.3d...



Бложе
[indent]Мой блог
Уроки по Pawn
[/indent]

Open-GTO
[indent]Блог разработчиков
GitHub: https://github.com/Open-GTO/Open-GTO
Сборки мода с сервером тут
[/indent]
AirKiteДата: Понедельник, 19.09.2011, 17:48 | Сообщение # 67
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Quote (ZiGGi)
Разве-что его можно модифицировать для 0.3d...

Ну да, на 0.3d его можно переделать ещё проще. Думаю это кто то сделает быстрее меня. Есил нет, то скорее всего напишу INC, ибо по коду там вообще мелочи будут.



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record
KyPaITaTKa_XIXДата: Четверг, 27.09.2012, 20:15 | Сообщение # 68
Новенький
Группа: Пользователи
Сообщений: 35
Награды: 0
Город: Ganduras
Репутация: -87
Замечания: 20%
Статус:
AirKite, я фанат Вашего фс, он уже как три самп версии неизменно служит моему серверу, и я уже даже смирился с тем что я так и не видел исходника (это очень печалит ;( ). Уже прошел год, но никто так и не сделал ничего подобного для 0.3д (а уже и 0.3е), сделайте это чудо на 0.3е, пожалуйста ;) Я буду очень благодарен, и не только я...
p.s Напишите ответ, пожалуйста.

AirKiteДата: Пятница, 28.09.2012, 02:50 | Сообщение # 69
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
KyPaITaTKa_XIX, да всё в планах и планах... куча проектов, куча дел. А ещё эта лень... :(
Кто знает, может быть потоки энергии с космоса достигнут меня и я сделаю всё что планировал. В том числе и OPH для 0.3e



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record
KyPaITaTKa_XIXДата: Пятница, 28.09.2012, 13:34 | Сообщение # 70
Новенький
Группа: Пользователи
Сообщений: 35
Награды: 0
Город: Ganduras
Репутация: -87
Замечания: 20%
Статус:
Quote (AirKite)
Кто знает, может быть потоки энергии с космоса достигнут меня и я сделаю всё что планировал. В том числе и OPH для 0.3e

Что ж, будем расчитывать на Ваши "потоки из космоса" ;)

Mike2195Дата: Суббота, 06.10.2012, 15:39 | Сообщение # 71
Новенький
Группа: Пользователи
Сообщений: 24
Награды: 0
Репутация: 10
Замечания: 0%
Статус:
+++ за pwn)


Ведётся набор тестеров на игровой сервер BCLRP.
Пишите в ICQ - 9978718.
KoKsSДата: Вторник, 09.10.2012, 08:41 | Сообщение # 72
Новенький
Группа: Продвинутые
Сообщений: 64
Награды: 0
Город: Москва
Репутация: 17
Замечания: 0%
Статус:
Пригодился FS
  • Страница 5 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
Поиск:





 


 


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