Автор | Сообщение |
|
Отправлено: 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
[только новые]
|
|
|
Отправлено: 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:
да их вобще не надо использовать, говорю же - атовизм.
| |
|
Ответов - 44
, стр:
1
2
3
All
[только новые]
|
|
|