XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Барахолка
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Отдам свою карту
Отдам свою карту 7 BladeMasters
Я исправил пару критических багов, из за которых карту было пройти уж слишком легко, извините ошибся

Для компиляции необходим JNGP!

1) Готовы 45 волн из 50 запланированных
2) Готовы 7 героев из 7.
3) Предметы сделаны тяп ляп, чтобы были, тк, не хватило идей и времиент сделать что то стоящее.
4) В крате использованы сторонние библиотеки а так же много импорта с разных сайтов не только XGM
5) Триггерные скиллы героев, изначально не предназнаяались для импорта в другие карты. (//если что то нужно пишите тут, сделаю//)

позже я выложу переделанный код скиллов пригодных для импорта...

Если есть желающие продолжить карту, старайтесь, но не забудьте спросить меня

Вот переделанные скиллы

версия на простом jass, код немного далек от оригинала, ввиду использования библиотек, но работает точно так же
» Код скилла_Tорнадо
((код jass
============================================================
способность Tорнадо (tornado)
автор quq_CCCP, сделано для XGM.RU
версия на обычном jass, JNGP нетребуется
============================================================
Настройки
Требуются глобальные переменные со следующими именами:
unit udg_TempUnit (создается в меню переменные (Ctr+b), пишите просто TempUnit, приставку udg_ ставит сам редактор)
real udg_TempReal (аналогично, создайте эту премеменную)
hashtable udg_hash, хаштаблица, они должна быть инициализирована, те. в триггере инициализация вставьте эту строчку в Custom Script
set udg_hash = InitHashtable() <=== вот эту! стрелку копировать ненужно
============================================================
Теперь остальное
function GetTornadoAbilityId takes nothing returns integer
return 'A01W' тут равкод скилла торнадо, меняем на свой...
endfunction
function GetDummyId takes nothing returns integer
return 'hdum' равкод даммика в виде торнадо...
endfunction
function GetDamageCount takes unit caster, integer id returns real
return 60.00 * GetUnitAbilityLevel( caster, id ) + GetHeroAgi( caster, true ) * ( 0.50 * GetUnitAbilityLevel( caster, id ) )// формула рассчёта урона от торнадо
endfunction
вспомогательные функции
function GetTornadoRadius takes unit caster returns real
return 200.00 GetUnitAbilityLevel( caster, GetTornadoAbilityId ) * 50.00 + 100
endfunction
function abp takes real xa, real xb, real ya, real yb returns real
return 57.295827 * Atan2( yb - ya, xb - xa )
endfunction
function DistanceBewenUnits takes unit FirstUnit, unit SecondUnit returns real
local real dx = GetUnitX( SecondUnit ) - GetUnitX( FirstUnit )
local real dy = GetUnitY( SecondUnit ) - GetUnitY( FirstUnit )
return SquareRoot( dx * dx + dy * dy )
endfunction
function GetEnemyGroundAlive takes nothing returns boolean фильт юнитов, можно немного поменять...
return GetUnitState( GetFilterUnit( ), UNIT_STATE_LIFE ) > 0.00 and IsUnitEnemy( GetFilterUnit( ), bj_groupEnumOwningPlayer ) and IsUnitType( GetFilterUnit( ), UNIT_TYPE_ATTACKS_GROUND ) and GetUnitAbilityLevel( GetFilterUnit( ), 'Basl' ) == 0
endfunction
далее код лучше не трогать...
function Trig_Tornado_Conditions takes nothing returns boolean
return GetSpellAbilityId( ) == GetTornadoAbilityId( )
endfunction
function RemoveBackStabBuff takes nothing returns nothing
local timer t = GetExpiredTimer( )
call UnitRemoveAbility( LoadUnitHandle( udg_hash, GetHandleId( t ), 0 ), 'Aasl' )
call UnitRemoveAbility( LoadUnitHandle( udg_hash, GetHandleId( t ), 0 ), 'Basl' )
call FlushChildHashtable( udg_hash, GetHandleId( t ) )
call DestroyTimer( t )
set t = null
endfunction
function Wind_Damage_Enemy takes nothing returns nothing
local timer t = CreateTimer( )
local unit enemy = GetEnumUnit( )
if DistanceBewenUnits > GetTornadoRadius( udg_TempUnit ) / 2.00 then половинный урон
call UnitDamageTarget( udg_TempUnit, enemy, udg_TempReal / 2.00, false, false, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_METAL_HEAVY_SLICE )
else полный урон
call UnitDamageTarget( udg_TempUnit, enemy, udg_TempReal, false, false, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_METAL_HEAVY_SLICE )
endif

call UnitAddAbility( enemy, 'Aasl' )
call UnitAddAbility( enemy, 'Basl' )
call SaveUnitHandle( udg_hash, GetHandleId( t ), 0, enemy )
call TimerStart( t, 2.00, false, function RemoveBackStabBuff )
set t = null
endfunction
function Timer_Tornado_Move takes nothing returns nothing
local timer t = GetExpiredTimer( )
local integer HashId = GetHandleId( t )
local unit caster = LoadUnitHandle( udg_hash, HashId, 0 )
local unit dummy = LoadUnitHandle( udg_hash, HashId, 1 )
local real angle = LoadReal( udg_hash, HashId, 2 )
local integer range = LoadInteger( udg_hash, HashId, 3 )
local real DX = GetUnitX( dummy ) + 30.00 * Cos( angle * bj_DEGTORAD )
local real DY = GetUnitY( dummy ) + 30.00 * Sin( angle * bj_DEGTORAD )
local group grp
if range >= 30 then
call KillUnit( dummy )
call PauseTimer( t )
call DestroyTimer( t )
call FlushChildHashtable( udg_hash, HashId )
else
call SetUnitPosition( dummy, DX, DY )
set grp = CreateGroup( )
set bj_groupEnumOwningPlayer = GetOwningPlayer( caster )
call GroupEnumUnitsInRange( grp, DX, DY, GetTornadoRadius( caster ), Condition( function GetEnemyGroundAlive ) )
set udg_TempUnit = caster
set udg_TempReal = GetDamageCount( caster, GetTornadoAbilityId( ) )
call ForGroup( grp, function Wind_Damage_Enemy )
call DestroyGroup( grp )
call SaveInteger( udg_hash, HashId, 3, range + 1 )
endif
set caster = null
set dummy = null
set grp = null
set t = null
endfunction
function Trig_Tornado_Actions takes nothing returns nothing
local unit caster = GetSpellAbilityUnit( )
local real CastX = GetSpellTargetX( )
local real CastY = GetSpellTargetY( )
local real angle = abp( GetUnitX( caster ), CastX, GetUnitY( caster ), CastY )
local unit dummy = CreateUnit( GetOwningPlayer( caster ), GetDummtId( ), GetUnitX( caster ), GetUnitY( caster ), 0.00 )
local timer t = CreateTimer( )
local integer HashId = GetHandleId( t )

call SaveUnitHandle( udg_hash, HashId, 0, caster )
call SaveUnitHandle( udg_hash, HashId, 1, dummy )
call SaveReal( udg_hash, HashId, 2, angle )
call SaveInteger( udg_hash, HashId, 3, 0 )

call TimerStart( t, 0.04, true, function Timer_Tornado_Move )

set caster = null
set dummy = null
set t = null


endfunction
===========================================================================
function InitTrig_Tornado takes nothing returns nothing
local integer nPlayerIndex = 0
set gg_trg_Tornado = CreateTrigger( )
loop
exitwhen nPlayerIndex > bj_MAX_PLAYERS
call TriggerRegisterPlayerUnitEvent( gg_trg_Tornado, Player( nPlayerIndex ), EVENT_PLAYER_UNIT_SPELL_EFFECT, null )
set nPlayerIndex = nPlayerIndex + 1
endloop
call TriggerAddCondition( gg_trg_Tornado, Condition( function Trig_Tornado_Conditions ) )
call TriggerAddAction( gg_trg_Tornado, function Trig_Tornado_Actions )
endfunction
))
Прикрепленные файлы
Тип файла: w3x 7Blademasters.w3x (1.82 Мбайт, 168 просмотров )

Отредактировано quq_CCCP, 11.09.2012 в 08:47.
Старый 06.09.2012, 08:40
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
quq_CCCP, странно не критики не оценок, ни одного вопроса, как будто всё идеально)
Старый 07.09.2012, 09:28
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
Нет, как будто всем пофиг =)
Старый 07.09.2012, 11:57
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Faion, ну в принципе я не рассчитывал на бешеную популярность но уже 7 скачали и не каких вопросов... Странно, думал начнут поливать за все...
Старый 07.09.2012, 12:15
просто Юрок
...
offline
Опыт: 11,271
Активность:
quq_CCCP, качественно сделаная карта, что тут ещё добавить? Скиллы классные (видел что-то вроде omnislash), как наработка очень полезно.
Старый 07.09.2012, 12:26
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
quq_CCCP:
но уже 7 скачали
Один из скачавших ты, по этому предоставим тебе право первым полить этот проект сам знаешь чем :nate:
Старый 07.09.2012, 12:27
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Faion, ну не надо на меня тут гнать я всегда проверяю чтобы все скачивалось и работало...
Старый 07.09.2012, 13:12
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
quq_CCCP:
Faion, ну не надо на меня тут гнать я всегда проверяю чтобы все скачивалось и работало...
Я всего лишь подтролливаю :)
Старый 07.09.2012, 13:55
Aws

