Lua chatbox

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

Moderator: Plugin Moderators

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

#141

Post by 1Code »

Screenshot_20201022-205028_TheoTown.png
Screenshot_20201022-205028_TheoTown.png (31.95 KiB) Viewed 8313 times
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

#142

Post by Hadestia »

Check Gui Compendium @Jeremiah Stephens
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

#143

Post by Hadestia »

@Lobby is there any Runtime modules that detects user inputs in all Textfields?

im making a text sensor that will censored all inappropriate words that the user used, this will be nice addon for the game if you want too :)
User avatar
Lobby
Developer
Reactions:
Posts: 3705
Joined: 26 Oct 2008, 12:34
Plugins: Showcase Store
Version: Beta

Platform

Re: Lua chatbox

#144

Post by Lobby »

I'm afraid there's no mechanism to do that.
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

#145

Post by ian` »

i think you can use string.gmatch and table of the "words" you want to censor.
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

#146

Post by Hadestia »

ian` wrote: 18 Nov 2020, 12:24 i think you can use string.gmatch and table of the "words" you want to censor.
I used string.gsub and works but can only censor Author name and City name :/
User avatar
CERRERA
Townsman
Reactions:
Posts: 48
Joined: 25 Jan 2020, 06:19
Location: Philippines
Plugins: Showcase Store
Version: Beta
Contact:

Plugin Creator

Platform

Re: Lua chatbox

#147

Post by CERRERA »

Can i use lua to make fence animation?
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

#148

Post by KINGTUT10101 »

I'm sorry for bother you Lua experts lately, but could you tell me how I could get a sidebar button to open the building tool for an item with the ID "test.kt101"? I haven't been able to find any documentation or examples of it.
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

#149

Post by Hadestia »

KINGTUT10101 wrote: 23 Dec 2020, 23:33 I'm sorry for bother you Lua experts lately, but could you tell me how I could get a sidebar button to open the building tool for an item with the ID test.kt101"? I haven't been able to find any documentation or examples of it.
Here refering from GUI compedium

Code: Select all    Reset

function script:buildCityGUI() -- Let's append the button to the sidebar line local sidebar = GUI.get('sidebarLine') local size = sidebar:getFirstPart():getChild(2):getWidth() local button = sidebar:getFirstPart():addButton{ width = size, height = size, icon = Icon.OK, frameDefault = Icon.NP_BLUE_BUTTON, frameDown = Icon.NP_BLUE_BUTTON_PRESSED, onClick = function() City.createDraftDrawer("test.kt101")end } end
Interactive Lua editor
Run
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

#150

Post by KINGTUT10101 »

Gosh darn undocumented functions. Thank you for the help.
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

#151

Post by Hadestia »

KINGTUT10101 wrote: 26 Dec 2020, 00:42 Gosh darn undocumented functions. Thank you for the help.
i forgot you need first to get the draft of the building by using Draft.getDraft("")
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

#152

Post by KINGTUT10101 »

Code: Select all

function script:buildCityGUI()
  -- Let's append the button to the sidebar line
  local sidebar = GUI.get('sidebarLine')
  local size = sidebar:getFirstPart():getChild(2):getWidth()
  local button = sidebar:getFirstPart():addButton{
    width = size,
    height = size,
    icon = Icon.BIGBIGBIG_MAP,
    frameDefault = Icon.NP_BLUE_BUTTON,
    frameDown = Icon.NP_BLUE_BUTTON_PRESSED,
    onClick = function() City.createDraftDrawer(Draft.getDraft("AreaTool.kt101"))end
  }
end
Should this work? I tried it in my project, but it didn't open the building tool after I pressed the button like I was hoping it would.
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

#153

Post by Hadestia »

KINGTUT10101 wrote: 30 Dec 2020, 02:34

Code: Select all

