0
3
6 лет назад
0

» gox69 / Статья о джассерах

Я труджаззер> и люблю джазз и мияги XD
0
3
7 лет назад
0

» WarCraft 3 / Отбрасывающий хук

nvc123:
Dota_2015, в каком месте всё сделал?
ты только теги проставил и всё
а описание как была 1 строчка так и осталась
сделай нормальное описание наподобие того как сделано в других ресурсах
все
0
3
7 лет назад
0

» WarCraft 3 / Отбрасывающий хук

nvc123:
Dota_2015, сделай нормальное описание
проставь теги
посмотри другие спелы и системы
так же после создания ресурса смотри свои задания как правило туда пишут что надо сделать для
публикации
Все сделал
0
3
7 лет назад
0

» WarCraft 3 / Отбрасывающий хук

nvc123:
нет оформления - нет публикации
я тут новичок, а как оформить?
0
3
8 лет назад
0

» Модели из World Of WarCraft / Разрушитель

скорее бы выпустить новый патч со всеми этими новыми моделями)
0
3
8 лет назад
0

» WarCraft 3 / Помогите мне с типом урона

Bornikkeny:
Ты уверен что дело в функции? Я подозреваю что цель уже имеет какую либо защиту от магии (резист 0%). Как известно такие вещи не умеют суммироваться. То есть одна может перебивать другую. Проверь в РО.
вообщем герой без слота, с родным резистом 25% процентов, затестил вроде урон шел нормально.
во втором случае добавил ему предмет на резист, на 30% и более. но идет урон одинаково(
0
3
8 лет назад
0

» WarCraft 3 / Нужен наработка ZigZaga

Bornikkeny:
Ни подробностей, ни описания. Чтож, желаю удачи.
Bornikkeny:
Ни подробностей, ни описания. Чтож, желаю удачи.
Типа такой наработки, но у меня получается змейка а не зигзаг.
Загруженные файлы
0
3
8 лет назад
Отредактирован Dota_2015
0

» FNWE / Главная страница

Пушистый:
Dota_2015, общее событие отлова урона среди новых событий.
а все нашел, надеюсь системка без багов)
1
3
8 лет назад
1

» WarCraft 3 / Нужна модель? - Вам сюда!

привет можешь совместить стандартные модели варика, мне нужно модель печать присодней и эффект вулкана и один еще эффект.
прошу потому что системка может вызывать только один эффект, писать заново триггер не охота(
0
3
8 лет назад
0

» FNWE / Главная страница

а как пользоваться отловом урона?, хочу сделать крит с кд например.
0
3
8 лет назад
0

» WarCraft 3 / Demonic Gates (Версия 1.9)

Автор карты походу занимался боксом)
0
3
8 лет назад
Отредактирован Uber
0

» WarCraft 3 / WT ARENA v 1.00b Alpha

Andrey91:
Плагиат карты Legend of Worlds, украден не только ландшафт и компоновка карты, но даже ее рекламное описание.
тут все я делал сам, если Legends of world защищен что мне красть с него, да и ландшафт там просто крипы спавняться на пустой земле, если честно я в нее один раз играл, если создал похожую карту то сразу обокрал, да я взял текст и что, всеравно же вар умерает тебе не безразлично ли дружок мой? И не пишите что это плагинат той карты.
3 пункта от Uber: 1.1 (ненормативная лексика)
0
3
8 лет назад
0

» WarCraft 3 / Demonic Gates (Версия 1.9)

Карта супер....
0
3
8 лет назад
0

» WarCraft 3 / Система отлова нанесённого урона

а как использовать эту систему
говорят самый лучший детектор урона это
и не вижу тут vjass
0
3
8 лет назад
0

» Ice World / Версия 0.3a

Одна самых из худших карты сыграный мной карта просто дерьмо
0
3
8 лет назад
0

» WarCraft 3 / vJass модуль list

Doc:
БОЛЕЕ того
Первая же ссылка
лол ты че мне кинул даун? а на практике нельзя сделать наработку в виде триггера как вексориан делал?
2 пункта от nvc123: 2.1 (оскорбление)
2
3
8 лет назад
2

» WarCraft 3 / Аура крита

Вот аура крита
Загруженные файлы
0
3
8 лет назад
0

