• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Create Interface

Level 17
Joined
Nov 13, 2006
Messages
1,814
JASS:
function CreateTrackableAll takes destructable d, integer slot1 returns nothing
    local string path = ""
    local real x = GetDestructableX(d)
    local real y = GetDestructableY(d) // - 20
    local real x1 = LoadReal(udg_FSS, 0, 1)
    local real y1 = LoadReal(udg_FSS, 0, 2)
    local real shiftY = (y - y1) / 64
    local real z = 0
    local real face = 0
    local integer id
    local integer a = 0
    local integer slot2 = 0
    local integer slot3 = 0
    local player p
    local trackable tr
    loop
        exitwhen a > 11
        set p = Player(a)
        if GetPlayerSlotState(p) == PLAYER_SLOT_STATE_PLAYING and GetPlayerController(p) == MAP_CONTROL_USER then
            if GetLocalPlayer() == p then
                set path = "CustomWindow\\Trackable.mdx"
            endif
            set tr = CreateTrackable( path, x, y + shiftY, face )
            set id = GetHandleId(tr)
            call SaveInteger(udg_FSS, - id, 1, a)
            call SaveInteger(udg_FSS, - id, 2, slot1)
            if (slot1 < 304 and slot1 >= 300) or (slot1 >= 1200 and slot1 < 1212) or slot1 == 1300 or slot1 == 1301 or slot1 < 100 then
                set slot2 = 0
            else
                if slot1 > 119 then
                    if slot1 == 200 then
                        set slot2 = 2209
                    elseif slot1 == 201 then
                        set slot2 = 2210
                    elseif slot1 == 202 then
                        set slot2 = 2215
                    elseif slot1 == 203 then
                        set slot2 = 2216
                    elseif slot1 == 204 then
                        set slot2 = 2221
                    elseif slot1 == 205 then
                        set slot2 = 2222
                    elseif slot1 == 304 then
                        set slot2 = 2219
                    elseif slot1 == 305 then
                        set slot2 = 2213
                    elseif slot1 == 306 then
                        set slot2 = 2207
                    elseif slot1 == 307 then
                        set slot2 = 2201
                    else
                        set slot2 = slot1
                    endif
                else
                    set slot2 = slot1
                endif
            endif

            if (slot2 >= 2200 and slot2 < 2250) or (slot2 >= 100 and slot2 < 120) then
                set slot3 = slot2
            else
                set slot3 = 0
            endif
            if slot2 > 0 then
                call SaveInteger(udg_FSS, - id, 3, slot2)
            endif
            if slot3 > 0 then
                call SaveInteger(udg_FSS, - id, 4, slot3)
            endif
            call TriggerRegisterTrackableHitEvent(gg_trg_ClickToTrackable, tr)
            call TriggerRegisterTrackableTrackEvent(gg_trg_OnTrackable, tr)
        endif
        set a = a + 1
    endloop
endfunction

function CreateBigTrackable takes nothing returns nothing
    local string path = ""
    local real x = LoadReal(udg_FSS, 0, 1)+512
    local real y = LoadReal(udg_FSS, 0, 2)+256
    local real z = 0
    local integer pl = 0
    local integer slot = 9999
    local integer id
    local player p
    local trackable tr
    loop
        exitwhen pl > 11
        set p = Player(pl)
        if GetPlayerSlotState(p) == PLAYER_SLOT_STATE_PLAYING and GetPlayerController(p) == MAP_CONTROL_USER then
            if GetLocalPlayer() == p then
                set path = "CustomWindow\\BigTrackable.mdx"
            endif
            set tr = CreateTrackable( path, x, y , 0 )
            set id = GetHandleId(tr)
            call SaveInteger(udg_FSS, - id, 1, pl)
            call SaveInteger(udg_FSS, - id, 2, slot)
            call SaveInteger(udg_FSS, - id, 3, slot)
            call SaveInteger(udg_FSS, - id, 4, slot)

            call TriggerRegisterTrackableHitEvent(gg_trg_ClickToTrackable, tr)
            call TriggerRegisterTrackableTrackEvent(gg_trg_OnTrackable, tr)
        endif
        set pl = pl + 1
    endloop
endfunction