offline
Опыт: 58,854
Активность:
quq_CCCP, А какой процент готовности у этого проекта? И вы все сейчас отдаёте проекты, потому что идей или времени нету? У нас вроде есть проект на сайте по возрождению и продолжению проектов - можешь туда обратиться. В карту эту играл, она ещё вроде похожа на карту "300 спартанцев".
Старый 07.09.2012, 14:48
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Aws, все 90%
Волны 45 из 50 запланированных.
Герой 7 из 7, полностью готовы.
Предметы не закончены, не совсем сбалансированы все уровни сложности...
quq_CCCP добавил:
Aws, кто-нить хоть до 20 волны на харде дошёл?
(в карте нужен новый ланд для продолжения, ибо этот тесноват, и новые арты)
quq_CCCP добавил:
Идей действительно кончились...
Старый 07.09.2012, 15:30
Aws

offline
Опыт: 58,854
Активность:
quq_CCCP, Я вроде до 15-й на харде доходил, но точно не помню, так как играл давно(по-моему карте около 2-х лет или больше). Ланд в принципе и арты можно сделать, но вся проблема в реализации идей. Я бы помог, но и так уже 12 проектов у меня, а другие пользователи скорее всего тоже не возьмутся, так как практически у каждого 2-го пользователя на сайте есть собственный проект, ну или попробуй обратиться сюда: xgm.ru/p/revival .
Старый 07.09.2012, 15:41
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Aws, моей 3 месяца, я делал её с нуля, вдохнвляясь другой картой 2004 года....
Что тебе мешает посмотреть мою карту?
Старый 07.09.2012, 15:51
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
Противники в астральной форме получать утроенный урон
Насчет ланда нече особого не увидел, учитывая что карта маленькая тут и смотреть не на что.))
По поводу карты... видно что автор старался, но не продумал до конца стиль игры.
Моя оценка 6/10
Старый 07.09.2012, 17:56
Aws