» WarCraft 3 / vJass модуль list

nvc123:
Dota_2015, гугли что такое list(список)
Нету в гугле
0
3
8 лет назад
0

» WarCraft 3 / vJass модуль list

как я понял эта херня делает MUI автоматически обращаясь к List?
0
3
8 лет назад
0

» WarCraft 3 / Вопрос о vjasse

quq_CCCP:
Ну тоже аттач, хештаблица + структура чуть быстрее чем хештаблица в целом.
Код раздут на все случаи жизни, думаю тут и половина может не понадобится вовсе...
Просто делаем несколько типовых структур и аттачим их хештаблицой или Xattach (если уж так хочется мега производительности) к таймеру, триггеру, юниту и так далее...
Для написания триггерных скиллов ни 1 из описных вами систем, кроме пожалуй Timer Utils ненужна, ибо 5-7 таймеров за игру будет создано...
Какие то кастом снаряды, системы передвижения и взаимодействия - возможно, скиллы, херо варсы, мили не требуют всего этого изврата.
вообщем лучше TimerUtils или ABC?
0
3
8 лет назад
Отредактирован Кет
0

» WarCraft 3 / Вопрос о vjasse

quq_CCCP:
Dota_2015, Ты сравниваешь теплое с мягким.
TimerUtils - это библиотека ресайкла таймеров (таймеры довольно легкие обьекты, особого понту ресайклить нету, ну чуть чуть повыше производительность если у тебя не 100500 таймеров нужны) а так же примитивный аттач целого числа к хендлу таймера постпредствам хештаблицы что явно ни быстрее, ни лучше хештаблицы в чистом виде...
Потом что там за системы прошу код, лень искать щяс глянем чем же они так отличаются?
//==============================================================================
//  ABC -- STRUCT ATTACHMENT SYSTEM BY COHADAR -- v6.1
//==============================================================================


//==============================================================================
//  Quick function index:
//==============================================================================
//
//    ----------------------------------------------------------------------
//      Set Functions - these functions attach struct to a handle
//    ----------------------------------------------------------------------
//    SetTimerStructA(timer, struct)
//    SetTimerStructB(timer, struct)
//    SetTimerStructC(timer, struct)
//
//    SetTriggerStructA(trigger, struct)
//    SetTriggerStructB(trigger, struct)
//    SetTriggerStructC(trigger, struct)
//
//    SetDialogStructA(dialog, struct)
//    SetDialogStructB(dialog, struct)
//    SetDialogStructC(dialog, struct)
//
//    SetRegionStructA(region, struct)
//    SetRegionStructB(region, struct)
//    SetRegionStructC(region, struct)
//
//    ----------------------------------------------------------------------
//      Get Functions - these functions retrieve attached structs
//    ----------------------------------------------------------------------
//    GetTimerStructA(timer) -> struct
//    GetTimerStructB(timer) -> struct
//    GetTimerStructC(timer) -> struct
//
//    GetTriggerStructA(trigger) -> struct
//    GetTriggerStructB(trigger) -> struct
//    GetTriggerStructC(trigger) -> struct
//
//    GetDialogStructA(dialog) -> struct
//    GetDialogStructB(dialog) -> struct
//    GetDialogStructC(dialog) -> struct
//
//    GetRegionStructA(region) -> struct
//    GetRegionStructB(region) -> struct
//    GetRegionStructC(region) -> struct
//
//    ----------------------------------------------------------------------
//      Clear Functions - these functions clear and return attached value
//    ----------------------------------------------------------------------
//    ClearTimerStructA(timer) -> struct
//    ClearTimerStructB(timer) -> struct
//    ClearTimerStructC(timer) -> struct
//
//    ClearTriggerStructA(trigger) -> struct
//    ClearTriggerStructB(trigger) -> struct
//    ClearTriggerStructC(trigger) -> struct
//
//    ClearDialogStructA(dialog) -> struct
//    ClearDialogStructB(dialog) -> struct
//    ClearDialogStructC(dialog) -> struct
//
//    ClearRegionStructA(region) -> struct
//    ClearRegionStructB(region) -> struct
//    ClearRegionStructC(region) -> struct
//
//==============================================================================