function Trig_Untitled_Trigger_003_Actions takes nothing returns nothing
    local destructable d
    local integer a = 0
    local integer b = 0
    local integer i = 0
    local integer ii = 0
    local real isize = 0.7
    local real is
    local real x1 = - 1000
    local real y1 = - 1000
    local real x2 = x1 + 1152
    local real y2 = y1 + 512
    local real bz = 0 //border Z - height
    local real width = 1300 + 150
    local real height = 530 + 150 + 100
    local rect r = Rect(x1, y1, x1 + width, y1 + height)
//---------------------------
//we create path blockers
//YTpc - ground large path blocker.YTfc - ground+air path blocker
    set i = R2I(x1) - 64
    loop
        exitwhen i > R2I(x2) + 64
        call CreateDestructableZ('YTpc', i, y1 - 64, bz, 0, 1, 0)
        call CreateDestructableZ('YTpc', i, y2 + 64, bz, 0, 1, 0)
        set i = i + 128
    endloop
    set i = 0

    set i = R2I(y1) - 64
    loop
        exitwhen i > R2I(y2) + 64
        call CreateDestructableZ('YTpc', x1 - 64, i, bz, 0, 1, 0)
        call CreateDestructableZ('YTpc', x2 + 64, i, bz, 0, 1, 0)
        set i = i + 128
    endloop
    set i = 0

//create camera with jass
    set udg_Cam1 = CreateCameraSetup()
    call CameraSetupSetField(udg_Cam1 , CAMERA_FIELD_ZOFFSET , 0.0 , 0.0)
    call CameraSetupSetField(udg_Cam1 , CAMERA_FIELD_ROTATION , 90.0 , 0.0)
    call CameraSetupSetField(udg_Cam1 , CAMERA_FIELD_ANGLE_OF_ATTACK , 270.0 , 0.0)
    call CameraSetupSetField(udg_Cam1 , CAMERA_FIELD_TARGET_DISTANCE , 1300.0 , 0.0)
    call CameraSetupSetField(udg_Cam1 , CAMERA_FIELD_ROLL , 0.0 , 0.0)
    call CameraSetupSetField(udg_Cam1 , CAMERA_FIELD_FIELD_OF_VIEW , 70.0 , 0.0)
    call CameraSetupSetField(udg_Cam1 , CAMERA_FIELD_FARZ , 5000.0 , 0.0)
    call CameraSetupSetDestPosition(udg_Cam1 , x1 + 1152 / 2 , y1 + 512 / 2 , 0.0)
    set udg_Cam2 = CreateCameraSetup()
    call CameraSetupSetField(udg_Cam2 , CAMERA_FIELD_ZOFFSET , 0.0 , 0.0)
    call CameraSetupSetField(udg_Cam2 , CAMERA_FIELD_ROTATION , 90.0 , 0.0)
    call CameraSetupSetField(udg_Cam2 , CAMERA_FIELD_ANGLE_OF_ATTACK , 270.0 , 0.0)
    call CameraSetupSetField(udg_Cam2 , CAMERA_FIELD_TARGET_DISTANCE , 1300.0 , 0.0)
    call CameraSetupSetField(udg_Cam2 , CAMERA_FIELD_ROLL , 0.0 , 0.0)
    call CameraSetupSetField(udg_Cam2 , CAMERA_FIELD_FIELD_OF_VIEW , 70.0 , 0.0)
    call CameraSetupSetField(udg_Cam2 , CAMERA_FIELD_FARZ , 5000.0 , 0.0)
    call CameraSetupSetDestPosition(udg_Cam2 , x1 + 1152 / 2 - 0.1, y1 + 512 / 2 , 0.0)


//save the start position and region
    call SaveReal(udg_FSS, 0, 1, x1)
    call SaveReal(udg_FSS, 0, 2, y1)
    call SaveRectHandle(udg_FSS, 0, 3, r)
    call SaveReal(udg_FSS, 0, 4, width)
    call SaveReal(udg_FSS, 0, 5, height)

    set r = null
//create corners for big box
//call SaveDestructableHandle(udg_FSS, 0, 200, d)
//here the inventory+gold and item list borders
    set a = 0
    set is = 0.63

//we create a huge traxkable
call CreateBigTrackable()

// -------- inventory borders -------
    set d = CreateDestructableZ(udg_Borders[0], x1 + 0, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[0], x1 + 0, y1 + 256, bz + 1, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[6], x1 + 0, y1 + 64, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[6], x1 + 0, y1 + 128, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 256, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 256, y1 + 256, bz + 1, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 0, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 256, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[4], x1 + 64, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[4], x1 + 64, y1 + 256, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[4], x1 + 128, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[4], x1 + 128, y1 + 256, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[4], x1 + 192, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[4], x1 + 192, y1 + 256, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[5], x1 + 64, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[5], x1 + 128, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[5], x1 + 192, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[7], x1 + 256, y1 + 64, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[7], x1 + 256, y1 + 128, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 200 + a, d)
