image_single заменит image_index=1; image_speed=0 аТнОтХоАн, не вешай лапшу на уши - на производительности не скажется , просто одна лишняя строка в коде
в 8 версии GM этого оператора официально нет , но он работает (он просто был в GM6 или в GM7)
Zizilk, Бивни не EVE - никто не будит с дизасемблером сидеть , так что обычная защита от декомпиляции 100% гарантия успеха столкновения всё равно придётся в клиенте реализовывать
я вот тоже подумываю над игрой типа цивилизации на GM с виду просто но когда в игре больше 1000 спрайтов всю голову сломаеш как оптимизированно из загружать из внешних папок
Monolit, если хочеш продолжать делать глобальную стратегию именно на GM изучай дата структуры сетки тебе помогут для карты : сетка для местности , сетка для месторождений и тп
Vasenkov, это пример как избавиться от взлома типа артмани , все важные действия (деньги , статы и тп должны вычисляться на стороне сервера) это самый надёжный способ но если это необходимо сделать в клиенте - то подругому никак
ERROR in action number 2 of Other Event: User Defined 0 for object v_voin:
Error in code at line 1235:
if ((position_meeting(x+16,y+16,o_cu_rudnik)) or (position_meeting(x+16,y+16,o_fe_rudnik)) or (position_meeting(x+16,y+16,o_al_rudnik))or (position_meeting(x+16,y+16,o_ugol_rudnik)) or (position_meeting(x+16,y+16,o_zoloto_rudnik)) or (position_meeting(x+16,y+16,o_serebro_rudnik)) or (position_meeting(x+16,y+16,o_drag_rudnik)) or (position_meeting(x+16,y+16,o_uran_rudnik)) or (position_meeting(x+16,y+16,o_ferma_pshenica)) or (position_meeting(x+16,y+16,o_ferma_ris)) or (position_meeting(x+16,y+16,o_ferma_kukuruza)) or (position_meeting(x+16,y+16,o_ferma_svini)) or (position_meeting(x+16,y+16,o_ferma_loshadi)) or (position_meeting(x+16,y+16,o_ferma_korovy)) or (position_meeting(x+16,y+16,o_ferma_ovcy)) or (position_meeting(x+16,y+16,o_lager_bobry)) or (position_meeting(x+16,y+16,o_lager_oleni)) or (position_meeting(x+16,y+16,o_lager_slony)) or (position_meeting(x+16,y+16,o_lager_travy)) or (position_meeting(x+16,y+16,o_skvaz_gaz)) or (position_meeting(x+16,y+16,o_skvaz_neft)) or (position_meeting(x+16,y+16,o_kamenolomnya)) or (position_meeting(x+16,y+16,o_vinodelnya)) or (position_meeting(x+16,y+16,o_plant_ladan)) or (position_meeting(x+16,y+16,o_plant_banany)) or (position_meeting(x+16,y+16,o_plant_hlopok)) or (position_meeting(x+16,y+16,o_plant_specii)) or (position_meeting(x+16,y+16,o_plant_sahar)) or (position_meeting(x+16,y+16,o_plant_shelk)) or (position_meeting(x+16,y+16,o_plant_kofe)) or (position_meeting(x+16,y+16,o_plant_tea)) or (position_meeting(x+16,y+16,o_doroga)))and (instance_position(x+32,y+32,susha).yes=true) ^ at position 1543: Unknown variable yes
Да защищать не очень сложно , но идеальной защиты нет всёравно : Dll защита внешних ресурсов есть и другие .... Защита от декомпиляции Exe есть на офф сайте YoYo (там разные для 7 и 8 версии) от Артмани для Game Maker тоже есть Dll но она платная , но важные данные можно и без всяких длл зашифровать - делай две переменные например "деньги" (значение без изменений) и "деньги+" (зашифрованое значение) .
Например игрок получил 10 монет , в "деньги" пишем 10 а в "деньги+" 10+1 = 11 игрок артмани будит искать парамерт 10 и изменит его на милион , но это не страшно . Дальше например игрок потратил 1 монету , но прежде чем изменить данные в "деньги" и"деньги+" надо их проверить НА РАВЕНСТВО если "деньги" = "деньги+" -1 то всё нормально а если неравно то игрока в тюрьму (пожизнено)
zxc76, то чо сделали работающую демку ММО на GM - молодцы , но тест на то и тест чтоб выявлять все баги и дыры Если из проекта выйдит полноценная игра то её будут декомпилировать , использовать "артмани" или просто перехватывать ТСP пакеты которые тут даже не зашифрованы. Согласись , телепортация игрока в любое самое секретное место игры игрока , или клонирование любых вещей в любых количествах - это очень критично. Ну так я и писал как посмотреть исходник , чтоб народ нашёл побольше критичных багов.
Код впринципе "быдлокодом" не назовёшь для GM нормально , всё равно очень рыхлый . Зачем столько объектов ботов ? Хватит одного в котором меняется спрайт , параметры и передвижение. Аналогично с NPC , твёрдыми объектами, фонами.
Выведи из клиента графику во внешние папки . А ещё лучше сделай загрузку объектов в комнате из внешнего бинарного файла , тогда если и получат исходник то не смогут понаставить телепортов , удалить невидимые преграды и т п Внешние ресурсы нужно будит потом зашифровать
В общем , там работы немерено - не бросайте проект , развивайте его . Желаю удачи
doxl это не паинт , клиент декомпилируется и расставляются телепорты , НРС , ланшафт по желанию клинта ! При этом сам клиент прыгает по своим телепотам а ОСТАЛЬНЫЕ ИГРОКИ этот телепорт невидят
2) Спрайты лучше из внешних папок грузить 3)В каждом шаге лучше не посылать данные серверу 4)Если вещь дропается то коры её должны быть и в сервере - при подбирании болжна быть проверка сервера что игрок рядом с координатами вещи Я поставил // перед удаление предмета при подбирании в рюкзак и стал их клонировать ! за 10 секунд заработал 1000 монет... это чит и игроки легко воспользуются им
тут на форуме каждый второй основатель "студии рога и копыта" , с грандиозными планами , а на деле кроме брошенных проектов ничего не родившие ... Удачи вам
Я основатель корпорации Майкрософт . Билл ты не оправдал моих надежд , твой шанс ушел раз и навсегда! Нужны программисты для Windows8 которая не будит содержать ни одной дыни ни глюка ....