//==============================================================================
//  DOCUMENTATION:
//==============================================================================
//
//  PURPOUSE OF ABC:
//       * Type safe handle attaching.
//      
//       * Currently supported handle types are timer, trigger, dialog and region
//
//  PROS: 
//       * ABC is faster than gamecache based systems.
//
//       * You can attach up to 3 structs on the same handle
//         
//       * System reports collision, and clearing of non-existent value.
//
//       * This system will work even if your map leaks
//         and will NOT slow down because of it.
//
//  CONS:
//       * you must manually clear the stored value - REMEMBER THIS RULE!!!
//         Don't forget to use Clear functions
//
//  DETAILS:
//       * You can use Get to check if struct is attached to handle
//         It will return 0 if it is not.
//
//       * ABC will not interfere with other attachment systems
//         You can freely use any other system alongside ABC
//
//       * For unit attaching I recommend using PUI
//
//  SPECIAL THANKS TO: 
//       * NagelBagel - for finding errors in versions 4.3 and 4.4
//       * Here-b-Trollz - for testing ABC and for making cool spells with it.
//       * Toadcop - for being pain in the ass and for pushing me to improve ABC.
//       * emjlr3 - for pointing out the need for non-generic trigger attachments
//       * PandaMine - I found a bug in ABC by examining his HSAS vs ABC test
//       * All those people out there who use and support my systems
//         Thank you guys.
//
//  HOW TO IMPORT:
//       * Just create a trigger named ABC
//       * convert it to text and replace the whole trigger text with this one
//
//==============================================================================


//==============================================================================
//  Macro function cores
//==============================================================================

//------------------------------------------------------------------------------
//! textmacro ABC_Set takes X, NAME, TYPE
    local integer i = GetHandleId(key)
    set i = i - (i / HASH) * HASH

    if $NAME$Key$X$[i] == null then
        set $NAME$Key$X$[i] = key
        set $NAME$Value$X$[i] = value
    else
        debug   set $NAME$Collision$X$[i] = $NAME$Collision$X$[i] + 1
        debug   if $NAME$MaxCollision$X$ < $NAME$Collision$X$[i] then
        debug       set $NAME$MaxCollision$X$ = $NAME$Collision$X$[i]
        debug       call BJDebugMsg("Warning: Set$NAME$Struct$X$("+I2S(GetHandleId(key))+", "+I2S(value)+") - index: "+I2S(i)+", collision: "+I2S($NAME$MaxCollision$X$) + ", Please report to Author")
        debug   endif
        call SaveInteger($NAME$Hash, '$X$', GetHandleId(key), value)
	endif
//! endtextmacro

//------------------------------------------------------------------------------
//! textmacro ABC_Get takes X, NAME, TYPE
    local integer i = GetHandleId(key)
    set i = i - (i / HASH) * HASH
	
    if $NAME$Key$X$[i] == key then
        return $NAME$Value$X$[i]
    else
        return LoadInteger($NAME$Hash, '$X$', GetHandleId(key))
	endif
//! endtextmacro    

//------------------------------------------------------------------------------
//! textmacro ABC_Clear takes X, NAME, TYPE
    local integer ret
    local integer i = GetHandleId(key)
    set i = i - (i / HASH) * HASH
	
    if $NAME$Key$X$[i] == key then
        set ret = $NAME$Value$X$[i]
        set $NAME$Key$X$[i] = null
        set $NAME$Value$X$[i] = 0
    else
        if HaveSavedInteger($NAME$Hash, '$X$', GetHandleId(key)) then
            debug set $NAME$Collision$X$[i] = $NAME$Collision$X$[i] - 1
            set ret = LoadInteger($NAME$Hash, '$X$', GetHandleId(key))
            call RemoveSavedInteger($NAME$Hash, '$X$', GetHandleId(key))
        else
            call BJDebugMsg("ERROR: Clear$NAME$Struct$X$("+I2S(GetHandleId(key))+") - clear attempt on bad key, Please report to Author")
            set ret = 0
        endif
    endif
    
    return ret
//! endtextmacro    


//==============================================================================
library ABC initializer Init

