Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDQL2 bugfixes & features #271

Merged
merged 1 commit into from
Jun 2, 2024

Conversation

Zonespace27
Copy link
Contributor

About the pull request

Mirrored from cmss13-devs/cmss13#6270

Fixes

  • Fixed partially empty string being printed to chat when CALL query wasn't used
  • Fixed SDQL_print() not handling assoc lists-in-lists correctly

Features

  • SDQL2 tab now works. Also appears instantly instead of on next SSstatpanels fire.
  • Clients now can be selected without needing to add IN global.clients to a query.
  • Added LISTSOURCE option, taking arg OPTIMIZED. Adding this arg will use some CM-added lists (like GLOB.mob_list) instead of iterating over world. This arg does nothing if the list being queried isn't world.
  • Added SELECTPRINT option, taking arg NO_PRINT. Adding this arg will prevent the HTML window containing every object found using a SELECT query. Useful because assembling the HTML window is incredibly taxing on the server when SELECTing a massive amount of objects at once.
  • You can now call sleep() in SDQL queries by using global._sleep()
  • Added SINGLECALL query, taking an arg of object.proc_call(). This allows you to call a proc on an object (global, marked, SSticker, etc.) without needing to iterate over anything. Primarily useful for an in-between when chaining queries together.

For more details and examples, see my SDQL2 documentation.

Explain why it's good for the game

Fixes good, features that make SDQL2 better good.

Changelog

🆑
admin: Added LISTSOURCE and SELECTPRINT options to SDQL queries.
admin: Added SINGLECALL SQDL query.
admin: SDQL tab now works.
admin: Clients can now be selected with SDQL more easily.
/:cl:

- Fixed partially empty string being printed to chat when `CALL` query
wasn't used
- Fixed `SDQL_print()` not handling assoc lists-in-lists correctly

- SDQL2 tab now works. Also appears instantly instead of on next
`SSstatpanels` fire.
- Clients now can be selected without needing to add `IN global.clients`
to a query.
- Added `LISTSOURCE` option, taking arg `OPTIMIZED`. Adding this arg
will use some CM-added lists (like `GLOB.mob_list`) instead of iterating
over `world`. This arg does nothing if the list being queried isn't
`world`.
- Added `SELECTPRINT` option, taking arg `NO_PRINT`. Adding this arg
will prevent the HTML window containing every object found using a
`SELECT` query. Useful because assembling the HTML window is incredibly
taxing on the server when `SELECT`ing a massive amount of objects at
once.
- You can now call `sleep()` in SDQL queries by using `global._sleep()`
- Added `SINGLECALL` query, taking an arg of `object.proc_call()`. This
allows you to call a proc on an object (`global`, `marked`, `SSticker`,
etc.) without needing to iterate over anything. Primarily useful for an
in-between when chaining queries together.

For more details and examples, see [my SDQL2
documentation](https://hackmd.io/@mRAdleXgRfmKqh97O8ixSA/ryZ-oqE2c).
Fixes good, features that make SDQL2 better good.
:cl:
admin: Added LISTSOURCE and SELECTPRINT options to SDQL queries.
admin: Added SINGLECALL SQDL query.
admin: SDQL tab now works.
admin: Clients can now be selected with SDQL more easily.
/:cl:
@morrowwolf morrowwolf merged commit 68cdbf0 into cmss13-devs:master Jun 2, 2024
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants