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

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

Закрытая тема
 
BK.Jugg
террорист из КиП
offline
Опыт: 27,066
Активность:
Ошибка в коде №2
Код:
function Trig_Initialization_Actions takes nothing returns nothing
    // ##########################################################
    call CreateFogModifierRectBJ( true, Player(0), FOG_OF_WAR_VISIBLE, GetPlayableMapRect() )
    call SetTimeOfDay( 12 )
    call SetTimeOfDayScalePercentBJ( 0.00 )
    // ##########################################################
    set udg_u = gg_unit_Hpal_0000
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Hblm_0006
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Ofar_0005
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Udre_0001
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Hmkg_0003
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Nfir_0009
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Ntin_0011
    call RunSkillCodeForUnit (udg_u)
    // ##########################################################
endfunction

//===========================================================================
function InitTrig_Initialization takes nothing returns nothing
    set gg_trg_Initialization = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Initialization, function Trig_Initialization_Actions )
endfunction

В исходной карте, где сам код был написан, все работает прекрасно. Как импортировал в другую, ругается на RunSkillCodeForUnit (udg_u).
Все переменные и т.д. и т.п. импотрнул - все равно. Как исправить?
Старый 26.04.2009, 14:24
Garret
Недоброе творится
offline
Опыт: 3,893
Активность:
Мб добавить ещё саму функцию, а не только переменные?
Старый 26.04.2009, 16:18
ELDAR
НИИ 4А-ВО кафедра SPELLS
offline
Опыт: 8,394
Активность:
Цитата:
call RunSkillCodeForUnit

а она у тя точно есть ?
Старый 26.04.2009, 17:06
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
Заглядывал хоть в такую вещь как 'нестандартный код'?
Старый 26.04.2009, 17:54
ZLOBICH
Kicked by XimikS
offline
Опыт: 4,727
Активность:
call RunSkillCodeForUnit (udg_u)!= call RunSkillCodeForUnit(udg_u)
Старый 26.04.2009, 18:57
BK.Jugg
террорист из КиП
offline
Опыт: 27,066
Активность:
Enein, блин, забыл. Надо было всунуть в нестандартный код это:
Код:
function chr takes integer i returns string
    local string abc = "abcdefghijklmnopqrstuvwxyz"
    local string ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    local string digits = "0123456789"
if i >= 65 and i <= 90 then
    return SubString(ABC, i-65,i-64)
elseif i >= 97 and i <= 122 then
    return SubString(abc, i-97,i-96)
elseif i >= 48 and i <= 57 then
    return SubString(digits, i-48,i-47)
endif
return ""
endfunction

function CPos takes string StrData, string ToFind, integer From returns integer
    local integer FromPos = From
loop 
exitwhen (SubString(StrData, FromPos, FromPos+1) == ToFind) or (SubString(StrData, FromPos, FromPos+1) == "")
    set FromPos = FromPos + 1
endloop
if (SubString(StrData, FromPos, FromPos+1) == ToFind) then
    return FromPos
endif
    return -1
endfunction

function int takes string Str returns integer
    local integer Pos = CPos("ABCDEFGHIJKLMNOPQRSTUVWXYZ", Str, 0) + 65
if Pos == 64 then
    set Pos = CPos("0123456789", Str, 0) + 48
endif
    if Pos == 47 then
set Pos = CPos("abcdefghijklmnopqrstuvwxyz", Str, 0) + 97
    endif
if (Str == "") then
    return 0
else
    return Pos
endif
endfunction

function ID2String takes integer itemid returns string
    return chr(itemid/256/256/256) + chr(ModuloInteger(itemid/256/256, 256)) + chr(ModuloInteger(itemid/256, 256)) + chr(ModuloInteger(itemid, 256))
endfunction

function String2ID takes string str returns integer
    return int(SubString(str,0,1))*256*256*256 + int(SubString(str,1,2))*256*256 + int(SubString(str,2,3))*256 + int(SubString(str,3,4))
endfunction

function RunSkillCodeForUnit takes unit u returns nothing
    local integer i = 1
    local integer end = GetStoredInteger(udg_cache, "MaxHeroLevel", "") * 4
    local string unitID = UnitId2String(GetUnitTypeId(u))
    local string skillcode = GetStoredString(udg_cache, "SkillCodeFor", unitID)
