Пятница, 27 Декабря 2024, 19:43

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
KrososДата: Пятница, 26 Июля 2013, 01:19 | Сообщение # 281 | Тема: Сгоревший кабель питания
постоянный участник
Сейчас нет на сайте
Меня долго мучил кабель питания от монитора - его постоянно приходилось дергать , чтобы монитор загорелся.
А потом однажды я начал дергать и из него начали лететь искры (Прямо из шнура).
И вот сегодня меня задолбало совсем и я его препарировал в том месте , где я увидел искры.
Охренеть , там все провода в шнуре были в порядке кроме одного.Один выгорел к чертям , и между его концами недоставало целых 4 см.Oo
В общем я их соеденил , залепил и нормально.
Это каким хреном такое могло произойти?





Мой проект


Сообщение отредактировал Krosos - Пятница, 26 Июля 2013, 01:20
KrososДата: Четверг, 25 Июля 2013, 22:19 | Сообщение # 282 | Тема: Как наложить картинку на экран d2 игры?
постоянный участник
Сейчас нет на сайте
Draw:
if show=1{
draw_text_ol(view_xview[0]+1280-470,view_yview[0]+25,string(global.HP[O])+'/'+ string(global.mxHP[O]),c_white,c_black,-1)
draw_text_ol(view_xview[0]+1280-495,view_yview[0]+25,'HP',c_white,c_black,-1)
draw_sprite(health,1,view_xview[0]+1280-400,view_yview[0]+23)
draw_sprite_part(health,0,0,0,sprite_get_width(health)*global.HP[O]/global.mxHP[O],sprite_get_height(health),view_xview[0]+1280-400,view_yview[0]+23)
draw_text_ol(view_xview[0]+1280-495,view_yview[0]+5,global.Name[O],c_white,c_black,-1)

O=global.O2
}

Примерно так
Разберешься? или убрать лишнее?
(Draw_text_ol - особый срипт(в game maker(е) его нету) , действует как обычный тест , но обведенный)





Мой проект


Сообщение отредактировал Krosos - Четверг, 25 Июля 2013, 22:20
KrososДата: Четверг, 25 Июля 2013, 22:16 | Сообщение # 283 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Понятно.
Еще раз спасибо.

Добавлено (25.07.2013, 22:16)
---------------------------------------------
Еще вопрос:

if global.Phase4=1{
if mp_grid_path(global.Moving_mpgrid,path_combat_check,x,y,global.Sunit.x,global.Sunit.y,false)=true and path_get_number(path_combat_check)<=global.SP[global.O]
{show= true}}

Эта строка находится в ячейках и открывает их.
Проблема заключается в том , что если к объекту Sunit нету никаких путей(Заблокирован запретными зонами) , игра начинает лагать(Фпс падает в 2-5 раз)
Ну это не страшная проблема , но выглядит она некрасиво.
Что-нибудь можно тут сделать?Скрипт действует в степе. И закрывает все ячейки , которые не поддались некоторым условиям(Например этому)





Мой проект
KrososДата: Четверг, 25 Июля 2013, 15:00 | Сообщение # 284 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
lisiyrak, да




Мой проект
KrososДата: Четверг, 25 Июля 2013, 14:58 | Сообщение # 285 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Спасибо , а то у меня уже паника.
А с этим числом можно производить вычисления?
Например:прибавить друг к другу?





Мой проект


Сообщение отредактировал Krosos - Четверг, 25 Июля 2013, 14:58
KrososДата: Четверг, 25 Июля 2013, 14:51 | Сообщение # 286 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
lisiyrak,
Ничего не изменилось , все также.

