View previous topic :: View next topic |
Author |
Message |
Extreme
Joined: 28 Nov 2007 Posts: 135
|
Posted: Fri Jul 25, 2008 15:58 Post subject: Error out of nowhere |
|
|
I got this error in nwnx_chat. i dont remember touching this but something tells me i may have. i have a feeling its a very simple error somehwere tho.
7/25/2008 8:57:37 AM: Error. 'nwnx_chat' did not compile.
nwnx_chat.nss(7): ERROR: PARSING VARIABLE LIST
Code: | void main()
{
string LIST_ITEM_NAME = "PC_";
string PC_ID_NAME = "OID";
struct chat_message
{
int Mode;
object Recipient;
string Text;
}
string GetStringFrom(string s, int from = 1)
{
return GetStringRight(s, GetStringLength(s) - from);
}
void NWNXChat_Init()
{
int i;
object oMod = GetModule();
// memory for chat text
string sMemory;
for (i = 0; i < 8; i++) // reserve 8*128 bytes
sMemory += "................................................................................................................................";
SetLocalString(oMod, "NWNX!CHAT!SPACER", sMemory);
}
string NWNXChat_GetSpacer()
{
return GetLocalString(GetModule(), "NWNX!CHAT!SPACER");
}
void NWNXChat_PCEnter(object oPC)
{
if (!GetIsObjectValid(oPC)) return;
object oMod = GetModule();
SetLocalString(oPC, "NWNX!CHAT!GETID", ObjectToString(oPC)+" ");
string sID = GetLocalString(oPC, "NWNX!CHAT!GETID");
int nID = StringToInt(sID);
if (nID != -1)
{
SetLocalObject(oMod, LIST_ITEM_NAME + sID, oPC);
SetLocalInt(oPC, PC_ID_NAME, nID);
}
DeleteLocalString(oPC, "NWNX!CHAT!GETID");
}
void NWNXChat_PCExit(object oPC)
{
if (!GetIsObjectValid(oPC)) return;
int nID = GetLocalInt(oPC, PC_ID_NAME);
DeleteLocalInt(oPC, PC_ID_NAME);
DeleteLocalObject(GetModule(), LIST_ITEM_NAME + IntToString(nID));
}
object NWNXChat_GetPCByPlayerID(int nID)
{
return GetLocalObject(GetModule(), LIST_ITEM_NAME + IntToString(nID));
}
string NWNXChat_GetMessageText()
{
SetLocalString(GetModule(), "NWNX!CHAT!TEXT", NWNXChat_GetSpacer());
return GetLocalString(GetModule(), "NWNX!CHAT!TEXT");
}
struct chat_message NWNXChat_GetMessage()
{
struct chat_message cmMessage;
string sText = NWNXChat_GetMessageText();
int nMode = StringToInt(GetStringLeft(sText,2));
int nTo = StringToInt(GetSubString(sText,2,10));
sText = GetStringFrom(sText, 12);
cmMessage.Mode = nMode;
cmMessage.Recipient = NWNXChat_GetPCByPlayerID(nTo);
cmMessage.Text = sText;
return cmMessage;
}
void NWNXChat_Log(string sLogMessage)
{
SetLocalString(GetModule(), "NWNX!CHAT!LOG", sLogMessage);
}
void NWNXChat_SuppressMessage()
{
SetLocalString(GetModule(), "NWNX!CHAT!SUPRESS", "1");
DeleteLocalString(GetModule(), "NWNX!CHAT!SUPRESS");
}
} |
|
|
Back to top |
|
|
Extreme
Joined: 28 Nov 2007 Posts: 135
|
Posted: Fri Jul 25, 2008 16:52 Post subject: |
|
|
this is not included in anything...but i think this is something i added when i added the dmb_chat. and i was informed that it wasnt needed since i use the simtools. i removed the dmb_chat and forgot to remove this one |
|
Back to top |
|
|
FunkySwerve
Joined: 02 Jun 2005 Posts: 377
|
Posted: Fri Jul 25, 2008 16:56 Post subject: |
|
|
Use this:
Code: | const string LIST_ITEM_NAME = "PC_";
const string PC_ID_NAME = "OID";
struct chat_message
{
int Mode;
object Recipient;
string Text;
};
string GetStringFrom(string s, int from = 1)
{
return GetStringRight(s, GetStringLength(s) - from);
}
void NWNXChat_Init()
{
int i;
object oMod = GetModule();
// memory for chat text
string sMemory;
for (i = 0; i < 8; i++) // reserve 8*128 bytes
sMemory += "................................................................................................................................";
SetLocalString(oMod, "NWNX!CHAT!SPACER", sMemory);
}
string NWNXChat_GetSpacer()
{
return GetLocalString(GetModule(), "NWNX!CHAT!SPACER");
}
void NWNXChat_PCEnter(object oPC)
{
if (!GetIsObjectValid(oPC)) return;
object oMod = GetModule();
SetLocalString(oPC, "NWNX!CHAT!GETID", ObjectToString(oPC)+" ");
string sID = GetLocalString(oPC, "NWNX!CHAT!GETID");
int nID = StringToInt(sID);
if (nID != -1)
{
SetLocalObject(oMod, LIST_ITEM_NAME + sID, oPC);
SetLocalInt(oPC, PC_ID_NAME, nID);
}
DeleteLocalString(oPC, "NWNX!CHAT!GETID");
}
void NWNXChat_PCExit(object oPC)
{
if (!GetIsObjectValid(oPC)) return;
int nID = GetLocalInt(oPC, PC_ID_NAME);
DeleteLocalInt(oPC, PC_ID_NAME);
DeleteLocalObject(GetModule(), LIST_ITEM_NAME + IntToString(nID));
}
object NWNXChat_GetPCByPlayerID(int nID)
{
return GetLocalObject(GetModule(), LIST_ITEM_NAME + IntToString(nID));
}
string NWNXChat_GetMessageText()
{
SetLocalString(GetModule(), "NWNX!CHAT!TEXT", NWNXChat_GetSpacer());
return GetLocalString(GetModule(), "NWNX!CHAT!TEXT");
}
struct chat_message NWNXChat_GetMessage()
{
struct chat_message cmMessage;
string sText = NWNXChat_GetMessageText();
int nMode = StringToInt(GetStringLeft(sText,2));
int nTo = StringToInt(GetSubString(sText,2,10));
sText = GetStringFrom(sText, 12);
cmMessage.Mode = nMode;
cmMessage.Recipient = NWNXChat_GetPCByPlayerID(nTo);
cmMessage.Text = sText;
return cmMessage;
}
void NWNXChat_Log(string sLogMessage)
{
SetLocalString(GetModule(), "NWNX!CHAT!LOG", sLogMessage);
}
void NWNXChat_SuppressMessage()
{
SetLocalString(GetModule(), "NWNX!CHAT!SUPRESS", "1");
DeleteLocalString(GetModule(), "NWNX!CHAT!SUPRESS");
}
|
You had an extra void main () {} surrounding the other functions, had not put 'const' in front of yout const strings at the top, and had not put a semicolon after your struct declaration.
Funky |
|
Back to top |
|
|
Extreme
Joined: 28 Nov 2007 Posts: 135
|
Posted: Fri Jul 25, 2008 16:58 Post subject: |
|
|
sounds like when i put it in, i didnt remove the normal void main that is always put in.
am i right thos that this is not needed since im running the simtools? |
|
Back to top |
|
|
FunkySwerve
Joined: 02 Jun 2005 Posts: 377
|
Posted: Fri Jul 25, 2008 17:02 Post subject: |
|
|
You shouldn't, since SIMTools has most of those already. I don't recognize several of those, however, including:
Code: | const string LIST_ITEM_NAME = "PC_";
const string PC_ID_NAME = "OID";
struct chat_message
{
int Mode;
object Recipient;
string Text;
};
string GetStringFrom(string s, int from = 1)
{
return GetStringRight(s, GetStringLength(s) - from);
} |
I don't know if virusman changed the include when he updated chat for 1.69, or if those are your custom alterations. Either way, SIMTools should still work, according to people I've spoken to, though I do plan to update it for 1.69.
Funky |
|
Back to top |
|
|
Extreme
Joined: 28 Nov 2007 Posts: 135
|
Posted: Fri Jul 25, 2008 17:03 Post subject: |
|
|
they are not mine. i would have gotten this from updating the nwnx2, the chat plugin, or putting in the nwnx_easy |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|