|
3D-программирование Вопросы, касающиеся программирования 3D мира |
12.09.2009, 14:13
|
#1
|
Оператор ЭВМ
Регистрация: 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
|
ПроЭктировщик
Регистрация: 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
|
Оператор ЭВМ
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Толпа вопросов.
Не, не то.
В этом в коде, постоянно обновляется параметр "статуса".
То есть полоска жизни исчезает сразу же после вызова.
Вот точнее описываю, что я задумал
Уме есть 3 бота.
у ударяю одного(его статус стал равным 1), а подхожу к другому видя к примеру первого и бью его(второго). у первого пропадает полоска и появляется у второго(которого я ударил). Если я отойду от ботов и просто ударю воздух, то показываться будет жизнь последнего ударенного(не не умершего).
|
(Offline)
|
|
12.09.2009, 15:11
|
#4
|
ПроЭктировщик
Регистрация: 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
|
ПроЭктировщик
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений (для 63 пользователей)
|
Ответ: Толпа вопросов.
возможно даже нужно вынести нажатие мыши за цикл
__________________
форум эт вещь... и почему я раньше им не пользовался?
AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
|
(Offline)
|
|
12.09.2009, 15:58
|
#6
|
Оператор ЭВМ
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Толпа вопросов.
Ну попытка №2 это тоже самое что и у мя, тока проверка вынесена в функцию.
возможно даже нужно вынести нажатие мыши за цикл
|
А не че, что она будет работать один раз(если я правильно помню)
Помогите кто нить(советом, пальцем( ), кодом), ибо запарка тока в этом.
|
(Offline)
|
|
12.09.2009, 21:56
|
#7
|
Разработчик
Регистрация: 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
|
быдло
Регистрация: 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
|
быдло
Регистрация: 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
|
Оператор ЭВМ
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Толпа вопросов.
Че то не работает.
С синтаксисом че то(в добавок в хелпе нема).
2.Посоветуйте библиотеку для использования окон.
Ну что бы можно было открывать файлы,сохранять.
Что бы не особо за мудреная(есть просто сменил параметр в окошек, и это ушло в переменную).хорошо если еще с инструкцией.
3.Как вырезать один предмет из другого???То есть мне нужно срезанный на половину конус или его половина, котора(я\ый) получен(а\) с помощью вычитания из первого меша(конус) другого меша?
4.Можно ли получить текстурную развертку в программе(кодом и др.)???
и ей сохранить?
5.Есть противник. Состоит от из двух частей.
Башни и орудия. как сделать наведение орудия, всего этого на перса и чтобы все было нормально(оружие смотрела на героя и наклонялось(поворачивалось) в зависимости от высоты, и наводилась(Y) на перса, и наводку для башни)?
команда наведения предмета на другой предмет не прокатило.
|
(Offline)
|
|
18.09.2009, 20:16
|
#11
|
быдло
Регистрация: 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
|
Оператор ЭВМ
Регистрация: 30.01.2008
Адрес: Щелково-3
Сообщений: 25
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Толпа вопросов.
кури Object на форуме не раз поднималась эта тема
|
че то плохо курится. кто может по асе и др. объяснить?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:04.
|