if I'm understanding right, no that's not it. the wp-tag in SaveRosterLoadModule is specifically for overriding the default start location of a module. The engine should load the module, then hunt around for the wp, else it don't make sense to even have the parameter there. right? Even if it's not in the same area as the startPoint -- the OC does this all the time,
i'm going to glance at my worldMap scripts, although yours are probably different; if you like, load up one of the OC campaign maps for comparison ... the sort of thing you're doing should stand out like a sore thumb, i suspect.
But you know what, your amended code looks like it's worth a shot -- and if it turns out to be a workable shortcut that bypasses a bunch of other code, great
Upcoming Campaign: Return of the Exile
#451
Posté 24 août 2014 - 01:59
#452
Posté 24 août 2014 - 02:20
I meant the waypoint parameter, not the start location red marker. So if I send me to module 2, the
sTargetWaypoint = "wp_bef_dryntal";
is in module 3, but it's just a tag. It won't load module 3 first in order to find the tag. Hence the replacement I thought
SaveRosterLoadModule("06_Outskirts","wp_outskirts");
So that it loads the detour module first, find the tag and make the ambush.
Otherwise it doesn't find it, and sends me to the one I actually clicked on.
More clear
?
#453
Posté 24 août 2014 - 03:46
then it depends on what your worldMap action script looks like for the icon clicked + the parameters passed to that script.
#454
Posté 24 août 2014 - 05:11
I will test it when I get home but without getting my hopes too up... I think it could be easily where the problem was.
#455
Posté 24 août 2014 - 12:22
Well, it worked
. Now that's a relief and a big thing off the list of bugs. There was just some lag for about 5 seconds before my PC decided to make the travel, but that's the least of my concerns.
#456
Posté 24 août 2014 - 12:50
k, over & out !
#457
Posté 26 août 2014 - 02:48
Journal Update
The list of found bugs got narrowed to only the big ones. That is a couple of side quests that broke... and one that appeared out of nowhere.
This last one, is one of the weirdest things I have ever seen in this toolset. It got me staring at my screen for 10 minutes, before getting crazy actually.
The companions on the first module refuse to spawn. Just like that. They did fine, well, in every test so far, including the last big one. And as I tried to test something else (by luck), on the areas where they appear, I saw that they are not there. Believe me when I say that I actually screamed "Where are you"?
So far nothing seems to work on that front. I tried rewriting the script that spawns them, a simple OnClientEnter. I tried changing their tags. I placed the same scripts on my test module, where they actually spawned. And added them through my DM/Debugger with success. More than that, companions in further modules seem to handle their spawns great.
That means that my party library is fine. The spawn script is fine, since it worked in another module + I added debug statements to see, and it's all fine. The only thing that's left... no idea. What could cause this only to one module, the first, and especially in between two tests where nothing changed in the companion area. I haven't touched these scripts for a year or so.
At the moment ColorsFade is brainstorming with me on that matter, and I really hope we'll find something.
Bringing though no results so far, I chose to do some other stuff until the epiphany comes that will fix this issue.
I add some side quests on areas that already exist, meaning that it won't take long. I only need conversations and encounters. So the plan to have the prologue and 2 chapters tested is postponed a bit until I fix the companion issue. But I hope not by long.
#458
Posté 26 août 2014 - 03:08
You said you changed their tags, but what about their resrefs (the "resource name" field in the properties)? Spawning goes by the resref, not the tag.
#459
Posté 26 août 2014 - 04:35
I changed everything Tchos. Tried every conventional method. It's plain weird. I thought at some point that the starting point on finding what caused it is the fact that the rest of the companions spawn normally and the only thing they don't share with the problematic ones... is a module. But the moment I thought of this, I also thought... so what? Why should that be a problem. Modules properties checked and scripts are all in place.
#460
Posté 26 août 2014 - 05:59
what function are you using to spawn / instantiate them?
#461
Posté 26 août 2014 - 06:22
If you're using one of the systems I use, there are a couple of things to check. The previous system I used sets an integer on the spawning waypoints to mark them as done so that they don't work again. Is it possible that yours are already marked as done (such as, are you running from a saved game)? This happens the first time you enter the area.
My new system requires a variable to be positively set on the spawning waypoints, and ignores the older system's method of marking it as done.
#462
Posté 26 août 2014 - 07:12
I'm using
void InitializeCompanion(string sRosterName, string sTag, string sResRef)
{
AddCompanionToRoster( sRosterName, sTag, sResRef );
SetIsRosterMemberCampaignNPC( sRosterName, TRUE );
SetHangOutSpot(sTag, COMPANION_SPAWN_WP_PREFIX + sTag);
}
from ginc_companion. Therefore this exists in my library.
void InitializeCompanions()
{
InitializeCompanion("adoward","adoward","adoward");
and so on for the rest of them.
For spawning:
void SpawnNonPartyRosterMemberAtHangout(string sRMRosterName)
{
PrettyDebug("SpawnNonPartyRosterMemberAtHangout(" + sRMRosterName + ")");
// if RM doesn't exist (will exist if in party)
if (GetIsObjectValid(GetObjectFromRosterName(sRMRosterName)) == FALSE)
{
PrettyDebug(" - Object deosn't exist");
// is current hang out spot to be found in this module?
object oHangOut = GetHangoutObject(sRMRosterName);
if (GetIsObjectValid(oHangOut) == TRUE)
{
PrettyDebug(" - Hangout location found, spawning " + sRMRosterName);
location lHangOut = GetLocation(oHangOut);
object oRM = SpawnRosterMember(sRMRosterName, lHangOut);
if (!GetIsObjectValid(oRM))
{
PrettyError("Failed in spawn " + sRMRosterName + " from roster." );
}
return;
}
}
PrettyDebug(" - " + sRMRosterName + " not spawned from roster." );
}
also from ginc_companion. So the script I use and doesn't work calls this:
SetHangOutSpot("adoward", "spawn_adoward");
SpawnNonPartyRosterMemberAtHangout("adoward");
Again, these things have worked , and still work in other modules
. I have to say it again just to believe it myself maybe.
Tchos, as you can see the systems we use are quite different right? For example I think the ginc_companion takes care of the do it only once thing, and won't use the spawn_* waypoint more times.
#463
Posté 26 août 2014 - 08:51
Yes, it's very different. I haven't looked into the hangout scripts yet, so I can't say anything about them.
#464
Posté 28 août 2014 - 01:01
#465
Posté 28 août 2014 - 05:28
I have painted them occasionally, before I created my testing and debugging functions. Some could have been left around but I thought I found them and deleted them. How did this bug yours?
#466
Posté 28 août 2014 - 07:27
Open every area, check area contents window and the creature list and dispose asap if you have any.
#467
Posté 28 août 2014 - 09:41
If you have the Power Bar plugin, just use the "find instances" option in the Module menu. It searches all areas for objects with an entered tag, and doesn't need to open them.

#468
Posté 30 août 2014 - 08:52
Something occurred to me. If their placed instances are causing problems, then why would they still not spawn after I changed their resrefs? I mean, i know that placed instances have to be deleted, and I was on the task even before this problem... but because of what I just said, I don't think that this is what caused it :/. Would be an easy solution though.
#469
Posté 30 août 2014 - 09:42
You said you added debug lines to the spawn script. Were they to replace the PrettyDebug lines I see there? For those, you need to turn on the debug text, either in the .ini file or the console.
How about the spawning waypoint? I assume you changed the tag of that, too?
#470
Posté 30 août 2014 - 10:03
The debug lines where just some SendMessageToPC. And they fired fine. So I guess the scrip fired fine, but without spawning. The part you see with the PrettyDebug is from ginc_companion, so forget about that debug
.
As for the waypoint, yes. I changed everything.
You said you haven't looked at hangout scripts, but if I had to guess I'd say that a thing that could have happened... well, impossible but still, is this:
by default if using the ginc_companion as base, the companion has his spawning waypoint as spawn_* where * is his tag. And this is where I try to spawn them. Now, what if somehow, somewhere, the default spawning hangout has changed to something else?
What I mean is that when I call SpawnNonPartyRosterMemberAtHangout it searches by default the spawn_* waypoint. But this happens only once per game. What if it's stored as fired somewhere.
These are just thoughts. it can't be, since it's another save... But I don't know what else to think.
#471
Posté 18 septembre 2014 - 06:26
Journal Update
Hi all.
I just wanted to say that my plans for testing didn't go well, but for a good reason. I got two weeks of unexpected holiday from work, and I chose to not work on the toolset at all during that time. Now that I'm back, I fixed all of the remaining bugs except the companion spawns which I left for last. I just need to be in the mood for some serious thinking and reading through my scripts. But it will come.
Other than that, and because of the "delay", I chose to finish some more content that was there as placeholders until now. A whole town to be exact, small with a couple of quests placed there. I thought that if I ship to testers, at least I can test as much as possible.
This went pretty fast and now it's only the final battle of the quest to be placed and scripted.
This town, is quite interesting for me, and I think of it as a landmark in the progress of this campaign. It is placed between the main city and the elven forest, and opens through a companion. I call it a landmark, because at the time I started building it, it was the time where I had already started being more comfortable with scripting and with the toolset in general. And I tried quite some things... experiments, alternative quest methods, cutscenes etc. Then I left it as a placeholder. Now that I came back to it and saw all these things I've done, and continued doing but even more comfortably now, it will always remain as the area between amateur-experiment-experienced in my modding life.
After this is done, I will test and implement KevL's boss guardians script, test some myself and hopefully fix the companions in the first module. There are bugs and bugs... but that one, is a true pain. Mainly because I struggled a lot setting my companions as I want them, and it all seemed to work fine. But all bugs have fixes, and I will find this one sooner or later
.
#472
Posté 18 septembre 2014 - 08:48
There are bugs and bugs... but that one, is a true pain. Mainly because I struggled a lot setting my companions as I want them, and it all seemed to work fine. But all bugs have fixes, and I will find this one sooner or later
.
Good luck, I can almost promise you will slap your head when you find it ![]()
PJ
#473
Posté 10 octobre 2014 - 01:42
Journal Update
Major bug fixed. Eguintir was of course right, but it was a bit hard to spot. The thing was, that in every module I have an area named 00_blueprint, or 00_test etc. Usually these areas exist only for creating blueprint and testing, therefore the names. What I had done, was place some companion instances there on the blueprint area of the first module and forgot to delete them. I usually delete such things immediately after the test is done. But not this time. But because of that, I didn't think to search there for instances...
I asked a second pair of eyes, KevL's. He opened all areas because they were new to him and of course saw the companions standing there.
The
SpawnNonPartyRosterMemberAtHangout("");
won't work if the tagged creature is already in the game world. So it saw them, and didn't spawn more.
Not already in the game world means module. One can have a companion tagged "bob" placed in modules 2,3,4,5,6 if he originally spawns on 1. Not that he should ever place them, but still.
Funny thing is, that this exact reason is why I stood a couple of days(before the incident), to script a dm to do all these things from the console.
But it is over and all thoughts about serious damage are gone.
Other than that, I continue adding content here and there so that there will be more things tested. A bit back on that schedule, but I'm not in a hurry. For now I am happy that everything new I scripted and built in the past couple of weeks worked immediately and I didn't have to correct and test again. A rare occasion. But it's mostly because of a trick I found, which I didn't know until now. Maybe it's well known and I was just stupid to realize just now... but if I look at the preview of a static camera's properties I see the actual angle. Now that, saved me a lot of time building my cutscenes...
P.S Peter... I slapped myself already
.
#474
Posté 10 octobre 2014 - 06:46
I asked a second pair of eyes, KevL's. He opened all areas because they were new to him and of course saw the companions standing there.
that's not quite how it happened. My toolset tends to crash if i "open all areas" - or even the limit of 3.
instead, i wrote a script that went searching for NPC and it came back saying "NPC is in 00_blueprint area" -- that's when the shoe dropped.
#475
Posté 11 octobre 2014 - 12:30
I have a question for people who read this journal and might know more stuff than me on this topic.
I am a bit rusty on my P&P and except scorpions and snakes, I don't really know how to fill a couple of desert areas with encounters. If someone plays more often or remember something, I would be glad to hear some ideas.
The particular area is an ancient ruined city where a civilization got extinct. No underground, just dune desert. Ideas have to be based on what we have in the toolset and of course Pain's package. Also, a creature that doesn't exist, but maybe an appearance that could be used would also be awesome.
So far, except from the vermin I can only think of skeletons :/.





Retour en haut