globals
    private constant integer HASH = 8191

    private timer   array TimerKeyA
    private timer   array TimerKeyB
    private timer   array TimerKeyC
    private trigger array TriggerKeyA
    private trigger array TriggerKeyB
    private trigger array TriggerKeyC
    private dialog  array DialogKeyA
    private dialog  array DialogKeyB
    private dialog  array DialogKeyC
    private region  array RegionKeyA
    private region  array RegionKeyB
    private region  array RegionKeyC
    
    private integer array TimerValueA
    private integer array TimerValueB
    private integer array TimerValueC
    private integer array TriggerValueA
    private integer array TriggerValueB
    private integer array TriggerValueC
    private integer array DialogValueA
    private integer array DialogValueB
    private integer array DialogValueC
    private integer array RegionValueA
    private integer array RegionValueB
    private integer array RegionValueC

    private integer array TimerCollisionA
    private integer array TimerCollisionB
    private integer array TimerCollisionC
    private integer array TriggerCollisionA
    private integer array TriggerCollisionB
    private integer array TriggerCollisionC
    private integer array DialogCollisionA
    private integer array DialogCollisionB
    private integer array DialogCollisionC
    private integer array RegionCollisionA
    private integer array RegionCollisionB
    private integer array RegionCollisionC    
    
    private integer TimerMaxCollisionA   = 0
    private integer TimerMaxCollisionB   = 0
    private integer TimerMaxCollisionC   = 0
    private integer TriggerMaxCollisionA = 0
    private integer TriggerMaxCollisionB = 0
    private integer TriggerMaxCollisionC = 0
    private integer DialogMaxCollisionA  = 0
    private integer DialogMaxCollisionB  = 0
    private integer DialogMaxCollisionC  = 0
    private integer RegionMaxCollisionA  = 0
    private integer RegionMaxCollisionB  = 0
    private integer RegionMaxCollisionC  = 0 
    
    private hashtable TimerHash
    private hashtable TriggerHash
    private hashtable DialogHash
    private hashtable RegionHash
endglobals

//==============================================================================
//  Collision check functions
//==============================================================================

//------------------------------------------------------------------------------
function GetTimerCollisionA takes nothing returns integer
    return TimerMaxCollisionA
endfunction

//------------------------------------------------------------------------------
function GetTimerCollisionB takes nothing returns integer
    return TimerMaxCollisionB
endfunction

//------------------------------------------------------------------------------
function GetTimerCollisionC takes nothing returns integer
    return TimerMaxCollisionC
endfunction

//------------------------------------------------------------------------------
function GetTriggerCollisionA takes nothing returns integer
    return TriggerMaxCollisionA
endfunction

//------------------------------------------------------------------------------
function GetTriggerCollisionB takes nothing returns integer
    return TriggerMaxCollisionB
endfunction

//------------------------------------------------------------------------------
function GetTriggerCollisionC takes nothing returns integer
    return TriggerMaxCollisionC
endfunction

//------------------------------------------------------------------------------
function GetDialogCollisionA takes nothing returns integer
    return DialogMaxCollisionA
endfunction

//------------------------------------------------------------------------------
function GetDialogCollisionB takes nothing returns integer
    return DialogMaxCollisionB
endfunction

//------------------------------------------------------------------------------
function GetDialogCollisionC takes nothing returns integer
    return DialogMaxCollisionC
endfunction

//------------------------------------------------------------------------------
function GetRegionCollisionA takes nothing returns integer
    return RegionMaxCollisionA
endfunction

//------------------------------------------------------------------------------
function GetRegionCollisionB takes nothing returns integer
    return RegionMaxCollisionB
endfunction

//------------------------------------------------------------------------------
function GetRegionCollisionC takes nothing returns integer
    return RegionMaxCollisionC
endfunction


//==============================================================================
//  Set functions
//==============================================================================

//------------------------------------------------------------------------------
function SetTimerStructA takes timer key, integer value returns nothing
//! runtextmacro ABC_Set("A", "Timer", "timer")
endfunction

//------------------------------------------------------------------------------
function SetTimerStructB takes timer key, integer value returns nothing
//! runtextmacro ABC_Set("B", "Timer", "timer")
endfunction

//------------------------------------------------------------------------------
function SetTimerStructC takes timer key, integer value returns nothing
//! runtextmacro ABC_Set("C", "Timer", "timer")
endfunction