if global.FadeIn=1{
draw_set_color(c_black)
draw_set_alpha=(0.5)
draw_rectangle(view_xview[0],view_yview[0],view_xview[0]+1280,view_yview[0]+1024,0)
Нажимаю альт(global.FadeIn=1) ,и экран полностью черный ,а не прозрачный.





Мой проект
KrososДата: Четверг, 25 Июля 2013, 12:42 | Сообщение # 287 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
draw_set_alpha=0.5
draw_rectangle(view_xview[0],view_yview[0],view_xview[0]+1280,view_yview[0]+1024,0)

Почему не рисует прозрачным?





Мой проект
KrososДата: Среда, 24 Июля 2013, 23:56 | Сообщение # 288 | Тема: Прозрачность объектов
постоянный участник
Сейчас нет на сайте
Не draw_sprite(sprite_index,0,view_xview[0]+390,view_yview[0]+580),а draw_sprite(sprite_index,0,x,y)

Дальше:
if image_alpha<=1 , чтобы шло до 1 ,а не до 0.99 .

Если наведешь мышкой , появятся тонны объектов , так что лучше использовать один , созданный заранее , чтобы он появлялся когда нужно.





Мой проект
KrososДата: Среда, 24 Июля 2013, 14:59 | Сообщение # 289 | Тема: Полезные скрипты
постоянный участник
Сейчас нет на сайте
Цитата (arkady)
Кому-то нравятся, кому-то не нравятся...


Код
if global.Phase1=0 and
global.Phase2=0{
if global.EnemyTurn=1{
draw_sprite(sprite_index,1,view_xview[0],view_yview[0])}else{draw_sprite(sprite_index,0,view_xview[0],view_yview[0])}
///HP
draw_text_ol(view_xview[0]+30,view_yview[0]+25,string(global.HP[O])+'/'+ string(global.mxHP[O]),c_white,c_black,-1)
if global.mxHP[O]=0 {global.mxHP[O]=1}
draw_text_ol(view_xview[0]+5,view_yview[0]+25,'HP',c_white,c_black,-1)
draw_sprite(health,1,view_xview[0]+100,view_yview[0]+23)
draw_sprite_part(health,0,0,0,sprite_get_width(health)*global.HP[O]/global.mxHP[O],sprite_get_height(health),view_xview[0]+100,view_yview[0]+23)

draw_text_ol(view_xview[0]+5,view_yview[0]+5,global.Name[O],c_white,c_black,-1)
draw_text_ol(view_xview[0]+260,view_yview[0]+5,'Class : '+string(global.Class[O]),c_white,c_black,-1)

//Mana
if global.Wizard=1{
draw_text_ol(view_xview[0]+30,view_yview[0]+45,string(global.MP[O])+'/'+ string(global.mxMP[O]),c_white,c_black,-1)
if global.mxMP[O]=0 {global.mxMP[O]=1}
draw_text_ol(view_xview[0]+5,view_yview[0]+45,'MP',c_white,c_black,-1)
draw_sprite(mana,1,view_xview[0]+100,view_yview[0]+43)
draw_sprite_part(mana,0,0,0,sprite_get_width(mana)*global.MP[O]/global.mxMP[O],sprite_get_height(mana),view_xview[0]+100,view_yview[0]+43)
}

draw_text_ol(view_xview[0]+5,view_yview[0]+65,'AT : '+string(global.AT[O]),c_white,c_black,-1)
draw_text_ol(view_xview[0]+5,view_yview[0]+80,' IN : '+string(global.IN[O]),c_white,c_black,-1)
draw_text_ol(view_xview[0]+85,view_yview[0]+65,'DF : '+string(global.DF[O]),c_white,c_black,-1)
draw_text_ol(view_xview[0]+85,view_yview[0]+80,'SP : '+string(global.SP[O]-1),c_white,c_black,-1)

draw_text_ol(view_xview[0]+445,view_yview[0]+5,'Lv : '+string(global.L[O]),c_white,c_black,-1)
draw_text_ol(view_xview[0]+400,view_yview[0]+80,'exp : '+string(global.Exp[O])+'/100',c_white,c_black,-1)
O=global.O
}


Это минимальный худ ,и тут ясно показано , что подобные строки намного удобнее.





Мой проект


Сообщение отредактировал Krosos - Среда, 24 Июля 2013, 14:59
KrososДата: Среда, 24 Июля 2013, 14:44 | Сообщение # 290 | Тема: Полезные скрипты
постоянный участник
Сейчас нет на сайте
Что-то ты намудрил .
Там были скрипты в списке , то есть достаточно было ввести строку:
Draw_oltext(х,у,цвет , доп цвет ,Шрифт(Моя модификация))
А не вводить такую кучу строк, как у тебя , над каждой записью.





Мой проект
KrososДата: Среда, 24 Июля 2013, 02:06 | Сообщение # 291 | Тема: Другой способ поиска ближайшего объекта
постоянный участник
Сейчас нет на сайте
USeR14, я так уже сделал , появляется новая проблема(Ох , когда они уже там закончатся)
Если все объекты за стеной , то враг просто стоит и постоянно пропускает ход , пока союзники не возьмут и не выйдут наружу.
И так можно гонять бедного врага от препятствия к препятствию.

Добавлено (24.07.2013, 02:06)
---------------------------------------------
Проблема решена! surprised

if global.Phase3=1 and instance_exists(AA){
while global.StopAA=0
{global.ATR+=1
with AA {
if mp_grid_path(global.Moving_mpgrid,AA_Path3,x,y,global.Sunit.x,global.Sunit.y,false)=true and path_get_number(AA_Path3)=global.ATR
{global.StopAA=1 break}}
}}
if global.StopAA=1 {
with AA{
if mp_grid_path(global.Moving_mpgrid,AA_Path,x,y,global.Sunit.x,global.Sunit.y,false)=true and path_get_number(AA_Path)>global.ATR+1
{instance_destroy()}}

И вуаля dry





Мой проект
KrososДата: Вторник, 23 Июля 2013, 23:01 | Сообщение # 292 | Тема: Цикл уроков по созданию RPG.
постоянный участник
Сейчас нет на сайте
CreatingOver, ну , мне это нужно , чтобы в моей рпг выскакивал лог битвы или диалог игры.
Я пока еще до этого момента не добрался сам.





Мой проект
KrososДата: Вторник, 23 Июля 2013, 18:45 | Сообщение # 293 | Тема: Цикл уроков по созданию RPG.
постоянный участник
Сейчас нет на сайте
Ну это довольно неплохо.
CreatingOver, хотелось бы узнать , как делается набирающийся текст.





Мой проект
KrososДата: Вторник, 23 Июля 2013, 00:26 | Сообщение # 294 | Тема: Другой способ поиска ближайшего объекта
постоянный участник
Сейчас нет на сайте
yarickyarick, суть заключается в том , что нужно удалить объекты АА которые находятся очень далеко по достижению , но очень близко по дистанции.
Как показано на скрине , все точки АА должны удалиться кроме той ближней, что находится под врагом.

Добавлено (23.07.2013, 00:26)
---------------------------------------------
АА ,указанный зеленой полоской - это самая ближняя точка по мнению ИИ , а она наоборот самая дальняя.





Мой проект


Сообщение отредактировал Krosos - Вторник, 23 Июля 2013, 00:29
KrososДата: Вторник, 23 Июля 2013, 00:11 | Сообщение # 295 | Тема: Другой способ поиска ближайшего объекта
постоянный участник
Сейчас нет на сайте
Долго я думал , почему ИИ так тупит , и пришел к следующему выводу: (Это последняя проблема связанная с передвижением ИИ)
Объект ищет ближайшую точку АА , которые создают объекты союзников для только , чтобы враги-воины шли на эти точки и атаковали врага.
Точка находится за препятствием и она самая дальняя , а враг считает наоборот , что она сама ближняя , когда самая ближняя точка это та, которая ниже , но моему ИИ пофиг и он начинает движение типа 1 когда нужно движение типа 4.
Тип 1 - движение через точку М(Движение мимо всех к объекту за стеной), объект всегда будет стремиться к тому объекту , который стоит за стеной , а не к тому , который в его зоне досягаемости , но чуть дальше.
Тип 4 - движение к точке АА с последующей атакой.

Вся суть заключается в поиске ближайшей точки АА.
Я использовал instance_nearest(x,y,AA)
Есть ли другой способ?
Или другой вариант(Наиболее трудный)

if mp_grid_path(global.Moving_mpgrid,AA_Path2,x,y,global.Sunit.x,global.Sunit.y,false)=false {instance_destroy()}

if global.DeleteAA=1 and
mp_grid_path(global.Moving_mpgrid,AA_Path3,x,y,global.Sunit.x,global.Sunit.y,false)=true
and path_get_number(AA_Path3)>global.RangePath2 {instance_destroy()}

Эти 2 скрипта удаляют:
1)Недосягаемую точку
2)Точку которая недосягаема для некоего ранга (Все левые и ненужные точки) , но если объект за стеной , то он ни фига не удаляет.
Я не знаю , пока как реализовать этот способ:
Проверять дальность пути
if mp_grid_path(global.Moving_mpgrid,AA_Path3,x,y,global.Sunit.x,global.Sunit.y,false)=true
and path_get_number(AA_Path3)=Число Х, которое постоянно увеличивается {И когда такой путь становится возможным , счет останавливается и удаляет точки которые не досягаемы для некоего числа Х}






