Jump to content

Leaderboard

  1. Cheeco

    Cheeco

    Initiate


    • Points

      6

    • Posts

      11


  2. RedPandaBear

    RedPandaBear

    Initiate


    • Points

      4

    • Posts

      16


  3. Fix

    Fix

    Initiate


    • Points

      3

    • Posts

      14


  4. MRO Mods

    MRO Mods

    Prospective


    • Points

      2

    • Posts

      6


Popular Content

Showing content with the highest reputation since 03/27/2024 in all areas

  1. I decided to close my site and actually make something i'll have fun with! I don't think I gave up on my other site, but i also don't want to keep beating a dead horse.
    2 points
  2. i think my site is dead but i dont want to give up....
    2 points
  3. Last year I scratched an itch and created an entire RPG - designed the premise, wrote the rules, built out a forum, scrungled over code and customizations, and ... didn't open it. 😄 I showed it to a couple friends, but the point was, it was just fun to make something. The actual RPG I run now, I made with a team of people after the site we were writers on went down. We wanted to keep writing with each other.
    2 points
  4. To get started, set up a couple of custom profile fields. For the purposes of this exercise, we're going to use the following: Character Faction Character Age Character's Playby I strongly recommend that Character Faction is a drop down selection, the script relies on everyone using the same spelling and capitalisation. Example: Character Age and Playby does not need any special settings. Save your custom profile fields and take note of their numbers. In my case they will be: Character Faction - <!-- |field_21| --> Character Age - <!-- |field_2| --> Character Playby - <!-- |field_17| --> Go to your HTML templates. We need to edit the following: Member List Headers - this is the container that every member sits in within the member list. Member List Header variables Member List Row - this is every individual member listed in the member list. Member List Row variables Member List Header - HTML and Javascript Paste the following: <!-- START SORT BY --> <h3>Sort by:</h3> <div id="sorts" class="button-group"> <button class="button is-checked" data-sort-by="original-order">original order</button> <button class="button" data-sort-by="face">Face Claim</button> <button class="button" data-sort-by="age">Character Age</button> </div> <!-- END SORT BY --> <!-- START FILTERS --> <div class="filters"> <div class="ui-group"> <h3>Filter by Character Faction</h3> <div class="button-group js-radio-button-group" data-filter-group="species"> <button class="button is-checked" data-filter="*">show all</button> <button class="button" data-filter=".Good">The Good Guys</button> <button class="button" data-filter=".Evil">The Bad Guys</button> </div> </div> <!-- ADDITIONAL FILTER GROUPS, COPY AND PASTE THE BELOW OUTSIDE OF THE COMMENT TAGS --> <!-- <div class="ui-group"> <h3>Filter by YOUR STUFF HERE</h3> <div class="button-group js-radio-button-group" data-filter-group="UNIQUE-DATA-FILTER-GROUP"> <button class="button is-checked" data-filter="*">show all</button> <button class="button" data-filter=".YOUR_WORD_HERE">DISPLAYED WORDS</button> <button class="button" data-filter=".YOUR_WORD_HERE">DISPLAYED WORDS</button> </div> </div> --> </div> <!-- END FILTERS --> <!-- A RESET BUTTON --> <p class="resetme"><button class="button button--reset">Reset filters</button></p> <!-- END RESET BUTTON --> <!-- END FILTERS --> <div class='grid'> <% MEMBERLIST_ROWS %> </div> <!-- |pages| --> <script src="https://unpkg.com/isotope-layout@3/dist/isotope.pkgd.js"></script> <script> $(document).ready(function() { var $grid = $('.grid').isotope({ itemSelector: '.grid-item', layoutMode: 'fitRows', getSortData: { age: '.age parseInt', face: '.face', // ADD ADDITIONAL FILTERS HERE WORD CORRESPONDS WITH DATA SORT BY WORD ABOVE // IGNORE EVERYTHING BELOW HERE category: '[data-category]', weight: function( itemElem ) { // function var weight = $( itemElem ).find('.weight').text(); return parseFloat( weight.replace( /[\(\)]/g, '') ); } } }); // store filter for each group var filters = {}; $('.filters').on( 'click', '.button', function() { var $this = $(this); // get group key var $buttonGroup = $this.parents('.button-group'); var filterGroup = $buttonGroup.attr('data-filter-group'); // set filter for group filters[ filterGroup ] = $this.attr('data-filter'); // combine filters var filterValue = concatValues( filters ); $grid.isotope({ filter: filterValue }); }); // bind sort button click $('#sorts').on( 'click', 'button', function() { var sortByValue = $(this).attr('data-sort-by'); $grid.isotope({ sortBy: sortByValue }); }); // change is-checked class on buttons $('.button-group').each( function( i, buttonGroup ) { var $buttonGroup = $( buttonGroup ); $buttonGroup.on( 'click', 'button', function() { $buttonGroup.find('.is-checked').removeClass('is-checked'); $( this ).addClass('is-checked'); }); }); var $anyButtons = $('.filters').find('button[data-filter=""]'); var $buttons = $('.filters button'); $('.button--reset').on( 'click', function() { // reset filters filters = {}; $grid.isotope({ filter: '*' }); // reset buttons $buttons.removeClass('is-checked'); $anyButtons.addClass('is-checked'); }); // flatten object by concatting values function concatValues( obj ) { var value = ''; for ( var prop in obj ) { value += obj[ prop ]; } return value; } }); </script> The first section is the sort by buttons. These are what will rearrange the order in which member's are displayed. The most important thing here is data-sort-by="face" take note of the word used in the data-sort-by attribute. The second section is the filter buttons. These are what will make users vanish from view (filtered out) when they do not meet the filter requirements. The most important thing here is data-filter=".Good" take note of the word used in the data-filter attribute. The third section has a handy reset button, allowing your users to put all characters back into view. The fourth section contains the actual members and the container that they will sit within. The div class is important here because it is referred to by the script. Fifth section is the pages button and this is sadly the memberlist's biggest weakness. You can only display so many users on a page and the script will not load more that for you. All the script does is sort information that is already there, it doesn't retrieve any additional data. Infinite scroll is also not doable on Jcink due to the way it needs to be set up. I would love to be proven wrong though. I'll address a work around for that later in this guide. The Sixth and final section is the script. The following script source links directly to isotope's website, I strongly recommend downloading a version yourself and uploading it to your site. Use your site link for the script source. <script src="https://unpkg.com/isotope-layout@3/dist/isotope.pkgd.js"></script> You must have this (or the version on your site) linked before the script in order for it to run properly. I recommend just putting it on the member header template just because you don't need to run the script anywhere else. If you prefer, you can add it to your global wrapper in the usual spot. The magic is between <script> and </script> The first line is telling the script to not execute until the entire page has loaded. The next bit is telling what div to act execute the isotope on. If you have changed any of the class names in your HTML, you will need to read through the script and change to the appropriate class. If you want to save yourself the hassle, just use the same class names I use. I'll go into the script in more detail when I describe how to add more sort by buttons. Member List Row - HTML Paste the following into your member list row <div class="grid-item member <!-- |field_21| -->"> <div class='avatar'> <!-- |avatar| --> </div> <div class="name"> <!-- |name| --> </div> <ul> <li class='age'> <!-- |field_2| --> </li> <li> Faction: <!-- |field_21| --> </li> <li class='face'> Face Claim: <!-- |field_17| --> </li> </ul> </div> Substitute your custom profile field numbers as necessary. If you save the templates now and check out your member list, you'll see that it's now working! It also looks like pants, but you can fix that with a bit of CSS magic 🙂 How to Add More Filters To add a filter, do the following: Go to the member list row Add the appropriate variable to grid-item member <!-- |field_21| --> so, if you want to add another filter and it's variable is 22, you should have div class="grid-item member <!-- |field_21| --> <!-- |field_22| -->" Make sure that there are spaces between each variable! Save Go to the member list header Add the following before </div> <!-- END FILTERS --> <div class="ui-group"> <h3>Filter by YOUR STUFF HERE</h3> <div class="button-group js-radio-button-group" data-filter-group="UNIQUE-DATA-FILTER-GROUP"> <button class="button is-checked" data-filter="*">show all</button> <button class="button" data-filter=".YOUR_WORD_HERE">DISPLAYED WORDS</button> <button class="button" data-filter=".YOUR_WORD_HERE">DISPLAYED WORDS</button> </div> </div> Substitute .YOUR_WORD_HERE with what the potential input for that variable might be. For example, the Faction variable I created earlier had two potential inputs, Good and Evil (capitalisation IS important). So WORD is replaced with .Good and the next button has .Evil after data-filter= You should also rename the data-filter-group (where it says UNIQUE-DATA-FILTER-GROUP) Save! Done! How to Add More Sorts Go to the member list row Add the custom field variable to where you want it to appear, and then wrap it in an element with an unique class name. For example, if you want to add player names to the sort button, you could put them in a h3 class like so: <h3 class="playername"><!-- |field_XX| --></h3> Memorise what the class name is Save Go to member list header Add this <button class="button" data-sort-by="CLASS-NAME">WORDS TO DISPLAY</button> before </div> <!-- END SORT BY --> Using the player name example would mean you would put in: <button class="button" data-sort-by="playername">Player</button> Scroll down to the script and find the following: getSortData: { Press enter and add the following after the curly bracket CLASS-NAME: '.CLASS-NAME', Take note that there is a comma at the end of the line. Leave it off? Script stops working. Using the player name example would mean you would end up with the following: getSortData: { playername: '.playername', // rest of the stuff here Save Done! Note: use the age sort as your guide on how to set up any other sort by numbers in the sort by. If you want to sort by height, make your users use metres (1.7 rather than 5'5 because the apostrophe will spoil your script) and change parseInt to parseFloat. In saying that, making your user's type 5\'5 ought to save your script, if someone makes a mistake however you will need them to correct it in order for the script to continue functioning. Safest just to use decimal points. How to add a label to numbers If you want to sort by a number, your class to sort can only contain a number. For example, age looks like this: <li class='age'> <!-- |field_2| --> </li> We will use CSS to fix this: .age::before { content: 'Age: '; display: inline } Save and Done! A Cheat to Display More Members As noted, the biggest disadvantage of using the sort and filter script is that it can not retrieve data from another page. So when a user clicks on the member list, we want them to automatically see as many characters as possible. The most allowable by Jcink is 50. So, make your own link to the member list and make it the following URL: YOUR_BOARD_URL_HERE/index.php?&act=Members&photoonly=&name=&name_box=all&max_results=50&filter=ALL&sort_order=asc&sort_key=name&st=0 Done! Another thing to consider is using the Hide this group from the member list? option in the user group settings to your advantage. For example, consider only having accepted and active character accounts displayed on your member list, rather than having inactive and unaccepted character accounts clogging up the list. I wish there was a more elegant solution to this! If anyone has found a solution that works for them, I would love to hear about it. Even if this isn't the member list code for you, I hope that it's given you some ideas on what you can do with the member list template! Visit the isotope website to find out what else you can do with the script!
    1 point
  5. I roleplay on my work laptop because I am a terrible employee, so too many gifs = extremely suspicious. For this reason I will avoid sites with an abundance of gifs (or images, period).
    1 point
  6. Find and add a couple more players. We've got six and it's a little thin. I don't think I could deal with more than 10, but a few more would be good. Get everyone involved in the main plot so they feel that they're an important part of it. We started an invasion of Earth storyline and hadn't really had a plot that spanned the whole game before. I think that'll help. Do more chatting with other people in the community. I've already started on sites like this and on reddit and it's going well. Mostly everyone is very friendly. Maybe start a social media account for the game, like X (Twitter) where I can post a "post of the week" or something.
    1 point
  7. Heya, just shouting into the ether here on the off chance that I manage to find an old RP partner of mine again. Miscanthus and I met on Oasis in 2019, my username was Wilderness and we were both in the nature faction on the forum. Very into nature, plants, gardening, grain meats, fantasy and worldbuilding. Just dearly, dearly, dearly hoping to find him again.
    1 point
  8. 1 point
  9. That the site will die with me. I have had a fairly long tenure on MRO, going on 7 years. It is a long running site having started back in 2005. I want to be able to pass it on to a crop of younger RPers and have it grow and evolve.
    1 point
  10. Spanish! I started my RP career in Spanish forums since it's my native tongue, but overtime I transitioned towards exclusively RPing English. It has helped a lot with the language over the years, but I really miss writing in Spanish. I also would love to try to RP in French? My French is only conversational atm, though, so it would be a bit tricky 😅
    1 point
  11. Man, this takes me back... I started RPing on the Neopets roleplay forums way back when I was teeny tiny, so it was more like the genre depended on the thread. I vaguely remember lots of vampire stuff (Twilight had just released, back in those days), lots of wolf RP (I really loved Wolf's Rain), and some fandom stuff here and there. The first site I was staff of (and later on Admin) was a very old Harry Potter site, the kind that started on InvisionFree.
    1 point
  12. When I go into a site and staff show interest in your plot idea, but get upset when their friend cannot have the character you reseved. Then bully you using their characters. Like seriously guys... I am glad you're closed because you cannot bully your guests now.
    1 point
  13. Oh man, there have been some many over the last fifteen years! I mean, I am 35 years old and still make Admin mistakes but I hope my members can give me grace. Allowing bad people back onto my sites Allowing manipulators manipulate me into letting them do something I'm uncomfortable with Not allowing my site time to thrieve because other staff have said we need to do xyz to be active Catering to certain people who didn't deserve it Putting guests above my members... nobody is supposed to be above anyone!!! These are just a few!
    1 point
  14. We build our current site because we were on another were I had Ronald Weasley, and Neville Longbottom and him just clicked so freaking well! They ended up dating... When we left that site due to bullying, we found ourselves just wanting as ite where we could play them but also a nice relaxin place where it was not always end-of-times plots at every turn. Cosy is how we explain our site!
    1 point
  15. Honestly, I am keeping it to... I want to maintain a site for six months. Everything past that will be a bonus! ❤️
    1 point
  16. When it comes to thinks I sweat about... there is a laundry list! Making a site for it to never take off Making a site, having some activity and it dying Being told I am plagiarising when I'm definitely not Not advertising right Advertising and all my links being broken... Much more... I have anxiety disorder! LOL
    1 point
  17. My first RPG was actually the first every Harry Potter roleplay site! I was twelve at the time telling them I was 16 years old. I should not have been reading the things I was! LOL
    1 point
  18. Other than being scared of being the one to "lose the farm", it's stressing about the possibility of getting yelled at by rp directory/advertising mods for posting ads wrong. I seriously sweat over this.
    1 point
  19. My character names tend to have something in there that is a nod or a joke. My current cast of characters are: -Michael "Ranger" Hunter (Ranger and Hunter are vaguely related. Not the best connection) -William Maxwell "Ion" Faraday (electric powers and named after William Whewell, James Clark Maxwell, and Michael Faraday. All old school playerss in the electricty game) -Rhiannon Dee Curtis (Body swap powers so her middle name and last name reference the cast of 2003's Freaky Friday) I also once had a character named Roger "White Noise" Smith. His powers were radio broadcasting. His birthday was 10-4 and he came from Williamson County, Texas which is also known as WilCo.
    1 point
  20. I am honestly a bit naive about this, and tend to have good faith in everyone until a site has already exploded (or imploded, as the case may be), but I'm definitely taking lots of notes from this thread on things to avoid, both in attempting to run a site myself and when scouting somewhere to join.
    1 point
  21. Spanish. It's my native language but I've always done sites in English because it's... easier somehow? I find written Spanish to be very pretty, but considering that different Spanish-speaking places use different words than what I'm used to it's a little intimidating. Also, the fact that I might have to switch from using "Dialogue" as dialogue to — Dialogue, is kind of jarring to me, even though a lot of our books use an em dash for dialogue.
    1 point
  22. This is a character application template for the "Your File" coding challenge. This template could be used for a character application. It provides basic information about a character as well as a section for the character's history. The items are all editable, but should be kept brief except for the history which will scroll accordingly. The only image that needs to be added is the character image. Just replace the placeholder url. This image will re-size automatically, but due to the particular proportions, it'd be best to either keep your image close if not exactly to 204x198. This will work on any background. NOTE: The code may look out of alignment here, but has been tested on boards that allow html and will work like in the example image (which was a direct screencap) on jcink/invisionfree/other html-allowed sites.
    1 point
  23. This is a crime themed thread tracker that I made a year or so ago, now free for your use. You can edit it however you like and this could be easily adapted for use as a simple plotter as well.
    1 point
  24. Coordinates and creates the monthly newsletter.
    0 points
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use, Guidelines and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.