function script:buildCityGUI()
  -- Let's append the button to the sidebar line
  local sidebar = GUI.get('sidebarLine')
  local size = sidebar:getFirstPart():getChild(2):getWidth()
  local button = sidebar:getFirstPart():addButton{
    width = size,
    height = size,
    icon = Icon.BIGBIGBIG_MAP,
    frameDefault = Icon.NP_BLUE_BUTTON,
    frameDown = Icon.NP_BLUE_BUTTON_PRESSED,
    onClick = function() City.createDraftDrawer(Draft.getDraft("AreaTool.kt101"))end
  }
end
Should this work? I tried it in my project, but it didn't open the building tool after I pressed the button like I was hoping it would.
Ive done this before maybe try to remove the Draft.getDraft()
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

#154

Post by Hadestia »

:76: one more thing it can't open Draft that was hidden from building tool (hidden:true) unless you gonna move it to hidden categories
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

#155

Post by ian` »

You forgot to add .select() after draft drawer.

Code: Select all

City.createaDraftDrawer(draft).select()
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

#156

Post by KINGTUT10101 »

That worked! Thanks to you both.
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

#157

Post by KINGTUT10101 »

I think I found a bug or maybe an oversight in my coding. I am using that function to open the building tool when a sidebar button is pressed, but it creates multiple instances of the item in the recent tab for every time I push the button:
image.png
Oddly enough, these extra instances will disappear after the GUI is refreshed. Is there a way I could fix this?
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

#158

Post by ian` »

KINGTUT10101 wrote: 31 Dec 2020, 01:09 I think I found a bug or maybe an oversight in my coding. I am using that function to open the building tool when a sidebar button is pressed, but it creates multiple instances of the item in the recent tab for every time I push the button:
image.png
Oddly enough, these extra instances will disappear after the GUI is refreshed. Is there a way I could fix this?
It is. I just realized that thing happen on my plugin (the sidebar small button). I thought it no problem because there are not multiple build mode.

To prevent that, you can try this code

Code: Select all

if City.createDraftDrawer(draft):getHistory()[1] ~= selectId then
   City.createDraftDrawer(selectDraft).select()
 end
If that code not work, try to make local var of the history.
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

#159

Post by Hadestia »

ian` wrote: 31 Dec 2020, 11:40
KINGTUT10101 wrote: 31 Dec 2020, 01:09 I think I found a bug or maybe an oversight in my coding. I am using that function to open the building tool when a sidebar button is pressed, but it creates multiple instances of the item in the recent tab for every time I push the button:
image.png
Oddly enough, these extra instances will disappear after the GUI is refreshed. Is there a way I could fix this?
It is. I just realized that thing happen on my plugin (the sidebar small button). I thought it no problem because there are not multiple build mode.

To prevent that, you can try this code

Code: Select all

if City.createDraftDrawer(draft):getHistory()[1] ~= selectId then
   City.createDraftDrawer(selectDraft).select()
 end
If that code not work, try to make local var of the history.
i think these will not work if there is already previous history
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

#160

Post by KINGTUT10101 »

ian` wrote: 31 Dec 2020, 11:40
KINGTUT10101 wrote: 31 Dec 2020, 01:09 I think I found a bug or maybe an oversight in my coding. I am using that function to open the building tool when a sidebar button is pressed, but it creates multiple instances of the item in the recent tab for every time I push the button:
image.png
Oddly enough, these extra instances will disappear after the GUI is refreshed. Is there a way I could fix this?
It is. I just realized that thing happen on my plugin (the sidebar small button). I thought it no problem because there are not multiple build mode.

To prevent that, you can try this code

Code: Select all

if City.createDraftDrawer(draft):getHistory()[1] ~= selectId then
   City.createDraftDrawer(selectDraft).select()
 end
If that code not work, try to make local var of the history.
Unfortunately, it didn't seem to work for me. I did notice something though. One odd quirk about these multiple instances is that getHistory() ignores the extra ones, even if they fill the menu.
Post Reply Previous topicNext topic

Return to “Lua Scripting”