"Colour picker" dialogue box in a macro - Ready to eat

Show off your RPG maps, campaigns, and tokens. Share your gaming experiences and stories under General Discussion and save this forum for things you've created that may help others run their own games. Use the subforums when appropriate.

Moderators: dorpond, trevor, Azhrei, Gamerdude

Post Reply
User avatar
bubblobill
Giant
Posts: 167
Joined: Sun Jan 24, 2010 3:07 pm

"Colour picker" dialogue box in a macro - Ready to eat

Post by bubblobill »

:idea:
I got sick of running off to webpages every time I wanted a colour hex value, so I made this.
I also wanted to see if I could process a form from the same macro that created it, which apparently you can.
screenshot
screenshot
colourPicker.png (12.39 KiB) Viewed 831 times
At present the output looks like this
output.png
output.png (971 Bytes) Viewed 831 times
It could be easily be altered to return the colour choice to a calling macro instead of outputting to chat.

If you like it here is the macro:
colourPicker.mtmacro
Colour picking macro
(2.1 KiB) Downloaded 45 times

Or for those that want to play, here is the code:
Spoiler

Code: Select all

[h:resultString=""]

[r,if (json.isEmpty(macro.args) != 1),code:{
[h:chosenColour=json.get(macro.args,"colour")]
[h:resultString='<table><tr><td>Colour hex value:</td><td>'+chosenColour+'</td><td bgcolor='+chosenColour+' width=30></td></tr></table>']
[r:resultString]

	};{
[h:runFrom=getMacroLocation()]
[h, switch(runFrom):
   case "campaign":	formLink = macroLinkText("colourPicker@campaign","self","","");
   case "global":   formLink = macroLinkText("colourPicker@global","self","","");
   default:      	formLink = macroLinkText("colourPicker@token","self","","selected")
   ]

[h:formString='
<html>
<body>
<form action="'+formLink+'" method=json >
<table border="1" width=100%>
<tr>
	<td bgcolor="#330000"><input type="radio" name="colour" value="#330000" checked="checked"></td>
	<td bgcolor="#331900"><input type="radio" name="colour" value="#331900"></td>
	<td bgcolor="#333300"><input type="radio" name="colour" value="#333300"></td>
	<td bgcolor="#193300"><input type="radio" name="colour" value="#193300"></td>
	<td bgcolor="#003300"><input type="radio" name="colour" value="#003300"></td>
	<td bgcolor="#003319"><input type="radio" name="colour" value="#003319"></td>
	<td bgcolor="#003333"><input type="radio" name="colour" value="#003333"></td>
	<td bgcolor="#001933"><input type="radio" name="colour" value="#001933"></td>
	<td bgcolor="#000033"><input type="radio" name="colour" value="#000033"></td>
	<td bgcolor="#190033"><input type="radio" name="colour" value="#190033"></td>
	<td bgcolor="#330033"><input type="radio" name="colour" value="#330033"></td>
	<td bgcolor="#330019"><input type="radio" name="colour" value="#330019"></td>
	<td bgcolor="#000000"><input type="radio" name="colour" value="#000000"></td>
	</tr>
<tr>
	<td bgcolor="#660000"><input type="radio" name="colour" value="#660000" ></td>
	<td bgcolor="#663300"><input type="radio" name="colour" value="#663300"></td>
	<td bgcolor="#666600"><input type="radio" name="colour" value="#666600"></td>
	<td bgcolor="#336600"><input type="radio" name="colour" value="#336600"></td>
	<td bgcolor="#006600"><input type="radio" name="colour" value="#006600"></td>
	<td bgcolor="#006633"><input type="radio" name="colour" value="#006633"></td>
	<td bgcolor="#006666"><input type="radio" name="colour" value="#006666"></td>
	<td bgcolor="#003366"><input type="radio" name="colour" value="#003366"></td>
	<td bgcolor="#000066"><input type="radio" name="colour" value="#000066"></td>
	<td bgcolor="#330066"><input type="radio" name="colour" value="#330066"></td>
	<td bgcolor="#660066"><input type="radio" name="colour" value="#660066"></td>
	<td bgcolor="#660033"><input type="radio" name="colour" value="#660033"></td>
	<td bgcolor="#202020"><input type="radio" name="colour" value="#202020"></td>
	</tr>
<tr>
	<td bgcolor="#990000"><input type="radio" name="colour" value="#990000" ></td>
	<td bgcolor="#994C00"><input type="radio" name="colour" value="#994C00"></td>
	<td bgcolor="#999900"><input type="radio" name="colour" value="#999900"></td>
	<td bgcolor="#4C9900"><input type="radio" name="colour" value="#4C9900"></td>
	<td bgcolor="#009900"><input type="radio" name="colour" value="#009900"></td>
	<td bgcolor="#00994C"><input type="radio" name="colour" value="#00994C"></td>
	<td bgcolor="#009999"><input type="radio" name="colour" value="#009999"></td>
	<td bgcolor="#004C99"><input type="radio" name="colour" value="#004C99"></td>
	<td bgcolor="#000099"><input type="radio" name="colour" value="#000099"></td>
	<td bgcolor="#4C0099"><input type="radio" name="colour" value="#4C0099"></td>
	<td bgcolor="#990099"><input type="radio" name="colour" value="#990099"></td>
	<td bgcolor="#99004C"><input type="radio" name="colour" value="#99004C"></td>
	<td bgcolor="#404040"><input type="radio" name="colour" value="#404040"></td>
	</tr>
<tr>
	<td bgcolor="#CC0000"><input type="radio" name="colour" value="#CC0000" ></td>
	<td bgcolor="#CC6600"><input type="radio" name="colour" value="#CC6600"></td>
	<td bgcolor="#CCCC00"><input type="radio" name="colour" value="#CCCC00"></td>
	<td bgcolor="#66CC00"><input type="radio" name="colour" value="#66CC00"></td>
	<td bgcolor="#00CC00"><input type="radio" name="colour" value="#00CC00"></td>
	<td bgcolor="#00CC66"><input type="radio" name="colour" value="#00CC66"></td>
	<td bgcolor="#00CCCC"><input type="radio" name="colour" value="#00CCCC"></td>
	<td bgcolor="#0066CC"><input type="radio" name="colour" value="#0066CC"></td>
	<td bgcolor="#0000CC"><input type="radio" name="colour" value="#0000CC"></td>
	<td bgcolor="#6600CC"><input type="radio" name="colour" value="#6600CC"></td>
	<td bgcolor="#CC00CC"><input type="radio" name="colour" value="#CC00CC"></td>
	<td bgcolor="#CC0066"><input type="radio" name="colour" value="#CC0066"></td>
	<td bgcolor="#606060"><input type="radio" name="colour" value="#606060"></td>
	</tr>
<tr>
	<td bgcolor="#FF0000"><input type="radio" name="colour" value="#FF0000" ></td>
	<td bgcolor="#FF8000"><input type="radio" name="colour" value="#FF8000"></td>
	<td bgcolor="#FFFF00"><input type="radio" name="colour" value="#FFFF00"></td>
	<td bgcolor="#80FF00"><input type="radio" name="colour" value="#80FF00"></td>
	<td bgcolor="#00FF00"><input type="radio" name="colour" value="#00FF00"></td>
	<td bgcolor="#00FF80"><input type="radio" name="colour" value="#00FF80"></td>
	<td bgcolor="#00FFFF"><input type="radio" name="colour" value="#00FFFF"></td>
	<td bgcolor="#0080FF"><input type="radio" name="colour" value="#0080FF"></td>
	<td bgcolor="#0000FF"><input type="radio" name="colour" value="#0000FF"></td>
	<td bgcolor="#7F00FF"><input type="radio" name="colour" value="#7F00FF"></td>
	<td bgcolor="#FF00FF"><input type="radio" name="colour" value="#FF00FF"></td>
	<td bgcolor="#FF007F"><input type="radio" name="colour" value="#FF007F"></td>
	<td bgcolor="#808080"><input type="radio" name="colour" value="#808080"></td>
	</tr>
<tr>
	<td bgcolor="#FF3333"><input type="radio" name="colour" value="#FF3333" ></td>
	<td bgcolor="#FF9933"><input type="radio" name="colour" value="#FF9933"></td>
	<td bgcolor="#FFFF33"><input type="radio" name="colour" value="#FFFF33"></td>
	<td bgcolor="#99FF33"><input type="radio" name="colour" value="#99FF33"></td>
	<td bgcolor="#33FF33"><input type="radio" name="colour" value="#33FF33"></td>
	<td bgcolor="#33FF99"><input type="radio" name="colour" value="#33FF99"></td>
	<td bgcolor="#33FFFF"><input type="radio" name="colour" value="#33FFFF"></td>
	<td bgcolor="#3399FF"><input type="radio" name="colour" value="#3399FF"></td>
	<td bgcolor="#3333FF"><input type="radio" name="colour" value="#3333FF"></td>
	<td bgcolor="#9933FF"><input type="radio" name="colour" value="#9933FF"></td>
	<td bgcolor="#FF33FF"><input type="radio" name="colour" value="#FF33FF"></td>
	<td bgcolor="#FF3399"><input type="radio" name="colour" value="#FF3399"></td>
	<td bgcolor="#A0A0A0"><input type="radio" name="colour" value="#A0A0A0"></td>
	</tr>
<tr>
	<td bgcolor="#FF6666"><input type="radio" name="colour" value="#FF6666" ></td>
	<td bgcolor="#FFB266"><input type="radio" name="colour" value="#FFB266"></td>
	<td bgcolor="#FFFF66"><input type="radio" name="colour" value="#FFFF66"></td>
	<td bgcolor="#B2FF66"><input type="radio" name="colour" value="#B2FF66"></td>
	<td bgcolor="#66FF66"><input type="radio" name="colour" value="#66FF66"></td>
	<td bgcolor="#66FFB2"><input type="radio" name="colour" value="#66FFB2"></td>
	<td bgcolor="#66FFFF"><input type="radio" name="colour" value="#66FFFF"></td>
	<td bgcolor="#66B2FF"><input type="radio" name="colour" value="#66B2FF"></td>
	<td bgcolor="#6666FF"><input type="radio" name="colour" value="#6666FF"></td>
	<td bgcolor="#B266FF"><input type="radio" name="colour" value="#B266FF"></td>
	<td bgcolor="#FF66FF"><input type="radio" name="colour" value="#FF66FF"></td>
	<td bgcolor="#FF66B2"><input type="radio" name="colour" value="#FF66B2"></td>
	<td bgcolor="#C0C0C0"><input type="radio" name="colour" value="#C0C0C0"></td>
	</tr>
<tr>
	<td bgcolor="#FF9999"><input type="radio" name="colour" value="#FF9999" ></td>
	<td bgcolor="#FFCC99"><input type="radio" name="colour" value="#FFCC99"></td>
	<td bgcolor="#FFFF99"><input type="radio" name="colour" value="#FFFF99"></td>
	<td bgcolor="#CCFF99"><input type="radio" name="colour" value="#CCFF99"></td>
	<td bgcolor="#99FF99"><input type="radio" name="colour" value="#99FF99"></td>
	<td bgcolor="#99FFCC"><input type="radio" name="colour" value="#99FFCC"></td>
	<td bgcolor="#99FFFF"><input type="radio" name="colour" value="#99FFFF"></td>
	<td bgcolor="#99CCFF"><input type="radio" name="colour" value="#99CCFF"></td>
	<td bgcolor="#9999FF"><input type="radio" name="colour" value="#9999FF"></td>
	<td bgcolor="#CC99FF"><input type="radio" name="colour" value="#CC99FF"></td>
	<td bgcolor="#FF99FF"><input type="radio" name="colour" value="#FF99FF"></td>
	<td bgcolor="#FF99CC"><input type="radio" name="colour" value="#FF99CC"></td>
	<td bgcolor="#E0E0E0"><input type="radio" name="colour" value="#E0E0E0"></td>
	</tr>
<tr>
	<td bgcolor="#FFCCCC"><input type="radio" name="colour" value="#FFCCCC" ></td>
	<td bgcolor="#FFE5CC"><input type="radio" name="colour" value="#FFE5CC"></td>
	<td bgcolor="#FFFFCC"><input type="radio" name="colour" value="#FFFFCC"></td>
	<td bgcolor="#E5FFCC"><input type="radio" name="colour" value="#E5FFCC"></td>
	<td bgcolor="#CCFFCC"><input type="radio" name="colour" value="#CCFFCC"></td>
	<td bgcolor="#CCFFE5"><input type="radio" name="colour" value="#CCFFE5"></td>
	<td bgcolor="#CCFFFF"><input type="radio" name="colour" value="#CCFFFF"></td>
	<td bgcolor="#CCE5FF"><input type="radio" name="colour" value="#CCE5FF"></td>
	<td bgcolor="#CCCCFF"><input type="radio" name="colour" value="#CCCCFF"></td>
	<td bgcolor="#E5CCFF"><input type="radio" name="colour" value="#E5CCFF"></td>
	<td bgcolor="#FFCCFF"><input type="radio" name="colour" value="#FFCCFF"></td>
	<td bgcolor="#FFCCE5"><input type="radio" name="colour" value="#FFCCE5"></td>
	<td bgcolor="#FFFFFF"><input type="radio" name="colour" value="#FFFFFF"></td>
	</tr>
</table>
<table width=100%>
	<tr><tr><td align=center><input type="submit" name="colourChoose" value="Choose">
</table>
</form>
</html>']

[r,dialog("pickColour","width=650; height=350; temporary=1; input=1; noframe=0"):{
	[r:formstring]
	}]

}]
Hope someone finds it useful,

Cheers.


Edited: 06/07/2014 - macro now supports running from campaign/global as well as token
Last edited by bubblobill on Sun Jul 06, 2014 12:45 am, edited 1 time in total.
Bubblobill on the forum.
@Reverend on the MapTool Discord Server

Responsible for less atrocities than most... I do accept responsibility for these though: SmartDoors, Simple d20 Framework - barebones, Drop-in: All 3.5 SRD Monsters, Drop in: Simple Character Editor, Battletech Framework


MeMeMe
Dragon
Posts: 256
Joined: Tue Mar 31, 2009 7:44 pm

Re: "Colour picker" dialogue box in a macro - Ready to eat

Post by MeMeMe »

That's a great idea. Thanks!
MapTools Forks: Thread

Post Reply

Return to “User Creations”