[h1]StoneJam 3: Into the Unknown[/h1] Join the Stone Story community as we kick off November with the return of Stone Story RPG’s jam event! Over the past few months, we’ve added a vast array of new features to Stonescript, pushing the boundaries of what is possible in Stone Story. Take part in StoneJam 3 and show off your creations! [i]You can find a full list of changes to Stonescript at the bottom of this announcement.[/i] [h2]What is Stonescript?[/h2] Stonescript is a scripting language built into Stone Story RPG, used for modifying the character's AI. Easy to use yet powerful, scripts can be as simple as automating potions if your health gets low or optimizing combat to super-human levels. Stonescript can also be used to manipulate a number of in-game elements, like the UI or player cosmetics. Put your avatar in a flying mecha, give them a fancy hat, or create a dynamic healthbar! If you’ve not yet explored the Mind Stone or need a refresher, check out the Stonescript tutorial we’ve written up here: https://stonestoryrpg.com/stonescript [h2]What is StoneJam about?[/h2] With each new update we continue to expand what's possible with Stonescript. We want to see what YOU can create! Some of the projects that people have made with Stonescript include: [list][*] Minigames [*] Combat scripts [*] Animated pets and cosmetics [*] Custom UI elements [/list] Collaborations between participants are more than welcome. [h2]Previous StoneJam Entries[/h2] [h3]Disco Visor by Fyda[/h3] [img]https://clan.cloudflare.steamstatic.com/images//30519309/385423f8f64b4060c5f5e3b1fce29c18fcd71903.gif[/img] [h3]Stonemon by DarkLucifer69[/h3] [img]https://clan.cloudflare.steamstatic.com/images//30519309/d3866453f985e8c5642f28878c566d935c846eed.png[/img] [h3]SSRPG Idle by Fyda, raeborga, and Ace[/h3] [img]https://clan.cloudflare.steamstatic.com/images//30519309/909357c97ba2cf697177100de26f9129ea394010.png[/img] [h2]What do I get?[/h2] For StoneJam 3, all participants will receive a secret reward given out at the end of the Jam! We're also introducing an optional theme that you can use as inspiration for your projects. Our favorite submissions will be invited to be an official addition to the game, allowing players to activate your script with a simple “import” command. Submissions will be judged based on the following categories: Useful, Beautiful, Stability, or Epic. StoneJam 3's Theme is: [i][u][b]Into the Unknown[/b][/u][/i] [h2]When is StoneJam?[/h2] [b]StoneJam 3 will take place from now to Monday, November 9th[/b]. You’ll have all of that time to create and submit your scripts on our Discord server. [h2]How do I participate?[/h2] StoneJam 3 will be hosted [url=https://discord.com/invite/stonestoryrpg]on our community Discord server.[/url] You'll need to have the @stonejam role, which you can get by going to the #commands channel and typing !stonejam. Two new channels will be created for this event. Use #stonejam3-discuss for all discussion about the jam and reserve #stonejam3-submit for submitting entries. [h2]How do I submit my StoneJam entry?[/h2] Submission rules: 1. Inside your scripts, at the beginning of each file include: - Name/nickname of author or multiple names if multiple authors - Version number of the script - Instructions on how to use it 2. Drop your script into #stonejam3-submit, along with screenshots and/or gifs of your entry in action. 3. If a single entry involves multiple interdependent scripts, put them into a zip. 4. Submit different entries separately. 5. You can submit scripts created prior to the jam, as long as the jam week is used for meaningfully improving them. [h2]Resources for StoneJam[/h2] [h3]Stonescript Documentation[/h3] To see a full list of all possible functions, commands, and variables: https://stonestoryrpg.com/stonescript/manual.html [h3]Example of what high-level scripting looks like[/h3] https://www.youtube.com/watch?v=pR6QYxdGV9M [h3]Easy projects [/h3] [i]Introduction to Stonescript [/i]- This writeup gives you an overview of Stonescript's functionality, including variables, commands, and operators: https://stonestoryrpg.com/stonescript [i]Modding Guide[/i] - This walkthrough shows you how to import external scripts into the game. https://steamcommunity.com/sharedfiles/filedetails/?id=2003221477 [h3]ASCII-art Tutorial[/h3] [i]Video tutorial:[/i] https://www.youtube.com/watch?v=o5v-NS9o4yc [i]Follow-along Reference:[/i] https://stonestoryrpg.com/ascii_tutorial.html [h3]Reference guides[/h3] [i]All ASCII characters currently available to use in-game:[/i] https://cdn.discordapp.com/attachments/597668520888762388/683419636204699676/AvailableGlyphs.txt [i]Hex for all enchantment colors: [/i] Cyan: #02e5ff Yellow: #ffff62 Green: #32da5a Blue: #0063ff Red: #ff2222 [i]List of valid ?loc:[/i] rocky, deadwood, cave, shroom, haunted, crypt, bronze, icy, temple, nagaraja [h2] Changes to Stonescript[/h2] There have been several changes to Stonescript over the past few months. All new additions have been added to the Stonescript manual, but they are compiled here for ease of viewing: [h3]Arrays[/h3] [list] [*] Used to organize values and objects into a single variable [*] E.g. Headphones that generate notes (by link2_thepast) - [url=https://cdn.discordapp.com/attachments/597668520888762388/769777336471388210/Headphones.txt]https://cdn.discordapp.com/attachments/597668520888762388/769777336471388210/Headphones.txt[/url] [/list] [h3]Permanent storage[/h3] [list] [*] Values that persist when you leave a location or turn the game off. Exists separately from your primary save, so import scripts can access storage independently. [*] E.g. Recording goals or achievements such as High Score or Times Played. [/list] [h3]foe.state & foe.time[/h3] [list] [*] Numbers that represent a foe’s current state and the number of frames in the current state [*] E.g. [i]?foe.state = 2 what to do in state 2[/i] [/list] [h3]screen.i & screen.x[/h3] [list] [*] The screen's position in-game, as an index that increses when the player reaches the right-side and it slides over. [*] E.g. [i]>`0,0,Screen index = @screen.i@[/i] [/list] [h3]disable loadout input & enable loadout input[/h3] [list] [*] Prevents/Restores weapon loadouts from being saved or recalled with input keys. [/list] [h3]buffs.count & foe.buffs.count[/h3] [list] [*] The number of buffs (positive effects) on the player / the foe being targeted. [*] E.g. Can be used to trigger a loadout swap when an enemy reaches a certain number of buffs. [/list] [h3]buffs.string, debuffs.string & foe.buffs.string[/h3] [list] [*] A composite of information about all buffs/debuffs on the player/enemy. [*] E.g. [i]?buffs.count > 0 >`0,1,Player buffs = @buffs.string@[/i] [/list] [h3]item.CanActivate()[/h3] [list] [*] Returns true if it's possible to activate item abilities. False otherwise. [*] E.g. [i]?item.CanActivate() equip Bardiche activate R[/i] [/list] [h3]item.GetCooldown()[/h3] [list] [*] Returns the remaining cooldown time (in frames) for a given ability. [*] E.g. [i] ?foe = boss & item.GetCooldown("bardiche") <= 0 equip bardiche activate R[/i] [/list] [h3]string.Equals()[/h3] [list] [*] Takes two string parameters and returns true if they are exactly the same. Returns false otherwise. Case sensitive. [*] E.g. [i] var a = "foo" ?string.Equals(a, "foo") >The strings are equal : >They are NOT equal[/i] (The strings are equal in this case. string.Equals() evaluates to true) [/list] [h3]totalgp[/h3] [list] [*] The total "Gear Points" of your inventory, calculated from item star levels and enchantment bonuses. [*] E.g. [i]>My gear points = @totalgp@[/i] [/list]