Lua chatbox

The Lua scripting language allows you to give your plugin more advanced features.

Moderator: Plugin Moderators

User avatar
ian`
Supporter
Reactions:
Posts: 117
Joined: 04 Apr 2020, 17:36
Location: Indonesien
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

#161

Post 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?

User avatar
Lobby
Developer
Reactions:
Posts: 3705
Joined: 26 Oct 2008, 12:34
Plugins: Showcase Store
Version: Beta

Platform

Re: Lua chatbox

#162

Post by Lobby »

Thanks, will fix that :bf

User avatar
1Code
Inhabitant of a Megacity
Reactions:
Posts: 302
Joined: 30 Jan 2020, 16:56
Location: https://bit.ly/3P5dhnT
Plugins: Showcase Store

Plugin Creator

Platform

Re: Lua chatbox

#163

Post 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

User avatar
Lakan Haraya
Metropolitan
Reactions:
Posts: 131
Joined: 28 Mar 2019, 09:34
Location: Philippines
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

#164

Post by Lakan Haraya »

I would like to tap the building and then GUI will appear, how can I do that?

User avatar
Hadestia
Inhabitant of a Megalopolis
Reactions:
Posts: 727
Joined: 17 Jul 2017, 16:16
Location: Philippines
Plugins: Showcase Store
Contact:

Plugin Creator

Platform

Re: Lua chatbox

#165

Post 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

User avatar
ian`
Supporter
Reactions:
Posts: 117
Joined: 04 Apr 2020, 17:36
Location: Indonesien
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

#166

Post 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

User avatar
erksmit
Villager
Reactions:
Posts: 23
Joined: 02 Mar 2018, 12:39
Plugins: Showcase Store
Version: Beta

Plugin Creator

Re: Lua chatbox

#167

Post 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?

User avatar
Bearbear76
Former Bearbear65
Reactions:
Posts: 5730
Joined: 10 Feb 2017, 14:53
Location: L2 cache
Plugins: Showcase Store

Plugin Creator

Platform

Re: Lua chatbox

#168

Post 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.

User avatar
erksmit
Villager
Reactions:
Posts: 23
Joined: 02 Mar 2018, 12:39
Plugins: Showcase Store
Version: Beta

Plugin Creator

Re: Lua chatbox

#169

Post 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

User avatar
ian`
Supporter
Reactions:
Posts: 117
Joined: 04 Apr 2020, 17:36
Location: Indonesien
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

#170

Post 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.

User avatar
CommanderABab
AB
Reactions:
Posts: 11086
Joined: 07 Jun 2016, 21:12
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

#171

Post by CommanderABab »

buildBuilding can't build RCI buildings,

Probably unzoned or incorrect level zone.

User avatar
ian`
Supporter
Reactions:
Posts: 117
Joined: 04 Apr 2020, 17:36
Location: Indonesien
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

#172

Post 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

User avatar
KINGTUT10101
1,000,000 inhabitants
Reactions:
Posts: 2220
Joined: 07 Jul 2016, 22:50
Location: 'Merica
Plugins: Showcase Store
Version: Beta
Contact:

Plugin Creator

Platform

Re: Lua chatbox

#173

Post by KINGTUT10101 »

I couldn't get buildBuilding() to work with RCI either.

User avatar
yusuf8a684
Reactions:

Re: Lua chatbox

#174

Post 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)

User avatar
yusuf8a684
Reactions:

Re: Lua chatbox

#175

Post 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)

User avatar
dc11
Villager
Reactions:
Posts: 24
Joined: 13 May 2021, 02:23

Re: Lua chatbox

#176

Post by dc11 »

Is it possible to automatically rebuild a building that has reached level TTT in Lua to level T?

User avatar
dc11
Villager
Reactions:
Posts: 24
Joined: 13 May 2021, 02:23

Re: Lua chatbox

#177

Post 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?

User avatar
Hadestia
Inhabitant of a Megalopolis
Reactions:
Posts: 727
Joined: 17 Jul 2017, 16:16
Location: Philippines
Plugins: Showcase Store
Contact:

Plugin Creator

Platform

Re: Lua chatbox

#178

Post by Hadestia »

dc11 wrote:
04 Jul 2021, 03:21


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

User avatar
Hadestia
Inhabitant of a Megalopolis
Reactions:
Posts: 727
Joined: 17 Jul 2017, 16:16
Location: Philippines
Plugins: Showcase Store
Contact:

Plugin Creator

Platform

Re: Lua chatbox

#179

Post by Hadestia »

Can i know how can i include explosion animation when removing buildings using "Builder.remove(x,y)"?

User avatar
Lobby
Developer
Reactions:
Posts: 3705
Joined: 26 Oct 2008, 12:34
Plugins: Showcase Store
Version: Beta

Platform

Re: Lua chatbox

#180

Post 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.

Post Reply Previous topicNext topic

Return to “Lua Scripting”