// ---- end of the inventory border

// ---- Dummy unit box where is the equipment slots too ----
    set a = 0
    set d = CreateDestructableZ(udg_Borders[0], x1 + 384, y1 + 572, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 384, y1 + 256, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 704, y1 + 572, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 704, y1 + 256, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set i = 384
    loop
        exitwhen i > 640
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[5], x1 + i, y1 + 256, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[4], x1 + i, y1 + 572, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)
        set i = i + 64
    endloop

    set i = 256
    loop
        exitwhen i > 512
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[6], x1 + 384, y1 + i, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[7], x1 + 704, y1 + i, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)
        set i = i + 64
    endloop
//------ end dummy unit box ------

// ----- old inventory border ------
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[0], x1 + 512, y1 + 128, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 512, y1, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 576, y1 + 128, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 576, y1, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[7], x1 + 576, y1 + 64, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[6], x1 + 512, y1 + 64, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

// ---- end old inventory border -----

// ----- command button box -------
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[0], x1 + 0, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 0, y1 + 448, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 192, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 192, y1 + 448, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[4], x1 + 64, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[5], x1 + 64, y1 + 448, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[4], x1 + 128, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[5], x1 + 128, y1 + 448, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 300 + a, d)
// ---- end command button box ------


// ----- stat window --------
    set a = 0
    set d = CreateDestructableZ(udg_Borders[0], x1 + 832, y1 + 572, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 500 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 832, y1, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 500 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 1216, y1 + 572, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 500 + a, d)

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 1216, y1, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 0, 500 + a, d)

    set i = 896
    loop
        exitwhen i > 1152
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[5], x1 + i, y1, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 0, 500 + a, d)
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[4], x1 + i, y1 + 572, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 0, 500 + a, d)
        set i = i + 64
    endloop
    set i = 0
    loop
        exitwhen i > 512
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[6], x1 + 832, y1 + i, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 0, 500 + a, d)
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[7], x1 + 1216, y1 + i, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 0, 500 + a, d)
        set i = i + 64
    endloop
// ----- end stat window border -----


//inventory
    set a = 0
    set ii = 0
    loop
        exitwhen ii > 192
        set i = 0
        loop
            exitwhen i > 256
            //create empty slots - we save to hash
            set d = CreateDestructableZ(udg_Icons[0], x1 + i, y1 + ii, 0, 0, isize, 0)
            //save the item slot coordinate[row,column], X coord
            call SaveDestructableHandle(udg_FSS, 100 + a, 0, d)
            call SaveReal(udg_FSS, 100 + ((3 - ii / 64) * 5) + (i / 64), 1, x1 + i)
            call SaveReal(udg_FSS, 100 + ((3 - ii / 64) * 5) + (i / 64), 2, y1 + ii)//100 + a
            call CreateTrackableAll (d, 100 + ((3 - ii / 64) * 5) + (i / 64))
            set i = i + 64
            set a = a + 1
        endloop
        set ii = ii + 64
    endloop

    //we save the real inventory clone slot coords(that 6 slot, sub the dummy unit)
    set i = 0
    loop
        exitwhen i > 128
        //hero slot 1 will be slot 1 here too, so hashtable(1000,0-5)
        set d = CreateDestructableZ(udg_Icons[0], x1 + 512, y1 + i, 0, 0, isize, 0)
        call SaveDestructableHandle(udg_FSS, 200 + (i / 64) * 2, 0, d)
        call SaveReal(udg_FSS, 200 + (2 - i / 64) * 2, 1, x1 + 512)
        call SaveReal(udg_FSS, 200 + (2 - i / 64) * 2, 2, y1 + i)
        call CreateTrackableAll (d, 200 + (2 - i / 64) * 2)
        set d = CreateDestructableZ(udg_Icons[0], x1 + 576, y1 + i, 0, 0, isize, 0)
        call SaveDestructableHandle(udg_FSS, 200 + (i / 64) * 2 + 1, 0, d)
        call SaveReal(udg_FSS, 200 + (2 - i / 64) * 2 + 1, 1, x1 + 576)
        call SaveReal(udg_FSS, 200 + (2 - i / 64) * 2 + 1, 2, y1 + i)
        call CreateTrackableAll (d, 200 + (2 - i / 64) * 2 + 1)
        set i = i + 64
    endloop
   //command buttons
   //exit - drop - repair all - repair / 
    set i = 0
    set a = 0
    loop
        exitwhen i > 192
        set d = CreateDestructableZ(udg_Icons[20 + a], x1 + i, y1 + 512, 0, 0, 0.65, 0)
        call SaveDestructableHandle(udg_FSS, 300 + a, 0, d)
        call SaveReal(udg_FSS, 300 + a, 1, x1 + i)
        call SaveReal(udg_FSS, 300 + a, 2, y1 + 512)
        call CreateTrackableAll (d, 300 + a)
        set a = a + 1
        set i = i + 64
    endloop
    //command buttons
    //restat - str - agi - int
    set i = 192
    loop
        exitwhen i < 0
        if a == 7 then
            set d = CreateDestructableZ(udg_Icons[33 - a], x1 + i, y1 + 448, 0, 0, 0.63, 0)
        else
            set d = CreateDestructableZ(udg_Icons[33 - a], x1 + i + 5, y1 + 448, 0, 0, 0.7, 0)
        endif
        call SaveDestructableHandle(udg_FSS, 300 + a, 0, d)
        call SaveReal(udg_FSS, 300 + a, 1, x1 + i)
        call SaveReal(udg_FSS, 300 + a, 2, y1 + 448)
        call CreateTrackableAll (d, 300 + a)
        set a = a + 1
        set i = i - 64
    endloop

