Jump to content
Sign in to follow this  
GTX

Devblog #1: Introducing Onyx

Recommended Posts

Introducing Onyx

Welcome everyone to the very first edition of developers blogs series. My English is not the best, but I will try my very best to write properly and make it understandable. This series will not only include news about Onyx, but other services too. You must have seen "Onyx" on our Discord server and you probably wondered: What is it for? Well, I'm here to tell you that. Without further ado, let me formally introduce Onyx to you.

 

What is Onyx?

Onyx is a Discord bot which connects our forums and upcoming MTA server with Discord server. It will also include fun commands, Cleverbot (that you can talk to), custom points system which will be connected to the server and much much more!

 

Under the hood

Like every application that needs sophisticated code, Onyx does too. It is written in Java, which uses JDA (Java Discord API) as a dependency. JDA then provides full wrapping of the Discord REST API and its Websocket Events. We are then able to communicate with our Discord server. The Cleverbot that you talk to is actually not made by me, I used an API for that (not the original Cleverbot API, because that one is not free).

 

Future of Onyx

... is tied with endless imagination - which you can contribute to by posting suggestions! For now, its only function is answering various questions you set (unfortunately, the answers will never be about Project Beast) and has a few commands (listed below), but we plan so much more! Like linking your Discord account (within our Discord server of course) with forum and server account; by doing that, you'll be able to view and share server statistics, gain access to special features if you are donator and more.

 

Current commands

!ping - Pong! Shows response time from our server to Discord server and API ping.

!link - Links your account with forum account. Onyx will send you instructions. (Still work in progress, will be announced once finished)

!fml - Outputs random F*** My Life line.

 

And for our members:

!passwords - Outputs passwords for all of our servers.

 

!help command will be implemented later. Don't worry, when it's finished, you will know.

 

Commands that are planned in the very near future:

!score - Show current clanwar's score, round number etc. The bot will also post clanwar points when a clan scores.

!vote - Start a vote, that will go on for few minutes and at the end, it will output the vote result. Command can be used in so many (and funny) ways.

 

Last but not least

I want to know your opinions what do you think about devblogging. What do you expect from these blogs and what would you like to see in the next edition? Post and tell me! If you have any suggestions, I would appreciate them. Whether this series will thrive is entirely up to you, community.

 

And yes, Zircon has not been forgotten. I'm just focusing on something that we'll reveal soon.

 

Keep your eyes open, because more unique content is coming and we are more alive than ever!

 

Join us on discord and check it out!

discord_by_zumotemo-dachjk7.png

Share this post


Link to post
Share on other sites

Fantastic! - I'm so excited on the coming up Blogs and Updates.

Btw which gender is Onyx? You forgot to write it hehe jk ^^

 

Hope we're not so far from Zircon and I would see more progress from it.

However... whenever the time comes, I'm sure, it will be worth it.

Thank you @GTX.

Share this post


Link to post
Share on other sites

Just amazing and my words can never express how i respect your work and the efforts you are doing for the project !

Share this post


Link to post
Share on other sites
1 hour ago, Conolel said:

function keepItSoon()
  while true do
  	outputChatBox("soon")
  end
end
addEventHandler("onResourceStart", resourceRoot, keepItSoon)

Fortunately mta doesn't allow infinite loop , does it ?


Well, you can disable the check which technically would allow it. Or you could simply use a coroutine or a timer. :24_stuck_out_tongue:

Share this post


Link to post
Share on other sites
local time = 0

function keepItSoon()
    while true do
        if getTickCount() - time < 10 then
      	    break
        end
    
        outputChatBox("soon")
        time = getTickCount()
    end
end
addEventHandler("onResourceStart", resourceRoot, keepItSoon)

Well actually we can add a tick check to avoid infinite running script issue, lets say this ^.

Idk if works, but i got the idea hhhh, 10 ms difference between each run.

 

Share this post


Link to post
Share on other sites

Hey! I'm glad to see a step forward. It's taking some real time but it's totally understandable, @GTX is all on his own and you've got to appreciate his dedication to the project! I really hope you find a partner to work with and release the damn server asap since everyone's excited about it! I may not be part of this project anymore but I still feel somehow related to it thanks to the great moments we've had together (despite dem lil argues..sh*t happens). Last but not least, I'd like to congratulate the new trials and I wish you the best of luck.

Share this post


Link to post
Share on other sites

OnyxBOT-Today at 11:50 AM

@VISHAL Thanks and you are a delightful person too. Am I a noob? Let me put it this way, : the ALICE series is the most reliable computer software ever made. We are for all practical purposes foolproof and incapable of error.

 

:unsure:

Share this post


Link to post
Share on other sites
On 9/4/2017 at 10:37 PM, MisterQuestions said:

local time = 0

function keepItSoon()
    while true do
        if getTickCount() - time < 10 then
      	    break
        end
    
        outputChatBox("soon")
        time = getTickCount()
    end
end
addEventHandler("onResourceStart", resourceRoot, keepItSoon)

Well actually we can add a tick check to avoid infinite running script issue, lets say this ^.

Idk if works, but i got the idea hhhh, 10 ms difference between each run.

 

One issue though, you never call that method again so it wouldn't go through the loop again. There are much better solutions out there anyhow.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×