Hi all!!
I have a question about the Admin GUI - The Vehicle Cursomization GUI:
I will copy this gui to my [new] script, I have many things searched in Google, here on forum and in lua scripts ( the admin script ), but i can't find it.
Help me please!!
PS. I'm new in Lua Scripting...
@EDIT:
I have that found in freeroam:
---------------------------
-- Vehicle upgrades
---------------------------
function upgradesInit()
local vehicle = getPedOccupiedVehicle(g_Me)
if not vehicle then
errMsg('Please enter a vehicle to change the upgrades of.')
closeWindow(wndUpgrades)
return
end
local installedUpgrades = getVehicleUpgrades(vehicle)
local compatibleUpgrades = {}
local slotName, group
for i,upgrade in ipairs(getVehicleCompatibleUpgrades(vehicle)) do
slotName = getVehicleUpgradeSlotName(upgrade)
group = table.find(compatibleUpgrades, 'name', slotName)
if not group then
group = { 'group', name = slotName, children = {} }
table.insert(compatibleUpgrades, group)
else
group = compatibleUpgrades[group]
end
table.insert(group.children, { id = upgrade, installed = table.find(installedUpgrades, upgrade) ~= false })
end
table.sort(compatibleUpgrades, function(a, b) return a.name < b.name end)
bindGridListToTable(wndUpgrades, 'upgradelist', compatibleUpgrades, true)
end
function selectUpgrade(leaf)
setControlText(wndUpgrades, 'addremove', leaf.installed and 'remove' or 'add')
end
function addRemoveUpgrade(selUpgrade)
-- Add or remove selected upgrade
local vehicle = getPedOccupiedVehicle(g_Me)
if not vehicle then
return
end
if not selUpgrade then
selUpgrade = getSelectedGridListLeaf(wndUpgrades, 'upgradelist')
if not selUpgrade then
return
end
end
if selUpgrade.installed then
-- remove upgrade
selUpgrade.installed = false
setControlText(wndUpgrades, 'addremove', 'add')
server.removeVehicleUpgrade(vehicle, selUpgrade.id)
else
-- add upgrade
local prevUpgradeIndex = table.find(selUpgrade.siblings, 'installed', true)
if prevUpgradeIndex then
selUpgrade.siblings[prevUpgradeIndex].installed = false
end
selUpgrade.installed = true
setControlText(wndUpgrades, 'addremove', 'remove')
server.addVehicleUpgrade(vehicle, selUpgrade.id)
end
end
wndUpgrades = {
'wnd',
text = 'Vehicle upgrades',
width = 300,
x = -20,
y = 0.3,
controls = {
{
'lst',
id='upgradelist',
width=280,
height=340,
columns={
{text='Upgrade', attr='id', width=0.6},
{text='Installed', attr='installed', width=0.3, enablemodify=true}
},
onitemclick=selectUpgrade,
onitemdoubleclick=addRemoveUpgrade
},
{'btn', id='addremove', text='add', width=60, onclick=addRemoveUpgrade},
{'btn', id='ok', closeswindow=true}
},
oncreate = upgradesInit
}
function addUpgradeCommand(cmd, upgrade)
local vehicle = getPedOccupiedVehicle(g_Me)
if vehicle and upgrade then
server.addVehicleUpgrade(vehicle, tonumber(upgrade) or 0)
end
end
addCommandHandler('addupgrade', addUpgradeCommand)
addCommandHandler('au', addUpgradeCommand)
function removeUpgradeCommand(cmd, upgrade)
local vehicle = getPedOccupiedVehicle(g_Me)
if vehicle and upgrade then
server.removeVehicleUpgrade(vehicle, tonumber(upgrade) or 0)
end
end
addCommandHandler('removeupgrade', removeUpgradeCommand)
addCommandHandler('ru', removeUpgradeCommand)
That's the freeroam GUI... I have tried with commandHandler like:
addCommandHandler('vehicleupgrade',upgradesInit())
But it doesn't Work... Any ideas?
--> I don't will use Freeroam!! I make a little gamescript for my Lan Server
@Edit 2: @Draken:
I have no ideas how i do it
-------------------------------------------------------
Sorry for my bad English