//helm slot
    set d = CreateDestructableZ(udg_Icons[1], x1 + 384, y1 + 576, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 1, 0, d)
    call SaveReal(udg_FSS, 1, 1, x1 + 384)
    call SaveReal(udg_FSS, 1, 2, y1 + 576)
    call CreateTrackableAll (d, 1)
//armor slot
    set d = CreateDestructableZ(udg_Icons[2], x1 + 384, y1 + 512, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 2, 0, d)
    call SaveReal(udg_FSS, 2, 1, x1 + 384)
    call SaveReal(udg_FSS, 2, 2, y1 + 512)
    call CreateTrackableAll (d, 2)
//weapon slot
    set d = CreateDestructableZ(udg_Icons[3], x1 + 384, y1 + 448, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 3, 0, d)
    call SaveReal(udg_FSS, 3, 1, x1 + 384)
    call SaveReal(udg_FSS, 3, 2, y1 + 448)
    call CreateTrackableAll (d, 3)
//shield slot
    set d = CreateDestructableZ(udg_Icons[5], x1 + 384, y1 + 384, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 5, 0, d)
    call SaveReal(udg_FSS, 5, 1, x1 + 384)
    call SaveReal(udg_FSS, 5, 2, y1 + 384)
    call CreateTrackableAll (d, 5)
//boot slot
    set d = CreateDestructableZ(udg_Icons[4], x1 + 384, y1 + 320, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 4, 0, d)
    call SaveReal(udg_FSS, 4, 1, x1 + 384)
    call SaveReal(udg_FSS, 4, 2, y1 + 320)
    call CreateTrackableAll (d, 4)


//amulet slot
    set d = CreateDestructableZ(udg_Icons[6], x1 + 448, y1 + 572, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 8, 0, d)
    call SaveReal(udg_FSS, 8, 1, x1 + 448)
    call SaveReal(udg_FSS, 8, 2, y1 + 572)
    call CreateTrackableAll (d, 8)

//ring1 slot
    set d = CreateDestructableZ(udg_Icons[7], x1 + 512, y1 + 572, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 6, 0, d)
    call SaveReal(udg_FSS, 6, 1, x1 + 512)
    call SaveReal(udg_FSS, 6, 2, y1 + 572)
    call CreateTrackableAll (d, 6)

//ring2 slot
    set d = CreateDestructableZ(udg_Icons[8], x1 + 576, y1 + 572, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 7, 0, d)
    call SaveReal(udg_FSS, 7, 1, x1 + 576)
    call SaveReal(udg_FSS, 7, 2, y1 + 572)
    call CreateTrackableAll (d, 7)

//wing slot
    set d = CreateDestructableZ(udg_Icons[9], x1 + 640, y1 + 572, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 9, 0, d)
    call SaveReal(udg_FSS, 9, 1, x1 + 640)
    call SaveReal(udg_FSS, 9, 2, y1 + 572)
    call CreateTrackableAll (d, 9)

