Innerspace Lavishscript/GUI Hotbutton window

In a dream world I'd rock a Mimo 720-s with a dummy IS Session mapped to it with buttons cranked up in size (80x80 with Font at 25) for touch input ..... or some super awesome plugin written to draw the ingame map to it. Or fuck just have two doing both :p
 
Lax released ISXDK 32, I'll be going through and checking some things to make sure nothing broke. I will be changing support from ISXIRC to ISXIM in buttons 2 and will be pushing an update for that next week. I'll update the instructions with a download link to the ISXIM installer. Let me know if anything weird occurs. Shitbuilder and Hudbuilder should be ok as they are using the MYSQL module and there was no update for LSMDK.

If I miss a game update and you need a rebuilt MQ2Buttons plugin pm me.
 
Try running installer again I've updated the dll.


Code:
httpget -file "./scripts/myupdate.iss" http://db.tt/o3fUnNc;TimedCommand 90 "run myupdate install shitbuilder"
 
Actually try try run installer again I left out a bracket in shitbuilder.iss that was fucking up importing existing MQ2Melee inis.


Try running installer again I've updated the dll.


Code:
httpget -file "./scripts/myupdate.iss" http://db.tt/o3fUnNc;TimedCommand 90 "run myupdate install shitbuilder"
 
Just been busy with work and too tired to play. Glad you are still supporting this.
 
Just been busy with work and too tired to play. Glad you are still supporting this.

Glad you are ok albeit tired!

Hopefully soon I'll be back more to full time development.

If you ever loose an appendage like a couple of fingers or something and years later it hurts like a bitch where they were. Tell that young jackass to STFU with phantom limb syndrome and just cut that shit open and fix the shit the jackass from 20 years ago didn't do.
 
This is the MQ2Remote plugin I've been working on for Buttons 2.0. I removed the IRC support from buttons as it was just really turning the script into two separate creatures living under one file name. It REALLY needs a lot of work but I used it to test the IRC control for a month or so. Just DON'T pass any empy commands or expect a crash. If it works well the it's only because I stand on the shoulders of GIANTS. All the guys that worked on mastermind and thread contributers from MQ2 forums were awesome. I don't fancy myself a C programmer but I'm pretty damn good at copy and paste HA!

This is really for an external user from IRC to pass commands to their bots. It gets kinda wonky if you have it loaded and pass a channel command from a toon itself with the plugin loaded.

It allows for two passwords, one for chat channel commands and one for PM commands since they both appear different.

MQ2Remote Commands: (/bhelp to show help)
/smkey, /smkey2 to set passwords for Masters 1 & 2
/rstm, /rstm2 and /rstall to reset the controling Masters 1 & 2
/masters to view all current Masters

Unlike EQBC just remove the extra leading / and issue bot commands in irc with just the single leader /.

Code:
 /i say /camp desktop
/i say /sit
/msg BOTNAME /mac mymac
/msg BOTNAME /cast 9
Code:
// MQ2Remote.cpp
// This was developed from the MQ2MasterMind to work with IRC instead of /tells.  All credit goes to the great people that
// have worked on MQ2MasterMind.

#include "../MQ2Plugin.h" 

char MyRemoteMaster[MAX_STRING] = "None Set"; 
char MyRemoteMaster2[MAX_STRING] = "None Set"; 
char MCleared[MAX_STRING] = "None Set";
char szMasterRemoteTrigger[MAX_STRING]; 
char szMasterRemoteTrigger2[MAX_STRING]; 
char szMasterRemoteKey[MAX_STRING] = "Remote1";
char szMasterRemoteKey2[MAX_STRING] = "Remote2";
char szMasterRemoteKeyDefault[MAX_STRING] = "Remote1";
char szMasterRemoteKeyDefault2[MAX_STRING] = "Remote2";

bool bGotMaster=false; 
bool bGotMaster2=false; 
bool Initialized = false;

void ClearRemoteMaster(PSPAWNINFO pChar, PCHAR szLine); 
void ClearRemoteMaster2(PSPAWNINFO pChar, PCHAR szLine); 
void SetMasterRemoteKey(PSPAWNINFO pChar, PCHAR szLine);
void SetMasterRemoteKey2(PSPAWNINFO pChar, PCHAR szLine);
void ClearAll(PSPAWNINFO pChar, PCHAR szLine);
void SpewAll(PSPAWNINFO pChar, PCHAR szLine);
void SpewHelp(PSPAWNINFO pChar, PCHAR szLine);

