Page 9 of 10

Re: Lua chatbox

Posted: 01 Jan 2021, 10:14
by ian`
i got the other fact. if you call the build mode from createDraftDrawer, the draft will be added to the history as a new even if the draft in there before, not replace the last one. @Lobby Sorry to mention you, could you fix this bug?

Re: Lua chatbox

Posted: 01 Jan 2021, 13:42
by Lobby
Thanks, will fix that :bf

Re: Lua chatbox

Posted: 29 Jan 2021, 22:49
by 1Code

Code: Select all    Reset

GUI.addCanvas { w = 30, h = 30, onDraw = function(self, x, y, w, h, hoverX, hoverY) if hoverX ~= nil or hoverY ~= nil then Drawing.setColor(0, 0, 0) else Drawing.setColor(255, 255, 255) end Drawing.drawRect(x, y, w, h) end } --What do you think? Test this lua code on your PC ((not required but recommended) and reply with a screenshot or video)
Interactive Lua editor
Run

Re: Lua chatbox

Posted: 16 Feb 2021, 08:53
by Lakan Haraya
I would like to tap the building and then GUI will appear, how can I do that?

Re: Lua chatbox

Posted: 16 Feb 2021, 09:12
by Hadestia
Lakan Haraya wrote: 16 Feb 2021, 08:53 I would like to tap the building and then GUI will appear, how can I do that?
Here's my script from my plugin for example

Code: Select all    Reset

local function BankMainUI() local dialog = GUI.createDialog{ icon = Icon.MONEY, title = 'Theonia Regional Bank', width = 350, height = 230, pause = true } local function addLine(label, height) local line = dialog.content:addLayout{height = height - 5} line:addLabel{text = label, w = 0} return line:addLayout{ x = 0} end local theme = dialog.content:addCanvas{ y = 35,onDraw=function(self,x,y,w,h) Drawing.setAlpha(1) Drawing.setColor(83,133,70) Drawing.drawNinePatch(NinePatch.PANEL,x,y,w,h) Drawing.reset() end} local layout stateUI = 'A' selection(dialog,stateUI,theme,layout) local button1 = addLine("",0) local function addSelectionButton(text, state,frame) button1:addButton{ icon = frame, w = -330, h = 30, frameDefault = NinePatch.TUTORIAL_UNMARK, frameDown = NinePatch.TUTORIAL_MARK, text = text, onClick = function(self)stateUI = state past2 = stateUI end, isPressed = function() return stateUI == state end } end addSelectionButton('Deposit','A',Icon.LOAD_PAYBACK) addSelectionButton('Withdraw', 'B',Icon.LOAN_TAKE) addSelectionButton('Loan', 'C',Icon.LOAN) addSelectionButton('Active Loan', 'AC',Icon.LOAN) addSelectionButton(nil,'info',Icon.HELP) end function script:click(x,y,level) local cv = Tile.isBuildingInConstruction(x,y) if not cv and not City.isSandbox() then BankMainUI() return false end end
Interactive Lua editor
Run

Re: Lua chatbox

Posted: 16 Feb 2021, 09:39
by ian`

Code: Select all    Reset

function script:click(x,y) if Tile.isBuildingWorking(x,y) then -- check the building is not in construction and not empty, has power, water, and road connection if needed. yourGUI() -- GUI function return false -- prevent the default dialog appears end end
Interactive Lua editor
Run

Re: Lua chatbox

Posted: 20 Feb 2021, 20:46
by erksmit
for the plugin im trying to make i need to notify a script in another draft when the user is done doing something, is this possible?

Re: Lua chatbox

Posted: 21 Feb 2021, 05:53
by Bearbear76
erksmit wrote: 20 Feb 2021, 20:46 for the plugin im trying to make i need to notify a script in another draft when the user is done doing something, is this possible?
I think using fun variables for simple numbers are good and for more complex stuff use storage.

Re: Lua chatbox