//tome slot
    set d = CreateDestructableZ(udg_Icons[10], x1 + 704, y1 + 572, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 10, 0, d)
    call SaveReal(udg_FSS, 10, 1, x1 + 704)
    call SaveReal(udg_FSS, 10, 2, y1 + 572)
    call CreateTrackableAll (d, 10)

//special
    set d = CreateDestructableZ(udg_Icons[33], x1 + 384, y1 + 256, 0, 0, isize, 0)
    call SaveDestructableHandle(udg_FSS, 11, 0, d)
    call SaveReal(udg_FSS, 11, 1, x1 + 384)
    call SaveReal(udg_FSS, 11, 2, y1 + 256)
    call CreateTrackableAll (d, 11)


//create trader window borders
//    set i = 768
//    set a = 0
//    loop
//        exitwhen i > 1152
//        set d = CreateDestructableZ(udg_Borders[5], x1 + i, y1 + 196 + 64, bz, 0, 1, 0)
//        call SaveDestructableHandle(udg_FSS, 0, 2000 + a, d)
//        set i = i + 64
//        set a = a + 1
//    endloop
//    set i = 768
//set a = 0
//    loop
//        exitwhen i > 1152
//        set d = CreateDestructableZ(udg_Borders[4], x1 + i, y1 + 196, bz, 0, 1, 0)
//        call SaveDestructableHandle(udg_FSS, 0, 2000 + a, d)
//        set i = i + 64
//        set a = a + 1
//    endloop

//    set i = 0
//set a = 0
//    loop
//        exitwhen i > 196
//        set d = CreateDestructableZ(udg_Borders[6], x1 + 1024 + 16, y1 + i, bz, 0, 1, 0)
//        call SaveDestructableHandle(udg_FSS, 0, 2000 + a, d)
//        set i = i + 64
//        set a = a + 1
//    endloop


    set a = 0
    set i = - 5
    set ii = R2I(x1) + 780
    loop
        exitwhen i > 128
        set d = CreateDestructableZ(udg_Icons[0], ii, y1 + i, 0, 0, isize, 0)
        call SaveDestructableHandle(udg_FSS, 1200 + a * 2, 0, d)
        call SaveReal(udg_FSS, 1200 + a * 2, 1, ii)
        call SaveReal(udg_FSS, 1200 + a * 2, 2, y1 + i)
        call CreateTrackableAll (d, 1200 + a * 2)
        set d = CreateDestructableZ(udg_Icons[0], ii + 64, y1 + i, 0, 0, isize, 0)
        call SaveDestructableHandle(udg_FSS, 1200 + a * 2 + 1, 0, d)
        call SaveReal(udg_FSS, 1200 + a * 2 + 1, 1, ii + 64)
        call SaveReal(udg_FSS, 1200 + a * 2 + 1, 2, y1 + i)
        call CreateTrackableAll (d, 1200 + a * 2 + 1)

        set d = CreateDestructableZ(udg_Icons[0], ii + 390 - 64, y1 + i, 0, 0, isize, 0)
        call SaveDestructableHandle(udg_FSS, 1200 + a * 2 + 6, 0, d)
        call SaveReal(udg_FSS, 1200 + a * 2 + 6, 1, ii + 390 - 64)
        call SaveReal(udg_FSS, 1200 + a * 2 + 6, 2, y1 + i)
        call CreateTrackableAll (d, 1200 + a * 2 + 6)
        set d = CreateDestructableZ(udg_Icons[0], ii + 390, y1 + i, 0, 0, isize, 0)
        call SaveDestructableHandle(udg_FSS, 1200 + a * 2 + 7, 0, d)
        call SaveReal(udg_FSS, 1200 + a * 2 + 7, 1, ii + 390)
        call SaveReal(udg_FSS, 1200 + a * 2 + 7, 2, y1 + i)
        call CreateTrackableAll (d, 1200 + a * 2 + 7)
        set a = a + 1
        set i = i + 64
    endloop

    set a = 12
    set d = CreateDestructableZ(udg_Icons[31], x1 + 760+64, y1 + 220, bz, 0, 0.3, 0)
    call SaveDestructableHandle(udg_FSS, 1200 + a, 0, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Icons[31], x1 + 1020+64, y1 + 220, bz, 0, 0.3, 0)
    call SaveDestructableHandle(udg_FSS, 1200 + a, 0, d)


