FHX Wiki:Sandbox: Difference between revisions

From FHX Wiki
No edit summary
No edit summary
Line 31: Line 31:


== ==
== ==
Objective: Write a string function that can compare the number from a category title with the level range in a template. eg. Level 5 monsters category added to Level 1-5 monsters and Level 5-10 monsters category. Should also work for crafting sheets and equipment. Should also account for level range like "51+" so all pages with a level 51 or higher are added to that group category.
Objective: Write a string function that can compare the number from a category title with the level range in a template. eg. Level 5 monsters category added to Level 1-5 monsters and Level 5-10 monsters category. Should also work for crafting sheets and equipment. Should also account for level range like "51+" so all pages with a level 51 or higher are added to that group category. Template should include something like an if/then list that looks for keywords in the category title (eg. "Level 5 monsters" returns "monsters", iterate range check using the monster level group categories).
<pre>{{#ifexpr:1 <= 6 and 6 <= 5 |yes |no}}</pre>
<pre>{{#ifexpr:1 <= 6 and 6 <= 5 |yes |no}}</pre>
{{#ifexpr:1 <= 6 and 6 <= 5 |yes |no}}
{{#ifexpr:1 <= 6 and 6 <= 5 |yes |no}}

Revision as of 03:32, 19 September 2024

FHX Wiki public sandbox

This is the FHX Wiki sandbox. You can test out the wiki code etc. here.

Please be aware that your changes can be overwritten and the sandbox will be blanked from time to time, so don't put anything too important here!

When using this sandbox please follow these simple rules:

  • Please do not revert changes.
  • Please leave this notice and the comments at the beginning of this page intact.
  • Please keep things small enough not to be a hassle to testers.
  • This page must not be moved.
  • Do not add categories to this page, this includes categories added by templates like deletion templates etc..
  • For tests of simple things, you may not even need to modify this page - just try using "Show preview" first.

Happy testing!

Name Level Race Boss Drops Location {{#for_external_table:
{{{Name}}} {{{Level}}} {{{Race}}} {{{Unique mob (boss)}}} {{{Manufacture lvl, (Drops sheets)}}}, {{{Drops mats}}}, {{{Drops item lvl}}} {{{V1 location}}}, {{{V3 location}}} format=json

}}

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Objective: Write a string function that can compare the number from a category title with the level range in a template. eg. Level 5 monsters category added to Level 1-5 monsters and Level 5-10 monsters category. Should also work for crafting sheets and equipment. Should also account for level range like "51+" so all pages with a level 51 or higher are added to that group category. Template should include something like an if/then list that looks for keywords in the category title (eg. "Level 5 monsters" returns "monsters", iterate range check using the monster level group categories).

{{#ifexpr:1 <= 6 and 6 <= 5 |yes |no}}

no

{{#ifexpr:5 >= 1 and 5 <= 5|yes|no}}

yes

{{#invoke:String2 |split |Level 5 monster|" "|2|true}}

5

{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}

1-5

{{#invoke:String2 |split |{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}|-|1|true}}

1

{{#invoke:String2 |split |{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}|-|2|true}}

5

{{#ifexpr:{{#invoke:String2 |split |Level 5 monster|" "|2|true}}>={{#invoke:String2 |split |{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}|-|1|true}} and {{#invoke:String2 |split |Level 5 monster|" "|2|true}}<={{#invoke:String2 |split |{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}|-|2|true}}|yes|no}}

yes

Final test:

{{#ifexpr:{{#invoke:String2 |split |{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}|-|1|true}} <= {{#invoke:String2 |split |Level 10 monster|" "|2|true}} and {{#invoke:String2 |split |Level 10 monster|" "|2|true}} <= {{#invoke:String2 |split |{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}|-|2|true}} |Add to Level 1-5 monsters category|Do nothing}}, {{#ifexpr:{{#invoke:String2 |split |{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}|-|1|true}} <= {{#invoke:String2 |split |Level 5 monster|" "|2|true}} and {{#invoke:String2 |split |Level 5 monster|" "|2|true}} <= {{#invoke:String2 |split |{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}|-|2|true}} |Add to Level 1-5 monsters category|Do nothing}}

Compare to "Level 1-5 monsters" category:

Level 10 monster
Do nothing
Level 5 monster
Add to Level 1-5 monsters category

Use this to build a template to add to category pages:

{{#ifexpr:{{#invoke:String2 |split |{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}|-|1|true}} <= {{#invoke:String2 |split |{{#titleparts:{{PAGENAME}}}}|" "|2|true}} and {{#invoke:String2 |split |{{#titleparts:{{PAGENAME}}}}|" "|2|true}} <= {{#invoke:String2 |split |{{#invoke:String2 |split |Level 1-5 monsters|" "|2|true}}|-|2|true}} |Add to Level 1-5 monsters category|Do nothing}}

TEST 51+: 51 and

piece