I'm Accepting Short Term / Small Project Request...
#1
Posté 14 septembre 2011 - 11:01
I'm not going to script you anything intensive like a forge or module event scripts, but I'm willing to help you guys while I got the time this week!
So get your request posted below and I'll snap you out a fix ASAP!
#2
Posté 15 septembre 2011 - 09:44
I'm in the process of creating scripts so servervault PCs can be modifed in-game (a PW), without having to edit their Bic files directly. I've got a fair bit working, but can't seem to get soundsets to change. If you have any ideas on this, or could knock something up that would allow this to be done, that would much appreciated!
Thanks, AK
#3
Posté 16 septembre 2011 - 04:53
I know there is a resource on the nwvault.ign.com which is already premade for something like this.
Anyways, making a system like this is beyond my abilities, as I do not code in nwnx, sorry.
#4
Posté 16 septembre 2011 - 05:04
Modifié par Xardex, 16 septembre 2011 - 05:04 .
#5
Posté 16 septembre 2011 - 05:13
Xardex wrote...
nwnx_funcs allows you to change any and every aspect of a PC character without booting them, including soundsets. In my opinion there is no reason to use nwnx leto unless you are a masochist.
Excuse me, nwnx_funcs would require you to be hosting a nwnx server, correct?
I don't know how to use nwnx functions, unfortunately.
Modifié par _Guile, 17 septembre 2011 - 04:36 .
#6
Posté 16 septembre 2011 - 06:13
#7
Posté 16 septembre 2011 - 08:13
#include "nwnx_funcs"
void main()
{
object oPC = GetLastUsedBy();
FloatingTextStringOnCreature(IntToString(NWNXFuncs_GetSoundSetID(oPC)), oPC, TRUE);
NWNXFuncs_SetSoundSetID(oPC, 241);
}
It shows My Voice Set was 0...
It did however change my voiceset, lol althought it wasn't 241...
Don't know why it's not working correctly...
Also I don't understand why it sets & deletes the integer in the custom functions in the same function, that in itself seems like bad scripting..
void NWNXFuncs_SetSoundSetID(object oCreature, int iSoundSetID) {
SetLocalString(oCreature, "NWNX!FUNCS!SETSOUNDSETID", IntToString(iSoundSetID));
DeleteLocalString(oCreature, "NWNX!FUNCS!SETSOUNDSETID");
}
This is what the Log File read...
Windows NWNX Funcs plugin v.0.0.8.4 [log level: 3]
[09/16/2011 15:37:42] * CreateLookupTable
[09/16/2011 15:37:42] * CreateNewGeometry hooked
[09/16/2011 15:37:42] * CustomEffect function hooked
[09/16/2011 15:37:42] * CNWVirtualMachineCommands__ExecuteCommandGetItemPropertyType hooked
[09/16/2011 15:37:42] * CNWVirtualMachineCommands__ExecuteCommandItemPropertyEffect hooked
[09/16/2011 15:37:42] * CNWSMessage__TestObjectVisible hooked
[09/16/2011 15:37:42] * CNWSCreatureStats__GetEffectImmunity hooked
[09/16/2011 15:37:42] * CServerExoAppInternal__RemovePCFromWorld hooked; script to run: onplayerleaving.nss
[09/16/2011 15:38:20] - StrReq: "GETSOUNDSETID" Params: "-"
[09/16/2011 15:38:20] - StrReq: "SETSOUNDSETID" Params: "189"
[09/16/2011 15:38:25] o CServerExoAppInternal__RemovePCFromWorldHOOK running
[09/16/2011 15:39:30] - StrReq: "GETSOUNDSETID" Params: "-"
[09/16/2011 15:39:30] - StrReq: "SETSOUNDSETID" Params: "189"
[09/16/2011 15:39:47] o CServerExoAppInternal__RemovePCFromWorldHOOK running
So it should be working (Technically), but it's not working correctly, unfortunately, though it will change the sound set one time...(to the same soundset, but the wrong one)
Modifié par _Guile, 16 septembre 2011 - 08:42 .
#8
Posté 16 septembre 2011 - 08:50
~ Create a bog standard fighter PC and choose one of the standard voices
~ Use an editor to view the Bic file (GFF for instance) - the soundset will show as a number - 218 for instance
~ Use the NWNXFuncs_GetSoundSetID(oPC) function in a script to get the soundset
Now ... this should return 218, but what it actually seems to do is set the soundset to 0. You can test this by logging out and using GFF to examine the Bic file again - and it shows the soundset at 0.
So - doing nothing but trying to obtain the soundset ID actually sets it. Something's wrong there.
My current thoughts are that nwnx_funcs (and in particular the soundset functionality) only works on Linux based servers, and the Windows port (which isn't complete) has some bugs.
Perhaps if someone has a Linux NWNX setup, they could test this theory!?
An alternative is to look at the Leto system, which in my limited understanding means making the change to the PC, then forcing a relog in order that the change takes effect. Not sure if a "servervault save" would do the same. Also, if the soundset can't be changed on-the-fly, it's a tricky one for PCs to use, as they can't preview it and choose another if they don't like it.
Wonder what happens if the NWNXFuncs_GetSoundSetID functions are used on NPCs - does that work, and it's only PCs it fails on?? ......
#9
Posté 17 septembre 2011 - 04:33
I'm not a nwnx scriptor, as I stated above, and yes, it's clear to me that this nwnx functions is either bugged or improperly setup by the both of us.
Maybe the wise guy above can shed some light on us on how he can get "anything" to work in nwnx. lol.
Modifié par _Guile, 17 septembre 2011 - 04:34 .
#10
Posté 17 septembre 2011 - 05:26
int NWNXFuncs_GetSoundSetID(object oCreature) {
SetLocalString(oCreature, "NWNX!FUNCS!SETSOUNDSETID", "-");
int ret = StringToInt(GetLocalString(oCreature, "NWNX!FUNCS!SETSOUNDSETID"));
DeleteLocalString(oCreature, "NWNX!FUNCS!SETSOUNDSETID");
return ret;
}
void NWNXFuncs_SetSoundSetID(object oCreature, int iSoundSetID) {
SetLocalString(oCreature, "NWNX!FUNCS!GETSOUNDSETID", IntToString(iSoundSetID));
DeleteLocalString(oCreature, "NWNX!FUNCS!GETSOUNDSETID");
}
If someone else could try that little "fix" to confirm, I'd appreciate it. It'll obviously need a proper dll fix for it eventually if that's what the problem is, as it seems to be in my testing.
#11
Posté 17 septembre 2011 - 07:25
I made two scripts for a conversation to change the PC's Voiceset (next & previous voicesets)
//----------------------------------------------------------
//next_vs (Next Voice Set)
//This script goes in the Action Taken of the line that will give the PC The Next Voiceset...
#include "nwnx_funcs"
void main()
{
object oPC = GetPCSpeaker();
//Stop here if oPC is Invalid Object.. (Just in case!)
if(oPC == OBJECT_INVALID) {return;}
int nVoiceSet = NWNXFuncs_GetSoundSetID(oPC);
nVoiceSet +=1; //Next!
//Give the PC the next Voiceset from the 2da File
NWNXFuncs_SetSoundSetID(oPC, nVoiceSet);
}
//----------------------------------------------------
//prev_vs (Previous Voice Set)
//This script goes in the Action Taken of the line that will give the PC The Previous Voiceset...
#include "nwnx_funcs"
void main()
{
object oPC = GetPCSpeaker();
//Stop here if oPC is Invalid Object.. (Just in case!)
if(oPC == OBJECT_INVALID) {return;}
int nVoiceSet = NWNXFuncs_GetSoundSetID(oPC);
nVoiceSet -= 1; //Previous!
//Prevent error!
if(nVoiceSet <1)
{
nVoiceSet =1;
SendMessageToPC(oPC, "You have reached the first voiceset and can go back no further!!");
}
NWNXFuncs_SetSoundSetID(oPC, nVoiceSet);
}
//-------------------------
I tested both of these scripts, they are both working flawlessly.
Hope that helps your venture in voice set changing.
Modifié par _Guile, 17 septembre 2011 - 07:50 .
#12
Posté 17 septembre 2011 - 09:26
Modifié par aradankir, 17 septembre 2011 - 09:26 .
#13
Posté 17 septembre 2011 - 01:08
- if possible not to use 2da so be compatible with any custom content
- allow change appearance of a shield
are you willing to help me with this? its for my patch project. Thanks.
#14
Posté 17 septembre 2011 - 01:53
#15
Posté 17 septembre 2011 - 01:59
I acutally have most of the crafting done, for 1.69 & CEP 2.4, never used 2das..ShaDoOoW wrote...
I could use a hand with a improving default item appearance crafting convo:
- if possible not to use 2da so be compatible with any custom content
- allow change appearance of a shield
are you willing to help me with this? its for my patch project. Thanks.
You just want 1.69 or also CEP 2.4?
Naturally I'm going to have to make a bunch of text files and put them in a .rar file
so you can download it and rip the code you want.
It would be to lengthy to post the code here in this thread.
I sent you a message with the scripts for shields, that should give you an idea of how I scripted crafting.
A system like that is rather complex, it would be very time consuming just to plan it, unfortunately.Taino wrote...
Would you like to do a subrace/creature faction script? Like how you stated in the post I posted... =)
I don't have that much extra time. Just a week or two to help with small projects, so I want to keep them small.
Modifié par _Guile, 17 septembre 2011 - 02:17 .
#16
Posté 17 septembre 2011 - 10:50
(This was a special request for ShadoOow)
The 1.69 Crafting & Appearance System By Genisys
Special Credit & Thanks to Mandragon / Mil & Scarface for their work!