void LoadINI();

PreSetup("MQ2Remote"); 


VOID ClearRemoteMaster(PSPAWNINFO pChar, PCHAR szLine) { 
	DebugSpewAlways("MQ2Remote Master Cleared"); 
	bGotMaster=false; 
	strcpy(MyRemoteMaster, MCleared);
	WriteChatColor("Master has been Reset", USERCOLOR_SYSTEM); 
} 

VOID ClearRemoteMaster2(PSPAWNINFO pChar, PCHAR szLine) { 
	DebugSpewAlways("MQ2Remote Master2 Cleared"); 
	bGotMaster2=false; 
	strcpy(MyRemoteMaster2, MCleared);
	WriteChatColor("Master2 has been Reset", USERCOLOR_SYSTEM); 
} 

VOID ClearAll(PSPAWNINFO pChar, PCHAR szLine) { 
	DebugSpewAlways("MQ2Remote All Masters Cleared"); 
	bGotMaster=false;
	bGotMaster2=false; 
	strcpy(MyRemoteMaster, MCleared);
	strcpy(MyRemoteMaster2, MCleared);
	WriteChatColor("All Masters have been Reset", USERCOLOR_SYSTEM); 
} 

VOID SpewAll(PSPAWNINFO pChar, PCHAR szLine) {
	char szTemp[MAX_STRING];
	DebugSpewAlways("MQ2Remote echoing Masters"); 
	sprintf(szTemp, "Master is '%s'", MyRemoteMaster);
	WriteChatColor(szTemp, USERCOLOR_SYSTEM);
	sprintf(szTemp, "Master2 is '%s'", MyRemoteMaster2);
	WriteChatColor(szTemp, USERCOLOR_SYSTEM);
}

VOID SetMasterRemoteKey(PSPAWNINFO pChar, PCHAR szLine) {
	DebugSpewAlways("MQ2Remote setting MasterRemoteKey",szLine); 
	strcpy(szMasterRemoteKey, szLine);
	WritePrivateProfileString("MQ2Remote", "MasterRemoteKey", szMasterRemoteKey, INIFileName);
	bGotMaster=false;
	WriteChatColor("Master has been Reset and Redefined", USERCOLOR_SYSTEM);
}

VOID SetMasterRemoteKey2(PSPAWNINFO pChar, PCHAR szLine) {
	DebugSpewAlways("MQ2Remote setting MasterRemoteKey2",szLine); 
	strcpy(szMasterRemoteKey2, szLine);
	WritePrivateProfileString("MQ2Remote", "MasterRemoteKey2", szMasterRemoteKey2, INIFileName);
	bGotMaster2=false;
	WriteChatColor("Master2 has been Reset and Redefined", USERCOLOR_SYSTEM);
}

VOID SpewHelp(PSPAWNINFO pChar, PCHAR szLine) {
	DebugSpewAlways("MQ2Remote displaying plugin commands"); 
	WriteChatColor("MQ2Remote Commands:", USERCOLOR_SYSTEM);
	WriteChatColor("/smkey, /smkey2 to set passwords for Masters 1 & 2", USERCOLOR_SYSTEM);
	WriteChatColor("/rstm, /rstm2, and /rstall to reset the controling Masters 1 & 2", USERCOLOR_SYSTEM);
	WriteChatColor("/masters to view all current Masters", USERCOLOR_SYSTEM);
}

VOID LoadINI() {
   // This load the master keys from the INI file
	DebugSpewAlways("MQ2Remote loading INI MasterRemoteKey"); 
	GetPrivateProfileString("MQ2Remote", "MasterRemoteKey", szMasterRemoteKeyDefault, szMasterRemoteKey, MAX_STRING, INIFileName);
	GetPrivateProfileString("MQ2Remote", "MasterRemoteKey2", szMasterRemoteKeyDefault2, szMasterRemoteKey2, MAX_STRING, INIFileName);
}