Мой проект


Сообщение отредактировал Krosos - Вторник, 23 Июля 2013, 00:12
KrososДата: Понедельник, 22 Июля 2013, 23:50 | Сообщение # 296 | Тема: Создание объектов
постоянный участник
Сейчас нет на сайте
USeR14, да , я тоже думаю это наиболее нормальный способ.
Скрипт будет - если поинт дистейшен до объекта Сунит(ид) меньше 64*7 то создать ячейку и присвоить ее себе иначе удалить присвоенную ячейку.





Мой проект
KrososДата: Понедельник, 22 Июля 2013, 23:43 | Сообщение # 297 | Тема: Создание объектов
постоянный участник
Сейчас нет на сайте
USeR14, я пробовал отключать лишнее , потом стали проявляться дальние объекты.
Лучше создавать ячейки.
1)Это экономит память
2)Это экономит время
3)ИИ будет легче управлять.

Я также использую функцию with all
Посылает сигнал всем объектам комнаты , но всем объектам пофиг , а вот ячейка этот сигнал на себя принимает.





Мой проект


Сообщение отредактировал Krosos - Понедельник, 22 Июля 2013, 23:45
KrososДата: Понедельник, 22 Июля 2013, 23:30 | Сообщение # 298 | Тема: Создание объектов
постоянный участник
Сейчас нет на сайте
mp_grid?
2 способ=)
На каждой точке пути создается объект , но все равно надо сделать 30 строк.





Мой проект
KrososДата: Понедельник, 22 Июля 2013, 23:20 | Сообщение # 299 | Тема: Создание объектов
постоянный участник
Сейчас нет на сайте
USeR14, это один объект в 200 экземплярах.




Мой проект
KrososДата: Понедельник, 22 Июля 2013, 17:33 | Сообщение # 300 | Тема: Создание объектов
постоянный участник
Сейчас нет на сайте
Долгое время вожусь со своим проектом и постоянно увеличиваю скрипт у ячеек , которых там примерно 200 штук , а должно быть 400 и больше.
И вот чем больше скрипт , тем больше лагов , а когда я введу проверку ячеек на суммы переменных , то комп наверное вообще взорвется.
Так вот есть решение проблемы:
Создавать ячейки!

Но как это сделать?
1)Можно заполнять емкость введя 15х15\2 строчек (112), при условии , что максимальная дальность шага будет 7.
2)Способ , создать только крайние точки (30 штук) и заполнить емкость при помощи путей , и не факт , что все нормально выйдет (Я пробовал- не очень вышло)
3)Можно создать особые точки-создатели ячеек , и когда они в радиусе , то ячейки создаются иначе удаляются.

Есть ли более нормальный способ?





Мой проект
Поиск:

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