Re: [WIP] GrimTK GUI Framework
Posted: Tue Aug 18, 2015 10:00 pm
Thank you so very much for tha fast answer, I will try it out tomorrow
Code: Select all
function updateCraftingInfoWindow()
if ( GTK.Core.GUI:getWindow(formName) == nil ) then return
else
local emplacement = crafting_altar
local window = GTK.Core.GUI:getWindow(formName)
local craftName = window:findChild("craftName");
local skillLevel = window:findChild("skillLevel");
local recipeNumberandDigit = window:findChild("recipeNumberandDigit");
local nameAndNumberOfItemToCraft = window:findChild("nameAndNumberOfItemToCraft");
local mainIcon1 = window:findChild("mainIcon1");
local difficultyAndItemSpecificKnowledge = window:findChild("difficultyAndItemSpecificKnowledge");
local majorAndMinorAttributes = window:findChild("majorAndMinorAttributes");
local component1Name = window:findChild("component1Name");
local component2Name = window:findChild("component2Name");
local component3Name = window:findChild("component3Name");
local compIcon1 = window:findChild("compIcon1");
local compIcon2 = window:findChild("compIcon2");
local compIcon3 = window:findChild("compIcon3");
local component1ReqDisp = window:findChild("component1ReqDisp");
local component2ReqDisp = window:findChild("component2ReqDisp");
local component3ReqDisp = window:findChild("component3ReqDisp");
local copperReqDisp = window:findChild("copperReqDisp");
local launchCrafting = window:findChild("launchCrafting");
local itemList = {}
if craftingSkills[counter_craft_skill] == "tinkering" then itemList = tinkering end
if craftingSkills[counter_craft_skill] == "alchemy" then itemList = alchemy end
if craftingSkills[counter_craft_skill] == "weaponsmith" then itemList = weaponsmith end
if craftingSkills[counter_craft_skill] == "armorsmith" then itemList = armorsmith end
if craftingSkills[counter_craft_skill] == "tailor" then itemList = tailor end
if craftingSkills[counter_craft_skill] == "leathercrafter" then itemList = leathercrafter end
if craftingSkills[counter_craft_skill] == "cook" then itemList = cook end
if craftingSkills[counter_craft_skill] == "jewelry" then itemList = jewelry end
if craftingSkills[counter_craft_skill] == "woodcrafter" then itemList = woodcrafter end
local itemToCraft = itemList[counter_craft_item]
if itemToCraft == nil then return end
print(itemToCraft.item)
local itemName,atlas,index
local spawnedItem = spawn(itemToCraft.item)
if spawnedItem ~= nil then
itemName = spawnedItem.item:getUiName()
--name = qualityName:gsub("^%l", string.upper).." "..itemName
atlas = spawnedItem.item:getGfxAtlas()
index = spawnedItem.item:getGfxIndex()
end
spawnedItem:destroy()
local recipeDifficulty = itemToCraft.difficulty
local bonus,specificItemKnowledge = returnCraftingExpertise(itemToCraft.item)
local skillLevelNum = cromlibrary.script.checkSkillLevel(craftingSkills[counter_craft_skill])
local skillLevelName = cromskills.script.translateLevel(skillLevelNum)
craftName.data.text = "You are now visiting the "..string.upper(craftingSkills[counter_craft_skill]).." workshop.";
skillLevel.data.text = "Your skill in this craft is : ".. string.upper(skillLevelName) .. "";
recipeNumberandDigit.data.text = "There are "..#itemList.." recipe(s) available. This is item N "..counter_craft_item..""
nameAndNumberOfItemToCraft.data.text = "Craft "..counter_number_item_to_craft.." "..itemName..""
mainIcon1.data.gfxAtlas = atlas
mainIcon1.data.gfxIndex = index
difficultyAndItemSpecificKnowledge.data.text = "Recipe difficulty is "..recipeDifficulty..". Specific item knowledge is "..string.upper(specificItemKnowledge)..""
majorAndMinorAttributes.data.text = "Major attribute: "..string.upper(itemToCraft.attributeMajor)..". Minor Attribute: "..string.upper(itemToCraft.attributeMinor).."."
-- default none components
component1Name.data.text = "None"
compIcon1.data.gfxAtlas = "mod_assets/textures/TLC_items.tga"
compIcon1.data.gfxIndex = 81
component2Name.data.text = "None"
compIcon2.data.gfxAtlas = "mod_assets/textures/TLC_items.tga"
compIcon2.data.gfxIndex = 81
component2ReqDisp.data.text = ""
component3Name.data.text = "None"
compIcon3.data.gfxAtlas = "mod_assets/textures/TLC_items.tga"
compIcon3.data.gfxIndex = 81
component3ReqDisp.data.text = ""
local launchCraftBool = true
--component 1
local spawnedComp1 = spawn(itemToCraft.comp1)
if spawnedComp1 ~= "" then
component1NameWritten = spawnedComp1.item:getUiName()
--name = qualityName:gsub("^%l", string.upper).." "..itemName
atlasComp1 = spawnedComp1.item:getGfxAtlas()
indexComp1 = spawnedComp1.item:getGfxIndex()
spawnedComp1:destroy()
end
local numberComp1Location = countItemOnLocation(crom_base_crafting_alcove_1,itemToCraft.comp1)
local numberComp1Global = itemToCraft.compnum1*counter_number_item_to_craft
local color1
if numberComp1Location >= numberComp1Global then
color1 = {51,204,0,255}
else
color1 = {204,0,51,255}
end
component1ReqDisp.data.text = ""..numberComp1Global.." / "..numberComp1Location..""
component1ReqDisp.data.textColor = color1
component1Name.data.text = ""..component1NameWritten..""
compIcon1.data.gfxAtlas = atlasComp1
compIcon1.data.gfxIndex = indexComp1
if numberComp1Location < numberComp1Global then launchCraftBool = false end
if itemToCraft.comp2 ~= "" then
local spawnedComp2 = spawn(itemToCraft.comp2)
local component2NameWritten = spawnedComp2.item:getUiName()
--name = qualityName:gsub("^%l", string.upper).." "..itemName
local atlasComp2= spawnedComp2.item:getGfxAtlas()
local indexComp2 = spawnedComp2.item:getGfxIndex()
spawnedComp2:destroy()
local numberComp2Location = countItemOnLocation(crom_base_crafting_alcove_1,itemToCraft.comp2)
local numberComp2Global = itemToCraft.compnum2*counter_number_item_to_craft
local color2
if numberComp2Location >= numberComp2Global then
color2 = {51,204,0,255}
else
color2 = {204,0,51,255}
end
if numberComp2Location < numberComp2Global then launchCraftBool = false end
component2ReqDisp.data.text = ""..numberComp2Global.." / "..numberComp2Location..""
component2ReqDisp.data.textColor = color2
component2Name.data.text = ""..component2NameWritten..""
compIcon2.data.gfxAtlas = atlasComp2
compIcon2.data.gfxIndex = indexComp2
end
if itemToCraft.comp3 ~= "" then
--local numberComp1countItemOnLocation(location,item)
local spawnedComp3 = spawn(itemToCraft.comp3)
local component3NameWritten = spawnedComp3.item:getUiName()
--name = qualityName:gsub("^%l", string.upper).." "..itemName
local atlasComp3= spawnedComp3.item:getGfxAtlas()
local indexComp3 = spawnedComp3.item:getGfxIndex()
spawnedComp3:destroy()
local numberComp3Location = countItemOnLocation(crom_base_crafting_alcove_1,itemToCraft.comp3)
local numberComp3Global = itemToCraft.compnum3*counter_number_item_to_craft
local color3
if numberComp3Location >= numberComp3Global then
color3 = {51,204,0,255}
else
color3 = {204,0,51,255}
end
if numberComp3Location < numberComp3Global then launchCraftBool = false end
component3ReqDisp.data.text = ""..numberComp3Global.." / "..numberComp3Location..""
component3ReqDisp.data.textColor = color3
component3Name.data.text = ""..component3NameWritten..""
compIcon3.data.gfxAtlas = atlasComp3
compIcon3.data.gfxIndex = indexComp3
end
if launchCraftBool then
launchCrafting.data.textColor = {51,204,0,255}
launchCrafting.data.text = "Launch crafting."
else
launchCrafting.data.textColor = {204,0,51,255}
launchCrafting.data.text = "CAN'T CRAFT."
end
copperReqDisp.data.text = "None"
end
end
Code: Select all
function gtkDidLoad()
GTK.Core.GUI:addImage({ name="panel-bg", path="assets/textures/gui/gui_items.tga", origin={548, 2304}, size={582, 118}, margin={10, 10, 10, 10} });
form = {
name = formName,
type = "GWindow",
gravity = GTK.Constants.Gravity.North,
offset = {0, 0},
size = {800, 500},
bgColor = {0, 0, 0, 0},
bgImage = "panel-bg",
bgDrawMode = GTK.Constants.ImageDrawMode.Stretched,
draggable = true,
freezeAI = true,
lockParty = true,
children = {
{
type = "GLabel",
position = {300, 30},
size = {300, 20},
--gravity = GTK.Constants.Gravity.North,
text = "Crafting Station",
font = GTK.Constants.Fonts.Large,
--textAlign = GTK.Constants.TextAlign.Middle,
},
{
type = "GPushButton",
position = {680, 60},
size = {75, 20},
label = {
padding = {4, 4, 4, 4},
text = "Next",
},
--keyboardShortcut = "P",
onPressed = self.go.id .. ".script.increaseCraft"
},
{
type = "GPushButton",
position = {20, 60},
size = {90, 20},
label = {
padding = {4, 4, 4, 4},
text = "Previous",
},
--keyboardShortcut = "P",
onPressed = self.go.id .. ".script.decreaseCraft"
},
{
type = "GLabel",
name = "craftName",
position = {100, 57},
size = {600, 20},
text = "Welcome to the workshops. Choose a craft. ('Next' or 'Previous')",
font = GTK.Constants.Fonts.Medium,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "skillLevel",
position = {100, 80},
size = {600, 20},
text = "Choose a craft.",
font = GTK.Constants.Fonts.Medium,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "recipeNumberandDigit",
position = {100, 105},
size = {600, 20},
text = "Choose a craft",
font = GTK.Constants.Fonts.Medium,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GPushButton",
position = {600, 145},
size = {150, 20},
label = {
padding = {4, 4, 4, 4},
text = "Next Recipe",
},
--keyboardShortcut = "P",
onPressed = self.go.id .. ".script.increaseItem"
},
{
type = "GPushButton",
position = {40, 145},
size = {160, 20},
label = {
padding = {4, 4, 4, 4},
text = "Previous Recipe",
},
--keyboardShortcut = "P",
onPressed = self.go.id .. ".script.decreaseItem"
},
{
type = "GLabel",
name = "nameAndNumberOfItemToCraft",
position = {200, 145},
size = {400, 20},
text = "Craft 1 BIDULE",
font = GTK.Constants.Fonts.Medium,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GIcon",
name = "mainIcon1",
position = {350, 170},
size = {100, 100},
bgColor = {0, 0, 0, 50},
borderColor = {0, 0, 0, 255},
borders = {1, 1, 1, 1},
--gfxAtlas = "",
gfxIndex = 0,
},
{
type = "GPushButton",
position = {550, 145},
size = {50, 20},
label = {
padding = {4, 4, 4, 4},
text = "More",
},
--keyboardShortcut = "P",
onPressed = self.go.id .. ".script.increasenumberOfItem"
},
{
type = "GPushButton",
position = {200, 145},
size = {40, 20},
label = {
padding = {4, 4, 4, 4},
text = "Less",
},
--keyboardShortcut = "P",
onPressed = self.go.id .. ".script.decreasenumberOfItem"
},
{
type = "GLabel",
name = "difficultyAndItemSpecificKnowledge",
position = {50, 280},
size = {700, 20},
text = "Recipe difficulty is XXX. Your specific item crafting knowledge is AAAA",
font = GTK.Constants.Fonts.Medium,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "majorAndMinorAttributes",
position = {50, 305},
size = {700, 20},
text = "Major Attribute: XXXX / Minor Attribute: YYYYYYYYYYY",
font = GTK.Constants.Fonts.Medium,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "requiredAndDisposedComponents",
position = {100, 330},
size = {600, 20},
text = "Required/On station Components",
font = GTK.Constants.Fonts.Medium,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "component1Name",
position = {80, 355},
size = {160, 10},
text = "Component 1 Name",
font = GTK.Constants.Fonts.Tiny,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "component2Name",
position = {240, 355},
size = {160, 10},
text = "Component 2 Name",
font = GTK.Constants.Fonts.Tiny,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "component3Name",
position = {400, 355},
size = {160, 10},
text = "Component 3 Name",
font = GTK.Constants.Fonts.Tiny,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "cost",
position = {560, 355},
size = {160, 10},
text = "Cost in copper",
font = GTK.Constants.Fonts.Tiny,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GIcon",
name = "compIcon1",
position = {135, 370},
size = {50, 50},
bgColor = {0, 0, 0, 50},
borderColor = {0, 0, 0, 255},
borders = {1, 1, 1, 1},
--gfxAtlas = "",
gfxIndex = 0,
},
{
type = "GIcon",
name = "compIcon2",
position = {295, 370},
size = {50, 50},
bgColor = {0, 0, 0, 50},
borderColor = {0, 0, 0, 255},
borders = {1, 1, 1, 1},
--gfxAtlas = "",
gfxIndex = 0,
},
{
type = "GIcon",
name = "compIcon3",
position = {455, 370},
size = {50, 50},
bgColor = {0, 0, 0, 50},
borderColor = {0, 0, 0, 255},
borders = {1, 1, 1, 1},
--gfxAtlas = "",
gfxIndex = 0,
},
{
type = "GIcon",
name = "copperIcon",
position = {615, 370},
size = {50, 50},
bgColor = {0, 0, 0, 50},
borderColor = {0, 0, 0, 255},
borders = {1, 1, 1, 1},
gfxAtlas = "mod_assets/textures/TLC_items.tga",
gfxIndex = 20,
},
{
type = "GLabel",
name = "component1ReqDisp",
position = {80, 425},
size = {160, 10},
text = "/",
font = GTK.Constants.Fonts.Tiny,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "component2ReqDisp",
position = {240, 425},
size = {160, 10},
text = "/",
font = GTK.Constants.Fonts.Tiny,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "component3ReqDisp",
position = {400, 425},
size = {160, 10},
text = "/",
font = GTK.Constants.Fonts.Tiny,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GLabel",
name = "copperReqDisp",
position = {560, 425},
size = {160, 10},
text = "/",
font = GTK.Constants.Fonts.Tiny,
textAlign = GTK.Constants.TextAlign.Center,
},
{
type = "GPushButton",
position = {200, 450},
size = {400, 20},
name = "launchCrafting",
label = {
padding = {1, 1, 1, 1},
text = "LAUNCH CRAFTING (or not)",
font = GTK.Constants.Fonts.Large,
textAlign = GTK.Constants.TextAlign.Center,
},
--keyboardShortcut = "P",
onPressed = self.go.id .. ".script.craftItem"
},
{
type = "GPushButton",
position = {20, 450},
size = {100, 20},
label = {
padding = {4, 4, 4, 4},
text = "Check tool",
},
--keyboardShortcut = "P",
onPressed = self.go.id .. ".script.checkToolQuality"
},
{
type = "GPushButton",
position = {700, 450},
size = {70, 20},
name = "Exit",
label = {
padding = {1, 1, 1, 1},
text = "Quit",
font = GTK.Constants.Fonts.Small,
textAlign = GTK.Constants.TextAlign.Center,
},
--keyboardShortcut = "P",
onPressed = self.go.id .. ".script.hideGui"
},
}
}
end
Can you give a look at my precedent post? I am blocked, some help will be very appreciated! Thanks!JohnWordsworth wrote:Could you post the whole script file?
I send him a PM a few days ago, without any result , but I understand that it could be difficult for him to spent time in these exchanges about LG.THOM wrote:I made good experiences in contacting John by PM. Probably he isn't always aware what's going on in the threads...
Code: Select all
if launchCraftBool then
launchCrafting.data.textColor = {51,204,0,255}
launchCrafting.data.text = "Launch crafting."
else
launchCrafting.data.textColor = {204,0,51,255}
launchCrafting.data.text = "CAN'T CRAFT."
end
Code: Select all
if launchCraftBool then
launchCrafting.label.data.textColor = {51,204,0,255}
launchCrafting.label.data.text = "Launch crafting."
else
launchCrafting.label.data.textColor = {204,0,51,255}
launchCrafting.label.data.text = "CAN'T CRAFT."
end