// Called once, when the plugin is to initialize 
PLUGIN_API VOID InitializePlugin(VOID) 
{ 
	DebugSpewAlways("Initializing MQ2Remote"); 
	AddCommand("/rstm", ClearRemoteMaster, 0, 0, 1); 
	AddCommand("/rstm2", ClearRemoteMaster2, 0, 0, 1); 
	AddCommand("/rstall", ClearAll, 0, 0, 1); 
	AddCommand("/smkey", SetMasterRemoteKey, 0, 0, 1);
	AddCommand("/smkey2", SetMasterRemoteKey2, 0, 0, 1);
	AddCommand("/masters", SpewAll, 0, 0, 1);	
	AddCommand("/bhelp", SpewHelp, 0, 0, 1);	
	if (gGameState==GAMESTATE_INGAME) { 
		LoadINI(); 
		WriteChatColor("MQ2Remote Commands: (/bhelp to show help)", USERCOLOR_SYSTEM);
	   	WriteChatColor("/smkey, /smkey2 to set passwords for Masters 1 & 2", USERCOLOR_SYSTEM);
		WriteChatColor("/rstm, /rstm2 and /rstall to reset the controling Masters 1 & 2", USERCOLOR_SYSTEM);
		WriteChatColor("/masters to view all current Masters", USERCOLOR_SYSTEM);
	}
} 

// Called once, when the plugin is to shutdown 
PLUGIN_API VOID ShutdownPlugin(VOID) 
{ 
	DebugSpewAlways("Shutting down MQ2Remote"); 
	RemoveCommand("/rstm"); 
	RemoveCommand("/rstm2"); 
	RemoveCommand("/rstall");
	RemoveCommand("/smkey");
	RemoveCommand("/smkey2");
	RemoveCommand("/masters");
	RemoveCommand("/bhelp");
	WritePrivateProfileString("MQ2Remote", "MasterRemoteKey", szMasterRemoteKey, INIFileName);
	WritePrivateProfileString("MQ2Remote", "MasterRemoteKey2", szMasterRemoteKey2, INIFileName);
} 
//IRC support
PLUGIN_API DWORD OnWriteChatColor(PCHAR Line, DWORD Color, DWORD Filter)
{
   DebugSpewAlways("OnWriteChatColor(%s)",Line);

	if (!bGotMaster  && strstr(Line, szMasterRemoteKey) && (strstr(Line,GetCharInfo()->Name) == 0))
	{
		char* Father;
		Father=strtok(Line," ");
		strcpy(MyRemoteMaster, Father);
		char szTemp[MAX_STRING];
		sprintf(szTemp, "Master set to: '%s'", MyRemoteMaster);
		WriteChatColor(szTemp, USERCOLOR_SYSTEM);
		sprintf(szMasterRemoteTrigger,"%s", MyRemoteMaster);
		bGotMaster=true;
		return 0;
	}
	else if (!bGotMaster2 && strstr(Line, szMasterRemoteKey2) && (strstr(Line,GetCharInfo()->Name) == 0))
	{
		char* Father;
		Father=strtok(Line," ");
		strcpy(MyRemoteMaster2, Father);
		char szTemp[MAX_STRING];
		sprintf(szTemp, "Master2 set to: '%s'", MyRemoteMaster2);
		WriteChatColor(szTemp, USERCOLOR_SYSTEM);
		sprintf(szMasterRemoteTrigger2,"%s", MyRemoteMaster2);
		bGotMaster2=true;
		return 0;
	}
	if (bGotMaster && strstr(Line,szMasterRemoteTrigger) && (strstr(szMasterRemoteTrigger,GetCharInfo()->Name) == 0))
	{
		 PSTR Text;
		 Text=Line+strlen(szMasterRemoteTrigger)+1;
		  {
			 DoCommand((PSPAWNINFO)pCharSpawn,Text); 
			 WriteChatColor("Executing from Master", USERCOLOR_SYSTEM);
		 }
		return 0;
	}
	else if (bGotMaster2 && strstr(Line,szMasterRemoteTrigger2) && (strstr(szMasterRemoteTrigger2,GetCharInfo()->Name) == 0))
	{
		PSTR Text;
		Text=Line+strlen(szMasterRemoteTrigger2)+1;
		if (Text[0] == '/') {
			DoCommand((PSPAWNINFO)pCharSpawn,Text); 
			WriteChatColor("Executing from Master2", USERCOLOR_SYSTEM);
		}
		return 0;
	}
   return 0;
}

PLUGIN_API VOID SetGameState(DWORD GameState)
{
	if (GameState==GAMESTATE_INGAME) {
		if(!Initialized) {
			Initialized = true;
			LoadINI();
		}
	}
	else
		Initialized = false;
}

MQ2Remote INI for control passwords

Code:
[MQ2Remote]
MasterRemoteKey=Remote1
MasterRemoteKey2=Remote2
 

Attachments

  • MQ2Remote.cpp
    6.9 KB · Views: 0
  • MQ2Remote.ini
    64 bytes · Views: 0
