[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
попадания/выстрелы
DrawДата: Понедельник, 20 Октября 2008, 19:31 | Сообщение # 1
Продвинутый
Группа: Участники
Сообщений: 194
Награды: 0
Замечания: 0%
Статус:

Команда: DeforShys
Проектов: 8 (2 активных 6 инактив)
Странно но почему то я не могу сделать нормальный выстрел! Раньше всё нормально было а теперь какая то херня...
сделал тип пули
сделал функцию выстрела (в ней указывается начальное положение пули и сама пуля)
потом в функции контроля игрока сделал условие if mousehit(1) shotplayer(mk4,5,lefth) ну и т.п.
и естественно updateshot функцию сделал
но при выстреле пуля не хочет быть в позиции и угле поворота оружия! Пули появляются в центре! Почему? Я всё проверял по 20 раз! Ошибок быть не может! К тому же я уже делал выстрелы в ранних работах!
может потому что игрок создан по классу? Но я и это учел...
----------
как сделать чтобы при попадании например в противника на нем оставался кровавый след?



ICQ 557709132 пиши. Отвечу на любой вопрос по блицу
 
ПрохожийДата: Понедельник, 20 Октября 2008, 19:57 | Сообщение # 2
Группа: Гости





про кровавый след не знаю , но когда я делал FPS с названием "3Д Тир" я тоже сталкулся с этой проблемой. на мишени должны были оставатся следы от пуль.
И я сделал вот что. Взял плоскость (p_sled) маленьких размеров и на нем текстуру следа от пули.

p_sled = LoadMesh(p_sled.3ds")

И в цикле
[color=red]If EntityCollided(пуля,тип чели) Then sled

Function sled()
x#=EntityX#(пуля)
y#=EntityY#(пуля)
z#=EntityZ#(пуля)
sled1= copyentity(p_sled)
positionentity sled1,x#,y#,z#
End Function

Попробуй , может че то и получится

 
DrawДата: Понедельник, 20 Октября 2008, 20:12 | Сообщение # 3
Продвинутый
Группа: Участники
Сообщений: 194
Награды: 0
Замечания: 0%
Статус:

Команда: DeforShys
Проектов: 8 (2 активных 6 инактив)
в общем то я так теоретически и хотел сделать, так вот надо повернуть эту плоскость перпендикулярно полигону на котором она будет wacko


ICQ 557709132 пиши. Отвечу на любой вопрос по блицу
 
ПрохожийДата: Понедельник, 20 Октября 2008, 20:22 | Сообщение # 4
Группа: Гости





Quote (Draw)
так вот надо повернуть эту плоскость перпендикулярно полигону на котором она будет

Так эта фигня есть, впримере castle, чего тут рассуждать.
 
DrawДата: Понедельник, 20 Октября 2008, 20:31 | Сообщение # 5
Продвинутый
Группа: Участники
Сообщений: 194
Награды: 0
Замечания: 0%
Статус:

Команда: DeforShys
Проектов: 8 (2 активных 6 инактив)
чё то не помню такого в castle... щас покопаюсь может найду этот пример...


ICQ 557709132 пиши. Отвечу на любой вопрос по блицу
 
DrawДата: Понедельник, 20 Октября 2008, 20:42 | Сообщение # 6
Продвинутый
Группа: Участники
Сообщений: 194
Награды: 0
Замечания: 0%
Статус:

Команда: DeforShys
Проектов: 8 (2 активных 6 инактив)
Code
  If EntityCollided( b\sprite,TYPE_SCENERY )
    For k=1 To CountCollisions( b\sprite )
     If GetEntityType( CollisionEntity( b\sprite,k ) )=TYPE_SCENERY
      cx#=CollisionX( b\sprite,k )
      cy#=CollisionY( b\sprite,k )
      cz#=CollisionZ( b\sprite,k )
      nx#=CollisionNX( b\sprite,k )
      ny#=CollisionNY( b\sprite,k )
      nz#=CollisionNZ( b\sprite,k )
      th.Hole=New Hole
      th\alpha=1
      th\sprite=CopyEntity( hole_sprite )
      PositionEntity th\sprite,cx,cy,cz
      AlignToVector th\sprite,-nx,-ny,-nz,3
      MoveEntity th\sprite,0,0,-.1
      Exit
     EndIf
    Next
    EmitSound boom,b\sprite
    CreateSpark( b )
    FreeEntity b\sprite
    Delete b
    Return
   EndIf

вот это я нащел в этом примере, это отвечает за поворот плоскости?



ICQ 557709132 пиши. Отвечу на любой вопрос по блицу
 
DrawДата: Вторник, 21 Октября 2008, 18:56 | Сообщение # 7
Продвинутый
Группа: Участники
Сообщений: 194
Награды: 0
Замечания: 0%
Статус:

Команда: DeforShys
Проектов: 8 (2 активных 6 инактив)
Спасибо!!! Понял! smile


ICQ 557709132 пиши. Отвечу на любой вопрос по блицу
 
DrawДата: Вторник, 21 Октября 2008, 20:08 | Сообщение # 8
Продвинутый
Группа: Участники
Сообщений: 194
Награды: 0
Замечания: 0%
Статус:

Команда: DeforShys
Проектов: 8 (2 активных 6 инактив)
как мне припарентить "дырку" к тому объекту в который я попал? Объект то тип и Each не то... After я не понял как юзать


ICQ 557709132 пиши. Отвечу на любой вопрос по блицу
 
ПрохожийДата: Вторник, 21 Октября 2008, 20:56 | Сообщение # 9
Группа: Гости





при попадании паренти к объекту, если вообще это нужно.
 
DrawДата: Среда, 22 Октября 2008, 19:28 | Сообщение # 10
Продвинутый
Группа: Участники
Сообщений: 194
Награды: 0
Замечания: 0%
Статус:

Команда: DeforShys
Проектов: 8 (2 активных 6 инактив)
Quote
при попадании паренти к объекту, если вообще это нужно.

... Еслибы всё так просто было б я тут бы такого вопроса не задал!
Сказал же это тип!!!! Так просто тут не припарентишь, один объект к десяткам абсолютно одинаковых парентить штоль?! Как мне выбрать нужный?



ICQ 557709132 пиши. Отвечу на любой вопрос по блицу
 
ПрохожийДата: Среда, 22 Октября 2008, 21:59 | Сообщение # 11
Группа: Гости





Я про то, что, при попадании, именно этот элемент типа, который столкнулся, и который ты позиционируешь, и поворачиваешь, припарентить к тому, к чему нужно, и никаких тут десятков одинаковых нет.
 
ПрохожийДата: Среда, 22 Октября 2008, 22:47 | Сообщение # 12
Группа: Гости





самоен тупое это приравняй к какой нить переменной - ну а ниже паренть эту переменную , пото маттч и обнуляй эту переменную - ну это так собственно на словах :). Но думаю понятно smile
 
  • Страница 1 из 1
  • 1
Поиск: