Четверг, 18 Апреля 2024, 16:19

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Krosos [407]
Результаты поиска
KrososДата: Пятница, 20 Сентября 2013, 15:25 | Сообщение # 41 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Не объявлена переменная BONUS.




Мой проект
KrososДата: Пятница, 20 Сентября 2013, 14:46 | Сообщение # 42 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
а , точно.
Я обычно вары не использую , и поэтому не могу сказать то , что с ними может быть не так.
Я бы лучше все переменные , объявил бы заранее в create , особенно если их немного.
Там , типа:
global.O=0
global.X=0
global.Y=0

В справке есть вот такая надпись:
Не пытайтесь использовать эту переменную при работе с другим объектом (или другим экземпляром этого объекта) потом.





Мой проект
KrososДата: Пятница, 20 Сентября 2013, 14:25 | Сообщение # 43 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
А зачем там нужен var?
Не проще , написать:global.money=coins ?





Мой проект


Сообщение отредактировал Krosos - Пятница, 20 Сентября 2013, 14:25
KrososДата: Пятница, 20 Сентября 2013, 14:01 | Сообщение # 44 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Как это может не работать?Значит, это что-то ты не правильно делаешь.




Мой проект
KrososДата: Пятница, 20 Сентября 2013, 13:58 | Сообщение # 45 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
adast12,

Добавлено (20.09.2013, 13:58)
---------------------------------------------
а , переменная1=переменная2 - не подходит что-ли?





Мой проект
KrososДата: Пятница, 20 Сентября 2013, 13:33 | Сообщение # 46 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
adast12,ох... прочти уже справку блин.
Раздел :"Файлы, регистр и выполнение программ" , "ini файлы"





Мой проект
KrososДата: Среда, 18 Сентября 2013, 22:16 | Сообщение # 47 | Тема: Система диалогов.
постоянный участник
Сейчас нет на сайте
DARKLORD, ага , напиши , тебе слишком простым все показалось.




Мой проект
KrososДата: Среда, 18 Сентября 2013, 22:02 | Сообщение # 48 | Тема: Система диалогов.
постоянный участник
Сейчас нет на сайте
CreatingOver, Вот не поставил break , я только что , и сразу косяк вылетел не приятный...
Какого-то хрена , нижние переменные объявились тогда , когда должны были объявиться верхние.
Как вы без break и скобок все делаете?O_o
Я только забуду поставить ,и у меня сразу начинаются неприятности.





Мой проект


Сообщение отредактировал Krosos - Среда, 18 Сентября 2013, 22:03
KrososДата: Среда, 18 Сентября 2013, 20:07 | Сообщение # 49 | Тема: Система диалогов.
постоянный участник
Сейчас нет на сайте
CreatingOver,
switch (<выражение>)
{
case <выражение1>: <оператор1>; ... ; break;
case <выражение2>: <оператор2>; ... ; break;
...
default: <оператор>; ...
}

Потому что в справке так написано.
А идти против справки , я не рискую.





Мой проект
KrososДата: Среда, 18 Сентября 2013, 19:07 | Сообщение # 50 | Тема: Система диалогов.
постоянный участник
Сейчас нет на сайте
beril, пункт 6 недоступен , для примера.
Вот смотри:
_1_punkt_text='Пункт1'
_1_punkt_D=0
_2_punkt_text='Пункт2'
_2_punkt_D=0
_3_punkt_text='Пункт3'
_3_punkt_D=0
_4_punkt_text='Пункт4'
_4_punkt_D=0
_5_punkt_text='Пункт5'
_5_punkt_D=0
_6_punkt_text='Пункт6'
_6_punkt_D=1


Добавлено (18.09.2013, 19:07)
---------------------------------------------
И еще , забыл сказать , на прошедшие сцены , котороые уже были, можно возвращаться.
Пример:





Мой проект


Сообщение отредактировал Krosos - Среда, 18 Сентября 2013, 19:10
KrososДата: Среда, 18 Сентября 2013, 18:53 | Сообщение # 51 | Тема: Система диалогов.
постоянный участник
Сейчас нет на сайте
С 4 часов ночи сидел я , и делал диалоги.В итоге так задолбался , что сделал универсальный код диалогов , для максимального удобства.
Я его проверил , и вроде бы все работает.Подходит для любых спрайтов, шрифтов и прочего...
Может и не очень удобно , некоторым показалось , но это намного проще , чем то , что у меня было утром. bag

