SID69
DET
offline
Опыт:
19,693Активность: |
Vadik29, Лол, сам не шарит. Если ты не понял, это был стеб, я в курсе, что такое оптимизация "~Arti, А не то что ты скинул". |
18.08.2012, 00:59 | #21
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DualShock
offline
Опыт:
5,023Активность: |
Время закидывать автора какашками! :)
|
18.08.2012, 01:34 | #22
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
beril
Доктор ЗЛО!!!
offline
Опыт:
3,204Активность: |
Ух пасибо мне такое надо ,вот бы еще монстры возрождались в зависимости от левела героя .И оописания побольше в функциях Больше комментов однозначно на каждую строку!!! Легче наверно триггерами респаун сделать.не каждый сможет настроить эту систнему |
18.08.2012, 03:39 | #23
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadik29
Choice Battle 1.6а
offline
Опыт:
15,845Активность: |
DualShock,
Это потому что у героя есть суммон и когда он добивает, непонятно от какого коэффециэнта давать опыт, элементарно исправляется триггерным призывом и сохранением на его хэндл его владельца. Опять же относиться к первой фитче. Могу исправить, но я не видел карты где динамично создаются нейтралы... Написал же, что делал для себя и просто выложил сюда мб. кому-то пригодиться, могу помочь настроить эту систему любому. Да и удобную настройку можно сделать на vJass, но вся суть в обычном WE
Спасибо кэп. Vadik29 добавил: MMIceStar, Возможно. Отредактировано Vadik29, 18.08.2012 в 09:10. |
18.08.2012, 08:53 | #24
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
93,279Активность: |
Bornikkeny, мы стараемся конечно для себя, но и о других не забываем, так что не тебе на нас срать.
Обрати внимание на число закачек ссылка А потом суди только для себя мы это сделали или для кого то еще, ок? quq_CCCP добавил: Vadik29, теперь у людей будет альтернатива что же им качать, мою или твою наработки... |
18.08.2012, 08:57 | #25
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadik29
Choice Battle 1.6а
offline
Опыт:
15,845Активность: |
beril,
В смысле? |
18.08.2012, 09:05 | #26
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
93,279Активность: |
|
18.08.2012, 09:08 | #27
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadik29
Choice Battle 1.6а
offline
Опыт:
15,845Активность: |
quq_CCCP, Ну это вообще элементарно.
Vadik29 добавил: Что я хочу добавить:
Отредактировано Vadik29, 18.08.2012 в 14:17. |
18.08.2012, 09:14 | #28
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
93,279Активность: |
Vadik29, с текстагом могу помочь, у меня как раз есть в моей система текстаг настроенный как оригинальный, при критах, или награде за убийство...
2 функции и хештаблица, а атак же советую посмотреть вот это чтобы не парится с цветами quq_CCCP добавил:
» Texttag Alpha
Вот система тегсттагов на обычном jass
((код jass
function TextTagAlpha takes nothing returns nothing
local timer t = GetExpiredTimer( ) local integer h = GetHandleId( t ) local texttag tt = LoadTextTagHandle( bj_lastCreatedHashtable, h, 0 ) local integer Alpha = LoadInteger( bj_lastCreatedHashtable, h, 1 ) if ( Alpha >= 255 ) then call PauseTimer( t ) call FlushChildHashtable( bj_lastCreatedHashtable, h ) call DestroyTextTag( tt ) call DestroyTimer( t ) else set Alpha = Alpha + 3 if Alpha > 255 then set Alpha = 255 endif call SetTextTagColor( tt, 255, 255, 255, 255 - Alpha ) call SaveInteger( bj_lastCreatedHashtable, h, 1, Alpha ) endif set t = null set tt = null endfunction function FloatingTextFadeout takes player pl, unit fp_uUnit, string st returns nothing local texttag tt = CreateTextTag( ) local timer t = CreateTimer( ) call SetTextTagText( tt, st, 0.023 ) call SetTextTagPos( tt, GetUnitX( fp_uUnit ), GetUnitY( fp_uUnit ), 60.00 ) call SetTextTagVelocity( tt, 0.00, 0.035 ) call SetTextTagColor( tt, 0, 0, 0, 255 ) call SetTextTagPermanent( tt, false ) if ( GetLocalPlayer( ) == pl and pl != Player( 12 ) ) then call SetTextTagVisibility( tt, true ) elseif ( pl == Player( 12 ) ) then call SetTextTagVisibility( tt, true ) endif call SaveTextTagHandle( bj_lastCreatedHashtable, GetHandleId( t ), 0, tt ) call SaveInteger( bj_lastCreatedHashtable, GetHandleId( t ), 1, 7 ) call TimerStart( t, 0.05, true, function TextTagAlpha ) set t = null set tt = null endfunction )) юзаеш function FloatingTextFadeout takes player pl, unit fp_uUnit, string st returns nothing где pl это игрок для кого виден текст, fp_uUnit над кем виден текст, ну и строчка сам текст... |
18.08.2012, 09:23 | #29
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadik29
Choice Battle 1.6а
offline
Опыт:
15,845Активность: |
quq_CCCP, спасибо, но у меня в карте есть 12 перменных со своим цветом, их юзать проще.
Vadik29 добавил:
В данном событии нету утечек? Просто когда я обнуляю переменную rectRegion и ремуваю ее событие не срабатывает.
|
18.08.2012, 11:13 | #30
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NIKZ
Изучаю Jass
offline
Опыт:
6,036Активность: |
А зачем такой велосипед? По моему стандартное получение лучше. Или оно зависает и лагает? Кстати можно было возрожденние на гуи в 2 триггера сделать и в плюс читабельно все. Код нечитабельный. Куча локалок лишних. Ну вобщем новый вело вело =) |
19.08.2012, 19:41 | #31
+1/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadik29
Choice Battle 1.6а
offline
Опыт:
15,845Активность: |
NIKZ,
Нет, 1) Есть текстаг 2) Дроп 3) Распределение а для тебя что-то ничего не хочется сделать. Нужно на гуи - сделай. (c) Doc, Что я могу сделать? Например? Локалка есть, если функция вызывается минимум 2 раза и я за этим следил. В последнее время кэпов прям развелось. На моем калькуляторе не лагает + маленькое подвисание может быть только при дропое с босса, но это потому что он циклом ищет 1 предмет из 500, как бы добавить предметов 40 и все будет ок. От себя: данная система хорошо подойдет для рпг система т.к. в ней фактически есть все необходимое для прокачки на нейтралах. Отредактировано Vadik29, 19.08.2012 в 23:18. |
19.08.2012, 23:09 | #32
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
93,279Активность: |
Vadik29, юзай вот эту прогу...
И старайся использовать понятные имена функций и и переменных и расставлять комментарии, это в разы повысит популярность сей системы...
» пример кода
((код jass
function Trig_Wind_Strike_Conditions takes nothing returns boolean
return GetRandomInt( 0, 100 ) <= 20 and GetUnitAbilityLevel( GetAttacker( ), 'A02B' ) > 0 проверка шанса и наличия способности 'A02B' у нападающего юнита.. endfunction function Trig_EnemySlashed_Conditions takes nothing returns boolean
return GetEventDamageSource( ) == LoadUnitHandle( udg_hash, GetHandleId( GetTriggeringTrigger( ) ), 0 ) and GetUnitAbilityLevel( GetTriggerUnit( ), 'B00B' ) > 0 or GetUnitAbilityLevel( GetTriggerUnit( ), 'B00C' ) > 0 проверка получения удара по баффу endfunction function Group_Wind_Strike_Actions takes nothing returns nothing наносит урон по группе противников...
local unit enemy = GetEnumUnit( ) if IsUnitType( enemy, UNIT_TYPE_GIANT ) or GetUnitLevel(enemy)>15 then call UnitDamageTarget( udg_TempUnit, enemy, udg_TempReal / 1.65, true, false, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_METAL_HEAVY_SLICE ) call FloatingTextFadeout( GetOwningPlayer( udg_TempUnit ), enemy, GetColoredString( 0, "-" + I2S( R2I( udg_TempReal / 1.75 ) ) +"!" ) ) else call UnitDamageTarget( udg_TempUnit, enemy, udg_TempReal, true,false, ATTACK_TYPE_HERO, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_METAL_HEAVY_SLICE ) endif if GetUnitAbilityLevel(udg_TempUnit,'BUav') > 0 or GetUnitAbilityLevel( udg_TempUnit, 'Blpv' ) > 0 then call SetUnitState(udg_TempUnit,UNIT_STATE_LIFE, GetUnitState(udg_TempUnit,UNIT_STATE_LIFE) + udg_TempReal*0.25) endif call AddSpecialEffectTargetToTimed( "Abilities\\Spells\\Other\\Stampede\\StampedeMissileDeath.mdl", enemy, "chest", 2.00 ) set enemy = null endfunction function Trig_Wind_Strike_Slash takes nothing returns nothing
сектор обьявления локальных переменных local unit WindMaster = GetEventDamageSource( ) local unit Enemy = GetTriggerUnit( ) local real Damage = 0.33 * GetUnitAbilityLevel( WindMaster, 'A02B' ) local trigger trg = GetTriggeringTrigger( ) local group grp = CreateGroup( ) call DisableTrigger( trg ) удаляем вспогогательные способности и баффы call UnitRemoveAbility( Enemy, 'B00B' ) удаляем бафф N 1 с цели call UnitRemoveAbility( Enemy, 'B00C' ) удаляем бафф № 2 с цели call UnitRemoveAbility( WindMaster, 'A00B' ) удаляем спеллбук у атаковавшего, там + скорости атаки и яд сектор урон вторичным целям call GroupEnumUnitsInRange( grp, GetUnitX( Enemy ), GetUnitY( Enemy ), 225.00, GetAliveEnemy( GetOwningPlayer( WindMaster ) ) ) ищем наземных, живиых, огранических врагов в радиусе 255. set udg_TempReal = GetHeroAgi( WindMaster, true ) * Damage + 15.00 задаём урон для вторичных целей set udg_TempUnit = WindMaster call ForGroup( grp, function Group_Wind_Strike_Actions ) наносим урон вторичным целям call DestroyGroup( grp ) удяляем группу сектор удаляение триггра и очистка памяти хешьтаблицы call FlushChildHashtable( udg_hash, GetHandleId( trg ) ) чистим хеш, там сохрянён атакер. call TriggerClearActions( trg ) удялем деиствия call TriggerClearConditions( trg ) удяляем условия call DestroyTrigger( trg ) удаляем локальный триггер сектор обнуления переменных set WindMaster = null set Enemy = null set grp = null set trg = null endfunction function Trig_Wind_Strike_Actions takes nothing returns nothing
local unit WindMaster = GetAttacker( ) local unit Enemy = GetTriggerUnit( ) local trigger trg = CreateTrigger( ) local timer t = CreateTimer( ) даём атаковавшему впомогательные скилы и устанавливаем анимацию call UnitAddAbility( WindMaster, 'A00B' ) call SetUnitAnimation( WindMaster, "attack walk stand spin" ) сохраняем необходимые данные в Хеш call SaveTriggerHandle( udg_hash, GetHandleId( t ), 0, trg ) call SaveUnitHandle( udg_hash, GetHandleId( trg ), 0, WindMaster ) создаём локальный триггер и запускаем таёмер... call TriggerRegisterUnitEvent( trg, Enemy, EVENT_UNIT_DAMAGED ) call TriggerAddCondition( trg, Condition( function Trig_EnemySlashed_Conditions ) ) call TriggerAddAction( trg, function Trig_Wind_Strike_Slash ) call TimerStart( t, 0.330, false, function RemoveTrigger ) set WindMaster = null
set Enemy = null set trg = null set t = null endfunction =========================================================================== function InitTrig_Wind_Strike takes nothing returns nothing set gg_trg_Wind_Strike = CreateTrigger( ) call AbilityPreload( 'A02B' ) call TriggerRegisterPlayerUnitEvent( gg_trg_Wind_Strike, Player( 12 ), EVENT_PLAYER_UNIT_ATTACKED, null ) call TriggerAddCondition( gg_trg_Wind_Strike, Condition( function Trig_Wind_Strike_Conditions ) ) call TriggerAddAction( gg_trg_Wind_Strike, function Trig_Wind_Strike_Actions ) endfunction )) |
20.08.2012, 08:37 | #33
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadik29
Choice Battle 1.6а
offline
Опыт:
15,845Активность: |
quq_CCCP, Я им уже давно по коду прошелся, ладно как время появится добавлю коменты во все нужные места) |
20.08.2012, 12:35 | #34
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NIKZ
Изучаю Jass
offline
Опыт:
6,036Активность: |
Не навязывай чувачело. Перепрочитай текст и найди слово "для меня" Да хоть на cjass Поправить все что сказали пользователи XGM
xgm.ru/forum/showthread.php?t=18742 считывай |
20.08.2012, 13:20 | #35
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadik29
Choice Battle 1.6а
offline
Опыт:
15,845Активность: |
NIKZ,
Ты мне в коде конкретно скажи, а не статьями разбрасывайся. Jass-мастер нашелся |
20.08.2012, 13:54 | #36
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NIKZ
Изучаю Jass
offline
Опыт:
6,036Активность: |
Vadik29, опять навязываешь. Я не jass мастер, до него мне далеко. Я даю советы, а ты себе навязываешь, что я такой то мастер...В заголовке "еще немного о переменных" прочитай, мне помогло |
20.08.2012, 14:25 | #37
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,033Активность: |
Vadik29:
» -_-
|
20.08.2012, 14:27 | #38
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NIKZ
Изучаю Jass
offline
Опыт:
6,036Активность: |
Каждую крошечку мапы хочешь энумить? да еще и луп, ректом энумь)) NIKZ добавил:
((код jass
function Trig_Init_Actions takes nothing returns nothing
local group g = CreateGroup() local unit e = null local integer i = 0 ))
NIKZ добавил:
((код jass
function Trig_GetExp_Actions takes nothing returns nothing
)) Увидев что там написано(внутри функции) я стал твоим фанатом |
20.08.2012, 14:41 | #39
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vadik29
Choice Battle 1.6а
offline
Опыт:
15,845Активность: |
NIKZ,
это рак, там и без того 0 тут что не так? и тут? все норм жду твою версию Vadik29 добавил:
Hate, local unit u = GetTriggerUnit() - 3 раза
local item it = GetManipulatedItem() - 2 раза local player p = GetLocalPlayer() - 2 раза local unit c = LoadUnitHandle(udg_Hash, GetHandleId(it), 0) - 2 раза local player pc = GetOwningPlayer(c) - 2 раза можно тут убрать пару штук, тут я тупанул. |
20.08.2012, 15:34 | #40
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|