//create icon for tradelock (self)
    set d = CreateDestructableZ(udg_Icons[25], ii + 128, y1 + 96, bz, 0, 0.6, 0)
    call SaveDestructableHandle(udg_FSS, 1300, 0, d)
    call CreateTrackableAll (d, 1300)

    set d = CreateDestructableZ(udg_Icons[25], ii + 128, y1 + 32, bz, 0, 0.6, 0)
    call SaveDestructableHandle(udg_FSS, 1301, 0, d)
    call CreateTrackableAll (d, 1301)

//create icon for tradelock (for dummy player)
    set d = CreateDestructableZ(udg_Icons[25], ii + 262, y1 + 96, bz, 0, 0.6, 0)
    call SaveDestructableHandle(udg_FSS, 1302, 0, d)

    set d = CreateDestructableZ(udg_Icons[25], ii + 262, y1 + 32, bz, 0, 0.6, 0)
    call SaveDestructableHandle(udg_FSS, 1303, 0, d)

    set d = CreateDestructableZ(udg_Icons[30], ii + 128, y1 + 96, bz, 0, 0.6, 0)
    call SaveDestructableHandle(udg_FSS, 1310, 0, d)
    set d = CreateDestructableZ(udg_Icons[30], ii + 128, y1 + 32, bz, 0, 0.6, 0)
    call SaveDestructableHandle(udg_FSS, 1311, 0, d)
    set d = CreateDestructableZ(udg_Icons[30], ii + 262, y1 + 96, bz, 0, 0.6, 0)
    call SaveDestructableHandle(udg_FSS, 1312, 0, d)
    set d = CreateDestructableZ(udg_Icons[30], ii + 262, y1 + 32, bz, 0, 0.6, 0)
    call SaveDestructableHandle(udg_FSS, 1313, 0, d)

    call SaveUnitHandle(udg_FSS, 550, 0, CreateUnit(Player(13), udg_DummyVillager, x1 + 600, y1 + 250, 90))

//------------------------------------------------------
//              shop interface
//------------------------------------------------------
    set a = 0
    set i = 0

    set is = 0.62
//lu
//this the main category borders
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[0], x1 + 800, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 800, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 1120, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 1120, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)

//sub category borders
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[0], x1 + 480, y1 + 384, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 480, y1 + 384, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 1120, y1 + 384, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 1120, y1 + 384, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)

//right bottom - tooltip box corner
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[0], x1 + 864, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 864, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 1184, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 1184, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)