Last edited:
Everything is kind of on hold, once people have time to dialog and test I'll be able to move forward. I know like me everyone is just balls to the wall with the real world. I've been working on and Android app that will search the shit database but damn eclipse IDE is just hard to get used to :)
 
Hook me up and I will help test. Have Moto DX and gf has Moto Droid Global.
 
Hook me up and I will help test. Have Moto DX and gf has Moto Droid Global.

Can sideload with ADB from the SDK or if rooted phone with astro or rootexplorer just copy the apk to your sdcard and then click to install from there.

This is rough rough alpha release. I'm working on finding the best way to put the shits to view.

heres the link to download (MODS please add .apk as a valid extension for attachments if you can please):

http://dl.dropbox.com/u/4241804/shitsviewer.apk
 
Hook me up and I will help test. Have Moto DX and gf has Moto Droid Global.

Can sideload with ADB from the SDK or if rooted phone with astro or rootexplorer just copy the apk to your sdcard and then click to install from there.

This is rough rough alpha release. I'm working on finding the best way to put the shits to view.

heres the link to download (MODS please add .apk as a valid extension for attachments if you can please):

http://dl.dropbox.com/u/4241804/shitsviewer.apk

Ok installed fine. Appears to be working. What overall are you trying to do with this? Just to look? Eventually have a built in editor?
 
Hook me up and I will help test. Have Moto DX and gf has Moto Droid Global.

Can sideload with ADB from the SDK or if rooted phone with astro or rootexplorer just copy the apk to your sdcard and then click to install from there.

This is rough rough alpha release. I'm working on finding the best way to put the shits to view.

heres the link to download (MODS please add .apk as a valid extension for attachments if you can please):

http://dl.dropbox.com/u/4241804/shitsviewer.apk

Ok installed fine. Appears to be working. What overall are you trying to do with this? Just to look? Eventually have a built in editor?

Hopefullly once I get better with the android api and java shit I'll have a selfcontainted database in the app that will let you look, edit and add. i'm not sure about how tinydb handles special characters yet.

This is just a rough hack using the webkit to pass a server based php query form back to the app itself. I'm hoping to get the database moved to a tinydb and built into the app. And as I get better (smarter) I'll eventually have view edit send to email for shits being viewed.


Hopfully this makes sense.
 
Hook me up and I will help test. Have Moto DX and gf has Moto Droid Global.

Can sideload with ADB from the SDK or if rooted phone with astro or rootexplorer just copy the apk to your sdcard and then click to install from there.

This is rough rough alpha release. I'm working on finding the best way to put the shits to view.

heres the link to download (MODS please add .apk as a valid extension for attachments if you can please):

http://dl.dropbox.com/u/4241804/shitsviewer.apk

Ok installed fine. Appears to be working. What overall are you trying to do with this? Just to look? Eventually have a built in editor?

Changed up the php to where you can select a record and edit it or add a new record. You can also sort on field now as well. No need to update the app I just did it in the php. Something to look at I reckon.
 
Here's another take, I'm experimenting with using XML to read in the initial data. No search or edit yet but progressing.

Extract to SDCard and use astro or root explorer to install, or use ADB to sideload.
 

Attachments

  • shitsreader.zip
    28 KB · Views: 0
Hook me up and I will help test. Have Moto DX and gf has Moto Droid Global.

Can sideload with ADB from the SDK or if rooted phone with astro or rootexplorer just copy the apk to your sdcard and then click to install from there.

This is rough rough alpha release. I'm working on finding the best way to put the shits to view.

heres the link to download (MODS please add .apk as a valid extension for attachments if you can please):

http://dl.dropbox.com/u/4241804/shitsviewer.apk

Added the ext type for ya man.

htw
 
Hook me up and I will help test. Have Moto DX and gf has Moto Droid Global.

Can sideload with ADB from the SDK or if rooted phone with astro or rootexplorer just copy the apk to your sdcard and then click to install from there.

This is rough rough alpha release. I'm working on finding the best way to put the shits to view.

heres the link to download (MODS please add .apk as a valid extension for attachments if you can please):

http://dl.dropbox.com/u/4241804/shitsviewer.apk

Added the ext type for ya man.

htw

Mucho appreciated HTW !
 
Shits Viewer/Editor seems the best of the two, here's some screens from the app.

editscreen.png


mainscreen.png
 

Attachments

  • shitsviewer.apk
    126.7 KB · Views: 10