Автор | Сообщение |
|
Отправлено: 07.10.05 01:21. Заголовок: парочка вопросов:)
1 вопрос Вот скрипт: var video_mode=7; var video_depth=32; path "models"; entity* tower; entity* tank; function main { mouse_mode=0; level_load("tanks.wmb"); } action tank_tower { tower=me; while(1) { tower.x=my.x; tower.y=my.y; tower.z=my.z; tower.x=tank.x; tower.y=tank.y; tower.z=tank.z; my.pan+=mouse_force.x*time*25; wait(1); } } action tank_move { tank=me; vec_for_vertex(my,tower,1855); while(1) { tank.x=my.x; tank.y=my.y; tank.z=my.z; if (key_a) { my.pan+=3*time; } if (key_d) { my.pan-=3*time; } if (key_s) { ent_move(vector(3*time,0,0),nullvector); } if (key_w) { ent_move(vector(-3*time,0,0),nullvector); } wait(1); } } panel digits_tank { pos_x=0; pos_y=0; digits=0,0,3,_a4font,1,tank.x; digits=0,10,3,_a4font,1,tank.y; digits=0,20,3,_a4font,1,tank.z; flags=visible,refresh; } panel digits_tower { pos_x=50; pos_y=0; digits=0,0,3,_a4font,1,tower.x; digits=0,10,3,_a4font,1,tower.y; digits=0,20,3,_a4font,1,tower.z; digits=0,30,3,_a4font,1,tower.pan; flags=visible,refresh; } action tank_stvol { while(1) { my.tilt+=mouse_force.y*time*20; wait(1); } } Этот скрипт к танку прикрепляет башню, а когда запускаашь движук выдаёт такое сообщение(Вот его содержание) Заголовок -- Malfunction W1501 Содержание -- Empty pointer in tank_move: vec_for_vertex(my,tower,1855) 2.Как сделать чтоб паблишь был по разным папкам а то он мне всё в 1 пихает хотя у меня всё разбито по папкам
| |
|
Ответов - 44
, стр:
1
2
3
All
[только новые]
|
|
|
Отправлено: 07.10.05 01:34. Заголовок: Re:
Насчет второго вопроса: Вроде можно вручную потом самому раскидать, хотя я не проверял...
| |
|
|
Отправлено: 09.10.05 11:57. Заголовок: Re:
dd
| |
|
|
Отправлено: 09.10.05 12:33. Заголовок: Re:
Anime пишет: цитата Содержание -- Empty pointer in tank_move: vec_for_vertex(my,tower,1855)
Поставь в самом начале action-а tank_move команду wait(1);. Lukanin, интересно, сколько дней ты продержишься на этот раз
| |
|
|
Отправлено: 09.10.05 12:42. Заголовок: Re:
Lukanin пишет: цитата dd
zz Насчёт паблиша: если изменил один файл, то надо перепаблишивать всё. А если значение некоторых переменных брать из текстового файла, то всё будет путём, да?
| |
|
|
| администратор
|
|
|
Отправлено: 09.10.05 12:42. Заголовок: Re:
Anime используй ent_create
| |
|
|
Отправлено: 09.10.05 19:08. Заголовок: Re:
Я на этот раз в бан-лист уходить не намерян. Я типа серьезно занялся студией и форум мне пригодится
| |
|
|
| администратор
|
|
|
Отправлено: 09.10.05 20:24. Заголовок: Re:
Lukanin Willkommen!
| |
|
|
Отправлено: 10.10.05 02:08. Заголовок: Re:
Фух все норм теперь возник 1 трабл Я установил на танк башню Все поварачивается класс но когда я к башне прикрепил ствол Я разочировался Башня поварачивается по своей оси а ствол по своей в вообщем вот рисунок наверно понятно будет Если рисунок не загружается то вот сайт где он весит Рисунок Вот новый код этойго левела: var video_mode=7; var video_depth=32; var vec_tower[3];//vector position of the tower var vec_stvol[3];//vector position of the stvol path "models"; path "maps"; entity* tank; entity* tower; entity* stvol; action tank_m { tank=me; while(1) { vec_for_vertex(vec_tower,tank,1855);//connect TOWER to TANK if(key_w==on) { ent_move(vector(-2*time,0,0),nullvector); } if(key_s==on) { ent_move(vector(1*time,0,0),nullvector); } if(key_a==on) { tank.pan+=2*time; } if(key_d==on) { tank.pan-=2*time; } wait(1); } } action tower_pan { tower=me; while(1) { vec_for_vertex(vec_stvol,tower,111);//connect STVOL to TOWER tower.x=vec_tower.x; tower.y=vec_tower.y; tower.z=vec_tower.z; tower.pan+=mouse_force.x*40*time; wait(1); } } action stvol_tilt { stvol=me; while(1) { stvol.x=vec_stvol.x; stvol.y=vec_stvol.y; stvol.z=vec_stvol.z; stvol.tilt+=mouse_force.y*20*time; wait(1); } } function main { wait(2); mouse_mode=0; level_load("tanks.wmb"); } Как можно сделать чтоб ствол имел ограничения по поворотам т.е поварачивался не на 360 градусов
| |
|
|
Отправлено: 10.10.05 17:54. Заголовок: Re:
а ТЫ Anime случайно танк не по книжке 3d studio max моделил там расписываеться его создание ! Что насчёт разворота попробуй использовать sin cos тоесть углы и их ограничивать в развароте ! В ауме какомто был пример найду выложу !
| |
|
|
Отправлено: 10.10.05 18:07. Заголовок: Re:
sin cos там не при чём, sin cos используют для нахождения координат какого-то объекта, зная угол поворота другого.
| |
|
|
Отправлено: 10.10.05 19:05. Заголовок: Re:
Возможно но я сейчас еще пороюсь в аумах вроде там я эту фишку видел! А еще есть на формуме я когдто задовал этот вопрос !
| |
|
|
|
Отправлено: 11.10.05 01:32. Заголовок: Re:
На счёт поворота башни я уже САМ додумался:)А ограничение движение пока нет:( Нет не по книжке я делал танк.Что пришло в башню то и наляпал для начало у мя ещё вопросик в чём различие между этим entity* player если я напишу так player = me ИЛИ ТАК player = my И ещё вопрос Представим такую ситуацию вы создали машину в ней залито например 1000 галонов горилки а скорость составляет всего 20 км в ч.:) Так вот как мне сделать чтоб при повышении скорости топливо расходывалось быстрее.
| |
|
|
Отправлено: 11.10.05 11:34. Заголовок: Re:
Anime пишет: цитата player = me ИЛИ ТАК player = my
разницы нет никакой, me и my - синонимы. Anime пишет: цитата Представим такую ситуацию вы создали машину в ней залито например 1000 галонов горилки а скорость составляет всего 20 км в ч.:) Так вот как мне сделать чтоб при повышении скорости топливо расходывалось быстрее.
gorilka-=10*my.speed/5;
| |
|
|
Отправлено: 12.10.05 01:52. Заголовок: Re:
format C: СПАСИБО (По идеи я знал как это сделать но у меня с матиматикой не всё впорядке Задачки всегда тяжко мне довались) Как это не странно но у меня возникла ещё проблема я нарисовал самопальную пулю приставил её к дулу и Бац а она не так стреляет т.е она стреляет но не летит в нужную сторону Как это моно сделать? Исходник танка можно найти ЗДЕСЬ
| |
|
|
Отправлено: 12.10.05 02:29. Заголовок: Re:
Вай-вай-вай, а поворачивает-то танк, как машина :) Чего в принципе не может быть, т.к. ни одно колесо у настоящего танка не поворачивается влево или вправо - только вперед. Танк поворачивает просто ускоряя ход колес на одной из сторон, а у тебя он рассекает, аки БМВ :) Но управление приятное все-равно :)
| |
|
|
Отправлено: 12.10.05 14:21. Заголовок: Re:
Anime пишет: цитата А ограничение движение пока нет:(
теперь есть! Anime пишет: цитата я нарисовал самопальную пулю приставил её к дулу и Бац а она не так стреляет т.е она стреляет но не летит в нужную сторону Как это моно сделать?
уже сделано! В общем вот: http://formatccc.nm.ru/Tanks.wdl Замени свой исходник на этот, я всё сделал.
| |
|
|
Отправлено: 14.10.05 02:56. Заголовок: Re:
Огромное спасибо Format c: На счёт движения танка: Значит чтоб повернуть танку надо остановиться да(т.е. полность сбросить скорость или нет)?Поробую сделать если не чё не выйдет то напишу:) Проблема на счёт топлива (пытался устранить но не додумался) Топливо расходуется когда танк едит вперёд (чем больше скорость тем быстрее расходуется) а когда назад он это топливо попалняет:) Исходник лежит Тута,но уже новый Можно ли заменить (какой нибудь картинкой) начальную загрузку (Например:когда запаблишел игру нажимаешь 'запустить игру' сначало появляется загрузка A6 движка-3D Coninteс...На кого зарегина и т.д.(я вот про неё) Да чуть не забыл:Среднее колёсико мыши (прокрутка вперёд, назад) как то моно назначить?
| |
|
|
Отправлено: 14.10.05 11:41. Заголовок: Re:
Anime пишет: цитата Проблема на счёт топлива (пытался устранить но не додумался) Топливо расходуется когда танк едит вперёд
speed - скорость танка. fuel - колличество топлива. fuel-=10*abs(speed); я просто избавился от минуса с помощью abs. Anime пишет: цитата Можно ли заменить (какой нибудь картинкой) начальную загрузку (Например:когда запаблишел игру нажимаешь 'запустить игру' сначало появляется загрузка A6 движка-3D Coninteс...На кого зарегина и т.д.(я вот про неё)
Если у тебя пиратская версия от СТ, то нет.
| |
|
|
Отправлено: 14.10.05 13:10. Заголовок: Re:
format c: пишет: цитата Если у тебя пиратская версия
Да ты что, Формат?! Какие пираты? Просто тут почти у всех людей инициалы СТ.
| |
|
|
Отправлено: 14.10.05 17:07. Заголовок: Re:
| |
|
|
Отправлено: 18.10.05 01:14. Заголовок: Re:
назрела проблемка Вот часть кода: var a; var create_pos[3];// координаты создания пули function move_bullet { wait(1); bullet=me; my.passable=0; while(1) { a=vec_dist(create_pos.x,bullet.x); bullet.y+=-5*sin(bullet.pan)*cos(bullet.tilt-90)*time; bullet.x+=-5*cos(bullet.pan)*cos(bullet.tilt-90)*time; bullet.z+=-5*sin(bullet.tilt-90)*time; if(a>200) { bullet.tilt+=0.1; bullet.z-=0.001; } if(a>2000) { remove(bullet); } wait(1); } } при достижении какого то определенного расстояния пуля падает на землю,а при прохождения ещё какого-то растояния исчезала(или столкновение с землёй) Но чёт не получается.Когда 1 пуля создаётся всё нормально, но когда держишь на кнопку "огонь" пуля одна за другой выпускаются быстрее и летят быстрее(увеличивают скорость). И с исчезновением проблемы. Да черканите код ПОЖАЛУЙСТА чтоб пуля при достижение земли или пола исчезала(это trace или impact?)Если trace то немогли в кратце объеснить и написать простенький код а то сидел я с ним(trace) и не мог понять как эта д***** работает Вроде всё спросил пока что:) P.S. у вас какието проблемы с форумам или у мя комп лагает(неработает поиск и картинки не загружаются(картинки:профиль,новая тема...))
| |
|
|
|
Отправлено: 18.10.05 08:49. Заголовок: Re:
Я не буду чиркать код, просто расскажу в чём ошибки: Во-первых, в действии пули ты пишешь bullet.x+=.... bullet.y+=.... На сцене может существовать более одного объекта, которым присвоен указатель bullet, вот и получается, что чем больше объектов пуль, то тем быстрее у каждого из этих объектов скорость. Поэтому нужно написать my.x+=.... my.y+=..., а не так как ты делаешь. Во-вторых, ты сделал переменную "var a" глобальной, а это значит, что в твоём скрипте она одна работает сразу на все объекты пуль. Отсюда проблемы с исчезновением и падением. Определи переменную "a" внутри объекта пули, она будет работать как локальная. Например function move_bullet { wait(1); var a=0; bullet=me; my.passable=0; while(1) { a+=5*time; // увеличиваем "а" с продвижением пули if (a>1000){ remove(me); }
| |
|
|
Отправлено: 20.10.05 21:00. Заголовок: Re:
проблемка 2 - меню Часть кода: var_nsave mio; var_nsave filehandle; panel mio1 { pos_x=10; pos_y=10; layer=12; hslider=0,0,100,slider_volume,0,100,mio; flags=visible,refresh,overlay; } function con { // запись в файл filehandle = file_open_write("config.txt"); file_var_write(filehandle,mio); file_close(filehandle); } function configutations { // чтение из файла filehandle = file_open_read("config.txt"); mio = file_var_read(filehandle); file_close(filehandle); } function main { con(); configutations(); ... } Не сохраняет значение в файл котрое ей дал слайдер.Что в этом коде не так?
| |
|
|
Отправлено: 21.10.05 01:55. Заголовок: Re:
format c Вот ты сказал что былет надо заменить на my var a в функцию засунуть Вот код я обновил: function move_bullet { wait(1); var a=0; bullet=me; my.passable=0; while(1) { my.x+=-5*cos(my.pan)*cos(my.tilt-90)*time; my.y+=-5*sin(my.pan)*cos(my.tilt-90)*time; my.z+=-5*sin(my.tilt-90)*time; a+=5*time; if(a>450) { remove(me); } wait(1); } } Но при удалении выдаёт ошибку--Empty pointer in move_bullet: my.x+=5*cos(my.pan)*cos(my.tilt-90)*time; и ещё вопросик В level editor во вкладке behavior вроде есть skill1, skill2 и так далее как моно поменять skill1 на другое название Да насчёт меню опять Вот код savedir "conf"; var video_mode=6; var video_depth=32; var music_level; var music_handle; string load_menu=<menu.wmb>; path "res"; path "pic"; path "snd"; bmap ch_res_but_on=<ch_res_but_on.bmp>; bmap ch_res_but_off=<ch_res_but_off.bmp>; bmap slider_volume=<slider_volume.bmp>; bmap menu_bg=<war_1.bmp>; bmap play_on=<play_on.pcx>; bmap play_off=<play_off.pcx>; bmap options_on=<options_on.pcx>; bmap options_off=<options_off.pcx>; bmap quit_on=<quit_on.pcx>; bmap quit_off=<quit_off.pcx>; bmap options_bg=<options_bg.bmp>; bmap back_on=<back_on.bmp>; bmap back_off=<back_off.bmp>; bmap volume=<volume.bmp>; bmap cursor=<cursor.bmp>; var_nsave filehandle; var_nsave mio; panel mio1 { pos_x=10; pos_y=10; layer=12; hslider=0,0,100,slider_volume,0,100,mio; flags=visible,refresh,overlay; } panel mio2 { pos_x=20; pos_y=20; digits=0,0,3,_a4font,1,mio; flags=visible,refresh; } //////////////////////CONFIG SAVE////////////////////// function con { filehandle = file_open_write("config.txt"); file_var_write(filehandle,mio); file_close(filehandle); } function configutations { filehandle = file_open_read("config.txt"); mio = file_var_read(filehandle); file_close(filehandle); } //////////////////////CONFIG SAVE////////////////////// sound intro=<int.wav>; sound but=<button.wav>; sound clicked=<clicked.wav>; panel main_menu { bmap=menu_bg; button=260,160,play_off,play_on,play_off,play_clicked,null,sound_over; button=260,200,options_off,options_on,options_off,options_clicked,null,sound_over; button=260,240,quit_off,quit_on,quit_off,quit_clicked,null,sound_over; flags=visible,d3d; } function sound_intro { music_handle=snd_loop(intro,music_level,0); } function sound_change { while(1) { snd_tune(music_handle,music_level,0,0); wait(1); } } panel options_menu { pos_x=0; pos_y=0; bmap=options_bg; button=5,452,back_off,back_on,back_off,back_clicked,null,sound_over; button=375,150,ch_res_but_off,ch_res_but_on,ch_res_but_on,change_res_1024,null,null; button=375,170,ch_res_but_off,ch_res_but_on,ch_res_but_on,change_res_800,null,null; button=375,190,ch_res_but_off,ch_res_but_on,ch_res_but_on,change_res_640,null,null; hslider=360,125,100,slider_volume,0,100,music_level; flags=refresh,d3d; } function change_res_1024 { video_switch(8,32,2); } function change_res_800 { video_switch(7,32,2); } function change_res_640 { video_switch(6,32,2); } function sound_over { snd_play(but,10,0); } function play_clicked { snd_play(clicked,10,0); } function options_clicked { main_menu.visible=off; options_menu.visible=on; snd_play(clicked,10,0); } function quit_clicked { snd_play(clicked,10,0); wait(16); exit; } function back_clicked { main_menu.visible=on; options_menu.visible=off; snd_play(clicked,10,0); } function main { wait(16); sound_intro(); sound_change(); level_load(load_menu); mouse_map=cursor; mouse_mode=2; con(); while(1) { mouse_pos.x=pointer.x; mouse_pos.y=pointer.y; wait(1); } } Проблема в следующем Запускаю меню, играет музыка, поевляются кнопки.Когда наводишь на кнопку(на любую) а потом на следующию проигрывается музыка, но когда это делаешь многократно (сначала на одну потом быстро
| |
|
|
Отправлено: 26.10.05 10:10. Заголовок: Re:
А скажите что за штука STARTER имя() ? ( Что есть "action","function" - знаю а встретил "starter" и не въеду что оно такое)
| |
|
|
Отправлено: 26.10.05 13:01. Заголовок: Re:
starter - это то же самое, что и функция с экшэном, только отличие в том, что стартер автоматически запускается сам собой в начале игры (подобно функции main).
| |
|
|
Отправлено: 26.10.05 13:48. Заголовок: Re:
Правилино ли я понял: Пусть я из WED подлючаю некий скрипт, а в нем ( сначала или всё равно?) написано STARTER StartMenu { Loch_Menu(); } И при загрузке уровня запустится моё меню? А если стартеров несколько , что по очереди (в смысле как объявлены в скрипте-сверх вниз) будут запускаться ?
| |
|
|
Отправлено: 26.10.05 17:06. Заголовок: Re:
Я не знаю, т. к. считаю стартеры атовизмом. Я всё в main пишу.
| |
|
|
Отправлено: 26.10.05 20:51. Заголовок: Re:
Просто проще вызывать нужные функции из мейн(), и за всем будет проще уследить а то фиг поймёшь, с этими стартёрами, чё уже запустилось, а чё нет.. их нужно использовать локально для отдельных действий, а не для глобальных типа запуска меню..
| |
|
|
Отправлено: 26.10.05 21:49. Заголовок: Re:
да их вобще не надо использовать, говорю же - атовизм.
| |
|
|
| администратор
|
|
|
Отправлено: 26.10.05 23:31. Заголовок: Re:
нет, атавизм функция main, ее надо запретить! делаешь starter load_level - и все! и вообще viva templates!
| |
|
|
|
Отправлено: 26.10.05 23:35. Заголовок: Re:
Alex3DGS пишет: цитата и вообще viva templates!
Щас ВеТаЛь прискачет, и за сердце схватится :)))
| |
|
|
| администратор
|
|
|
Отправлено: 27.10.05 00:45. Заголовок: Re:
| |
|
|
Отправлено: 27.10.05 05:02. Заголовок: Re:
| |
|
|
Отправлено: 28.10.05 10:21. Заголовок: Re:
format c: пишет: цитата да их вобще не надо использовать, говорю же - атовизм.
Коротко и ясно! БЛАГОДАРЮ!
| |
|
|
Отправлено: 28.10.05 18:20. Заголовок: Re:
Eihwaz пишет: цитата Щас ВеТаЛь прискачет, и за сердце схватится :)))
Как в воду смотрел ))))))))))))))) КАК ВЫ МОГЛИ РЕШАТЬ ПРОБЛЕМУ СО СКРИПТИНГОМ БЕЗ МЕНЯ? ))))
| |
|
|
Отправлено: 28.10.05 19:43. Заголовок: Re:
Вот. Веталь схватился за сердце Алекса, вырвал и сожрал его...
| |
|
|
| администратор
|
|
|
Отправлено: 28.10.05 21:26. Заголовок: Re:
| |
|
|
Отправлено: 29.10.05 01:24. Заголовок: Re:
аааа про меня забыли
| |
|
|
Отправлено: 29.10.05 11:16. Заголовок: Re:
Anime пишет: цитата 2.Как сделать чтоб паблишь был по разным папкам а то он мне всё в 1 пихает хотя у меня всё разбито по папкам
Он всегда конвертит в одно если т указываешь в движке ! Типа как они обязательны есть в аумах пример типа модели можна закидывать в папку как в контре и т.д. !
| |
|
|
Отправлено: 31.10.05 16:27. Заголовок: Re:
Miller ну в ту степь полез меня вот какие вопросики интересует(т.е. ответы на них) проблемка 2 - меню Часть кода: var_nsave mio; var_nsave filehandle; panel mio1 { pos_x=10; pos_y=10; layer=12; hslider=0,0,100,slider_volume,0,100,mio; flags=visible,refresh,overlay; } function con { // запись в файл filehandle = file_open_write("config.txt"); file_var_write(filehandle,mio); file_close(filehandle); } function configutations { // чтение из файла filehandle = file_open_read("config.txt"); mio = file_var_read(filehandle); file_close(filehandle); } function main { con(); configutations(); ... } Не сохраняет значение в файл котрое ей дал слайдер.Что в этом коде не так? ------------------------------------------------------------------------------------------- format c Вот ты сказал что былет надо заменить на my var a в функцию засунуть Вот код я обновил: function move_bullet { wait(1); var a=0; bullet=me; my.passable=0; while(1) { my.x+=-5*cos(my.pan)*cos(my.tilt-90)*time; my.y+=-5*sin(my.pan)*cos(my.tilt-90)*time; my.z+=-5*sin(my.tilt-90)*time; a+=5*time; if(a>450) { remove(me); } wait(1); } } Но при удалении выдаёт ошибку--Empty pointer in move_bullet: my.x+=5*cos(my.pan)*cos(my.tilt-90)*time; МОЙ ТОПИК грёбанный Я злдойййййййййййййййййййййййййййййййййййййййййййййййййййййййййй
| |
|
|
|
Отправлено: 07.11.05 02:51. Заголовок: Re:
удилите моем вопросам пару минут
| |
|
|
| администратор
|
|
|
Отправлено: 07.11.05 12:57. Заголовок: Re:
на новом форуме спрашивай
| |
|
|
Отправлено: 09.01.07 17:28. Заголовок: Помогите
ПАра жалких вопросов: 1) СОздаю в редакторе мира куб , называю его kub мне надо например функцию его постоянного вращения написать как к нему обращаться через скрипт 2) Дайте пожалуйстав код создания Entity из модели ball.mdl а то вот этот из примера как то малопонятен string flash_pcx = <flash.pcx>; you = ent_create (flash_pcx, temp, flash_prog);
| |
|
Ответов - 44
, стр:
1
2
3
All
[только новые]
|
|
|