offline
Опыт: 58,854
Активность:
quq_CCCP, А...Я про другую думал. Ну ремейк неплохой, но почему-то мне кажется, что в той старой версии 2004 года было интереснее(это как сравнивать современные игры с ретро-играми: графика крутая, но не интересно). Тут действительно лучше расширить карту и хотя бы добавить отображение номера волны, а также исправить баги с уровнями героев. Не хотел смотреть так как не хотел брать. После просмотра вообще думать об этом не хочется.
Cosonic5, Тут не оценку ставят, а берут карту себе, чтобы довести её до совершенства.
Старый 07.09.2012, 17:59
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Cosonic5, я ей просто не закончил, по поводу астрала, есть волны которые так уворачиваются от физ атак.... этот герой просто необходим чтобы быстро выносить боссов...
Я конешно не все идеально сбалансировал, и вероятно допустил кучу багов, карта тестировалась не очень обширно,я играл в основном с друзьями не более 4 человек, и балансировал приблизительно, поскольку в 7 игроков от начала до конца в эту карту еще некто не играл...
Я хотел есще сделать выбор героев через DGUI интерфейс, и переделать часть скиллов, но увы идеи кончились а так же данный ланд стал тесноват, чем переделывать карту проще создать уж новую..
Ну если кто то хочет сделать пробуйте, тока мне сообщите, и плз не теяп ляп чтобы потом меня не материли...
quq_CCCP добавил:
Aws, кстати про отбражение номара волны, есть там сообщенеи про волну...
Так если что
в карте есть куча комманд:
-next - показывает номер и описание следующей волны.
-timeout устанавливает задержку межу волнами, макс 140 сек, мин 1 сек.
-swap (слот, нумерация с 1 как у всех нормальных людей) обмен героями... как в доте, тока круче, без тупости...
-clear (-c) очищает экран от сообщений
-Tips off (on) включает или выключает подсказки.
для бетатеста
-gold (-g) добовляет 1000 000 золота игроку.
-respawn воскрешает вашего героя если он погиб
-level (-lvl) повышает уровень выбранного вами героя до максимума.
-Kick (cлот) кикает указанного игрока
-wave (номер) устанавливает номер текущей волны...
Моды
-random (-r) вы получите случаного героя
-dup (-d) можно выбирать одинаковых героев
Старый 07.09.2012, 18:12
DimanTOoBS