//------------------------------------------------------------------------------
function SetTriggerStructA takes trigger key, integer value returns nothing
//! runtextmacro ABC_Set("A", "Trigger", "trigger")
endfunction

//------------------------------------------------------------------------------
function SetTriggerStructB takes trigger key, integer value returns nothing
//! runtextmacro ABC_Set("B", "Trigger", "trigger")
endfunction

//------------------------------------------------------------------------------
function SetTriggerStructC takes trigger key, integer value returns nothing
//! runtextmacro ABC_Set("C", "Trigger", "trigger")
endfunction

//------------------------------------------------------------------------------
function SetDialogStructA takes dialog key, integer value returns nothing
//! runtextmacro ABC_Set("A", "Dialog", "dialog")
endfunction

//------------------------------------------------------------------------------
function SetDialogStructB takes dialog key, integer value returns nothing
//! runtextmacro ABC_Set("B", "Dialog", "dialog")
endfunction

//------------------------------------------------------------------------------
function SetDialogStructC takes dialog key, integer value returns nothing
//! runtextmacro ABC_Set("C", "Dialog", "dialog")
endfunction

//------------------------------------------------------------------------------
function SetRegionStructA takes region key, integer value returns nothing
//! runtextmacro ABC_Set("A", "Region", "region")
endfunction

//------------------------------------------------------------------------------
function SetRegionStructB takes region key, integer value returns nothing
//! runtextmacro ABC_Set("B", "Region", "region")
endfunction

//------------------------------------------------------------------------------
function SetRegionStructC takes region key, integer value returns nothing
//! runtextmacro ABC_Set("C", "Region", "region")
endfunction


//==============================================================================
//  Get functions
//==============================================================================

//------------------------------------------------------------------------------
function GetTimerStructA takes timer key returns integer
//! runtextmacro ABC_Get("A", "Timer", "timer")
endfunction

//------------------------------------------------------------------------------
function GetTimerStructB takes timer key returns integer
//! runtextmacro ABC_Get("B", "Timer", "timer")
endfunction

//------------------------------------------------------------------------------
function GetTimerStructC takes timer key returns integer
//! runtextmacro ABC_Get("C", "Timer", "timer")
endfunction

//------------------------------------------------------------------------------
function GetTriggerStructA takes trigger key returns integer
//! runtextmacro ABC_Get("A", "Trigger", "trigger")
endfunction

//------------------------------------------------------------------------------
function GetTriggerStructB takes trigger key returns integer
//! runtextmacro ABC_Get("B", "Trigger", "trigger")
endfunction

//------------------------------------------------------------------------------
function GetTriggerStructC takes trigger key returns integer
//! runtextmacro ABC_Get("C", "Trigger", "trigger")
endfunction

//------------------------------------------------------------------------------
function GetDialogStructA takes dialog key returns integer
//! runtextmacro ABC_Get("A", "Dialog", "dialog")
endfunction

//------------------------------------------------------------------------------
function GetDialogStructB takes dialog key returns integer
//! runtextmacro ABC_Get("B", "Dialog", "dialog")
endfunction

//------------------------------------------------------------------------------
function GetDialogStructC takes dialog key returns integer
//! runtextmacro ABC_Get("C", "Dialog", "dialog")
endfunction

//------------------------------------------------------------------------------
function GetRegionStructA takes region key returns integer
//! runtextmacro ABC_Get("A", "Region", "region")
endfunction

//------------------------------------------------------------------------------
function GetRegionStructB takes region key returns integer
//! runtextmacro ABC_Get("B", "Region", "region")
endfunction

//------------------------------------------------------------------------------
function GetRegionStructC takes region key returns integer
//! runtextmacro ABC_Get("C", "Region", "region")
endfunction


//==============================================================================
//  Clear functions
//==============================================================================

//------------------------------------------------------------------------------
function ClearTimerStructA takes timer key returns integer
//! runtextmacro ABC_Clear("A", "Timer", "timer")
endfunction

//------------------------------------------------------------------------------
function ClearTimerStructB takes timer key returns integer
//! runtextmacro ABC_Clear("B", "Timer", "timer")
endfunction

