<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Project-GC Forum - Script development</title>
        <description>Discuss your script development with others (bugs, optimizations, methods ...)</description>
        <link>https://project-gc.com/forum/list?4</link>
        <lastBuildDate>Thu, 16 Apr 2026 03:48:41 +0000</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://project-gc.com/forum/read?4,117817,117817#msg-117817</guid>
            <title>GetFinds, favorite_points_pct field (2 replies)</title>
            <link>https://project-gc.com/forum/read?4,117817,117817#msg-117817</link>
            <description><![CDATA[ Take these two checkers:<br />
<a href="https://project-gc.com/Challenges//111480"  rel="nofollow">https://project-gc.com/Challenges//111480</a><br />
<a href="https://project-gc.com/Challenges/GC536C2/111479"  rel="nofollow">https://project-gc.com/Challenges/GC536C2/111479</a><br />
<br />
In theory, they should do the same thing, with the one using favorite_points_pct directly, and the other calculating favorite_points_pct  = floor(favorite_points / num_finds * 100). However, the favorite_points_pct field is considerably higher. For example, running myself on the calculated version, the first entry is:<br />
GC735VZ - 198/352 = 56%<br />
<br />
That similar entry using the field is:<br />
GC735VZ 198/352 = 64.2857%<br />
<br />
Is the favorite_points_pct field not just supposed to be favs/finds? Why is this field in the DB, since it can just easily be calculated?]]></description>
            <dc:creator>bmuzzin</dc:creator>
            <category>Script development</category>
            <pubDate>Mon, 16 Feb 2026 21:39:21 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,116206,116206#msg-116206</guid>
            <title>Incorrect error message (no replies)</title>
            <link>https://project-gc.com/forum/read?4,116206,116206#msg-116206</link>
            <description><![CDATA[ I assume the release went out that I can now see disabled tags on my own scripts.... and there&#039;s a very minor issue.<br />
<br />
If I click on one of those, I get an error screen saying the script is disabled.... which isn&#039;t technically correct - it&#039;s really that the *tag* is disabled, but the script itself is enabled (well, potentially anyhow). Not sure what the negative effects of allowing a script owner to run disabled tags on their scripts would be - in fact, it might be useful if somebody tags your script and can&#039;t get it working, they could ask for assistance without making the tag public.]]></description>
            <dc:creator>bmuzzin</dc:creator>
            <category>Script development</category>
            <pubDate>Mon, 05 Jan 2026 16:49:05 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,115980,115980#msg-115980</guid>
            <title>Chugach and Copper River Census Areas (2 replies)</title>
            <link>https://project-gc.com/forum/read?4,115980,115980#msg-115980</link>
            <description><![CDATA[ I&#039;m working on updating a challenge checker, and I&#039;m running into a problem with the Chugach Census Area and the Copper River Census Area in Alaska.  Both are recently created and serve as &quot;county equivalents&quot; in Alaska.<br />
<br />
I want to display their outlines on the map produced by the checker, but I can&#039;t find the ID numbers for those areas that are expected by the map API.  The checker I am updating contains the IDs for all the other boroughs and census areas in Alaska.<br />
<br />
So if anyone could fill me in or point me in the right direction I&#039;d appreciate it!]]></description>
            <dc:creator>lesdubois</dc:creator>
            <category>Script development</category>
            <pubDate>Thu, 01 Jan 2026 19:27:44 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,111590,111590#msg-111590</guid>
            <title>Can&#039;t delete a script (6 replies)</title>
            <link>https://project-gc.com/forum/read?4,111590,111590#msg-111590</link>
            <description><![CDATA[ I removed the only tag on this script, and want to remove it (it can be done by my uber script now)... but it won&#039;t let me:<br />
<a href="https://project-gc.com/Tools/Challenges?edit&amp;scriptId=11922"  rel="nofollow">https://project-gc.com/Tools/Challenges?edit&amp;scriptId=11922</a><br />
<br />
It says can&#039;t remove a script with tags... but it shows no tags.]]></description>
            <dc:creator>bmuzzin</dc:creator>
            <category>Script development</category>
            <pubDate>Tue, 14 Oct 2025 09:55:27 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,105418,105418#msg-105418</guid>
            <title>Documenting scripts with AI (2 replies)</title>
            <link>https://project-gc.com/forum/read?4,105418,105418#msg-105418</link>
            <description><![CDATA[ I just want to make people aware of how useful AI can be.<br />
<br />
A question was raised on Facebook regarding a challenge checker that didn&#039;t give the expected result. During research I found at least two issues.<br />
1) A bug in the checker giving confusing output.<br />
2) The cloned tag not matching the challenge requirements.<br />
<br />
To understand what was happening (not my script) I wanted to document the LUA code. I gave it to an AI (Anthropic) and asked it to add comments. It was almost perfect on first attempt, only minor semantics.<br />
<br />
I then explained the issue itself, gave it output, and what was missing. From there we concluded about the issues, and how to best solve it. AI ain&#039;t always superb, but in this case it for sure wanted to solve things the same way I wanted.<br />
<br />
In the end there was a more or less complete rewrite of the script. Most of the code itself was kept, but changing the order of it quite a bit. Primarily making it from a single pass process into dual pass process. First figure out what data to use, then render output.<br />
<br />
In the end I ended with a more well written script, which became well documented. I will post before and after here.<br />
<br />
My main message here is, don&#039;t be afraid to use AI to produce comments. It makes the scripts much easier to read. Let the AI produce them. Read through it yourself and correct the minor issues that might show up. It&#039;s a fast way of producing well documented code.<br />
<br />
PS! One bug was that it could write that one had 23/25 geocaches, but yet it would list 24. The issue was unnecessary complex code to render output at the same time as it was figuring out which geocaches was valid and not.]]></description>
            <dc:creator>magma1447</dc:creator>
            <category>Script development</category>
            <pubDate>Thu, 19 Jun 2025 07:25:51 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,97665,97665#msg-97665</guid>
            <title>GPT tool for Checking Challenge Cache Compliance with Guidelines (5 replies)</title>
            <link>https://project-gc.com/forum/read?4,97665,97665#msg-97665</link>
            <description><![CDATA[ Apologies in advance if this is not the correct place to share this. The tool is not a script but a simple tool designed to check whether a challenge cache idea complies with the current guidelines. I wasn’t sure where this belongs, so I posted it here.<br />
<br />
To reduce the number of non-compliant requests, it might be beneficial to add something like this directly to the “Checker Requests (Read Me First)” forum section.<br />
<br />
This is just a prototype where a GPT model compares the challenge idea against the guidelines. While it’s not entirely foolproof, it can be further improved.<br />
<br />
The only requirement is to be logged in to OpenAI with a registered account. It should work for everyone and is free to use (you only need an OpenAI account).<br />
<br />
<a href="https://chatgpt.com/g/g-678c2e0abbac81919722e49750b83e7b-gc-challenge-validator"  rel="nofollow">https://chatgpt.com/g/g-678c2e0abbac81919722e49750b83e7b-gc-challenge-validator</a>]]></description>
            <dc:creator>Orxion</dc:creator>
            <category>Script development</category>
            <pubDate>Thu, 23 Jan 2025 10:13:30 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,96238,96238#msg-96238</guid>
            <title>What are the files available to PGC.GetJsonData()? (1 reply)</title>
            <link>https://project-gc.com/forum/read?4,96238,96238#msg-96238</link>
            <description><![CDATA[ I&#039;ve always wondered what files were available through PGC.GetJsonData(), but I haven&#039;t been able to find a list of the files available to that method.  I would love to know if there is one (or request one if there isn&#039;t one already), to help de-duplicate data where possible.]]></description>
            <dc:creator>queengooborg</dc:creator>
            <category>Script development</category>
            <pubDate>Fri, 27 Dec 2024 11:33:17 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,94961,94961#msg-94961</guid>
            <title>Debugging scripts? (2 replies)</title>
            <link>https://project-gc.com/forum/read?4,94961,94961#msg-94961</link>
            <description><![CDATA[ I&#039;ve now experimented with writing some scripts from the scratch, but I was wondering - what are the means for debugging in case script runs into error? I know PGC.print works in many times, but what options do I have when the script execution ends into &quot;unknown error&quot; printing no output at all?<br />
<br />
In case this is mentioned in some FAQs, kindly point me to right direction as I&#039;ve obviously not stumbled upon it..<br />
<br />
 Unknown error<br />
Execution time (s) 	<br />
Peak memory usage (kB) 	<br />
Error message 	<br />
Execution status]]></description>
            <dc:creator>sm07</dc:creator>
            <category>Script development</category>
            <pubDate>Wed, 20 Nov 2024 19:21:42 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,91709,91709#msg-91709</guid>
            <title>Getting finders of a particular cache? (no replies)</title>
            <link>https://project-gc.com/forum/read?4,91709,91709#msg-91709</link>
            <description><![CDATA[ Is there any API support for this? Presumably, the database knows this information... but, I don&#039;t see any method of accessing it in the checker API. I&#039;d like to build a tool script which shows which profiles have 1/2/3/4 (or even 5!) Jasmers.]]></description>
            <dc:creator>bmuzzin</dc:creator>
            <category>Script development</category>
            <pubDate>Thu, 05 Sep 2024 13:05:09 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,91453,91453#msg-91453</guid>
            <title>Country polygons break the map (1 reply)</title>
            <link>https://project-gc.com/forum/read?4,91453,91453#msg-91453</link>
            <description><![CDATA[ Hello!<br />
I&#039;m currently developing a new Country / Region / County checker script that shall visualize the found areas on the map.<br />
<br />
To show a country, I first get its polygon data:<br />
local polygonData = PGC.GetCountryPolygonInfo(&#039;Germany&#039;)<br />
<br />
This returns a table, whose index 1 looks like this:<br />
{<br />
  maxLon = 15.0419309<br />
  name = Germany<br />
  minLon = 5.8663153<br />
  id = country:79<br />
  minLat = 47.2701114<br />
  maxLat = 55.0586617<br />
  area = 357648511915.3576<br />
}<br />
<br />
To show it on the map, I add a polygon with this &quot;id&quot; like this:<br />
table.insert(map.polygons, {color = &#039;green&#039;, polygon = &#039;country:79&#039;, fillOpacity = 0.1 })<br />
<br />
However, this completely breaks the map. The polygon is not shown and also the OpenStreetMap background is not shown anymore. Everything is just grey.<br />
<br />
Using the same approach for regions (i.e. &#039;region:13959&#039;) and counties (i.e. &#039;county:298404&#039;) works fine.<br />
<br />
So I guess there is a bug with the map feature for country polygons somewhere?<br />
<br />
I also found a small bug in PGC.GetCountyPolygonInfoFromRegion(). That function returns polygon IDs with a dash (&#039;-&#039;) instead of the double-colon (&#039;:&#039;). Those IDs don&#039;t work on the map. All other polygon info functions return polygon IDs with double-colon, which work at least for region and county, but not for country.]]></description>
            <dc:creator>KaiserVonChina</dc:creator>
            <category>Script development</category>
            <pubDate>Mon, 02 Dec 2024 19:22:35 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,81142,81142#msg-81142</guid>
            <title>PGC.GetContinentDefinitions bug (no replies)</title>
            <link>https://project-gc.com/forum/read?4,81142,81142#msg-81142</link>
            <description><![CDATA[ As I was trying to collect the countries without or with only 1 region (to exclude them from one checker) I&#039;ve discovered that  PGC.GetContinentDefinitions gives old names of 2 countries: &quot;Curacao&quot; and &quot;N. Mariana Islands&quot; instead of &quot;Curaçao&quot; and &quot;Northern Mariana Islands&quot; which resulted in the failure of my script later.]]></description>
            <dc:creator>Svarträv</dc:creator>
            <category>Script development</category>
            <pubDate>Mon, 20 Nov 2023 15:35:42 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,75737,75737#msg-75737</guid>
            <title>GetBadgeGenDataV4 (3 replies)</title>
            <link>https://project-gc.com/forum/read?4,75737,75737#msg-75737</link>
            <description><![CDATA[ Hello all,<br />
<br />
I was not able to find data structure returned by GetBadgeGenDataV4(), so I spent small amount of time to &quot;reverse&quot; it.<br />
In case it will be handy for someone else. I believe did not so much mistakes.<br />
<br />
<pre class="bbcode">
GetBadgeGenDataV4()
 +--belt{
 |   +-- url   {string}  -&gt; &quot;//cdn2.project-gc.com/images/badgegen/bgv2/belts/belt27.png&quot; - url to belt image
 |   +--points {number}  -&gt; 306.68 - current belt points
 |   +--info table {
 |   |    +-- 1 {
 |   |    |    +-- cnt {string} &quot;2117&quot;
 |   |    |    +-- text {string} &quot;One point per 100 caches found.&quot;
 |   |    |    +-- points {number} 21
 |   |    |    }
 |   |    +-- 2 .. &quot;2 points per event hosted; maximum of 30 points.&quot;
 |   |    + ...
 |   |    +-- 18  {table}     -&gt; Belt information table
 |   |    }
 |   +-- next {number}        -&gt; 316 - points for next belt
 |   }
 +--countryBadges {
 |   +-- 1 {
 |   |    +-- badge {string}  -&gt; &quot;The Croatia cacher&quot; - badge name
 |   |    +-- country {string} -&gt; &quot;Croatia&quot; - country name
 |   |    +-- tooltip {string} -&gt; &quot;The Croatia cacher: Awarded for finding caches in a percentage of states in Croatia MiaFu has 100% (2 of 2 states) and has the best badge available&quot; - badge tool tip
 |   |    +-- left {boolean/number} -&gt; &#039;false&#039; / 75 - for Diamond (100%) contain &#039;false&#039; for others contain percentage for next level
 |   |    +-- addons {table} { 
 |   |    |    +-- 1 {string}  -&gt; &quot;ftf&quot; - list of extra addons - ftf in this case can be empty
 |   |    |    +-- 2 {string}  -&gt; &quot;leapday&quot; - list of extra addons - leapday in this case
 |   |    |    }
 |   |    +-- quality {string} -&gt; &quot;D&quot; - badge quality &quot;B&quot; &quot;S&quot; &quot;G&quot; &quot;P&quot; &quot;R&quot; &quot;Sa&quot; &quot;E&quot; &quot;D&quot;
 |   |    +-- url {string} -&gt; &quot;/dimages/badgegen-v4-countrybadge.php?country=HR&amp;quality=D&quot; - badge url
 |   |    +-- numRegions {number} -&gt; 2 - total number of regions
 |   |    +-- percent {number} -&gt; 100 - country coverage
 |   |    +-- logged {string} -&gt; &quot;2&quot; - number of logged regions. do not know why string
 |   |    }
 |   +-- 2 {next country, same as before} - repeats for all country
 |   }
 +--badges {
     +-- The Long-Distance Cacher {
     |    +-- badge {string} -&gt; &quot;The Long-Distance Cacher&quot; - badge name
     |    +-- current {number} -&gt; 9549 / &#039;nil&#039;  - current badge value, &#039;nil&#039; if not exist - for example home coordinates not defined
     |    +-- awarded {string} -&gt; &quot;Awarded for finding a cache 6400 km or further away from home&quot; - description
     |    +-- next {boolean/number} -&gt; &quot;10000&quot; - next available badge / false if not available
     |    +-- tooltip {string} -&gt; &quot;The Long-Distance Cacher - Emerald Awarded for finding a cache 6400 km or further away from home MiaFu has 9549 km and needs 10000 to go up a level&quot; - tooltip
     |    +-- addons {table} { 
     |    |    +-- 1 {string}  -&gt; &quot;ftf&quot; - list of extra addons - ftf in this case can be empty
     |    |    +-- 2 {string}  -&gt; &quot;leapday&quot; - list of extra addons - leapday in this case
     |    |    }
     |    +-- url {string} -&gt; &quot;//cdn2.project-gc.com/dimages/badgegen-v4-badge.php?icon=TheLongDistanceCacher&amp;quality=E&quot; - badge url
     |    +-- diamond {number} -&gt; &quot;10000&quot; - amount for diamond
     |    +-- quality {string} -&gt; &quot;E&quot; - badge quality &quot;X&quot; &quot;B&quot; &quot;S&quot; &quot;G&quot; &quot;P&quot; &quot;R&quot; &quot;Sa&quot; &quot;E&quot; &quot;D&quot; &quot;D2&quot; &quot;D3&quot; (Diamond 2x) X=none
     |    +-- this* {number} -&gt; &quot;6000&quot; - actual level Note*: not populated for Emerald and Diamond
     |    }
     +-- The Large Cacher {
     |    {same structure for next badges}
     |    }
</pre>]]></description>
            <dc:creator>MiaFu</dc:creator>
            <category>Script development</category>
            <pubDate>Thu, 20 Jul 2023 14:25:58 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,74578,74578#msg-74578</guid>
            <title>Debugging a script? (1 reply)</title>
            <link>https://project-gc.com/forum/read?4,74578,74578#msg-74578</link>
            <description><![CDATA[ I sort of already know the answer - but I&#039;m wondering if anybody has come up with a way to use a &#039;real&#039; debugger to debug checker scripts (ie. running locally)? Sometimes printf debugging just isn&#039;t that easy. Being able to set breakpoints and inspect variables would be extremely helpful in some situations.<br />
<br />
It&#039;s easy enough to add a &#039;bootstrap&#039; script, which will provide the PGC methods, to your target script, and run that locally in a debugger. However, the real problem is accessing data that would be returned by those methods (eg. GetFinds()). You could obviously add a script to scrape some data out of the database, but that seems pretty cumbersome given the 100k log limit (and ... questionable given those checkboxes I check when creating new scripts :)).]]></description>
            <dc:creator>bmuzzin</dc:creator>
            <category>Script development</category>
            <pubDate>Fri, 23 Jun 2023 15:50:15 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,74304,74304#msg-74304</guid>
            <title>Incorrect bookmark list for GetFurthestFound() (2 replies)</title>
            <link>https://project-gc.com/forum/read?4,74304,74304#msg-74304</link>
            <description><![CDATA[ The documentation for GetFurthestFound() says:<br />
<br />
<blockquote class="bbcode"><div><small>Quote<br /></small><strong></strong><br />
excludeTraveling (bool): Defaults to true. Ignore geocaches listed in <a href="http://www.geocaching.com/bookmarks/view.aspx?code=BM1A6W6"  rel="nofollow">http://www.geocaching.com/bookmarks/view.aspx?code=BM1A6W6</a>.</div></blockquote>
<br />
BM1A6W6 does not exist. The correct bookmark list for travelling caches is BMAFMJR.<br />
<br />
Perhaps this has been fixed in code already, but not in the documentation?]]></description>
            <dc:creator>Hügh</dc:creator>
            <category>Script development</category>
            <pubDate>Thu, 25 May 2023 10:37:08 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,73140,73140#msg-73140</guid>
            <title>GetHides() - how to access log data (4 replies)</title>
            <link>https://project-gc.com/forum/read?4,73140,73140#msg-73140</link>
            <description><![CDATA[ Hi everyone,<br />
I am looking at PGC.GetHides().<br />
When I set includeLogs to true, I notice that GetHides() returns multiple lines per cache (because of multiple logs, I guess) but I do not see a way to access the log data mentioned in the documentation of GetHides().<br />
<br />
Code snippet:<br />
<pre class="bbcode">
fieldsHides = {
  &#039;gccode&#039;,
  &#039;cache_id&#039;,
  &#039;cache_name&#039;,
  &#039;favorite_points&#039;
}
hides = PGC.GetHides(profileId, {includeLogs = true, fields = fieldsHides})
PGC.print(hides)</pre>
<br />
returns<br />
<br />
<pre class="bbcode">
Array
(
    [1] =&gt; Array
        (
            [cache_name] =&gt; LEg GOdt JaNeMaSt
            [cache_id] =&gt; 2806636
            [favorite_points] =&gt; 21
            [premium] =&gt; 0
            [latitude] =&gt; 47.313417
            [longitude] =&gt; 8.100000
            [gccode] =&gt; GC3F0AJ
        )

    [2] =&gt; Array
        (
            [cache_name] =&gt; LEg GOdt JaNeMaSt
            [cache_id] =&gt; 2806636
            [favorite_points] =&gt; 21
            [premium] =&gt; 0
            [latitude] =&gt; 47.313417
            [longitude] =&gt; 8.100000
            [gccode] =&gt; GC3F0AJ
        )

...</pre>
<br />
Does anybody know how to access the log data per cache?<br />
Thank you for reading this post.<br />
Best regards<br />
voigtlaender]]></description>
            <dc:creator>voigtlaender</dc:creator>
            <category>Script development</category>
            <pubDate>Sun, 11 Jun 2023 08:28:33 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,71022,71022#msg-71022</guid>
            <title>What&#039;s the point of attributes_unset_(1|2|3)? (3 replies)</title>
            <link>https://project-gc.com/forum/read?4,71022,71022#msg-71022</link>
            <description><![CDATA[ From what I can tell, attributes_unset_(1|2|3) is always nil. What is this field for?]]></description>
            <dc:creator>Hügh</dc:creator>
            <category>Script development</category>
            <pubDate>Tue, 04 Apr 2023 19:15:59 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,70642,70642#msg-70642</guid>
            <title>Script enhancement: Generic County Checker with minimum cache types requirement (no replies)</title>
            <link>https://project-gc.com/forum/read?4,70642,70642#msg-70642</link>
            <description><![CDATA[ I wrote a new checker script forked off Rikita&#039;s Generic County Checker script. <br />
<br />
Script Id is 10507.  <br />
<br />
What I added was a tag minTypes (if given, otherwise 1) from the tag of different cache types on the same county (I was requested this for a challenge of only one county so if more counties are listed the requirement is checked for all the caches the cacher has found in the required counties ie not as a requirement for _each_ county). <br />
<br />
The checker is activated at <a href="https://project-gc.com/Challenges/GCA4DEJ/75008"  rel="nofollow">https://project-gc.com/Challenges/GCA4DEJ/75008</a> though the cache has not been published yet (the cache is not mine).]]></description>
            <dc:creator>geoidhn</dc:creator>
            <category>Script development</category>
            <pubDate>Tue, 07 Feb 2023 13:35:15 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,69384,69384#msg-69384</guid>
            <title>Error on script &quot;Oldest total with an unique parameter&quot; (3 replies)</title>
            <link>https://project-gc.com/forum/read?4,69384,69384#msg-69384</link>
            <description><![CDATA[ Hello,<br />
<br />
can you pls check the mentioned script ?<br />
<br />
It is used in this checker:<br />
<br />
<a href="https://project-gc.com/Challenges/GC9KQK3/65219"  rel="nofollow">https://project-gc.com/Challenges/GC9KQK3/65219</a><br />
<br />
When i use this checker i receive this error:<br />
<br />
[string &quot;&quot;]:77: date difference is negative!<br />
<br />
<br />
Thx :-)]]></description>
            <dc:creator>T@baluga</dc:creator>
            <category>Script development</category>
            <pubDate>Wed, 11 Jan 2023 09:07:04 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,68011,68011#msg-68011</guid>
            <title>Backend errors? (1 reply)</title>
            <link>https://project-gc.com/forum/read?4,68011,68011#msg-68011</link>
            <description><![CDATA[ I&#039;m developing a script for a generic mixed fizzy... but it seems no matter what I do, I get an error *after* the return of the final table. (Not sure if this can be seen without enabling it): <br />
<a href="https://project-gc.com/Challenges//72944"  rel="nofollow">https://project-gc.com/Challenges//72944</a><br />
<br />
Error message	Backend errors<br />
Error 2, lua_callbacks.php:260  Illegal offset type in isset or empty<br />
<br />
Any idea why this would happen? Thanks!]]></description>
            <dc:creator>bmuzzin</dc:creator>
            <category>Script development</category>
            <pubDate>Mon, 05 Dec 2022 03:45:34 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,67079,67079#msg-67079</guid>
            <title>Script enhancement: Region DT combinations with minimum cache types (no replies)</title>
            <link>https://project-gc.com/forum/read?4,67079,67079#msg-67079</link>
            <description><![CDATA[ I wrote a new checker script forked off Kutale&#039;s Region DT combinatios script. Script Id is 10097.<br />
<br />
What I added was that it also requires minTypes from the tag of different cache types on the same region. It checks this condition apart from the DT combinations (ie it doesn&#039;t require that number of different cache types on DT combinations).<br />
<br />
If minTypes &gt; 1 and the cacher has enough of different types it also lists each of the found cache types and one cache from that type.<br />
<br />
The checker is activated at <a href="https://project-gc.com/Challenges/GCA1V77/72630"  rel="nofollow">https://project-gc.com/Challenges/GCA1V77/72630</a> though the cache has not been published yet (the cache is not mine).]]></description>
            <dc:creator>geoidhn</dc:creator>
            <category>Script development</category>
            <pubDate>Tue, 08 Nov 2022 05:59:02 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,59307,59307#msg-59307</guid>
            <title>County polygons (1 reply)</title>
            <link>https://project-gc.com/forum/read?4,59307,59307#msg-59307</link>
            <description><![CDATA[ Can someone tell me where the county polygons are taken from?<br />
From OSM?<br />
From <a href="https://osm-boundaries.com"  rel="nofollow">https://osm-boundaries.com</a>?<br />
<br />
Like for this script: X finds in different locations, Script id: 485.<br />
<br />
I am asking because the Danish Reviewers have questions about it.<br />
<br />
/Foolie]]></description>
            <dc:creator>Foolie</dc:creator>
            <category>Script development</category>
            <pubDate>Mon, 21 Feb 2022 19:06:48 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,54362,54362#msg-54362</guid>
            <title>Scripts supporting to exclude attributes? (6 replies)</title>
            <link>https://project-gc.com/forum/read?4,54362,54362#msg-54362</link>
            <description><![CDATA[ This is only by part related to script development, but since I am BOFH I guess I can do what I want?<br />
<br />
This post is related to <a href="https://project-gc.com/forum/read?4,53879"  rel="nofollow">this thread</a>.<br />
The conclusion is that I wish to create a challenge where a certain (or a pair of) attribute doesn&#039;t count. Imagine for example &quot;Full D/T on geocaches not requiring boat&quot;, though that&#039;s not my plan. But it&#039;s simpler to understand.<br />
<br />
Are there currently any scripts supporting the requirement of an amount of finds or similar (like full D/T, full calendar), where finds with certain attributes are excluded? And if so, is there any challenges actually using this? I have been trying to search as well as I can, and I couldn&#039;t find any. To be honest I am surprised that I am the first person to have this idea.]]></description>
            <dc:creator>magma1447</dc:creator>
            <category>Script development</category>
            <pubDate>Mon, 23 Aug 2021 20:39:28 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,54311,54311#msg-54311</guid>
            <title>GetAttributeList returns extra attributes? (2 replies)</title>
            <link>https://project-gc.com/forum/read?4,54311,54311#msg-54311</link>
            <description><![CDATA[ I was using the call PGC.GetAttributeList() with this section of code:<br />
<pre class="bbcode">
local a = PGC.GetAttributeList()
local attr = {}
attr[&#039;desc&#039;] = {}
attr[&#039;icon&#039;] = {}
for k,v in pairs(a) do
  attr[&#039;desc&#039;][k] = v.attributeName
  attr[&#039;icon&#039;][k] = v.imageSet
  if (v.imageUnset) then
    attr[&#039;desc&#039;][k+96] = &quot;NOT &quot;..v.attributeName
    attr[&#039;icon&#039;][k+96] = v.imageUnset
  end
end
PGC.print(a)</pre>
However, lots of attributes now seem to return images for when they are unset, and so the output includes them too, even though they are impossible to get (I think). They include:<br />
UV-no.png &#039;NOT UV light required&#039; caches (0 combos)<br />
snowshoes-no.png &#039;NOT May require snowshoes&#039; caches (0 combos)<br />
s-tool-no.png &#039;NOT Special tool required&#039; caches (0 combos)<br />
skiis-no.png &#039;NOT May require cross country skis&#039; caches (0 combos)<br />
geotour-no.png &#039;NOT GeoTour&#039; caches (0 combos)<br />
bonuscache-no.png &#039;NOT Bonus cache&#039; caches (0 combos)<br />
challengecache-no.png &#039;NOT Challenge cache&#039; caches (0 combos)<br />
powertrail-no.png &#039;NOT Power trail&#039; caches (0 combos)<br />
wirelessbeacon-no.png &#039;NOT Wireless beacon&#039; caches (0 combos)<br />
<br />
amongst others (ignore the combos part). It seems all positive attributes now have negative attribute images. You can see this if you run this checker with a cacher with high finds: <a href="https://project-gc.com/Challenges/GC9ET81/62461"  rel="nofollow">https://project-gc.com/Challenges/GC9ET81/62461</a><br />
I don&#039;t remember this happening last time I used it, perhaps there has been an update?]]></description>
            <dc:creator>DrAcorn</dc:creator>
            <category>Script development</category>
            <pubDate>Sun, 22 Aug 2021 06:50:21 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,54193,54193#msg-54193</guid>
            <title>N caches with NxN different properties (1 reply)</title>
            <link>https://project-gc.com/forum/read?4,54193,54193#msg-54193</link>
            <description><![CDATA[ Hello all.<br />
<br />
SeekerSupreme&#039;s great macro is great and speedy.  However I was trying to use it in a cut and paste fashion from another tag.  It included the following in the tag:<br />
<pre class="bbcode">
 &quot;what&quot;:&quot;country_region hidden_year cache_name visitdate&quot;</pre>
<br />
<br />
While this creates a nice pretty print with the cache name and visit date in the output, it also brought problems. The script checked that those were fields were unique as well.  On a performance look, some of the cases were timing out.  <br />
Switching to the following really sped things up.<br />
<br />
<pre class="bbcode">
 &quot;what&quot;:&quot;country_region hidden_year&quot;</pre>
<br />
It is probably worth an audit of these checkers to make sure we are not checking too many fields and driving up server load and false negatives on the checker.  This mostly is a problem for people with a small number of finds.  People with large numbers of finds can <br />
<br />
All this was found in relation to <a href="https://project-gc.com/forum/read?8,54183"  rel="nofollow">https://project-gc.com/forum/read?8,54183</a><br />
<br />
Looking at GC5PY17  it seems clear that this macro is really NxNxNxNxNx........<br />
<br />
Can someone take a look and double check my assessment before scrubbing 150 checkers?<br />
<br />
Thanks.<br />
<br />
PS.  Apologies for not giving SeekerSupreme correct credit the first time.  The post has been edited to fix it.]]></description>
            <dc:creator>sloth96</dc:creator>
            <category>Script development</category>
            <pubDate>Sun, 22 Aug 2021 06:54:55 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,54133,54133#msg-54133</guid>
            <title>Stopping Checkers on found date (1 reply)</title>
            <link>https://project-gc.com/forum/read?4,54133,54133#msg-54133</link>
            <description><![CDATA[ Howdy,<br />
<br />
I maintain a couple of variation on Jasmer checkers and am thinking of adding a check to see if they are found already.  With this information the checker could override the end date and get rid of the long list of people who &quot;do not meet the requirements&quot; because they found it ages ago.<br />
<br />
The snippet I am thinking of adding to mine looks like:<br />
<br />
<pre class="bbcode">
--deal with already found so status does not thrash
local alreadyfound = PGC.GetFinds(profileId, { fields = {&#039;gccode&#039;,  &#039;visitdate&#039;}, order = &#039;OLDESTFIRST&#039;, filter = {gccodes = {args[1].gccode} }})


if #alreadyfound &gt;0 then
  if conf.end_date==&quot;today&quot; or conf.end_date&gt;alreadyfound[1].visitdate then
    conf.end_date=alreadyfound[1].visitdate
  end
end</pre>
<br />
This should help tidy up some pages for cache owners and users with the Tampermonkey scripts.<br />
<br />
Any thoughts?<br />
<br />
Thanks]]></description>
            <dc:creator>sloth96</dc:creator>
            <category>Script development</category>
            <pubDate>Mon, 16 Aug 2021 15:01:00 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,53994,53994#msg-53994</guid>
            <title>Auto Calibrating Jasmer (no replies)</title>
            <link>https://project-gc.com/forum/read?4,53994,53994#msg-53994</link>
            <description><![CDATA[ Local to me there are some jasmers for Massachusetts and New Hampshire called month-by-month challenges. These are basically Jasmer challenges except only for a smaller area.  The checkers for these include the calibration for months not in available.  As this could change over time, it seemed appropriate to find away around it.  Examples below show this.  Right now it only works for single Jasmer runs.<br />
<br />
So this script went on and offline to fix some issues with how well it was scoring.  It appears to be working now. I particularly like how it handles the Virtual and Swedish cache variants.  The virtual shows how it handles discontinuous months reasonable well and it appears to find when caches started getting placed well.<br />
<br />
Some samples are:<br />
Virtual caches only jasmer<br />
<a href="https://project-gc.com/Challenges//62459"  rel="nofollow">https://project-gc.com/Challenges//62459</a><br />
<br />
Swedish caches only jasmer<br />
<a href="https://project-gc.com/Challenges//62532"  rel="nofollow">https://project-gc.com/Challenges//62532</a><br />
<br />
Performance wise it seems reasonable and does work worldwide. There might be benefit requesting more caches from a single call to GetOldestCaches with more caches to peel them off.  It is not clear how this scales for when more than 1000 caches are published within the filter for a month. We might spend more time pulling useless data for recent months than we save for historic months.<br />
<br />
It would be nice to add the ability to filter months by the total number of caches available for a month.  This could avoid months where only one or two caches are available. Based on the current guidance for normal Jasmers, it appears 4 times more caches need to be available than are required.  When implemented this could bring back double, triple, and greater Jasmers as months such as August of 2000 would be eliminated.<br />
<br />
Feedback would be appreciated.]]></description>
            <dc:creator>sloth96</dc:creator>
            <category>Script development</category>
            <pubDate>Tue, 10 Aug 2021 15:01:40 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,53879,53879#msg-53879</guid>
            <title>Full D/T spread in different counties (5 replies)</title>
            <link>https://project-gc.com/forum/read?4,53879,53879#msg-53879</link>
            <description><![CDATA[ I have a small issues, which has lead to a thought.<br />
<br />
I would like to create a challenge to have Full D/T of Multis (or maybe 80 unique D/Ts). My issue is that in Sweden, there are 153 Swedes who has full D/T with Multis. However, almost every single one of them has it from a stupid cache series where I know 90% of the canisters has quite fake rating, I have logged the series myself. If I exclude the county where this series is located I am down to 7 Swedes. So 146/153 Swedes doesn&#039;t really deserve it in my opinion.<br />
<br />
As a Challenge cache owner I would like to counter this, and I have the following ideas (one of them suggested to me by someone else):<br />
* Exclude geocaches in the specific county - Not sure this will be allowed by the reviewers/HQ. No official rule against it, but I can really see how it would be seen as discriminating. A dangerous road for the future of Challenges. For example, the next step would be that someone says &quot;no finds in Germany counts&quot; just because they don&#039;t like Germans (Germans is just an example, please don&#039;t feel offended).<br />
* Don&#039;t allow to use multiple geocaches where the cache title begins with the same text. For example &quot;Pole fishing multis #1&quot; and &quot;Pole fishing multis #34&quot; would be too similar. - I doubt this is allowed since challenge aren&#039;t allowed to use the cache name.<br />
* Allow max 9 (or some other number) finds per county. - This would really prevent using the same series for the whole D/T matrix. A creative way to get around the issue in my opinion (the idea was suggested to me). So my 81 D/Ts would have to be spread in at least 9 (81/9=9) counties. The issue here is that such challenge checker would be fairly complex to write, and also potentially very slow.<br />
<br />
<br />
Anyone have thoughts on the whole concept/problem? Do you think it would be feasible to create a checker that:<br />
* Check for X number of unique D/Ts with the supplied GetFinds-compatible filter.<br />
* Check that there are at most Y number of finds per country/region/county combination.<br />
* Returns a list based on gccode, visitdate, difficulty, terrain, (country), (region), county. Probably sorted on the D/T.<br />
<br />
Do you think it would be fast enough even for someone with almost 10,000 multis logged? Geocacher &quot;qrang&quot; has almost 9,000 multis for example. Too me it feels like the problem would have to be iterated a lot, and that it&#039;s likely that it won&#039;t be possible to do it in less than 30 seconds.<br />
<br />
If anyone would be interested in throwing a test together I would be happy, I feel that my LUA skills are too low to get flow enough to work with this. I also believe many others here are a lot smarter than me in the area of smart algorithms.]]></description>
            <dc:creator>magma1447</dc:creator>
            <category>Script development</category>
            <pubDate>Wed, 11 Aug 2021 07:49:34 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,53808,53808#msg-53808</guid>
            <title>GetNumCachesInArea ($params) (2 replies)</title>
            <link>https://project-gc.com/forum/read?4,53808,53808#msg-53808</link>
            <description><![CDATA[ When trying to use GetNumCachesInArea, it seems to return a boolean instead of an integer.  Am I missing something here?<br />
<br />
sample code at <a href="https://project-gc.com/Challenges//62392"  rel="nofollow">https://project-gc.com/Challenges//62392</a>]]></description>
            <dc:creator>sloth96</dc:creator>
            <category>Script development</category>
            <pubDate>Tue, 03 Aug 2021 17:41:00 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,52692,52692#msg-52692</guid>
            <title>GetContinentDefinitions() (2 replies)</title>
            <link>https://project-gc.com/forum/read?4,52692,52692#msg-52692</link>
            <description><![CDATA[ Does anyone use GetContinentDefinitions()? <br />
<br />
I am having trouble getting the synax right.<br />
<br />
Using x=GetContinentDefinitions() I get [string &quot;&quot;]:19: attempt to call field &#039;GetContinentDefinitions&#039; (a nil value)<br />
<br />
I really want to just get a list of countries to test other functions.  My script is here<br />
<br />
<a href="https://project-gc.com/Tools/Challenges?edit&amp;scriptId=7858"  rel="nofollow">https://project-gc.com/Tools/Challenges?edit&amp;scriptId=7858</a><br />
<br />
Thanks.]]></description>
            <dc:creator>sloth96</dc:creator>
            <category>Script development</category>
            <pubDate>Thu, 27 Apr 2023 07:25:05 +0000</pubDate>
        </item>
        <item>
            <guid>https://project-gc.com/forum/read?4,52652,52652#msg-52652</guid>
            <title>Best way to get/create polygons (4 replies)</title>
            <link>https://project-gc.com/forum/read?4,52652,52652#msg-52652</link>
            <description><![CDATA[ Hi Challenge Checker Folk, <br />
<br />
I am creating my first polygon checker, and need to check within the bounds of a US city. <br />
<br />
It looks like the GenericPolyChecker (by lillfiluren) allows us to use either polygons that we define, OR pull polygons from project-gc&#039;s database.  So questions related to that: <br />
<br />
1. If defining polygons, what is the best way to create polygons by clicking?  <br />
<br />
2. If using project GC polys, is there a catalog of those available?  Are city boundaries available? <br />
<br />
Thanks to all replies, and if there&#039;s a better place for how-to questions, let me know!]]></description>
            <dc:creator>mellow_cello</dc:creator>
            <category>Script development</category>
            <pubDate>Thu, 24 Jun 2021 17:32:08 +0000</pubDate>
        </item>
    </channel>
</rss>