offline
Опыт: 5,791
Активность:
итак начнёмс:
играл один на харде за мастера клинка (такто по идее должны быть все 7 мастеры клинка, но нет же!!!), продержался 46 минут с 1 раза, хз какая волна там же не пишется..., в начале пока смотрел что есть в магазинах огребал потом купил имба щит который 5 или 10 волн не давал им пробить меня вообще отожрал шмот получше лайфстил и бф это уже не убить вообще, сдох от какойто баженой херни в портале потому что застрял за ним))) ещё шлем сатаны адская имба и ещё думаю там есть баг который хилил в конце игры всех мобов))) вообще ждал тех тех старых блейдмастеров... кароче не знаю что там было бы на легком уровне если на тяжёлом 5 или 6 босс раскладывался за 5 сек.
в общем бальшой минус
а вот ещё если интересно реплей
Прикрепленные файлы
Тип файла: w3g imbalanced 7bm.w3g (200.6 Кбайт, 14 просмотров )
Старый 07.09.2012, 18:14
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
DimanTOoBS, первые босы слабоваты, босс каждую 5 волну, ну а если 25 вейв убил, это слабовато, пробуй добратся хоть до 40
quq_CCCP добавил:
про мастеров клинка, так то они именно делятся по категориям, кто какими силами наделён, хаос, свет, тьма, огонь, ветер, земля, молния...
С другом прошли до конца на харде, это реально... ну то что не все сбалансировано я писал, что предметы нужны другие тоже, это не готовая на 100% карта, так что минусить за написанные минусы карты это что то новое...
quq_CCCP добавил:
Кстати нашёл баг, с адским криком, щяс поправлю...
Старый 07.09.2012, 18:40
DimanTOoBS

offline
Опыт: 5,791
Активность:
quq_CCCP, когда прочитал названия юнитов наркоманка и крутой урод почти упал под стол xDDD как такие названия для юнитов вообще можно было придумать, а ты спецом поставил какуюто статую во врата демонов которая сносит по 100к урона???
это не готовая на 100% карта, так что минусить за написанные минусы карты это что то новое...
люди плюсуют за 10% готовности, так почему я не могу минуснуть за 90% готовый баганый проект???
Старый 07.09.2012, 18:43
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
DimanTOoBS, я написал за это, а про дамми юнита который не даёт залезть в непроходимое место, ну я решил так решить проблему с ходящими по лаве и по порталу, ну признаю не лучшая идея...
Делал для друзей, и давал названия для смеха, крату сделал примерно за 3 месяца, не знаю смог бы ты сделать лучше?
quq_CCCP добавил:
DimanTOoBS, там есть еще и голимый урод, говённый голем и много чего интересного...
Старый 07.09.2012, 18:49
DimanTOoBS

offline
Опыт: 5,791
Активность:
quq_CCCP, ну я просто ждал старых бмов думал ты тех делал старых)) да багов канешь жесть как много
на счёт смог бы сделать лучше вот карта которую я делал около 1 месяца без всяких импортированных библиотек и наработок, всё с нуля
Прикрепленные файлы
Тип файла: w3x TrollGladiators0.43.Demo.w3x (231.1 Кбайт, 20 просмотров )
Старый 07.09.2012, 18:54
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 10:42.