[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Действие
dfДата: Воскресенье, 07 Июня 2009, 20:33 | Сообщение # 1
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
Народ подскажите как сделать что бы при подходе у двере появлялясь надпись "октрыть"(при открытой двере "закрыть")
при подходе к NPC "Говорить"
если на земле валяется придмет, "поднять"
(ну канешно там ограничение на дальность действия)
и при нажатии клавиши(ну как в халфе на Е) проиходит действие.
собстно как приблизительно делать все это?



 
maxturboДата: Воскресенье, 07 Июня 2009, 20:47 | Сообщение # 2
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
Используй EntityDistance и переменные.

Сообщение отредактировал maxturbo - Воскресенье, 07 Июня 2009, 20:48
 
dfДата: Воскресенье, 07 Июня 2009, 21:00 | Сообщение # 3
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
про дистанцию понятно.
как мне сделать что что бы, в зависимости от типа предмета(рубильник,дверь,NPC)
1.появлялась надпись действия с(над) объектом по центру экрана
2.присходило действие(откритее, разговор. через функцию)
как собстно сделатть проверку на присудствие объектом и его действий над ним.

Code

If KeyHit(33)
If EntityDistance(user_piv,entity)<4
Вот судя как и че нужно пихать для проверки типа объекта и функции действий
EndIf
EndIf



 
maxturboДата: Воскресенье, 07 Июня 2009, 21:14 | Сообщение # 4
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
Допустим тебе надо чтоб при подходе к двери появилась надпись ОТКРЫТЬ!!! Будет выглядеть так
Code

If EntityDistance(Плеер,Дверь)<4
Text 10,10,"Открыть"
If KeyHit(33)  
OpenDoor();Функция открытия двери
EndIf  
EndIf
 
dfДата: Воскресенье, 07 Июня 2009, 21:49 | Сообщение # 5
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
то есть так suspect
Code

If EntityDistance(Плеер,Дверь)<4  
Text 10,10,"Открыть"
EndIf  
If KeyHit(33)   
OpenDoor();Функция открытия двери  
EndIf  

If EntityDistance(Плеер,NPC)<4  
Text 10,10,"Говорить"  
EndIf  
If KeyHit(33)   
NPC();Разговор с NPC
EndIf

If EntityDistance(Плеер,Предмет)<4  
Text 10,10,"Поднять"  
EndIf  
If KeyHit(33)   
N();Поднятие предмета
EndIf

а как сделать с использование Type можно?
Ну что бы он брал текст из параметра Text



 
maxturboДата: Воскресенье, 07 Июня 2009, 23:09 | Сообщение # 6
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
Есть полный код, чтоб посмотреть, я так не могу объяснять!!!
 
dfДата: Воскресенье, 07 Июня 2009, 23:22 | Сообщение # 7
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
кода действий нема пока.
все после понедельника.



 
maxturboДата: Воскресенье, 07 Июня 2009, 23:25 | Сообщение # 8
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
Можешь использовать так как ты написал, можешь за место текста использовать рисунки! Просто имей больше фонтазий для создания игр!
 
maxturboДата: Понедельник, 08 Июня 2009, 12:21 | Сообщение # 9
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
На тебе код настрочил быстренько, здесь описано как взять патроны и чтоб они добавились и все такое!!!
Code

     Graphics3D 1024,768,32,2
     SetBuffer BackBuffer()
     Const TypePlan=1,TypeBoold=2,TypePlayer=3
     player=CreatePivot()
     EntityType player,TypePlayer
     PositionEntity player,0,5,0
cam=CreateCamera(player)
PositionEntity cam,0,3,5
RotateEntity cam,15,0,0
lit=CreateLight()

patron=20;Количество патронов

plan=CreatePlane()
EntityType plan,TypePlan
tex=LoadTexture("1.jpg")
EntityTexture plan,tex
ScaleTexture tex,5,5

boold=CreateCube()
PositionEntity boold,0,10,20
ScaleEntity boold,.05,.05,.05
EntityType boold,TypeBoold

Collisions TypeBoold,TypePlan,2,2
Collisions TypePlayer,TypePlan,2,3

   Repeat
If KeyDown(17) Then MoveEntity player,0,0,.1
If KeyDown(31) Then MoveEntity player,0,0,-.1

If MouseHit(1) Then patron=patron-1;Типа выстрел

TranslateEntity boold,0,-.1,0;Гравитация
TranslateEntity player,0,-.1,0;Гравитация
RenderWorld
UpdateWorld
FlushKeys()
If EntityDistance(player,boold)<8
Text 10,10,"Взять Патроны=E"
If KeyHit(18)
patron=patron+20;Если нажата клавиша E тогда +20 патронов
FreeEntity boold
EndIf
EndIf
Text 10,70,"Патроны="+patron
Flip
Until KeyHit(1)
End

Надеюся поймешь cool !!!


Сообщение отредактировал maxturbo - Понедельник, 08 Июня 2009, 13:41
 
dfДата: Понедельник, 08 Июня 2009, 14:31 | Сообщение # 10
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
Понятно, только вот на
Code
TranslateEntity boold,0,-.1,0;Гравитация
выдает ошибку при попытке поднять.



 
maxturboДата: Понедельник, 08 Июня 2009, 15:37 | Сообщение # 11
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
Всмысле поднять? Если я правельно думаю то поменяй FreeEntity на HideEntity, но я не знаю у меня все работает!!! :D, а если ты это все делаешь в функциях то просто все переменные занеси в Global и все!

Сообщение отредактировал maxturbo - Понедельник, 08 Июня 2009, 15:38
 
dfДата: Понедельник, 08 Июня 2009, 15:47 | Сообщение # 12
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
А просто проверил код.
он там лагает.

FreeEntity-это удалить ваше
HideEntity-это вроде спрятать

Ты молец перепутал.
Нужно было HideEntity ставить, а не FreeEntity(спрятать от глаз и столкновений, а не удалять)
И еще зачем FlushKeys()?
Потом условие:
если растояние то
если была нажата то.

Но все равно спасиб. Теперь все работает.
Только вот вопрос?
такой метод скрытия,не будут грузить системы при большом количестве спрятаных от глаз придметов?





Сообщение отредактировал df - Понедельник, 08 Июня 2009, 17:21
 
maxturboДата: Понедельник, 08 Июня 2009, 22:40 | Сообщение # 13
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
df, Ну у тебя их там же не милион будет, так что я думаю особо грузить не будет!
 
dfДата: Понедельник, 08 Июня 2009, 22:55 | Сообщение # 14
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
В одной локаци может и не будет.


 
maxturboДата: Понедельник, 08 Июня 2009, 23:07 | Сообщение # 15
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
Ну конечно лучше бы было это все через типы прогнать!!! Понимаешь о чем я?
 
ПрохожийДата: Вторник, 09 Июня 2009, 01:54 | Сообщение # 16
Группа: Гости





df, У тебя написано "Стаж 1 год" , так неужели за это время нельзя было выучить хотя бы 10% комманд блитца, тут всё логично, только по английски, -если подошел туда-то->выполняем такое то действие(if-then).почти всё на этом основано -если что-то произошло->то....делаем то-то
maxturbo, а ты пытаешся дать ему готовый код, когда он не может представить как этот код по ходу выполняется.
Делайте выводы...
 
dfДата: Вторник, 09 Июня 2009, 10:44 | Сообщение # 17
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
Прохожий, жить надоело?
я сам мог написать код, токо вот подбор придметов а точно долго бы думал.
А же не просил написать мне всю систему диологов с NPC?



 
maxturboДата: Вторник, 09 Июня 2009, 11:09 | Сообщение # 18
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
df, Если ты без FlushKeys() клавишу Е нажмешь на ростояние то при подходи он уже сам возьмет патроны не нажимая клавиши! Сам попробуй и увидешь!
 
dfДата: Вторник, 09 Июня 2009, 12:06 | Сообщение # 19
Продвинутый
Группа: Участники
Сообщений: 144
Награды: 0
Замечания: 0%
Статус:

Профессия: Программист
Команда: Легион Темной Лисы(LDF)
Проектов: 1
если так, то вроде нет
Code
If KeyHit(18)
If EntityDistance(player,boold)<8



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