loop
exitwhen i > end
    call SelectHeroSkill(u, String2ID(SubStringBJ(skillcode, i, i + 4)))
    set i = i + 4
endloop
    set unitID = null
    set skillcode = null
endfunction


BK.Jugg добавил:
Тему можно закрывать.
Старый 26.04.2009, 19:04
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
BK.Jugg, все тебе ненужно. достаточно только:
Код:
function RunSkillCodeForUnit takes unit u returns nothing
    local integer i = 1
    local integer end = GetStoredInteger(udg_cache, "MaxHeroLevel", "") * 4
    local string unitID = UnitId2String(GetUnitTypeId(u))
    local string skillcode = GetStoredString(udg_cache, "SkillCodeFor", unitID)
    loop
        exitwhen i > end
            call SelectHeroSkill(u, String2ID(SubStringBJ(skillcode, i, i + 4)))
            set i = i + 4
    endloop
    set unitID = null
    set skillcode = null
endfunction


ZLOBICH, пробел не решает ^^
Старый 26.04.2009, 19:06
BK.Jugg
террорист из КиП
offline
Опыт: 27,066
Активность:
Enein, из-за этого меньше будет нагружацца вар? =)
Утечки?

BK.Jugg добавил:
Enein, не, из-за этого: не работает вся сис-ма.
Но из-за кода, которого я написал выше - вылетает вар.
Старый 26.04.2009, 19:30
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
Цитата:
из-за этого меньше будет нагружацца вар? =) Утечки?

нет. просто в триггере из первого поста больше никакие нестандартные функции не используются, кроме RunSkillCodeForUnit
Цитата:
не, из-за этого: не работает вся сис-ма.
Но из-за кода, которого я написал выше - вылетает вар.

скопируй весь - ничего не изменится. видимо сама система какая-то кривая...

Enein добавил:
стоп! у тебя все юниты из этого списка стоят на карте?! сомневаюсь...
Код:
//...
    set udg_u = gg_unit_Hpal_0000
    set udg_u = gg_unit_Hblm_0006
    set udg_u = gg_unit_Ofar_0005
    set udg_u = gg_unit_Udre_0001
    set udg_u = gg_unit_Hmkg_0003
    set udg_u = gg_unit_Nfir_0009
    set udg_u = gg_unit_Ntin_0011
//...


Enein добавил:
и проиницилизированы ли они?
Старый 26.04.2009, 19:38
BK.Jugg
террорист из КиП
offline
Опыт: 27,066
Активность:
Enein, используются. Это AI_SkillCodeSystem от вардена. =\

BK.Jugg добавил:
Enein, нет - я пример скинул. У меня на самом деле все настроено.
Старый 26.04.2009, 19:39
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
В этом триггере не используется:
» code

Код:
function Trig_Initialization_Actions takes nothing returns nothing
    // ##########################################################
    call CreateFogModifierRectBJ( true, Player(0), FOG_OF_WAR_VISIBLE, GetPlayableMapRect() )
    call SetTimeOfDay( 12 )
    call SetTimeOfDayScalePercentBJ( 0.00 )
    // ##########################################################
    set udg_u = gg_unit_Hpal_0000
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Hblm_0006
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Ofar_0005
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Udre_0001
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Hmkg_0003
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Nfir_0009
    call RunSkillCodeForUnit (udg_u)
    set udg_u = gg_unit_Ntin_0011
    call RunSkillCodeForUnit (udg_u)
    // ##########################################################
endfunction

//===========================================================================
function InitTrig_Initialization takes nothing returns nothing
    set gg_trg_Initialization = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Initialization, function Trig_Initialization_Actions )
endfunction


Других я триггеров невидел =\
Старый 26.04.2009, 19:40
BK.Jugg
террорист из КиП
offline
Опыт: 27,066
Активность:
Разобрался. У меня не было во время старта ИИ переменной AI[1].

BK.Jugg добавил:
+сам триггер был init мапы. теперь ИИ всех пвнит, учит спеллы и т.д.

BK.Jugg добавил:
Enein, ну у меня была проблема. Там был другой триг, ну я уже разобрался.
Старый 26.04.2009, 19:43
Закрытая тема

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

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

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

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



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