Как закрепить за разными типами юнита в переменной с массивом ,int значение в карте при ее загрузке ?

Самый простой способ это параллельные массивы.
globals
    integer array myValue
    unittype array myUnitType
    integer quantityOfMyValues = 0
endglobals

function getMyValue takes unittype myValueOwner returns integer
    local integer i = 0
    loop
        exitwhen i >= quantityOfMyValues
        if myUnitType[i] == myValueOwner then
            return myValue[i]
        endif
        set i  = i + 1
    endloop
    return -1
endfunction

function test takes nothing returns nothing
    set myValue[0] = 16
    set myUnitType[0] = /*{Your unit type}*/
    set quantityOfMyValues = 1
    if getMyValue(myUnitType[0]) == 16 then
       /* Success. */
   else 
        /* I made a mistake, but you got the point.
   endif
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
22
Самый простой способ это параллельные массивы.
globals
    integer array myValue
    unittype array myUnitType
    integer quantityOfMyValues = 0
endglobals

function getMyValue takes unittype myValueOwner returns integer
    local integer i = 0
    loop
        exitwhen i >= quantityOfMyValues
        if myUnitType[i] == myValueOwner then
            return myValue[i]
        endif
        set i  = i + 1
    endloop
    return -1
endfunction

function test takes nothing returns nothing
    set myValue[0] = 16
    set myUnitType[0] = /*{Your unit type}*/
    set quantityOfMyValues = 1
    if getMyValue(myUnitType[0]) == 16 then
       /* Success. */
   else 
        /* I made a mistake, but you got the point.
   endif
endfunction
Принятый ответ
2
Немного не понял , я пытаюсь сделать так:
set myUnitType[0] = 'Ekgg' это так объявляется тип юнита?
23
я пытаюсь сделать так:
Пытаешься? А проверить пробовал?
22
Не уверен на счет типа массива. Возможно, в обоих случаях должен быть integer.
28
Luchifare, напиши нормально что ты хочешь сделать и зачем
int type='h000'
Чтобы оставить комментарий, пожалуйста, войдите на сайт.