Новый сайт и форум на http://www.3dgs.ru

форум
АвторСообщение



ссылка на сообщение  Отправлено: 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 пихает хотя у меня всё разбито по папкам

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 44 , стр: 1 2 3 All [только новые]





ссылка на сообщение  Отправлено: 12.10.05 14:21. Заголовок: Re:


Anime пишет:
цитата
А ограничение движение пока нет:(

теперь есть!
Anime пишет:
цитата
я нарисовал самопальную пулю приставил её к дулу и Бац а она не так стреляет т.е она стреляет но не летит в нужную сторону
Как это моно сделать?

уже сделано!
В общем вот:
http://formatccc.nm.ru/Tanks.wdl
Замени свой исходник на этот, я всё сделал.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 14.10.05 02:56. Заголовок: Re:


Огромное спасибо Format c:
На счёт движения танка: Значит чтоб повернуть танку надо остановиться да(т.е. полность сбросить скорость или нет)?Поробую сделать если не чё не выйдет то напишу:)
Проблема на счёт топлива (пытался устранить но не додумался) Топливо расходуется когда танк едит вперёд (чем больше скорость тем быстрее расходуется) а когда назад он это топливо попалняет:)
Исходник лежит Тута,но уже новый

Можно ли заменить (какой нибудь картинкой) начальную загрузку (Например:когда запаблишел игру нажимаешь 'запустить игру' сначало появляется загрузка A6 движка-3D Coninteс...На кого зарегина и т.д.(я вот про неё)

Да чуть не забыл:Среднее колёсико мыши (прокрутка вперёд, назад) как то моно назначить?


Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 14.10.05 11:41. Заголовок: Re:


Anime пишет:
цитата
Проблема на счёт топлива (пытался устранить но не додумался) Топливо расходуется когда танк едит вперёд

speed - скорость танка. fuel - колличество топлива.
fuel-=10*abs(speed);
я просто избавился от минуса с помощью abs.
Anime пишет:
цитата
Можно ли заменить (какой нибудь картинкой) начальную загрузку (Например:когда запаблишел игру нажимаешь 'запустить игру' сначало появляется загрузка A6 движка-3D Coninteс...На кого зарегина и т.д.(я вот про неё)

Если у тебя пиратская версия от СТ, то нет.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 14.10.05 13:10. Заголовок: Re:


format c: пишет:
цитата
Если у тебя пиратская версия

Да ты что, Формат?! Какие пираты? Просто тут почти у всех людей инициалы СТ.

Настоящий программист не ставит комментариев; что писалось с трудом - должно также пониматься. Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 14.10.05 17:07. Заголовок: Re:


LORd пишет:
цитата
Просто тут почти у всех людей инициалы СТ.



Это моя рука.. Это её рука..
Это моя нога.. Это её нога..
А там, в углу, моя голова...
Неплоха мы вчера в Quake поиграли!!!
Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 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. у вас какието проблемы с форумам или у мя комп лагает(неработает поиск и картинки не загружаются(картинки:профиль,новая тема...))

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 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); }

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 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();
...
}

Не сохраняет значение в файл котрое ей дал слайдер.Что в этом коде не так?


Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 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);
}
}

Проблема в следующем
Запускаю меню, играет музыка, поевляются кнопки.Когда наводишь на кнопку(на любую) а потом на следующию проигрывается музыка, но когда это делаешь многократно (сначала на одну потом быстро

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 26.10.05 10:10. Заголовок: Re:


А скажите что за штука STARTER имя() ? ( Что есть "action","function" - знаю а встретил "starter" и не въеду что оно такое)

Спасибо: 0 
Цитата Ответить



ссылка на сообщение  Отправлено: 26.10.05 13:01. Заголовок: Re:


starter - это то же самое, что и функция с экшэном, только отличие в том, что стартер автоматически запускается сам собой в начале игры (подобно функции main).

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 26.10.05 13:48. Заголовок: Re:


Правилино ли я понял: Пусть я из WED подлючаю некий скрипт, а в нем ( сначала или всё равно?) написано
STARTER StartMenu
{ Loch_Menu(); }
И при загрузке уровня запустится моё меню? А если стартеров несколько , что по очереди (в смысле как объявлены в
скрипте-сверх вниз) будут запускаться ?


Спасибо: 0 
Цитата Ответить



ссылка на сообщение  Отправлено: 26.10.05 17:06. Заголовок: Re:


Я не знаю, т. к. считаю стартеры атовизмом. Я всё в main пишу.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 26.10.05 20:51. Заголовок: Re:


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

Это моя рука.. Это её рука..
Это моя нога.. Это её нога..
А там, в углу, моя голова...
Неплоха мы вчера в Quake поиграли!!!
Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 26.10.05 21:49. Заголовок: Re:


да их вобще не надо использовать, говорю же - атовизм.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 44 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет