|
Post by atriumxp on Jun 18, 2007 11:34:44 GMT
Thank you for the (quick!) reply. I guess it's a matter of perspective - I saw this function as something players should have access to and immediately realized this "flaw" could be abused. That's why I addressed it as a bug/tech support issue instead of a feature suggestion - I'll be more careful about that in the future.
Thanks again for the most helpful reply - we're going to investigate adding some additional functionality and if we get it working, I'll pop into the features suggestion threads and let you see what we cooked up.
|
|
|
Post by dsabrae on Jul 17, 2007 14:59:06 GMT
Hi since my last update from version 2.x tp 3.0 and now 3.1 I seem to have a problem, The Voice wand can no longer target anything, generating text of " you may not target a dm with this command {roughly} "
Other commands languages, translations, and emotes seem fine. Im not quite sure what I missed here but would greatly appreciate any ideas on where to poke.
|
|
|
Post by FunkySwerve on Jul 17, 2007 16:57:46 GMT
Will take a look and get back to you. Funky
|
|
|
Post by FunkySwerve on Jul 17, 2007 17:07:47 GMT
Are you using tag-based scripting? The script looks solid, and we aren't having this issue. Did you have to merge any scripts when you installed/upgraded? Please post the fky_chat_ventril script for me to take a look at, if you are using tag based scripting. If not, please paste your onactivate script. Best, Funky
|
|
|
Post by dsabrae on Jul 17, 2007 17:42:01 GMT
// gdn_onactivateit,prc_onactivate ///////////////////////////////////////////////////////////////////// // // This script has been auto-generated by HakInstaller to call // multiple handlers for the onactivateitem event. // /////////////////////////////////////////////////////////////////////
void main() { ExecuteScript("gdn_onactivateit", OBJECT_SELF); ExecuteScript("prc_onactivate", OBJECT_SELF); }
to // x2_mod_def_act,prc_onactivate ///////////////////////////////////////////////////////////////////// // // This script has been auto-generated by HakInstaller, and assisted by // garden in order to call multiple handlers // for the onactivateitem event. // ///////////////////////////////////////////////////////////////////// #include "g_onactivateproc" #include "habd_include" //#include "prc_inc_teleport"
void main() { ExecuteScript("x2_mod_def_act", OBJECT_SELF); ExecuteScript("prc_onactivate", OBJECT_SELF); ExecuteScript("g_onactivateitem", OBJECT_SELF); ExecuteScript("emo_tch_on", OBJECT_SELF);
object oItem=GetItemActivated(); object oUser=GetItemActivator(); string sItemTag=GetTag(oItem); object oTarget=GetItemActivatedTarget();
if (sItemTag == "restart_server") { StartNewModule("DD"); return; }
if (HABDOnActivateItem(oUser, GetItemActivatedTarget(), oItem)) { return; } else if(sItemTag == "DestructionRod") { if(GetIsObjectValid(oTarget)) { DestroyObject(oTarget); } } else if (sItemTag == "clone_rod") { object oDuplicate = CopyObject(oTarget, GetLocation(GetObjectByTag("ClonesSpawnHere")), oUser, "clone"); ChangeToStandardFaction(oDuplicate, STANDARD_FACTION_HOSTILE); } else if (sItemTag=="ShapeshiftingRod") { SetLocalObject(oUser, "AppearanceVictim", oTarget); SetLocalInt(oUser, "AppearanceAdjuster", 1); object oSetter = CreateObject(OBJECT_TYPE_CREATURE, "look_adjuster", GetLocation(oUser)); DestroyObject(oSetter, 30.0); } else if (sItemTag == "Flyto_Widget") { ExecuteScript("fw_fly_to", oUser); return; } else if (sItemTag == "SubdualModeTog") { AssignCommand(oUser,ActionStartConversation(oUser,"subdualconv",TRUE, FALSE)); } else if (sItemTag=="OOCAFKItem") { ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectCutsceneImmobilize(), oUser, 10.0); DelayCommand(10.0, ExecuteScript("afk", oUser)); } else if (sItemTag == "IntimateEmoteWand") { AssignCommand( oUser, ActionStartConversation( oUser, "mod_emote", TRUE, FALSE)); } else if (sItemTag == "KittenToggle") { object oPC; int intDoesTorinGetLucky = d10(); oPC = oUser; if (intDoesTorinGetLucky == 9) { effect eEffect = EffectSummonCreature("kitten", VFX_FNF_PWSTUN, 1.0); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oPC); } else { effect eEffect = EffectSummonCreature("kitten", VFX_FNF_SMOKE_PUFF, 1.0); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oPC); } } else if (sItemTag == "Summon") { object oPC; int intDoesTorinGetLucky = d10(); oPC = oUser; if (intDoesTorinGetLucky == 9) { effect eEffect = EffectSummonCreature("jeeves", VFX_FNF_GREATER_RUIN, 1.0); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oPC); } else { effect eEffect = EffectSummonCreature("jeeves", VFX_FNF_HOWL_MIND, 1.0); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oPC); } } else if (HABDOnActivateItem(oUser, GetItemActivatedTarget(), oItem)) return; }
the prc onactivate has not been altered any.
|
|
|
Post by dsabrae on Jul 17, 2007 17:48:47 GMT
Whoops,
//::////////////////////////////////////////////////////////////////////////::// //:: SIMTools V3.0 Speech Integration & Management Tools Version 3.0 ::// //:: Created By: FunkySwerve ::// //:: Created On: April 4 2006 ::// //:: Last Updated: March 27 2007 ::// //:: With Thanks To: ::// //:: Dumbo - for his amazing plugin ::// //:: Virusman - for Linux versions, and for the reset plugin, and for ::// //:: his excellent events plugin, without which this update would not ::// //:: be possible ::// //:: Dazzle - for his script samples ::// //:: Butch - for the emote wand scripts ::// //:: The DMFI project - for the languages conversions and many of the emotes::// //:: Lanessar and the players of the Myth Drannor PW - for the new languages::// //:: The players and DMs of Higher Ground for their input and playtesting ::// //::////////////////////////////////////////////////////////////////////////::// #include "x2_inc_switches" #include "fky_chat_inc"
void main() { int nEvent = GetUserDefinedItemEventNumber(); object oPC, oItem, oTarget; int nResult = X2_EXECUTE_SCRIPT_END; switch (nEvent) { case X2_ITEM_EVENT_ACTIVATE: oPC = GetItemActivator(); oItem = GetItemActivated(); oTarget = GetItemActivatedTarget(); if (VerifyDMKey(oPC) || VerifyAdminKey(oPC)) { if (GetIsObjectValid(oTarget)) { if (!VerifyDMKey(oTarget) && !VerifyAdminKey(oTarget)) { SetLocalObject(oPC, "FKY_CHT_VENTRILO", oTarget); FloatingTextStringOnCreature(COLOR_GREEN+VENTRILO+COLOR_END, oPC, FALSE); } else FloatingTextStringOnCreature(COLOR_RED+NO_DM_TARGET+COLOR_END, oPC, FALSE); } else FloatingTextStringOnCreature(COLOR_RED+TARGET_OBJECT+COLOR_END, oPC, FALSE); } else FloatingTextStringOnCreature(COLOR_RED+DM_ONLY+COLOR_END, oPC, FALSE); break; } SetExecutedScriptReturnValue(nResult); }
|
|
|
Post by FunkySwerve on Jul 17, 2007 18:04:34 GMT
Seems like there must be an issue with how you set up your VerifyDMKey and VerifyAdminKey in fky_chat_config. Did you maybe accidentally overwrite them? Please post those two functions. Don't worry, the public versions of the keys are safe to post. Funky
|
|
|
Post by dsabrae on Jul 17, 2007 18:15:36 GMT
////////////////////////////////////DM List///////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //This function returns TRUE if the player is a dm. For it to function correctly you must enter all //the cd keys of your DMs. Dummy cdkeys are provided below as examples. If you are not comfortable with //shortening the functions, simply overwrite the dummy keys with the keys of your dms, and leave the //remaining keys as is. You may, of course, add more than twelve keys, as well. int VerifyDMKey(object oPlayer);
int VerifyDMKey(object oPlayer) { string sCDKey = GetPCPublicCDKey(oPlayer); if (sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "QYUMXJHW" || //XXX sCDKey == "VDKHPNV9" || //XXX //sCDKey == "FT6MA6CY" || //XXXX //sCDKey == "QV6XELG4" || //XXXX sCDKey == "QCR97XTD" || //XXXXX sCDKey == "QVRD3F79" || //XXX //sCDKey == "QCRQYCKQ" || //XXXXX //sCDKey == "QV4RTL66" || //XXXX //sCDKey == "QG6MTEXW" || //XXXX //sCDKey == "FTMF3LKM" || //XXXX //sCDKey == "QVR9PGCK" || //XXXX //sCDKey == "QVRL7NFF" || //XXXXX sCDKey == "QC7GLGHQ" || //XXXx sCDKey == "VDK6ME9A" || //XXXXX //sCDKey == "QVRQTLXF" || //XXXX //sCDKey == "QV6XYG3F" || //XXXX sCDKey == "FTR3G3UM" || //XXXXX sCDKey == "FT6CAL7W" || //XXX sCDKey == "JYJA4CRN" || //XXXX sCDKey == "QVMUFYVT" || //XXXX //sCDKey == "FTRE7HUD" || //XXXXX //sCDKey == "QVRQJQAG" || //XXXX //sCDKey == "QMNEQHDL" || //XXXX //sCDKey == "FT6PKV74" || //XXXXX //sCDKey == "FFNNUDGL" || //XXXX //sCDKey == "QC79AQ7R" || //XXXX sCDKey == "FFUFF7UE" || // XXXX sCDKey == "FT66RYUK" || // XXXXX //sCDKey == "QGMARA34" || // XXXX //sCDKey == "VDKYVXF9" || // XXXX sCDKey == "FT6WPHK3" || // XXXX sCDKey == "9PXHW7QV" || //XXXX //sCDKey == "VDK7VK3F" || //XXXX //sCDKey == "QGML6NPU" || //XXXX sCDKey == "QCR3YTUW" || //XXXX //sCDKey == "QCRX9QX9" || //XXXX sCDKey == "QC7CJ9GN" || //XXXX //sCDKey == "FTMVECKE" || //XXXX //sCDKey == "FT6QCJGW" || //XXXX //sCDKey == "QC7C3CRX" || //XXXX sCDKey == "QVRP76KL" || //XXXX sCDKey == "VDHJER6W" || //XXXX //sCDKey == "QG6WG6NK" || //XXXX //sCDKey == "QC4U79HQ" || // XXX //sCDKey == "QVR9WTDN" || // XXX //sCDKey == "QLUC4KYA" || // XXXX sCDKey == "QC4N3XFQ" || //XXXX sCDKey == "QV6UKGLM" || //XXXX //sCDKey == "FTRRPAQ6" || //XXXX sCDKey == "QVMUKE9P" || //XXXX sCDKey == "QYAXYM7Q" || //XXXX sCDKey == "QYUVJWAT" || //XXXX sCDKey == "FT66FM6H" || //XXXX sCDKey == "FTMR7RMV" || //XXXX sCDKey == "VD7NRLNH" || //XXXX sCDKey == "QYUMXJHW" || //XXX sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY") { return TRUE; } else return FALSE; }
//////////////////////////////////Admin List//////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //This function returns TRUE if the player is an administrator. Administrators in SIMTools do not //necessarily have more power than DMs, and in fact could be configured to have less. It is merely //a separate designation from DM, with separate settings, and potentially more power. For it to //function correctly you must enter all the cd keys of your administrators. DO NOT LIST SOMEONE IN BOTH //DM AND ADMIN LISTS! The system is configured to treat them as two seperate groups. Dummy cdkeys are //provided below as examples. If you are not comfortable with shortening the functions, simply overwrite //the dummy keys with the keys of your dms, and leave the remaining keys as is. You may, of course, add //more than twelve keys, as well. int VerifyAdminKey(object oPlayer);
int VerifyAdminKey(object oPlayer) { string sCDKey = GetPCPublicCDKey(oPlayer); if (sCDKey == "" || sCDKey == "QGML6NPU" || //ADMIN sCDKey == "FT6QCJGW" || //ADMIN 2 sCDKey == "QC7CJ9GN" || //Admin 3 sCDKey == "XXXXXXXX" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY" || sCDKey == "XXXXYYYY") { return TRUE; } else return FALSE; }
---
I do know I can give take xp, give take levels other commands work and check the key is in. Only the voice widget seems inoperative, generating the red text of you cannot target a dm with this. and thats targeting npcs doors anything.
|
|
|
Post by dsabrae on Jul 17, 2007 18:24:36 GMT
ADDendum
" INvalid command you may not target a DM with this" is the red message on use. it does wait till you target something before firing.
|
|
|
Post by FunkySwerve on Jul 17, 2007 18:24:47 GMT
There's your problem, the: if (sCDKey == ""
CD key returns blank for anything not a player - in essence, you are saying that everything not a player is an admin. Remove the sCDKey == "" and you'll be fine. Funky
|
|
|
Post by dsabrae on Jul 17, 2007 18:51:28 GMT
Wonderful works great again!
|
|
|
Post by baaleos on Sept 2, 2007 0:49:08 GMT
Hi, I recently got simtools, and tried installing, and Im running into dead ends.
Ive altered my nwnx ini to read as
; NWNX2 configuration file ; These are the default values for NWNX2. Values specified on the command ; line take precedence.
[NWNX] ServerPort = 5121 ModuleName = "SIMTools_Test" WatchdogProcess = yes UpdateIntervalProcess = 5 WatchdogGamespy = yes UpdateIntervalGamespy = 5 GamespyRetries = 5 OldGamespyProtocol = no RestartDelay = 5
[ODBC2] ; Log file MaxLogSize = 512 ; in KByte LogLevel = 2 ; 0=nothing, 1=only errors, 2=everything
; Use these two settings for the SQLite internal database source = sqlite file = sqlite.db
; Use these two settings for ODBC connections ;source = odbc ;dsn = nwn
; Use these five settings for MySQL connections ;source = mysql ;server = wouldntyouliketoknow ;user = wouldntyouliketoknow ;pwd = wouldntyouliketoknow ;db = wouldntyouliketoknow
; Set hookscorco to false if you want to disable hooking of ; StoreCampaignObject and RetrieveCampaignObject entirely hookscorco = true
[PROFILER] MaxLogSize = 512 ; in KByte LogLevel = 1 ; 1=overall statistics, 2=full script callstack
[CHAT] chat_script=fky_chat server_script=fky_chat_srv
My problem i believe is that I cant seem to get simtools to connect to the mysql database. The database im using isnt locally stored on the gameserver, its on my website, but my website is set up to allow the gameserver to access its database (by putting its ip in the allow section)
So, I filled in the ip for my website, the database name, the username, password, and try running the demo mod, hoping it will then create the tables (I am able to monitor the database via phpmyadmin, and after clicking on the placeable, which i altered so it only used the mysql settings, it then sends me a message saying its created the pwdata table... However, i check, and there isnt any table there... nothing got made.
Can you suggest what i might be doing wrong?
Is there a place in the scripts that i have to set the sql database details, or does it get the info from the nwnx ini file... if so, then ive done everything to the letter. :-(
|
|
|
Post by FunkySwerve on Sept 2, 2007 2:26:48 GMT
As a caveat I will say that I have little experience with cross-server database linkups. You may be better served by the nwnx forums. It appears that you are set up for sqlite, not mysql, however, so if you are indeed using mysql as you say, that's your problem. If that is the case, you need to comment the sqlite settings: ; Use these two settings for the SQLite internal database source = sqlite file = sqlite.db
By placing semicolons at the beginning of their lines: ; Use these two settings for the SQLite internal database ;source = sqlite ;file = sqlite.db
And uncomment the MySQL settings by removing the semicolons in front of them, so they look like this: ; Use these five settings for MySQL connections source = mysql server = wouldntyouliketoknow user = wouldntyouliketoknow pwd = wouldntyouliketoknow db = wouldntyouliketoknow
; in this ini is the equivalent of nwscript's //. Does that solve your problem? Funky
|
|
|
Post by baaleos on Sept 2, 2007 15:44:43 GMT
Ah, yeah, that was certainly a problem.... however, i just fixed the ini file, and still no luck. I checked the database with phpmyadmin, and the database remains with 0 tables. When it asks for server in the ini, is it sufficent to just give the ip address, or does it require a port and/or actual directory structure leading to the database? I have also posted on nwnx asking for help...
|
|
|
Post by FunkySwerve on Sept 2, 2007 16:00:22 GMT
Please either post or pm be your MySQL information, changing only the password, so I can see what you are trying to do. Funky
|
|