Hello, I am creating a new plugin that uses a gameboard and I cannot get the gameboard to load.
This is what my code looks like:
<pluginpreferences>
<counterstyleimagesizetextoverimage>16</counterstyleimagesizetextoverimage>
<counterstyleimagesizeimagesonly>18</counterstyleimagesizeimagesonly>
<recentskins>default</recentskins>
<recenttablebackgrounds>gameboardnba.jpg</recenttablebackgrounds>
<recentzonebackgrounds>wide.jpg</recentzonebackgrounds>
<canned>PoP? (Pass or Play?)</canned>
<canned>Pass.</canned>
<canned>Proceed.</canned>
<canned>Thinking....</canned>
<canned>Attack!</canned>
<canned>In response...</canned>
<canned>End of turn...</canned>
<canned>Done.</canned>
<canned>You done?</canned>
<canned>Mulligan.</canned>
<canned>MISE!</canned>
<canned>/draw7</canned>
<canned>/flip 1</canned>
<canned>/roll</canned>
<canned>/clear</canned>
<canned>/draw7</canned>
<canned>/rolld20</canned>
<canned>/draw6</canned>
<canned>/draw8</canned>
<canned>Good game.</canned>
<fontkind0pos0>Lato-Reg.ttf</fontkind0pos0>
<fontkind0pos1>times.ttf</fontkind0pos1>
<fontkind1pos0>Lato-Reg.ttf</fontkind1pos0>
<fontkind1pos1>times.ttf</fontkind1pos1>
<fontkind2pos0>Lato-Reg.ttf</fontkind2pos0>
<fontkind2pos1>times.ttf</fontkind2pos1>
<fontkind3pos0>Lato-Reg.ttf</fontkind3pos0>
<fontkind3pos1>times.ttf</fontkind3pos1>
<fontsize0>12</fontsize0>
<fontsize1>11</fontsize1>
<fontsize2>11</fontsize2>
<fontsize3>20</fontsize3>
<bindingmain0>CTRL+h</bindingmain0>
<bindingmain1>CTRL+j</bindingmain1>
<bindingmain4>CTRL+n</bindingmain4>
<bindingmain5>CTRL+s</bindingmain5>
<bindingmain6>CTRL+l</bindingmain6>
<bindingmain9>CTRL+f</bindingmain9>
<bindingmain15>CTRL+SHIFT+s</bindingmain15>
<bindinggeneral0>CTRL+o</bindinggeneral0>
<bindinggeneral1>CTRL+d</bindinggeneral1>
<bindinggeneral2>CTRL+LEFTBRACKET</bindinggeneral2>
<bindinggeneral3>CTRL+RIGHTBRACKET</bindinggeneral3>
<bindinggeneral4>CTRL+ALT+3</bindinggeneral4>
<bindinggeneral5>CTRL+ALT+4</bindinggeneral5>
<bindinggeneral6>CTRL+ALT+5</bindinggeneral6>
<bindinggeneral7>ALT+f</bindinggeneral7>
<bindingcard0>SHIFT+LESS</bindingcard0>
<bindingcard1>LESS</bindingcard1>
<bindingcard2>ALT+q</bindingcard2>
<bindingcanned0>CTRL+1</bindingcanned0>
<bindingcanned1>CTRL+2</bindingcanned1>
<bindingcanned2>CTRL+3</bindingcanned2>
<bindingcanned3>CTRL+4</bindingcanned3>
<bindingcanned4>CTRL+5</bindingcanned4>
<bindingcanned5>CTRL+6</bindingcanned5>
<bindingcanned6>CTRL+7</bindingcanned6>
<bindingcanned7>CTRL+8</bindingcanned7>
<bindingcanned8>CTRL+9</bindingcanned8>
<recentformat>2</recentformat>
<filterkeystroke>1</filterkeystroke>
<deckeditorloadtozoneiscollapse>0</deckeditorloadtozoneiscollapse>
<scalefactor>1.000000</scalefactor>
<zoomfactor>1.000000</zoomfactor>
<quickzoom>4.000000</quickzoom>
<isdownloadallmissing>1</isdownloadallmissing>
</pluginpreferences>
The file I am trying to use is in the same folder from where the wooden board is that I keep getting. Any help would be appreciated.
I figured this out now I need help adding tokens to the game zone. I have the button created but how do I put tokens in it?
Tokens are added to Lackey along with your cards, in your card file(s). As long as you have a column named "Type", any card whose type starts with "Token" will be added to Lackey as a token. It won't appear in the deckbuilder, but will be accessible from the token tab on the right of the game table.
(http://magicplugin.normalitycomics.com/stuff/tokens-open-1-19-20.jpg)
(If it's not currently visible, click the + to expand it.)
(http://magicplugin.normalitycomics.com/stuff/tokens-closed-1-19-20.jpg)
You can also spawn a token by entering "/spawn name" in the chat console, where "name" is the name of the token. This can also be bound as a right-click script on a card, or as a canned message.
Awesome thank you very much it worked.
I have one more question:
I am making another plugin that uses 3 separate decks that all players draw from during the course of gameplay.
Is there a way to make the interface where for every game the 3 decks and all of the cards that go with them automatically are available for both users? Like making separate tabs with the tokens but that act as decks that can be shuffled?
Absolutely! To set an initial state to load each time the game starts, check out Defining Initial Game Setups (https://lackeyccg.com/tutorialplugin.html#packs2).
Shared decks are explained under GameZones (https://lackeyccg.com/tutorialplugininfo.html#plugininfo6).
You can't put tokens in a deck, however. As soon as a token is moved anywhere except the table, it ceases to exist. If you need them in a deck, or to be able to shuffle them, you need to make them count as real cards for Lackey's purposes.
That all worked perfectly! Thank you!
Last question (for now). How do I make an autoupdate url?
Just saw your other post on this. I guess my question is could I have my plugin stored on like Google Drive and set the autoupdate to go from there?
That should work, as long as Google Drive gives you a URL that points directly to the file. That is, if you paste the URL in your browser and hit enter, you should see only a plain text file and nothing else. The URL to the Google Drive web page displaying the file, with info about it, etc. will not work.
Google Drive did not appear to work. What method would you suggest for storing the files online?
Personally, I have a domain and hosting from Namecheap (http://namecheap.com). It doesn't cost that much, really.
But Google Drive should work. What URL are you trying? Google won't automatically give you a URL directly to the file, you have to put it together yourself. Here's a guide (https://www.labnol.org/internet/direct-links-for-google-drive/28356/) on how to do that.
First link I tried was the general link that pops up when you select the document. That did not work. I was looking at the article you shared for the simple url tricks and they seem anything but simple to me.
I tried the Create Direct Download Links and Skip the Web Viewer portion of it, but the url I get looks nothing like the example that he gives in the article.
His sample looks like this: https://drive.google.com/open?id=DRIVE_FILE_ID
Mine looks like this: https://drive.google.com/file/d/16kNlXbQc9oMEmSZqDSdZNpKGGX2J2LAe/view?usp=sharing
I cant find how to customize my url to fit what his looks like which would be: https://drive.google.com/uc?export=download&id=DRIVE_FILE_ID
Oh my bad, it looks like Google has changed the format of the shareable link since that article was published. Thankfully, it looks like the same steps still apply.
Okay, so this is your URL: https://drive.google.com/file/d/16kNlXbQc9oMEmSZqDSdZNpKGGX2J2LAe/view?usp=sharing
It doesn't look exactly like the sample URL provided, but it still has an ID. The ID is that long string of numbers and letters: 16kNlXbQc9oMEmSZqDSdZNpKGGX2J2LAe
To make direct downloading possible, the guide says to use: https://drive.google.com/uc?export=download&id=DRIVE_FILE_ID
Take that URL and replace "DRIVE_FILE_ID" with your actual file ID: https://drive.google.com/uc?export=download&id=16kNlXbQc9oMEmSZqDSdZNpKGGX2J2LAe (https://drive.google.com/uc?export=download&id=16kNlXbQc9oMEmSZqDSdZNpKGGX2J2LAe)
That link should work (I tested the same process with a file on my Drive), but you need to make sure you've made the file publicly shareable. (When you generate the shareable link, make sure the dropdown says "Anyone with the link can view.") Whether I try the sharing link or the direct link, it says I need permission to access your file.
Awesome, links are now working but now I can't generate valid checksums. Here is what my updatelist file looks like:
NFL Gametime 04-23-20
plugins/NFL Gametime/plugininfo.txt https://drive.google.com/uc?export=download&id=16kNlXbQc9oMEmSZqDSdZNpKGGX2J2LAe
plugins/NFL Gametime/sets/carddata.txt https://drive.google.com/uc?export=download&id=1JopDJfx9efQNSnITdVuL4MrS2UXTl4mY
plugins/NFL Gametime/sets/setimages/general/cardback.jpg https://drive.google.com/uc?export=download&id=1gsBo09yGrzeW8JLsmq-pDgv9WrVjpywL
plugins/NFL Gametime/sets/setimages/general/spawned.jpg https://drive.google.com/uc?export=download&id=17_CuoFD7Wy53ixSskWoUCGYOwI1ViAyG
CardGeneralURLS:
https://drive.google.com/uc?export=download&id=16nhGCd4O2SCkuflIHxYQn46GpwguKIUG
When I generate checksums I just get 0s. What am I missing?
I take it you're following the directions in the plugin tutorial (https://lackeyccg.com/tutorialplugin.html), under "Generating Checksums"?
I'm not sure what could be going wrong. First of all?it is in fact creating the updatelistNEW.txt file? And that's where you're seeing the zeros?
One thing to try might be renaming your plugin's name and folder to not have any spaces. I'm not sure that spaces cause a problem, but perhaps try "nfl-gametime" and see if that makes a difference. The other thing to check would be verify for sure that those files are in fact in your plugin's folder where your updatelist says they are.
Yes I am have been referring back to that page.
Thank you! that was the first piece putting the dash in the plugin title. It is generating checksums for all of my .txt files, but I keep getting an error and a 0 for my checksum for the cardback and the spawned image.
Also I have read through this part a bunch of times but still confused on the card images. Do I need to have all of my images uploaded online with a link to them in the update list? I have over 1,000 images what would be the best way to put them into the updatelist?
Yay, progress!
I'm stumped as to why it would work for your text files, but not your images. You're sure they're in plugins/NFL-Gametime/sets/setimages/general/ ? If you want to attach a zip file of your whole plugin folder, I could take a look and see if I notice something.
You have three (sort of two-and-a-half) options for telling Lackey where to download your plugin files.
- CardImageURLs
With this option, yes, you have to list each individual image URL separately in your updatelist. As you'd imagine, this is... a lot.
- CardURLFiles
You still have to list each individual image URL, but you can put them in one or more separate files, and list those files in your updatelist. Note that these URL files have to be listed among the checksummed plugin files (so Lackey knows to download them) and in a "CardURLFiles:" section, so that Lackey knows to use them to find card images. This method, at least, keeps you from having an enormous updatelist.
- CardGeneralURLs
This is by far the simplest method if you can use it, but I don't know that it can play nicely with Google Drive. You define a base URL, something like "http://mywebsite.com/pluginimages/", and then whenever Lackey needs a card's image, it will combine that with the card's listed imageFile (adding ".jpg" automatically if no extension is specified).
For instance, if a card says its imageFile is "card001", Lackey will attempt to download "http://mywebsite.com/pluginimages/card001.jpg".
As far as I know, you can't use the last method with Google Drive. Even if you set your CardGeneralURL as "https://drive.google.com/uc?export=download&id=", and you set each card's imageFile to the long string of characters that represent its ID, Lackey would still attach ".jpg" to the end and it wouldn't work. (And even if it did, it would still be just as much copying and pasting as using either of the first two methods.)
Have you looked into other file-hosting locations? Perhaps Github? It's possible they might check content and get upset about hosting copyrighted images... but they do let you access your files with actual URLs that aren't made of alphabet soup.
I uploaded all of my images to dropbox. I have attached my update list file. I have not added in the stuff for dropbox yet. Let me know if you see where I went wrong.
Sorry missed the first part of your last post. All under set images I have 4 folders they are, general, base, 19, 20. I believe they are in the proper location unless I missed something with how they are ordered.
Ah, I see the issue now. The plugin tutorial mentions: "Before a proper checksum is generated, just include any number as a placeholder checksum." Just stick a zero (or something) at the end of each line (after a tab):
plugins/NFL-Gametime/plugininfo.txt https://drive.google.com/uc?export=download&id=1QYi6bonq5zgBtze4q4x4jdkejJheAHE- 0
plugins/NFL-Gametime/pluginpreferences.txt https://drive.google.com/uc?export=download&id=1gkDAiNTEivXVwh02ryt8KbUS3DYKPG8q 0
plugins/NFL-Gametime/sets/carddata.txt https://drive.google.com/uc?export=download&id=1JopDJfx9efQNSnITdVuL4MrS2UXTl4mY 0
plugins/NFL-Gametime/sets/setimages/general/cardback.jpg https://drive.google.com/uc?export=download&id=1aCkH7ARuuutsAlAjPQZfxnMdpU3_rFx7 0
plugins/NFL-Gametime/sets/setimages/general/spawned.jpg https://drive.google.com/uc?export=download&id=1_wzAag3Rg5i_LJ_RNH7DWzMJi3H523gd 0
(If you notice, the messages Lackey prints when you run the checksum command on your current file indicate that it's jumping ahead to the next line too early in search of that final column. It thinks, for instance, that 'plugins/NFL-Gametime/pluginpreferences.txt' is the checksum for your plugininfo.txt. Then it says it can't find a local file named 'https://drive.google.com/uc?export=download&id=1gkDAiNTEivXVwh02ryt8KbUS3DYKPG8q'.)
Does DropBox give you predictable URLs for file access? If so, that's good to know about. I haven't tried it out.