[Community Event] Streetside Sorcery
Doing Perchance.org things…
Links
- Perchance: vionet20-gens
- Mastodon: [email protected]
- Reddit: /u/VioneT20
Doing Perchance.org things…
Links
[Community Event] Streetside Sorcery
[Community Event] Brambleroot Academy
[https://user.uploads.dev/file/d451b9337ef34c41ed38212cb7174884.webp] # The Piracy of GSC-1020 > Link to Events in Perchance Hub [https://perchance.org/hub#Events] Fifth Character Jam. Create and share characters for the ai-character-chat that is within the given theme/scenario. Under the Galilean Shipping Consortium, the GSC-1020 aka “Milky Way Mule”, is an interstellar cargo ship for long and slow cargo, currently passing through the Gliese Strait. Scenario: An interstellar cargo ship is intercepted by space pirates. When: 11 June 2025 12:00:00 GMT to 02 July 2025 12:00:00 GMT Rules * Limit NSFW Characters * Preferably OC Characters — Submission Comment Format: # Character Name - by Author Description... [Character Chat Link](https://perchance.org/ai-character-chat...) You can also now directly submit on the comments plugin on the event page @ Perchance Hub [https://perchance.org/hub#Events]. ::: spoiler Perchance Metadata perchance_data // This Part is Required for the Perchance Hub // This would be where the Event Organizer would change the data to update the Hub // Remember to indent with two spaces! // List About the Event to be displayed on the Hub metadata title = The Piracy of GSC-1020 description = Fifth Character Jam. Create and share characters for the `ai-character-chat` that is within the given theme/scenario. Scenario: An interstellar cargo ship is intercepted by space pirates. Under the Galilean Shipping Consortium, the GSC-1020 aka "Milky Way Mule", is an interstellar cargo ship for long and slow cargo, currently passing through the Gliese Strait. type = Character Jam image https://user.uploads.dev/file/d451b9337ef34c41ed38212cb7174884.webp // Can be multiple pictures to randomize the banner image :) start = Wed, 11 Jun 2025 12:00:00 GMT end = Wed, 02 Jul 2025 12:00:00 GMT color = linear-gradient(127deg, hsl(340 94% 30%), hsl(237 65% 18%), hsl(185 47% 15%)) rules Limit NSFW Characters Preferably OC Characters commentOptions adminPasswordHash = cd3bce589c429d57ccea830700cd0141ce7b799a4682c3f5428f8d2b07d9ec9b // Other comments options here... chars Jiggle Da Butt link = https://perchance.org/ai-character-chat?data=Jiggle%7E5ae34975ed0a861b452e1a1f1d3f8b91.gz author = BELF13 nsfw = true description = Cunning and intelligent; uses strategic thinking in negotiations and combat situations. Ruthless pragmatist who values profit over sentiment or honor. Uses charm and intimidation to manipulate others into doing his bidding. Has a unique sense of humor that often involves wordplay on his own name // Character Name // link = https://perchance.org/ai-character-chat?data=CharName%7E12345.gz // ai-character-chat share link // avatar = https://image-url.png/ // or any valid image format // author = Author // description = Description ::: > Want to host your own Community Event? Check out this related post [https://lemmy.world/post/14744285]!
Okay, so you can force the Game Master to reply with the following edits on the custom code:
let numMessagesInContext = 4; // <-- how many historical messages to give it when updating inventory let replyAsNames = [ "Character A", // Other character names here. ] oc.thread.on("MessageAdded", async function() { if(oc.thread.messages.filter(m => m.author==="ai").length < 2) return; let lastMessage = oc.thread.messages.at(-1); if(lastMessage.author !== "ai") return; // check if lastMessage.name is found on the replyAsNames if(replyAsNames.includes(lastMessage.name)) { lastMessage.expectsReply = true; // Expect a reply from the game master return; } ...First, you have to add the name of the character you are replying as on the replyAsNames array. Then with the code, it would then expect a reply from the game master if the character that is added on the ‘allowed’ list of names is found.
Perchance AI Chat - completely free, online, no login, unlimited messages, unlimited AI-generated images. Chat with AI characters via this Character.AI (C.AI) chat alternative. Custom AI character creation. Chat to the default Chloe character, or make your own AI character and talk to them freely - no limits, and no freemium gimicks that lure you to sign up. No message limits, no filter. You can create characters that can send pictures/images/photos, roleplay chatbots, AI RPGs/D&D experiences, an AI Dungeon alternative, anime AI chat, and basically anything else you can think of. No restrictions on daily usage. Like ChatGPT, but for fictional character RPs and AI characters, with image generation in chat.
[Community Event] The Piracy of GSC-1020
a you have all items from the root[“Starter”]. If you use a[0] it would indeed select Foxpony BUT it would also evaluate and select an item on that list, so it would output one of its children (0 to 4) which is why you got 3 as the result. You can get the name of the list with a[0].getName to get Foxpony then use .selectOne to get an item from it which would result to selecting, for example, 1 and it would output an item from under that.
So what you are trying to do is that after getting the ‘Starter’ from the root[“Starter”] you want to combine the subsequent lists into a single sentence? e.g. if the randomly selected starter from root[“Starter”] is Foxpony, then you want the lists 0 to 4 to be joined into a sentence, while randomizing between the items under the ‘number’ lists?
You can do so with the following:
let starter = root["Starters"].selectOne // gets either Foxpony or Spaceship list object let sentence = starter.selectAll // selects all lists under the object i.e. 0 to 4 .map(list => list.selectOne) // iterates through the lists and selects a random item from them .joinItems(" ") // joins the randomized items into a single sentence Crystalline.say(sentence)