NOTE: These systems work from a conversation ONLY, and does NOT use 2da files to get index part numbers.
This system is for 1.69 ONLY and can be used in ANY module! (as indexes do not change for 1.69 in any 2da file). Unfortunately it will not return indexes for CEP, only 1.69.
Modifié par _Guile, 18 septembre 2011 - 04:53 .
#17
Posté 18 septembre 2011 - 01:59
Found Here
They had a lot of what the OP was looking for.
Not to say it couldn't be improved on of course.
I've used similar dialog in modules myself.
Yours does seem to be an improvement Guile, based on the screen shot.
So hopefully the OP has lots of toys to play with.
#18
Posté 18 septembre 2011 - 09:53
#19
Posté 18 septembre 2011 - 06:41
Updated Mil Tailoring Shop Prefab (Updated had errors in first download, please redownload)
Note this isn't my work, but it's pretty good, and I build the shop, nothing more...
Xardex wrote..
Well maybe I should have said that with nwnx_funcs you SHOULD be able to
modify everything... I just know the functions exist, even if they
don't all work correctly yet.![]()
Well, it's really tough to find a flawless system these days, many builders make stuff, they may playtest it or not, so always expect bugs. Thanks for the recommendations though, as I wasn't aware of the power of nwnx_functions, very nice work, just wish it all worked flawlessly, as I have no idea on how to fix any bugs found therein.
Modifié par _Guile, 19 septembre 2011 - 01:30 .
#20
Posté 01 octobre 2011 - 09:11
I was thinking of making it a user defined onuse item that forces the mob to attack the individual that used it until a certain threshold is reached either damage or time.





Retour en haut