Познакомимся со скриптом.=)
Аргументов не хватило , и поэтому некоторые переменные от скрипта валяются вне его.
Сначала нужно создать объект , в create text_punkt=object_add() - пустой объект пунктов.
Назначаем Переменные:

global._text_font=font12 - шрифт для диалогов
_punktSPR_1=spr_text_punkt - спрайт не выбранного пункта
_punktSPR_2=spr_text_punkt_selest - спрайт выбранного пункта
_punktSPR_3=spr_text_punkt_none - спрайт недоступного пункта
_punkt_sound2=sound17 - звук доступного пункта(можно оставить 0)
_punkt_sound1=sound16 - звук не доступного пункта(можно оставить 0)
_text_sound=sound15 - звук текста(можно тоже оставить 0)
_frequency_of_the_sound=1 - частота "щелканья" звука во время набирания текста
_TextSpeed=1 - скорость текста
_1_punkt_text='Пункт1' - название пункта 1
_1_punkt_D=0 - доступен ли пункт?
_2_punkt_text='Пункт2' - название пункта 2
_2_punkt_D=0 - доступен ли пункт?

И так далее с пунктами , до 6. 6 - максимум.

О функции:
scr_dialog(xx,yy,text_window,30,text2,10,0,1,10,150,1,40,0,0,c_black,c_white)
1 и 2 число - координаты (x - середина y- нижний край)
3- спрайт фона для текста.Подойдет абсолютно любой!
4- размер вашей рамки , или расстояние , на котором текст или пункты будут отдаленны от краев фона для текста
5- сам текст.Скрипт не предусматривает размер вашего текста , поэтому рассчитывайте его сами.
6- размер шрифта , сам гейммэкер , не умеет его узнавать...
7-количество пунктов диалога ,максимум 6, если оставить на 0 , то достаточно будет кликнуть по области текста.
8-растянуть спрайты пунктов?Если да , то спрайты будут растянуты вдоль текстов пунктов , даже учитывая несколько строк(Если конечно используется знак#)
9-высота расположения пунктов от рамки
10-горизонтальная дистанция между пунктами
11- расположение пунктов.Если 0 , то пункты расположатся на нижнем ряду ( все 6) , если 1 , то пункты расположатся в 2 или 3 столбика1
12- вертикальная дистанция (если число 11 равно 0 , иначе смысла не имеет)
13- появление , если 1 , то диалог появится со временем, если 0 , то диалог мгновенно появится.Используется для начала диалога.
14- исчезновение , то же ,что и первое , но диалог исчезает.Используется для завершения диалога.
15- цвет обводки теста
16- цвет самого текста

Как использовать код:

Сначала назначаем переменные текстами:
text1='Выберите пункт'
text2='Выбран пункт 1'
text3='Выбран пункт 2'
text4='Выбран пункт 3'
text5='Выбран пункт 4'
text6='Выбран пункт 5'
text7='Выбран пункт 6'
text8='Спасибо за выбор'
Затем назначаем переменные:
global._text_font=font12
_punktSPR_1=spr_text_punkt
_punktSPR_2=spr_text_punkt_selest
_punktSPR_3=spr_text_punkt_none
_punkt_sound2=sound17
_punkt_sound1=sound16
_text_sound=sound15
xx=view_xview[0]+640
yy=view_yview[0]+1024
_frequency_of_the_sound=1
_TextSpeed=1

Используем переключение сцен:
switch Scene{ //Проверяем номер сцены
case 1: //Сцена 1
//Даем названия пунктам и назначаем им доступность:
_1_punkt_text='Пункт1'
_1_punkt_D=0
_2_punkt_text='Пункт2'
_2_punkt_D=0
_3_punkt_text='Пункт3'
_3_punkt_D=0
_4_punkt_text='Пункт4'
_4_punkt_D=0
_5_punkt_text='Пункт5'
_5_punkt_D=0
_6_punkt_text='Пункт6'
_6_punkt_D=1

scr_dialog(xx,yy,text_window,30,text1,10,6,1,10,150,1,40,1,0,c_black,c_white)
switch _Current_Punkt{ //Проверяем выбранный пункт.Выбранный пункт нам доступен только под диалогом!
case 1: Scene=2 break //Если игрок выбрал пункт 1 , то он перейдет на сцену 2, также и с остальными
case 2: Scene=3 break
case 3: Scene=4 break
case 4: Scene=5 break
case 5: Scene=6 break
case 6: Scene=7 break
}break
case 2:
scr_dialog(xx,yy,text_window,30,text2,10,0,1,10,150,1,40,0,0,c_black,c_white)
if _Current_Punkt=-1{Scene=8}break //Если пунктов не существует , то при нажатии по диалогу , _Current_Punkt будет равен -1
case 3:
scr_dialog(xx,yy,text_window,30,text3,10,0,1,10,150,1,40,0,0,c_black,c_white)
if _Current_Punkt=-1{Scene=8}break
case 4:
scr_dialog(xx,yy,text_window,30,text4,10,0,1,10,150,1,40,0,0,c_black,c_white)
if _Current_Punkt=-1{Scene=8}break
case 5:
scr_dialog(xx,yy,text_window,30,text5,10,0,1,10,150,1,40,0,0,c_black,c_white)
if _Current_Punkt=-1{Scene=8}break
case 6:
scr_dialog(xx,yy,text_window,30,text6,10,0,1,10,150,1,40,0,0,c_black,c_white)
if _Current_Punkt=-1{Scene=8}break
case 7:
scr_dialog(xx,yy,text_window,30,text7,10,0,1,10,150,1,40,0,0,c_black,c_white)
if _Current_Punkt=-1{Scene=8}break
case 8:
scr_dialog(xx,yy,text_window,30,text8,10,0,1,10,150,1,40,0,1,c_black,c_white)
if _Current_Punkt=-1{Scene=0 global.TheatrEnd=1} //Сцена завершилась , занавес закрылся
break
}


Если что-то не понятно - спрашивайте.
И вот еще скриншот:


Для тех , кто не понял даже , что такое рамка ,вот пример

Вот 2 скрипта:
scr_text_punkt - код пунктов диалога
Код
with argument0{
draw_set_halign(fa_center)
draw_set_valign(fa_center)

_Str=0
for (_O=0  ;string_length(argument1)>_O ;_O+=1){
if string_char_at(argument1,_O)='#'{_Str+=1} }
argument3+=4

if argument4=0{
_xxx=sprite_get_width(argument5)/2
_yyy=sprite_get_height(argument5)/2

if (x-_xxx)<mouse_x and mouse_x <(x+_xxx) and (y-_yyy)<mouse_y and mouse_y<(y+_yyy){
if argument8=0 {draw_sprite(argument6,-1,x,y)}else{draw_sprite(argument7,-1,x,y)}
global._Selected_Punkt[argument2]=1}
else{
if argument8=0 {draw_sprite(argument5,-1,x,y)}else{draw_sprite(argument7,-1,x,y)}
global._Selected_Punkt[argument2]=0}}

if argument4=1{
_xxx=(string_length(argument1)*argument3/2)/(_Str+1)
_yyy=argument3*_Str+argument3

if (x-_xxx)<mouse_x and mouse_x <(x+_xxx) and (y-_yyy)<mouse_y and mouse_y<(y+_yyy){
if argument8=0 {draw_sprite_stretched(argument6,-1,x-_xxx,y-_yyy,_xxx*2,_yyy*2-argument3/4)}else{{draw_sprite_stretched(argument7,-1,x-_xxx,y-_yyy,_xxx*2,_yyy*2-argument3/4)}}
global._Selected_Punkt[argument2]=1}
else{
if argument8=0 {draw_sprite_stretched(argument5,-1,x-_xxx,y-_yyy,_xxx*2,_yyy*2-argument3/4)}else{{draw_sprite_stretched(argument7,-1,x-_xxx,y-_yyy,_xxx*2,_yyy*2-argument3/4)}}
global._Selected_Punkt[argument2]=0}}

//draw_text_ol(x,y-argument3/4,argument1,c_white,c_black,global._text_font)
draw_set_font(global._text_font)
draw_set_color(argument9)
draw_text(x+1,y-argument3/4,argument1)
draw_text(x-1,y-argument3/4,argument1)
draw_text(x,y-argument3/4-1,argument1)
draw_text(x,y-argument3/4+1,argument1)
draw_set_color(argument10)
draw_text(x,y-argument3/4,argument1)

draw_set_halign(fa_left)
draw_set_valign(fa_left)
}


scr_dialog - код самих диалогов
Код
//argument0 - x()
//argument1 - y()
//argument2 - spr()
//argument3 - size()
//argument4 - text()
//argument5 - font_size
//argument6 - punkt_number(1,2,3,4,5,6)
//argument7 - punkt_stretching(0,1)
//argument8 - punkt_height()
//argument9 - punkt_H_distantion()
//argument10- punkt_location(0,1)
//argument11- punkt_V_distantion()
//argument12- appearance(0,1)
//argument13- disappearance(0,1)
//argument14- text_coolor1
//argument15- text_coolor2

draw_set_valign(fa_top)
if  argument12=1 and _appearance=0 and _Simvols=0{_appearance=1 _text_alpha=0}
if _appearance=1 and _text_alpha<1{_text_alpha+=0.02}else{if _disappearance=0 {_appearance=0 _text_alpha=1}}
if _Simvols=0 {_Speed=_TextSpeed _timer=1}

_Current_Punkt=0
_xx=argument0
_yy=argument1
_sizex=sprite_get_width(argument2)/2
_sizey=sprite_get_height(argument2)
if _Simvols>_MaxSimvols{_Simvols=_MaxSimvols }
draw_sprite_ext(argument2,-1,_xx,_yy,1,1,0,c_white,_text_alpha)

draw_set_alpha(_text_alpha)
draw_set_font(global._text_font)
draw_set_color(argument14)
draw_text(_xx-_sizex+argument3-1,_yy-_sizey+argument3-argument5/2,string_copy(argument4,0,floor(_Simvols)))
draw_text(_xx-_sizex+argument3+1,_yy-_sizey+argument3-argument5/2,string_copy(argument4,0,floor(_Simvols)))
draw_text(_xx-_sizex+argument3,_yy-_sizey+argument3-argument5/2-1,string_copy(argument4,0,floor(_Simvols)))
draw_text(_xx-_sizex+argument3,_yy-_sizey+argument3-argument5/2+1,string_copy(argument4,0,floor(_Simvols)))
draw_set_color(argument15)
draw_text(_xx-_sizex+argument3,_yy-_sizey+argument3-argument5/2,string_copy(argument4,0,floor(_Simvols)))

_MaxSimvols=string_length(argument4)

if _Simvols=_MaxSimvols and _disappearance=0{
switch argument6{
case 1:
if instance_exists(text_punkt)=0{
_1_punkt=instance_create(_xx,_yy-argument3-argument5,text_punkt)
}
break
case 2:
if instance_exists(text_punkt)=0{
_1_punkt=instance_create(_xx-argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
_2_punkt=instance_create(_xx+argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
}
break
case 3:
if instance_exists(text_punkt)=0{
_1_punkt=instance_create(_xx-argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
_2_punkt=instance_create(_xx,_yy-argument8-argument3-argument5,text_punkt)
_3_punkt=instance_create(_xx+argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
}
break
case 4:
if instance_exists(text_punkt)=0{
if argument10=0{
_1_punkt=instance_create(_xx-argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
_2_punkt=instance_create(_xx-argument9,_yy-argument8-argument3-argument5,text_punkt)
_3_punkt=instance_create(_xx+argument9,_yy-argument8-argument3-argument5,text_punkt)
_4_punkt=instance_create(_xx+argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
}
if argument10=1{
_1_punkt=instance_create(_xx-argument9,_yy-argument8-argument3-argument5-argument11,text_punkt)
_2_punkt=instance_create(_xx-argument9,_yy-argument8-argument3-argument5,text_punkt)
_3_punkt=instance_create(_xx+argument9,_yy-argument8-argument3-argument5-argument11,text_punkt)
_4_punkt=instance_create(_xx+argument9,_yy-argument8-argument3-argument5,text_punkt)
}
}
break
case 5:
if instance_exists(text_punkt)=0{
if argument10=0{
_1_punkt=instance_create(_xx-argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
_2_punkt=instance_create(_xx-argument9,_yy-argument8-argument3-argument5,text_punkt)
_3_punkt=instance_create(_xx,_yy-argument8-argument3-argument5,text_punkt)
_4_punkt=instance_create(_xx+argument9,_yy-argument8-argument3-argument5,text_punkt)
_5_punkt=instance_create(_xx+argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
}
if argument10=1{
_1_punkt=instance_create(_xx-argument9,_yy-argument8-argument3-argument5-argument11,text_punkt)
_2_punkt=instance_create(_xx-argument9,_yy-argument8-argument3-argument5,text_punkt)
_3_punkt=instance_create(_xx,_yy-argument8-argument3-argument5-argument11/2,text_punkt)
_4_punkt=instance_create(_xx+argument9,_yy-argument8-argument3-argument5-argument11,text_punkt)
_5_punkt=instance_create(_xx+argument9,_yy-argument8-argument3-argument5,text_punkt)
}
}
break
case 6:
if instance_exists(text_punkt)=0{
if argument10=0{
_1_punkt=instance_create(_xx-argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
_2_punkt=instance_create(_xx-argument9,_yy-argument8-argument3-argument5,text_punkt)
_3_punkt=instance_create(_xx-argument9/3,_yy-argument8-argument3-argument5,text_punkt)
_4_punkt=instance_create(_xx+argument9/3,_yy-argument8-argument3-argument5,text_punkt)
_5_punkt=instance_create(_xx+argument9,_yy-argument8-argument3-argument5,text_punkt)
_6_punkt=instance_create(_xx+argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)

}
if argument10=1{
_1_punkt=instance_create(_xx-argument9*1.66,_yy-argument8-argument3-argument5-argument11,text_punkt)
_2_punkt=instance_create(_xx-argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
_3_punkt=instance_create(_xx,_yy-argument8-argument3-argument5,text_punkt)
_4_punkt=instance_create(_xx,_yy-argument8-argument3-argument5-argument11,text_punkt)
_5_punkt=instance_create(_xx+argument9*1.66,_yy-argument8-argument3-argument5-argument11,text_punkt)
_6_punkt=instance_create(_xx+argument9*1.66,_yy-argument8-argument3-argument5,text_punkt)
}
}
break
}
scr_text_punkt(_1_punkt,_1_punkt_text,1,argument5,argument7,_punktSPR_1,_punktSPR_2,_punktSPR_3,_1_punkt_D,argument14,argument15)
scr_text_punkt(_2_punkt,_2_punkt_text,2,argument5,argument7,_punktSPR_1,_punktSPR_2,_punktSPR_3,_2_punkt_D,argument14,argument15)
scr_text_punkt(_3_punkt,_3_punkt_text,3,argument5,argument7,_punktSPR_1,_punktSPR_2,_punktSPR_3,_3_punkt_D,argument14,argument15)
scr_text_punkt(_4_punkt,_4_punkt_text,4,argument5,argument7,_punktSPR_1,_punktSPR_2,_punktSPR_3,_4_punkt_D,argument14,argument15)
scr_text_punkt(_5_punkt,_5_punkt_text,5,argument5,argument7,_punktSPR_1,_punktSPR_2,_punktSPR_3,_5_punkt_D,argument14,argument15)
scr_text_punkt(_6_punkt,_6_punkt_text,6,argument5,argument7,_punktSPR_1,_punktSPR_2,_punktSPR_3,_6_punkt_D,argument14,argument15)
}

if _Simvols<_MaxSimvols and _appearance=0 {if mouse_check_button_pressed( mb_left) and mouse_y<yy and mouse_y>(yy-_sizey) and mouse_x>(xx-_sizex) and mouse_x<(xx+_sizex){
_Speed=_Speed*5 io_clear()}else{_Simvols+=_Speed  _timer-=1 if _timer=0{_timer=_frequency_of_the_sound if _text_sound>0{sound_play(_text_sound)}}}}

if mouse_check_button_pressed(mb_left) and _Simvols=_MaxSimvols and _disappearance=0{
if argument6=0 and mouse_y<yy and mouse_y>(yy-_sizey) and mouse_x>(xx-_sizex) and mouse_x<(xx+_sizex)  {with text_punkt {instance_destroy()} if argument13=1{_disappearance=1}else{ _Current_Punkt=-1 _Simvols=0 }  if _punkt_sound2>0{sound_play(_punkt_sound2)}}
if global._Selected_Punkt[1]=1 {if _1_punkt_D=1{if _punkt_sound1>0{sound_play(_punkt_sound1)}}else{with text_punkt {instance_destroy()}  if _punkt_sound2>0{sound_play(_punkt_sound2)}  if argument13=1{_disappearance=1}else{_Simvols=0 _Current_Punkt=1 global._Selected_Punkt[1]=0}}}
if global._Selected_Punkt[2]=1 {if _2_punkt_D=1{if _punkt_sound1>0{sound_play(_punkt_sound1)}}else{with text_punkt {instance_destroy()}  if _punkt_sound2>0{sound_play(_punkt_sound2)}  if argument13=1{_disappearance=1}else{_Simvols=0 _Current_Punkt=2 global._Selected_Punkt[2]=0}}}
if global._Selected_Punkt[3]=1 {if _3_punkt_D=1{if _punkt_sound1>0{sound_play(_punkt_sound1)}}else{with text_punkt {instance_destroy()}  if _punkt_sound2>0{sound_play(_punkt_sound2)}  if argument13=1{_disappearance=1}else{_Simvols=0 _Current_Punkt=3 global._Selected_Punkt[3]=0}}}
if global._Selected_Punkt[4]=1 {if _4_punkt_D=1{if _punkt_sound1>0{sound_play(_punkt_sound1)}}else{with text_punkt {instance_destroy()}  if _punkt_sound2>0{sound_play(_punkt_sound2)}  if argument13=1{_disappearance=1}else{_Simvols=0 _Current_Punkt=4 global._Selected_Punkt[4]=0}}}
if global._Selected_Punkt[5]=1 {if _5_punkt_D=1{if _punkt_sound1>0{sound_play(_punkt_sound1)}}else{with text_punkt {instance_destroy()}  if _punkt_sound2>0{sound_play(_punkt_sound2)}  if argument13=1{_disappearance=1}else{_Simvols=0 _Current_Punkt=5 global._Selected_Punkt[5]=0}}}
if global._Selected_Punkt[6]=1 {if _6_punkt_D=1{if _punkt_sound1>0{sound_play(_punkt_sound1)}}else{with text_punkt {instance_destroy()}  if _punkt_sound2>0{sound_play(_punkt_sound2)}  if argument13=1{_disappearance=1}else{_Simvols=0 _Current_Punkt=6 global._Selected_Punkt[6]=0}}}
}
if  _disappearance=1 {_text_alpha-=0.04}
if  _disappearance=1 and _text_alpha<=0 {
if global._Selected_Punkt[1]=1{_Current_Punkt=1 global._Selected_Punkt[1]=0}
if global._Selected_Punkt[2]=1{_Current_Punkt=2 global._Selected_Punkt[2]=0}
if global._Selected_Punkt[3]=1{_Current_Punkt=3 global._Selected_Punkt[3]=0}
if global._Selected_Punkt[4]=1{_Current_Punkt=4 global._Selected_Punkt[4]=0}
if global._Selected_Punkt[5]=1{_Current_Punkt=5 global._Selected_Punkt[5]=0}
if global._Selected_Punkt[6]=1{_Current_Punkt=6 global._Selected_Punkt[6]=0}
if argument6=0{_Current_Punkt=-1} _disappearance=0  _Simvols=0}     

draw_set_valign(fa_left)





Мой проект


Сообщение отредактировал Krosos - Четверг, 19 Сентября 2013, 07:03
KrososДата: Среда, 18 Сентября 2013, 04:45 | Сообщение # 52 | Тема: Не получается сделать скрипт
постоянный участник
Сейчас нет на сайте
Farcuat, ну я так и подумал , но все равно спасибо.




Мой проект
KrososДата: Вторник, 17 Сентября 2013, 06:49 | Сообщение # 53 | Тема: Вопрос по комнатам в раннере.
постоянный участник
Сейчас нет на сайте
Кошмар...
Почему бы просто не зациклить комнату?
Как добегаешь до определенного места, нас откидывает на 10000 пикселей назад.
Никто не заметит разницы.





Мой проект
KrososДата: Вторник, 17 Сентября 2013, 06:39 | Сообщение # 54 | Тема: появление врагов
постоянный участник
Сейчас нет на сайте
Darkbasic, у каждого врага должно быть свое личное хп , а у тебя походу общее - одно на всех.
А еще ,ты должен был скинуть свои коды - без них ничего не понять.





Мой проект
KrososДата: Вторник, 17 Сентября 2013, 04:39 | Сообщение # 55 | Тема: Не получается сделать скрипт
постоянный участник
Сейчас нет на сайте
Вот код:

А вот скрипт:

Почему-то на аргумент 2 реакции нету никакой , а вот на спрайт есть.
Думаю , понятно почему...
Как сделать правильно?





Мой проект


Сообщение отредактировал Krosos - Вторник, 17 Сентября 2013, 04:40
KrososДата: Понедельник, 16 Сентября 2013, 11:27 | Сообщение # 56 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Есть:
Метка АА - любой квадрат
target - красный квадрат
Недоступная метка - темно-зеленый квадрат
KleymoOfEnemy - синий квадрат
global.Sunit - тот же KleymoOfEnemy и игрок , обведенный зеленым кругом.
with AA{if collision_line(x,y,target.x,target.y,KleymoOfEnemy,1,0) {instance_destroy()}} - код для удаления меток , между которыми есть союзники врага.

Вопрос: как удалить метку под игроком , если на ее пути есть союзник , но так , чтобы игрок в учет не шел?

Картинка:
Надеюсь вы разберетесь в моих каракулях....





Мой проект
KrososДата: Воскресенье, 15 Сентября 2013, 14:39 | Сообщение # 57 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
GameMix, ну не знаю , я всегда ставлю их.
Я просто предполагаю :возможно ,у тебя, расставились скобки вот так:
if (yy > 1){
if ((pole[xx, yy - 1] == PL1 || pole[xx, yy - 1] == PL2) && pole[xx, yy - 2] == 0)
{
pole[xx, yy - 2] = MOVE;
lev_rec = 1;
MoveExists(xx, yy - 2);
}
if (yy < 5)
if ((pole[xx, yy + 1] == PL1 || pole[xx, yy + 1] == PL2) && pole[xx, yy + 2] == 0)
{
pole[xx, yy + 2] = MOVE;
lev_rec = 1;
MoveExists(xx, yy + 2);
}
}





Мой проект


Сообщение отредактировал Krosos - Воскресенье, 15 Сентября 2013, 14:43
KrososДата: Воскресенье, 15 Сентября 2013, 13:59 | Сообщение # 58 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Цитата (GameMix)
При выполнении первого условия и рекурсивного запуска функции, следующая проверка (yy < 5), по ходу, не выполняется

А разве не должно быть так?:
if (yy < 5)
{
if ((pole[xx, yy + 1] == PL1 || pole[xx, yy + 1] == PL2) && pole[xx, yy + 2] == 0)
{
pole[xx, yy + 2] = MOVE;
lev_rec = 1;
MoveExists(xx, yy + 2);
}
}





Мой проект


Сообщение отредактировал Krosos - Воскресенье, 15 Сентября 2013, 14:01
KrososДата: Суббота, 14 Сентября 2013, 00:50 | Сообщение # 59 | Тема: Прицел как в примере
постоянный участник
Сейчас нет на сайте
Все надо делать блин за вас...
Вот : пример
Только переменные там вообще приблизительные , сам настраивай , как нужно.
Я дал пример , чтобы ты сам понял суть.
Там еще и стрельба сделана.





Мой проект


Сообщение отредактировал Krosos - Суббота, 14 Сентября 2013, 00:51
KrososДата: Пятница, 13 Сентября 2013, 23:56 | Сообщение # 60 | Тема: Прицел как в примере
постоянный участник
Сейчас нет на сайте
Эх..
Это библиотека или скрипт?
Если библиотека - то труднее.=(
Суть прицела такова:
Запускается 50 шаров , через массив раздавая им по переменной от 1 до 50.
Шар, используя эту переменную , двигается за 1 шаг столько раз , сколько ему позволяет эта переменная(Через repeat).
Потом через 1 кадр он удаляется.
Таким образом , получается такой прицел.

Пример:
Код полета кота:
Create:
Код
Speed=100
G=1

Step:
Код
x+=Speed
y+=G
G+=0.05
Speed-=1


Код прицела:
Step:
Код
for (O=1;O<=50;O+=1){
Pricel=instance_create(x,y,Sharik)
Pricel.Nomer=O
}

Код шарика:
Create:
Код
Speed=100
G=1

Step:
Код
if Timer=1{instance_destroy()}
repeat(Nomer){
x+=Speed
y+=G}
timer+=1


Надеюсь правильно написал.





Мой проект


Сообщение отредактировал Krosos - Пятница, 13 Сентября 2013, 23:59
Форум игроделов » Записи участника » Krosos [407]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг