Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 12.09.2009, 14:13   #1
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Сообщение Толпа вопросов.

1. У меня есть функция которая показывает полоску жизни противника.
Все это работает, если я ударил противника(параметр stasys стал равен 1)
Но мне нужно сделать что если я ударил другого монстра, у прошлого параметр стал 0.
Делаю я это так(ибо мне посоветовали, сперва все обнулять а потом по новой ставить параметр)
For ro.pro=Each  pro
If EntityDistance (user,ro\model)<4
If mouse_1
If ro\Statys>0
For ro.pro=Each  pro  
    ro\Statys=0  
Next
EndIf
    ro\Statys=1  
   ro\head#=ro\head#-yron
EndIf  
EndIf
Next
Но в в ответ только "Предмет не существует".
Подскажите(и бо я не втыкаю в чем тут глюк) как это сделать и что бы полоска жизни не про подала, при "пустом" ударе, а только при при ударе нового противника(кто играл в Метин2, понял наверное о чем я).
(Offline)
 
Ответить с цитированием
Старый 12.09.2009, 14:22   #2
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
Ответ: Толпа вопросов.

если я правельно понял.. то должно получится что то типо того
For ro.pro=Each  pro
ro\Statys=0 
if EntityDistance (user,ro\model)<4 then 
	If mouse_1 then 
	ro\Statys=1  
	ro\head#=ro\head#-yron
	endif 
endif 

next
могу ошибаться
__________________
форум эт вещь... и почему я раньше им не пользовался?

AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
(Offline)
 
Ответить с цитированием
Старый 12.09.2009, 14:48   #3
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Толпа вопросов.

Не, не то.
В этом в коде, постоянно обновляется параметр "статуса".
То есть полоска жизни исчезает сразу же после вызова.

Вот точнее описываю, что я задумал
Уме есть 3 бота.
у ударяю одного(его статус стал равным 1), а подхожу к другому видя к примеру первого и бью его(второго). у первого пропадает полоска и появляется у второго(которого я ударил). Если я отойду от ботов и просто ударю воздух, то показываться будет жизнь последнего ударенного(не не умершего).
(Offline)
 
Ответить с цитированием
Старый 12.09.2009, 15:11   #4
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
Ответ: Толпа вопросов.

For ro.pro=Each  pro
If mouse_1 then
if EntityDistance (user,ro\model)<4 then 
un_select()
ro\Statys=1  
ro\head#=ro\head#-yron
endif
endif 
next


function un_select()
For ro.pro=Each  pro
ro\status=0
next 
end function
хм ) попытка #2 )
__________________
форум эт вещь... и почему я раньше им не пользовался?

AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
(Offline)
 
Ответить с цитированием
Старый 12.09.2009, 15:23   #5
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
Ответ: Толпа вопросов.

возможно даже нужно вынести нажатие мыши за цикл
__________________
форум эт вещь... и почему я раньше им не пользовался?

AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
(Offline)
 
Ответить с цитированием
Старый 12.09.2009, 15:58   #6
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Толпа вопросов.

Ну попытка №2 это тоже самое что и у мя, тока проверка вынесена в функцию.
возможно даже нужно вынести нажатие мыши за цикл
А не че, что она будет работать один раз(если я правильно помню)

Помогите кто нить(советом, пальцем( ), кодом), ибо запарка тока в этом.
(Offline)
 
Ответить с цитированием
Старый 12.09.2009, 21:56   #7
FrankH
Разработчик
 
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений
(для 122 пользователей)
Ответ: Толпа вопросов.

Намного проще использовать Handle
global Statused
NameEntity ro\pivot,Handle(ro); для всех при создании

если ударил тогда SetUnit(ударенный): ResetUnit(Statused): Statused=ударенный

Function SetUnit(t)
ro.pro=Object.pro(EntityName(t))
ro\status=1
End Function

Function ResetUnit(t)
ro.pro=Object.pro(EntityName(t))
ro\status=0
End Function
(Offline)
 
Ответить с цитированием
Старый 13.09.2009, 00:10   #8
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Толпа вопросов.

