Minecraft 2D - Верней, похожая, на неё.
Drelagas Дата: Понедельник, 30 Января 2012, 23:55 | Сообщение # 1
частый гость
Сейчас нет на сайте
У меня сейчас вопросов больше, чем ответов... Вообщем, я делаю игру, похожую на майн. И у меня накопилось очень много вопросов. Список вопросов: 1. Как создать облака? (Целый день голву ломаю...) Нужно, чтобы они случайным образом генерировались в небе. 2. Как создать печь? (Этот вопрос многих интересует) Желательно код, таким образом, вы не только мне поможете... 3. Помогите создать моба, который будет прыгать высотой в 32х32 пикселя, т.е. если моб бежит, и перед ним стоит блок, ему нужно, чтобы он на него запрыгнул... 4. Светящиеся блоки или факел... (Хотя мне блок светящиеся нужен =D) Вообщем, мне нужно, чтобы от светящихся блоков исходил свет... Ну вы поняли =D. Уже была похожая тема, извините, если, что не так Лично у меня от всего этого уже бошка кругом идёт. Всем заранее спасибо!
Сообщение отредактировал Drelagas - Вторник, 31 Января 2012, 00:04
DeNova Дата: Вторник, 31 Января 2012, 00:08 | Сообщение # 2
был не раз
Сейчас нет на сайте
гдето я уже видел такую тему ! кстати вот Minecraft 2D
[img]http://nick-name.ru/forumt4/De%20Nova.gif[/img]
Сообщение отредактировал DeNova - Вторник, 31 Января 2012, 00:10
Drelagas Дата: Вторник, 31 Января 2012, 00:11 | Сообщение # 3
частый гость
Сейчас нет на сайте
Quote (DeNova )
Уже была похожая тема, извините, если, что не так
Похожая была, но таких вопросов вроде бы не было... Был вопрос про печь только. Если бы были бы ответы на эти вопросы, то бы я не стал создавать эту тему Quote (DeNova )
кстати вот Minecraft 2D
Я там был. Взял всё необходимое. Но там нет ответов на мои вопросы.
Сообщение отредактировал Drelagas - Вторник, 31 Января 2012, 00:11
FadeBaker Дата: Вторник, 31 Января 2012, 00:34 | Сообщение # 4
JavaSE Game Developer
Сейчас нет на сайте
Хорошо, я дам весь код из блока печи, а там подстраивай его под свои нужды, если разберешься, конечно. Create:
Code
timer = 0; canRegen = 1; active = 1; invData[7] = 30//7; invData[8] = invData[7]; invData[11] = 5; invData[13] = 0; invData[14] = 0; canDrop = 1; item = objItemFurnaceStone; fuelTimer = 0; fuelTimerMax = 0; furnPower = 0; furnPowerMax = 300; maxFurnaceResult = 0; maxFuelItems = 0; furnaceItem = instance_create(objInv.inv_x + (objInv.cell_width * 3.5), objInv.inv_y - objInv.cell_height*4, objInvCell); furnaceItem.visible = 1; furnaceFuel = instance_create(objInv.inv_x + (objInv.cell_width * 3.5), objInv.inv_y - objInv.cell_height*2, objInvCell); furnaceFuel.visible = 1; furnaceResult = instance_create(objInv.inv_x + (objInv.cell_width * 6), objInv.inv_y - objInv.cell_height*3, objInvCell); furnaceResult.is_cell = 0; furnaceResult.visible = 1; tI = furnaceItem.invData[1]; iA = 0; furnSetItems('Stone');
Step:
Code
fuelTimer = max(fuelTimer - 1, 0); if tI != furnaceItem.invData[1] { tI = furnaceItem.invData[1]; furnPower = 0; } if furnaceFuel.invData[1] == '' && fuelTimer == 0 { furnPower = 0; } for(i = 1; i <= maxFurnaceResult; i += 1) { if furnaceItem.invData[1] == furnItems[i, 0] { if furnaceResult.invData[1] == '' { if furnaceFuel.invData[4] != 0 { if fuelTimer == 0 { for(i = 1; i <= maxFuelItems; i += 1) { if furnaceFuel.invData[1] == fuelItems[i, 0] { fuelTimerMax = fuelItems[i, 1]; invSlotReduce(furnaceFuel); fuelTimer = fuelTimerMax; break; } } } } if fuelTimer > 0 { if furnPower != furnPowerMax { furnPower += 1; } else { for(i = 1; i <= maxFurnaceResult; i += 1) { if furnaceItem.invData[1] == furnItems[i, 0] { invItemSet(furnItems[i, 1], 1, furnaceResult); invSlotReduce(furnaceItem); furnPower = 0; break; } } } } } else if furnaceResult.invData[1] != '' { for(i = 1; i <= maxFurnaceResult; i += 1) { if furnaceItem.invData[1] == furnItems[i, 0] && furnaceResult.invData[1] == furnItems[i, 1] { iA = furnItems[i, 2]; break; } } if iA <= (furnaceResult.invData[10] - furnaceResult.invData[4]) { if furnaceFuel.invData[4] != 0 { if fuelTimer == 0 { for(i = 1; i <= maxFuelItems; i += 1) { if furnaceFuel.invData[1] == fuelItems[i, 0] { fuelTimerMax = fuelItems[i, 1]; invSlotReduce(furnaceFuel); fuelTimer = fuelTimerMax; break; } } } } if fuelTimer > 0 { if furnPower != furnPowerMax { furnPower += 1; } else { for(i = 1; i <= maxFurnaceResult; i += 1) { if furnaceItem.invData[1] == furnItems[i, 0] && furnaceResult.invData[1] == furnItems[i, 1] { furnaceResult.invData[4] += furnItems[i, 2]; invSlotReduce(furnaceItem); furnPower = 0; exit; } } } } } else { furnPower = 0; } } } }
Destroy:
Code
with furnaceItem instance_destroy(); with furnaceFuel instance_destroy(); with furnaceResult instance_destroy(); event_inherited();
Draw:
Code
if !active exit; xx = objInv.inv_x + (objInv.cell_width * 3.5) + 20; yy = objInv.inv_y - objInv.cell_height*2 - 22; draw_sprite_ext(sprFurnFuel, 0, view_xview + (xx), view_yview + (yy), 1, 1, 90, c_white, 1); if fuelTimer > 0 { draw_sprite_general(sprFurnFuel, 1, 0, 0, ((fuelTimer / fuelTimerMax) * sprite_get_width(sprFurnFuel)), sprite_get_height(sprFurnFuel), view_xview + (xx - 13), view_yview + (yy + 13), 1, 1, 90, c_white, c_white, c_white, c_white, 1); } xx = (objInv.inv_x + (objInv.cell_width * 3.5)) + 70; yy = (objInv.inv_y - objInv.cell_height*2) - 16; draw_sprite_ext(sprFurnPower, 0, view_xview + xx, view_yview + yy, 1, 1, 0, c_white, 1); if fuelTimer > 0 { draw_sprite_general(sprFurnPower, 1, 0, 0, ((furnPower / furnPowerMax) * sprite_get_width(sprFurnPower)), sprite_get_height(sprFurnPower), view_xview + (xx - 22), view_yview + (yy - 16), 1, 1, 0, c_white, c_white, c_white, c_white, 1); } event_inherited();
furnSetItems():
Code
if argument0 == 'Stone' { furnItemAdd('Iron Ore', 'Iron Bar', 1); furnItemAdd('Silver Ore', 'Silver Bar', 1); furnFuelAdd('Coal', 900); furnFuelAdd('Board', 450); furnFuelAdd('Stick', 300); }
furnItemAdd():
Code
maxFurnaceResult += 1; furnItems[maxFurnaceResult, 0] = argument0; furnItems[maxFurnaceResult, 1] = argument1; furnItems[maxFurnaceResult, 2] = argument2;
furnFuelAdd():
Code
maxFuelItems += 1; fuelItems[maxFuelItems, 0] = argument0; fuelItems[maxFuelItems, 1] = argument1;
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Drelagas Дата: Вторник, 31 Января 2012, 00:39 | Сообщение # 5
частый гость
Сейчас нет на сайте
Fade , O_O Спасибо, ты очень сильно мне помог! И не только мне Только у меня один вопрос: Куда это писать? Оо furnSetItems(): Code if argument0 == 'Stone' { furnItemAdd('Iron Ore', 'Iron Bar', 1); furnItemAdd('Silver Ore', 'Silver Bar', 1); furnFuelAdd('Coal', 900); furnFuelAdd('Board', 450); furnFuelAdd('Stick', 300); } furnItemAdd(): Code maxFurnaceResult += 1; furnItems[maxFurnaceResult, 0] = argument0; furnItems[maxFurnaceResult, 1] = argument1; furnItems[maxFurnaceResult, 2] = argument2; furnFuelAdd(): Code maxFuelItems += 1; fuelItems[maxFuelItems, 0] = argument0; fuelItems[maxFuelItems, 1] = argument1;
Сообщение отредактировал Drelagas - Вторник, 31 Января 2012, 00:41
FadeBaker Дата: Вторник, 31 Января 2012, 00:41 | Сообщение # 6
JavaSE Game Developer
Сейчас нет на сайте
Drelagas , всегда пожалуйста. В коде разобрался?
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Drelagas Дата: Вторник, 31 Января 2012, 00:43 | Сообщение # 7
частый гость
Сейчас нет на сайте
Quote (Fade )
всегда пожалуйста. В коде разобрался?
Да. Но, куда это писать? Куда это писать? Оо furnSetItems(): Code if argument0 == 'Stone' { furnItemAdd('Iron Ore', 'Iron Bar', 1); furnItemAdd('Silver Ore', 'Silver Bar', 1); furnFuelAdd('Coal', 900); furnFuelAdd('Board', 450); furnFuelAdd('Stick', 300); } furnItemAdd(): Code maxFurnaceResult += 1; furnItems[maxFurnaceResult, 0] = argument0; furnItems[maxFurnaceResult, 1] = argument1; furnItems[maxFurnaceResult, 2] = argument2; furnFuelAdd(): Code maxFuelItems += 1; fuelItems[maxFuelItems, 0] = argument0; fuelItems[maxFuelItems, 1] = argument1;Добавлено (31.01.2012, 00:43) --------------------------------------------- А, понял =)
FadeBaker Дата: Вторник, 31 Января 2012, 00:47 | Сообщение # 8
JavaSE Game Developer
Сейчас нет на сайте
Quote (Drelagas )
Помогите создать моба, который будет прыгать высотой в 32х32 пикселя, т.е. если моб бежит, и перед ним стоит блок, ему нужно, чтобы он на него запрыгнул...
В Step моба: Code
//Примитивный код движения влево. Аналогично и для противоположной стороны. if place_free(x - 4, y) { x -= 4; } else { if !place_free(x, y + 1) { if place_free(x, y - 1) { vspeed = -12; } } }
Добавлено (31.01.2012, 00:47) ---------------------------------------------
Quote (Drelagas )
куда это писать?
Это скрипты.
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Drelagas Дата: Вторник, 31 Января 2012, 00:48 | Сообщение # 9
частый гость
Сейчас нет на сайте
Ещё раз спасибо! =)Добавлено (31.01.2012, 00:48) ---------------------------------------------
Это понятно. Я понял куда =)
FadeBaker Дата: Вторник, 31 Января 2012, 00:56 | Сообщение # 10
JavaSE Game Developer
Сейчас нет на сайте
Quote (Drelagas )
Как создать облака? (Целый день голву ломаю...) Нужно, чтобы они случайным образом генерировались в небе.
В объекте-контроллере: Create: Code
globalvar a; a = 0; //Счетчик облаков m = 7; //Максимальное кол-во облаков
Step: Code
if irandom(100) < процент_появления_облака { if a < m { a += 1; xx = choose(-100, view_wview+100); d = instance_create(view_xview + xx, view_yview + irandom(view_hview)); d.d = choose(-1, 1); } }
Объекту облака в Step: Code
x += скорость_перемещения*d; if x < view_xview-100 || x > view_wview+100 instance_destroy();
И в Destroy:
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Сообщение отредактировал Fade - Вторник, 31 Января 2012, 01:05
Drelagas Дата: Вторник, 31 Января 2012, 00:59 | Сообщение # 11
частый гость
Сейчас нет на сайте
Оо Ещё раз спасибо))
FadeBaker Дата: Вторник, 31 Января 2012, 01:02 | Сообщение # 12
JavaSE Game Developer
Сейчас нет на сайте
Quote (Drelagas )
Светящиеся блоки или факел... (Хотя мне блок светящиеся нужен =D) Вообщем, мне нужно, чтобы от светящихся блоков исходил свет... Ну вы поняли =D.
Это реализуется примитивами и сюрфейсами, о которых можно почитать в справке. С примитивами я никогда не работал, поэтому я с ними на "Вы".
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Drelagas Дата: Вторник, 31 Января 2012, 01:02 | Сообщение # 13
частый гость
Сейчас нет на сайте
В шаге у объекта печки выдаёт ошибку, нету скрипта "invSlotReduce".Добавлено (31.01.2012, 01:02) ---------------------------------------------
Quote (Fade )
Это реализуется примитивами и сюрфейсами, о которых можно почитать в справке. С примитивами я никогда не работал, поэтому я с ними на "Вы".
Хорошо.
FadeBaker Дата: Вторник, 31 Января 2012, 01:06 | Сообщение # 14
JavaSE Game Developer
Сейчас нет на сайте
Quote (Drelagas )
В шаге у объекта печки выдаёт ошибку, нету скрипта "invSlotReduce".
Code
targ = argument0; if targ.invData[4] > 1 { targ.invData[4] -= 1; } else if targ.invData[4] == 1 { with targ invSlotClear(); }
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Drelagas Дата: Вторник, 31 Января 2012, 01:07 | Сообщение # 15
частый гость
Сейчас нет на сайте
Ага, теперь, всё ок. Ошибки нет. Спасибо!
FadeBaker Дата: Вторник, 31 Января 2012, 01:07 | Сообщение # 16
JavaSE Game Developer
Сейчас нет на сайте
Drelagas , все скрипты есть в моем исходнике Minecraft'a.
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Drelagas Дата: Вторник, 31 Января 2012, 01:11 | Сообщение # 17
частый гость
Сейчас нет на сайте
Хотя, нет. Есть. Теперь пишет, что нету "invItemSet".Добавлено (31.01.2012, 01:08) --------------------------------------------- Ок
Добавлено (31.01.2012, 01:11) --------------------------------------------- Хм... Там нету "invItemSet"
FadeBaker Дата: Вторник, 31 Января 2012, 01:12 | Сообщение # 18
JavaSE Game Developer
Сейчас нет на сайте
Код скрипта invItemSet
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
Сообщение отредактировал Fade - Вторник, 31 Января 2012, 01:13
Drelagas Дата: Вторник, 31 Января 2012, 01:22 | Сообщение # 19
частый гость
Сейчас нет на сайте
Quote (Fade )
Код скрипта invItemSet
О_О Вот это скриптик! СпасибО! Добавлено (31.01.2012, 01:22) --------------------------------------------- Блин. Выдал ошибку
Code
furnaceItem = instance_create(objInv.inv_x + (objInv.cell_width * 3.5), objInv.inv_y - objInv.cell_height*4, objInvCell); ^ at position 40: Unknown variable inv_x
FadeBaker Дата: Вторник, 31 Января 2012, 01:26 | Сообщение # 20
JavaSE Game Developer
Сейчас нет на сайте
Объект objInv существует? Если да, то в комнате присутствует?
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.