//------------------------------------------------------------------------------
function ClearTimerStructC takes timer key returns integer
//! runtextmacro ABC_Clear("C", "Timer", "timer")
endfunction

//------------------------------------------------------------------------------
function ClearTriggerStructA takes trigger key returns integer
//! runtextmacro ABC_Clear("A", "Trigger", "trigger")
endfunction

//------------------------------------------------------------------------------
function ClearTriggerStructB takes trigger key returns integer
//! runtextmacro ABC_Clear("B", "Trigger", "trigger")
endfunction

//------------------------------------------------------------------------------
function ClearTriggerStructC takes trigger key returns integer
//! runtextmacro ABC_Clear("C", "Trigger", "trigger")
endfunction

//------------------------------------------------------------------------------
function ClearDialogStructA takes dialog key returns integer
//! runtextmacro ABC_Clear("A", "Dialog", "dialog")
endfunction

//------------------------------------------------------------------------------
function ClearDialogStructB takes dialog key returns integer
//! runtextmacro ABC_Clear("B", "Dialog", "dialog")
endfunction

//------------------------------------------------------------------------------
function ClearDialogStructC takes dialog key returns integer
//! runtextmacro ABC_Clear("C", "Dialog", "dialog")
endfunction

//------------------------------------------------------------------------------
function ClearRegionStructA takes region key returns integer
//! runtextmacro ABC_Clear("A", "Region", "region")
endfunction

//------------------------------------------------------------------------------
function ClearRegionStructB takes region key returns integer
//! runtextmacro ABC_Clear("B", "Region", "region")
endfunction

//------------------------------------------------------------------------------
function ClearRegionStructC takes region key returns integer
//! runtextmacro ABC_Clear("C", "Region", "region")
endfunction


//==============================================================================
//  Initialization
//==============================================================================
private function Init takes nothing returns nothing
    set TimerKeyA[HASH-1] = null
    set TimerKeyB[HASH-1] = null
    set TimerKeyC[HASH-1] = null
    set TriggerKeyA[HASH-1] = null
    set TriggerKeyB[HASH-1] = null
    set TriggerKeyC[HASH-1] = null
    set DialogKeyA[HASH-1] = null
    set DialogKeyB[HASH-1] = null
    set DialogKeyC[HASH-1] = null
    set RegionKeyA[HASH-1] = null
    set RegionKeyB[HASH-1] = null
    set RegionKeyC[HASH-1] = null
    
    set TimerValueA[HASH-1] = 0
    set TimerValueB[HASH-1] = 0
    set TimerValueC[HASH-1] = 0
    set TriggerValueA[HASH-1] = 0
    set TriggerValueB[HASH-1] = 0
    set TriggerValueC[HASH-1] = 0
    set DialogValueA[HASH-1] = 0
    set DialogValueB[HASH-1] = 0
    set DialogValueC[HASH-1] = 0
    set RegionValueA[HASH-1] = 0
    set RegionValueB[HASH-1] = 0
    set RegionValueC[HASH-1] = 0    
    
    set TimerCollisionA[HASH-1] = 0
    set TimerCollisionB[HASH-1] = 0
    set TimerCollisionC[HASH-1] = 0
    set TriggerCollisionA[HASH-1] = 0
    set TriggerCollisionB[HASH-1] = 0
    set TriggerCollisionC[HASH-1] = 0
    set DialogCollisionA[HASH-1] = 0
    set DialogCollisionB[HASH-1] = 0
    set DialogCollisionC[HASH-1] = 0
    set RegionCollisionA[HASH-1] = 0
    set RegionCollisionB[HASH-1] = 0
    set RegionCollisionC[HASH-1] = 0    
    
    set TimerHash   = InitHashtable()
    set TriggerHash = InitHashtable()
    set DialogHash  = InitHashtable()
    set RegionHash  = InitHashtable()
endfunction

endlibrary
//==============================================================================
//  END OF ABC STRUCT ATTACHMENT SYSTEM
//==============================================================================
3
3
8 лет назад
Отредактирован Кет
3

» WarCraft 3 / Большой набор наработок

надо же, призрак спелл пак :33333
откуда откопал спелл пак ризрака, я ее давно ищу и не нащел..
1 пункт от Кет: 1.1 (ненормативная лексика)