Lua chatbox

The Lua scripting language allows you to give your plugin more advanced features.
Previous topicNext topic
User avatar
Lakan Haraya
Metropolitan
Reactions:
Posts: 131
Joined: 28 Mar 2019, 07:34
Location: Philippines
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

Post by Lakan Haraya »

I would like to tap the building and then GUI will appear, how can I do that?
"ᜀᜃᜓ ᜀᜅ᜔ ᜁᜌᜓᜅ᜔ ᜑᜇᜌ"
CEO of Haráya Motors

“TheoTown Philippines Council”
“Kapulungan Ng Mga Nagkakaisang Lungsod”
User avatar
Hadestia
Inhabitant of a Megalopolis
Reactions:
Posts: 722
Joined: 17 Jul 2017, 14:16
Location: Philippines
Plugins: Showcase Store

Plugin Creator

Platform

Re: Lua chatbox

Post by Hadestia »

Lakan Haraya wrote: 16 Feb 2021, 06: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
Lua editor
Run
 ! Message from: Hadestia
Visit my YouTube channel:
https://youtube.com/channel/UC5qG-r8y21036JZbGRClbdQ
User avatar
ian`
Metropolitan
Reactions:
Posts: 117
Joined: 04 Apr 2020, 15:36
Location: 日本
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

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
Lua editor
Run
:bc
User avatar
erksmit
Villager
Reactions:
Posts: 24
Joined: 02 Mar 2018, 10:39
Plugins: Showcase Store
Version: Beta

Plugin Creator

Re: Lua chatbox

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
Inhabitant of a Multiverse
Reactions:
Posts: 5701
Joined: 10 Feb 2017, 12:53
Location: L2 cache
Plugins: Showcase Store

Plugin Creator

Platform

Re: Lua chatbox

Post by Bearbear76 »

erksmit wrote: 20 Feb 2021, 18: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.
Just my opinion
retired
User avatar
erksmit
Villager
Reactions:
Posts: 24
Joined: 02 Mar 2018, 10:39
Plugins: Showcase Store
Version: Beta

Plugin Creator

Re: Lua chatbox

Post by erksmit »

Bearbear76 wrote: 21 Feb 2021, 03:53
erksmit wrote: 20 Feb 2021, 18: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`
Metropolitan
Reactions:
Posts: 117
Joined: 04 Apr 2020, 15:36
Location: 日本
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

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.
:bc
User avatar
CommanderABab
AB
Reactions:
Posts: 11269
Joined: 07 Jun 2016, 19:12
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

Post by CommanderABab »

buildBuilding can't build RCI buildings,

Probably unzoned or incorrect level zone.
my avatar:
User avatar
ian`
Metropolitan
Reactions:
Posts: 117
Joined: 04 Apr 2020, 15:36
Location: 日本
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

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
:bc
User avatar
KINGTUT10101
1,000,000 inhabitants
Reactions:
Posts: 2211
Joined: 07 Jul 2016, 20:50
Location: 'Merica
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

Post by KINGTUT10101 »

I couldn't get buildBuilding() to work with RCI either.
y
yusuf8a684
Reactions:

Re: Lua chatbox

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)
y
yusuf8a684
Reactions:

Re: Lua chatbox

Post by yusuf8a684 »

yusuf8a684 wrote: 01 Jun 2021, 15: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)
d
dc11
Villager
Reactions:
Posts: 23
Joined: 13 May 2021, 00:23

Re: Lua chatbox

Post by dc11 »

Is it possible to automatically rebuild a building that has reached level TTT in Lua to level T?
d
dc11
Villager
Reactions:
Posts: 23
Joined: 13 May 2021, 00:23

Re: Lua chatbox

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: 722
Joined: 17 Jul 2017, 14:16
Location: Philippines
Plugins: Showcase Store

Plugin Creator

Platform

Re: Lua chatbox

Post by Hadestia »

dc11 wrote: 04 Jul 2021, 01:21

Is this a valid lua?
No, you should declare var "building" local outside the function
 ! Message from: Hadestia
Visit my YouTube channel:
https://youtube.com/channel/UC5qG-r8y21036JZbGRClbdQ
User avatar
Hadestia
Inhabitant of a Megalopolis
Reactions:
Posts: 722
Joined: 17 Jul 2017, 14:16
Location: Philippines
Plugins: Showcase Store

Plugin Creator

Platform

Re: Lua chatbox

Post by Hadestia »

Can i know how can i include explosion animation when removing buildings using "Builder.remove(x,y)"?
 ! Message from: Hadestia
Visit my YouTube channel:
https://youtube.com/channel/UC5qG-r8y21036JZbGRClbdQ
User avatar
Lobby
Inhabitant of a Supercluster
Reactions:
Posts: 3759
Joined: 26 Oct 2008, 10:34
Plugins: Showcase Store

Re: Lua chatbox

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.
User avatar
CERRERA
Townsman
Reactions:
Posts: 48
Joined: 25 Jan 2020, 04:19
Location: Philippines
Plugins: Showcase Store
Version: Beta

Plugin Creator

Platform

Re: Lua chatbox

Post by CERRERA »

20211206_232418.jpg
Anyone can help me?

If u press building or category you will go into link

Example I press the help category you will go to yt

Sorry Idk how lua works
You do not have the required permissions to view the files attached to this post.
Everything you can imagine is real
User avatar
kyoshimine1
Townsman
Reactions:
Posts: 50
Joined: 02 Oct 2020, 22:11
Location: Japan
Plugins: Showcase Store

Plugin Creator

Platform

Re: Lua chatbox

Post by kyoshimine1 »

I have a question. I was creating a new plugin and it occurred to me that I could use Lua to do something....

Let's say, if I wanted the property
"conductive":true
Turn false, but only after a certain time since I entered the city, for example 5 minutes.
Would it be possible to do something like that using Lua?
自分の街のプラグインを作るのが好きなんです・・・
また、ドット絵を描くのも好き!

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

Plugin Creator

Platform

Re: Lua chatbox

Post by Hadestia »

kyoshimine1 wrote: 22 Mar 2022, 15:51 I have a question. I was creating a new plugin and it occurred to me that I could use Lua to do something....

Let's say, if I wanted the property
"conductive":true
Turn false, but only after a certain time since I entered the city, for example 5 minutes.
Would it be possible to do something like that using Lua?
Do this method

Code: Select all    Reset

Debug.toast(Draft.orig.conductive)
Lua editor
Run
If it toast the value you put from its json probably you can change it dynamically
 ! Message from: Hadestia
Visit my YouTube channel:
https://youtube.com/channel/UC5qG-r8y21036JZbGRClbdQ
Previous topicNext topic