//here the inventory+gold and item list borders
    set b = - a
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[0], x1 + 384, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    call SaveDestructableHandle(udg_FSS, 2423, a + b, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 704, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    call SaveDestructableHandle(udg_FSS, 2423, a + b, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 384, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    call SaveDestructableHandle(udg_FSS, 2423, a + b, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 704, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    call SaveDestructableHandle(udg_FSS, 2423, a + b, d)
    set b = a + b

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[0], x1 + 0, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[0], x1 + 0, y1 + 256, bz + 1, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 256, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 256, y1 + 256, bz + 1, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 0, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 256, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 256, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 0, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 256, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[0], x1 + 0, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)

    set i = 64

    loop
        exitwhen i > 192
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[5], x1 + i, y1 + 512, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000, a, d)
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[4], x1 + i, y1 + 512, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000, a, d)
        set a = a + 1
        set b = b + 1
        set d = CreateDestructableZ(udg_Borders[5], x1 + i + 384, y1 + 0, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000, a, d)
        call SaveDestructableHandle(udg_FSS, 2423, b, d)
        set a = a + 1
        set b = b + 1
        set d = CreateDestructableZ(udg_Borders[4], x1 + i + 384, y1 + 192, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000, a, d)
        call SaveDestructableHandle(udg_FSS, 2423, b, d)
        set i = i + 64
    endloop


    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[5], x1 + i + 384, y1 + 0, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    call SaveDestructableHandle(udg_FSS, 2423, b + 1, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[4], x1 + i + 384, y1 + 192, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    call SaveDestructableHandle(udg_FSS, 2423, b + 2, d)

    set i = 800
    loop
        exitwhen i > 1120
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[4], x1 + i, y1 + 512, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000, a, d)
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[5], x1 + i, y1 + 512, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000, a, d)
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[4], x1 + i + 64, y1 + 192, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000, a, d)
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[5], x1 + i + 64, y1 + 0, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000, a, d)
        set i = i + 64
    endloop

    set i = 480
    loop
        exitwhen i > 1120
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[4], x1 + i, y1 + 384, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000, a, d)
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[5], x1 + i, y1 + 384, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000, a, d)
        set i = i + 64
    endloop

    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[6], x1 + 384, y1 + 64, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    call SaveDestructableHandle(udg_FSS, 2423, b + 3, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[6], x1 + 384, y1 + 128, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    call SaveDestructableHandle(udg_FSS, 2423, b + 4, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[7], x1 + 704, y1 + 64, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    call SaveDestructableHandle(udg_FSS, 2423, b + 5, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[7], x1 + 704, y1 + 128, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    call SaveDestructableHandle(udg_FSS, 2423, b + 6, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[6], x1 + 864, y1 + 64, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[6], x1 + 864, y1 + 128, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[7], x1 + 1184, y1 + 64, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[7], x1 + 1184, y1 + 128, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2000, a, d)
//create category icons and trackables 2001-2100
    set a = 0
    set i = 800
    loop
        exitwhen i > 1120
        set a = a + 1
        set d = CreateDestructableZ(udg_Icons[0], x1 + i, y1 + 512, 0, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2000 + a, 0, d)
        call SaveReal(udg_FSS, 2000 + a, 1, x1 + i)
        call SaveReal(udg_FSS, 2000 + a, 2, y1 + 512)
        call CreateTrackableAll (d, 2000 + a)
        set i = i + 64
    endloop

//create global category, what same to every shopper

    set d = CreateDestructableZ('B00H', x1 + 800, y1 + 512, bz + 1, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2100, 0, d)
    set d = CreateDestructableZ('B013', x1 + 864, y1 + 512, bz + 1, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2100, 1, d)
    set d = CreateDestructableZ('B00J', x1 + 928, y1 + 512, bz + 1, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2100, 2, d)
    set d = CreateDestructableZ('B00F', x1 + 996, y1 + 512, bz + 1, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2100, 3, d)
    set d = CreateDestructableZ('B00S', x1 + 1060, y1 + 512, bz + 1, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2100, 4, d)
    set d = CreateDestructableZ('B019', x1 + 1124, y1 + 512, bz + 1, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2100, 5, d)
//dummy gold icon for inventory
    set d = CreateDestructableZ(udg_Icons[31], x1, y1 + 270, bz, 0, 0.3, 0)
    call SaveDestructableHandle(udg_FSS, 2100, 6, d)


//create subcategory icons and trackables 2101-2200
    set a = 0
    set i = 480
    loop
        exitwhen i > 1120
        set a = a + 1
        set d = CreateDestructableZ(udg_Icons[0], x1 + i, y1 + 384, 0, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 2100 + a, 0, d)
        call SaveReal(udg_FSS, 2100 + a, 1, x1 + i)
        call SaveReal(udg_FSS, 2100 + a, 2, y1 + 384)
        call CreateTrackableAll (d, 2100 + a)
        set i = i + 64
    endloop

//create item lists
    set a = 0
//set a = a + 1
    set d = CreateDestructableZ(udg_Icons[0], x1 + 384, y1 + 192, 0, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2200 + a, 0, d)
    call SaveReal(udg_FSS, 2200 + a, 1, x1 + 384 + 64)
    call SaveReal(udg_FSS, 2200 + a, 2, y1 + 128)
//call CreateTrackableAll (d, 2200+a)

    set ii = 192
    loop
        set i = 384
        exitwhen ii < 0
        loop
            exitwhen i > 704
            set a = a + 1
            set d = CreateDestructableZ(udg_Icons[0], x1 + i, y1 + ii, 0, 0, is, 0)
            call SaveDestructableHandle(udg_FSS, 2200 + a, 0, d)
            call SaveReal(udg_FSS, 2200 + a, 1, x1 + i)
            call SaveReal(udg_FSS, 2200 + a, 2, y1 + ii)
            if not ((i == 448 + 64 and ii < 192) or (i == 576 + 64 and ii < 192)) then
                call CreateTrackableAll (d, 2200 + a)
            endif
            set i = i + 64
        endloop
        set ii = ii - 64
    endloop
//create buy button
    set d = CreateDestructableZ(udg_Icons[20], x1 + 512, y1 + 288, 0, 0, 0.5, 0)
    call SaveDestructableHandle(udg_FSS, 2301, 0, d)
    call SaveReal(udg_FSS, 2301, 1, x1 + 512)
    call SaveReal(udg_FSS, 2301, 2, y1 + 288)
    call CreateTrackableAll (d, 2301)
//create craft button
    set d = CreateDestructableZ(udg_Icons[21], x1 + 576, y1 + 288, 0, 0, 0.5, 0)
    call SaveDestructableHandle(udg_FSS, 2302, 0, d)
    call SaveReal(udg_FSS, 2302, 1, x1 + 576)
    call SaveReal(udg_FSS, 2302, 2, y1 + 288)
    call CreateTrackableAll (d, 2302)
//create quit button
    set d = CreateDestructableZ(udg_Icons[23], x1 + 640, y1 + 288, 0, 0, 0.5, 0)
    call SaveDestructableHandle(udg_FSS, 2300, 0, d)
    call SaveReal(udg_FSS, 2300, 1, x1 + 640)
    call SaveReal(udg_FSS, 2300, 2, y1 + 288)
    call CreateTrackableAll (d, 2300)


//crafter box corners
    set d = CreateDestructableZ(udg_Borders[0], x1 + 512, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2400, 0, d)
    set d = CreateDestructableZ(udg_Borders[1], x1 + 512, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2400, 1, d)
    set d = CreateDestructableZ(udg_Borders[2], x1 + 640, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2400, 2, d)
    set d = CreateDestructableZ(udg_Borders[3], x1 + 640, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2400, 3, d)
    set d = CreateDestructableZ(udg_Borders[5], x1 + 576, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2400, 4, d)
    set d = CreateDestructableZ(udg_Borders[4], x1 + 576, y1 + 512, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 2400, 5, d)
//create craft materia slot 1
    set d = CreateDestructableZ(udg_Icons[0], x1 + 512, y1 + 512, 0, 0, 0.5, 0)
    call SaveDestructableHandle(udg_FSS, 2303, 0, d)
    call SaveReal(udg_FSS, 2303, 1, x1 + 512)
    call SaveReal(udg_FSS, 2303, 2, y1 + 512)
    call CreateTrackableAll (d, 2303)
//create craft materia slot 2
    set d = CreateDestructableZ(udg_Icons[0], x1 + 576, y1 + 512, 0, 0, 0.5, 0)
    call SaveDestructableHandle(udg_FSS, 2304, 0, d)
    call SaveReal(udg_FSS, 2304, 1, x1 + 576)
    call SaveReal(udg_FSS, 2304, 2, y1 + 512)
    call CreateTrackableAll (d, 2304)
//create craft materia slot 3
    set d = CreateDestructableZ(udg_Icons[0], x1 + 640, y1 + 512, 0, 0, 0.5, 0)
    call SaveDestructableHandle(udg_FSS, 2305, 0, d)
    call SaveReal(udg_FSS, 2305, 1, x1 + 640)
    call SaveReal(udg_FSS, 2305, 2, y1 + 512)
    call CreateTrackableAll (d, 2305)
//craft prgress bar borders
    set is = 0.25
    set a = 0
    set d = CreateDestructableZ(udg_Borders[0], x1 + 873, y1 + 288, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 675, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[1], x1 + 873, y1 + 288, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 675, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[2], x1 + 1173, y1 + 288, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 675, a, d)
    set a = a + 1
    set d = CreateDestructableZ(udg_Borders[3], x1 + 1173, y1 + 288, bz, 0, is, 0)
    call SaveDestructableHandle(udg_FSS, 675, a, d)
    set i = 873
    loop
        exitwhen i > 1173
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[4], x1 + i, y1 + 288, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 675, a, d)
        set a = a + 1
        set d = CreateDestructableZ(udg_Borders[5], x1 + i, y1 + 288, bz, 0, is, 0)
        call SaveDestructableHandle(udg_FSS, 675, a, d)
        set i = i + 25
    endloop
    set d = null
    call DisableTrigger( GetTriggeringTrigger() )
endfunction

//===========================================================================
function InitTrig_Create_Interface takes nothing returns nothing
    set gg_trg_Create_Interface = CreateTrigger( )
    call TriggerRegisterTimerEventSingle( gg_trg_Create_Interface, 1.00 )
    call TriggerAddAction( gg_trg_Create_Interface, function Trig_Untitled_Trigger_003_Actions )
endfunction
Last edited:
Top