Posted: 21 Feb 2021, 16:36
by erksmit
Bearbear76 wrote: 21 Feb 2021, 05:53
erksmit wrote: 20 Feb 2021, 20:46 for the plugin im trying to make i need to notify a script in another draft when the user is done doing something, is this possible?
I think using fun variables for simple numbers are good and for more complex stuff use storage.
yeah i can pass the variables just fine, but i need to notify script 1 that script 2 is done doing stuff, while i can probably just look at a bools state every frame im wondering if theres something cleaner i can use

Re: Lua chatbox

Posted: 03 Mar 2021, 16:56
by ian`
why are there so many functions not works correctly now? :bt
buildBuilding can't build RCI buildings, also isBuildingBuildable always returns false when checking RCI buildings.
Draft:isPlugin() can't work properly, but if not Draft:isPlugin() it works fine.
City.createDraftDrawer(d): isSelectable() gets an error on certain drafts.

Re: Lua chatbox

Posted: 03 Mar 2021, 21:24
by CommanderABab
buildBuilding can't build RCI buildings,

Probably unzoned or incorrect level zone.

Re: Lua chatbox

Posted: 05 Mar 2021, 05:14
by ian`
i have tried it last year and the RCI buildings can be built but without the zoning, and a few months ago it can only be built in zones and those that already have buildings.

EDIT -------
Also Tile.getGroundDraft is not return the draft of the ground. when I use lua wrapper, it says 'LuaRepr'. :bt

Re: Lua chatbox

Posted: 06 Mar 2021, 21:05
by KINGTUT10101
I couldn't get buildBuilding() to work with RCI either.

Re: Lua chatbox

Posted: 01 Jun 2021, 17:16
by yusuf8a684
Can we use EVENT_CAR_REACHED for a specified car draft or does it takes the information of all cars target reaches?

And also City.spawncar(...) I tried using it but it didnt really did the work. Cars were spawning like how they are in the JSON code and not like the lua. I want them to only spawn in a time cycle (script.nextMonth)

Re: Lua chatbox

Posted: 05 Jun 2021, 22:44
by yusuf8a684
yusuf8a684 wrote: 01 Jun 2021, 17:16 Can we use EVENT_CAR_REACHED for a specified car draft or does it takes the information of all cars target reaches?

And also City.spawncar(...) I tried using it but it didnt really did the work. Cars were spawning like how they are in the JSON code and not like the lua. I want them to only spawn in a time cycle (script.nextMonth)
With a little hope to have an answer I also want to talk about notifications. I have made some notifications they are pop-uping at the times when I want but there is one problem I dont really know to fix...

I have put those notifications in script:nextMonth, yeah they pop up once it becomes next month but then they continue to pop up everyday. I want them to pop up once every month. How can I fix this (because this is annoying to close notifications every TT day)

Re: Lua chatbox

Posted: 16 Jun 2021, 00:36
by dc11
Is it possible to automatically rebuild a building that has reached level TTT in Lua to level T?

Re: Lua chatbox

Posted: 04 Jul 2021, 03:21
by dc11
local x,y

function script:init()
local building = Draft.getDraft('$prm_com02_01')
end

function script:daily (x, y, level)

local count = City.countBuildings(building)
for i, count do
x,y = City.getBuilding(i, building)
Builder.remove(x, y)
end
end


Is this a valid lua?

Re: Lua chatbox

Posted: 08 Jul 2021, 16:32
by Hadestia
dc11 wrote: 04 Jul 2021, 03:21

Is this a valid lua?
No, you should declare var "building" local outside the function

Re: Lua chatbox

Posted: 15 Aug 2021, 13:53
by Hadestia
Can i know how can i include explosion animation when removing buildings using "Builder.remove(x,y)"?

Re: Lua chatbox

Posted: 21 Nov 2021, 21:56
by Lobby
You don't. The explosion animation when removing a building is drawn by the removal tool itself so it cannot be drawn if the tool is not active.