Сообщение от Dark_Fox Посмотреть сообщение
1. У меня есть функция которая показывает полоску жизни противника.
Все это работает, если я ударил противника(параметр stasys стал равен 1)
Но мне нужно сделать что если я ударил другого монстра, у прошлого параметр стал 0.
Делаю я это так(ибо мне посоветовали, сперва все обнулять а потом по новой ставить параметр)
For ro.pro=Each  pro
If EntityDistance (user,ro\model)<4
If mouse_1
If ro\Statys>0
For ro.pro=Each  pro  
    ro\Statys=0  
Next
EndIf
    ro\Statys=1  
   ro\head#=ro\head#-yron
EndIf  
EndIf
Next
Но в в ответ только "Предмет не существует".
Подскажите(и бо я не втыкаю в чем тут глюк) как это сделать и что бы полоска жизни не про подала, при "пустом" ударе, а только при при ударе нового противника(кто играл в Метин2, понял наверное о чем я).
Проблема в том что у тебя два вложеных цыкла которые оперируют одинаковыми переменными,
For ro.pro=Each  pro
For ro.pro=Each  pro  
Next
Next
ro - у тебя за один проход первого цыкла доходит до последнего своего значения
(Offline)
 
Ответить с цитированием
Старый 13.09.2009, 00:17   #9
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Толпа вопросов.

если тебе всётаки надо перебирать кадлый праз всё, то
For ro.pro=Each pro
If EntityDistance (user,ro\model)<4
If mouse_1
If ro\Statys>0
t_handle=handle(ro);
For ro.pro=Each pro
if(hendle(ro)!=t_handle)
ro\Statys=0
Next
ro=Object(t_handle). pro;
EndIf
ro\Statys=1
ro\head#=ro\head#-yron
EndIf
EndIf
Next
может немного с синтаксисом под партачил, не помню уже)
(Offline)
 
Ответить с цитированием
Старый 18.09.2009, 00:36   #10
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Смех Ответ: Толпа вопросов.

Че то не работает.
С синтаксисом че то(в добавок в хелпе нема).

2.Посоветуйте библиотеку для использования окон.
Ну что бы можно было открывать файлы,сохранять.
Что бы не особо за мудреная(есть просто сменил параметр в окошек, и это ушло в переменную).хорошо если еще с инструкцией.

3.Как вырезать один предмет из другого???То есть мне нужно срезанный на половину конус или его половина, котора(я\ый) получен(а\) с помощью вычитания из первого меша(конус) другого меша?

4.Можно ли получить текстурную развертку в программе(кодом и др.)???
и ей сохранить?

5.Есть противник. Состоит от из двух частей.
Башни и орудия. как сделать наведение орудия, всего этого на перса и чтобы все было нормально(оружие смотрела на героя и наклонялось(поворачивалось) в зависимости от высоты, и наводилась(Y) на перса, и наводку для башни)?
команда наведения предмета на другой предмет не прокатило.
(Offline)
 
Ответить с цитированием
Старый 18.09.2009, 20:16   #11
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: Толпа вопросов.

кури Object на форуме не раз поднималась эта тема. и Вобще советую прочитать ФАКЮ и Blitz Et Cetera
по поводу пятого вопроса кури AlignToVector entity,vector_x#,vector_y#,vector_z#,axis или сам расчитывай.
(Offline)
 
Ответить с цитированием
Старый 23.09.2009, 22:50   #12
Dark_Fox
Оператор ЭВМ
 
Аватар для Dark_Fox
 
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Ответ: Толпа вопросов.

кури Object на форуме не раз поднималась эта тема
че то плохо курится. кто может по асе и др. объяснить?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько вопросов Machete 3D-программирование 6 28.08.2008 18:20
Мой топ для вопросов HolyDel C++ 7 24.12.2006 20:20
Мой топ для вопросов =) ParaSenok 3D-программирование 14 11.11.2006 17:46
Куча вопросов! ..::SERGO::.. 3D-программирование 9 27.08.2006 13:46


Часовой пояс GMT +4, время: 07:13.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com