[WIP] Al-Qadim: Episode 1 - Thieves of Halwa
#51
Posté 10 avril 2013 - 05:58
Coincidentally, what should I do if placeables, creatures, or tiles show a variety of color across them and say "2-D texture missing."
I don't remember leaving any textures out. Could it mean that some textures conflict? Or that the 2da isn't referenced properly?
#52
Posté 10 avril 2013 - 10:16
#53
Posté 12 avril 2013 - 01:50
I already redesigned Halwa, City of Solitude. I like it better now. It has more shape and while I'm not sure it is completely lore friendly with my additions I don't think there are enough people who are familiar with this AD&D setting to really know the difference. I respect the names and characters in the storyline, but since there are no maps, I've been creative.
I really want to wrap up this HAK so I can go full fledge with making the adventure!
#54
Posté 12 avril 2013 - 03:51
koundog1 wrote...
I already redesigned Halwa, City of Solitude. I like it better now. It has more shape and while I'm not sure it is completely lore friendly with my additions I don't think there are enough people who are familiar with this AD&D setting to really know the difference. I respect the names and characters in the storyline, but since there are no maps, I've been creative.
I was so worried when I started my campaign about what AD&D gurus might think - that they might get bent out of shape with the liberties I am taking with certain locations, names, etc.
But I think that's unnecessary worry. If you build a fun mod, I think the vast majority of users are not going to care :-)
And if anyone gives you crap about something, tell them to go build a mod
#55
Posté 12 avril 2013 - 06:43
#56
Posté 17 septembre 2013 - 05:50
Later, my older sister introduced me to Sinbad movies. In those days the special effects were still a marvel. Not like Star Wars but still unique and special. I ever saw the Arabic world as a political upheaval but a place of magnificent tradition art, mystery and beauty. Those movies along with my childhood memories paint this module.
By the time I was finishing up high school I was really interested in Dungeons and Dragons but always too busy playing football and keeping my grades up. I was an artist too and would fantasize and draw things that felt enchanted. The Forgotten realms seemed enormous and I wanted to explore it like Disney World. I played all the SSI games up to and including Buck Rogers Countdown to doomsday. SSI then released something that I knew I would love before I even pulled it out of the box. Al-Qadim: The Genies Curse was released and became the only game I would play.
I never understood why another Al-Qadim was never released.
Therefore, it seemed fitting that if I were to choose to make a D&D adventure then it would need to be set in Zakhara.
Here are some more screenshots. I truly hope to share with you the things I have kept in my imagination all these years by completing this project.

Outside of Huzuz, the City of Delights your story begins.

The circus has been redone.

The palace looms over the al-Malih river and this nearby Gypsy camp.

The surrounding desert is no joke. Stray too far from Halwa and you will not survive. Your character will get lost and he will die. The reason is because I like to have open worlds without an unexplained border. You might find hidden treasures out there and possibly a treasure trove but I leave it to you the player to weigh the risks.
#57
Guest_Iveforgotmypassword_*
Posté 17 septembre 2013 - 02:25
Guest_Iveforgotmypassword_*
Up to you and not a criticism but yellow text on a desert background doesn't show up too well.
Modifié par Iveforgotmypassword, 17 septembre 2013 - 02:26 .
#58
Posté 17 septembre 2013 - 04:31
#59
Posté 17 septembre 2013 - 11:03
I've been hyper-focused on understanding scripts which by the way kamal I think I am really going to enjoy borrowing your townspeople heartbeat scripts. the information you include on the scripts themselves is so complete. It's refreshing. For some reason your scripts are making more sense to me than the scripts for the Ultima theft system. I wanted to use that for the Pasdar who patrol the city and are supposed to actually attack your player on sight if they see you doing anything illegal or suspicious.
I love the little anecdote about the mad desert man. It might be entertaining to encounter him in Zakhara at some point. I wonder if his name will be password.
This writer probably explains my reasons for doing an endless desert "barrier" better than I could.
http://gamerant.com/...n=zergnet_92877
Modifié par koundog1, 17 septembre 2013 - 11:04 .
#60
Posté 16 octobre 2013 - 03:14
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
int nInt;
nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYJob: Lookout");
if (nInt < 1)
return;
nInt = GetTimeHour();
if ((nInt > 2) && (nInt < 21))
return;
object oTarget;
object oSpawn;
location lTarget;
oTarget = GetWaypointByTag("SPAWN_Mahmoud");
lTarget = GetLocation(oTarget);
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "c_mahmoud", lTarget);
oTarget = GetWaypointByTag("SPAWN_Dinesh");
lTarget = GetLocation(oTarget);
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "c_dinesh", lTarget);
}
I am trying to use this script as a way of spawning two NPCs on two seperate waypoints. I want the NPCs to only show-up late at night and after a quest has begun.
I first tried this as a walkable trigger, but it seems any time a PC walks on triggers w/ conditionals before it had the proper conditions it would not fire later when conditions are met.
I am beginning to think the same is true for this OnEnter script.
Do any of you have suggestions.
PS: Kamal, I cleared the skies up as you sort of suggested and the desert area looks 100% better!
#61
Posté 16 octobre 2013 - 05:35
In your script, if the quest has not been assigned yet the nInt for the journal has never been defined or initialized. That could be causing problems because from the sound of it you can enter this trigger before the quest is assigned and it is the right time.
Also you need to make sure those are unique waypoints, they could be getting spawned on another map with waypoints by those names.
Basically, insert some
SendMessageToPC(GetFirstPC(), "Debug: progress through Dinesh Mahmoud spawn script, reached point x "); //or some other message that shows up.
throughout your script. Also you may want to send the nInt when it's the journal state, and when it's the time. You'll get a lot of valuable feedback on where things are going wrong.
ps: I have a desert specific daynight setting I've used. You can make a sandstorm with settings like your existing pics (plus thaymount dust effect).
#62
Posté 16 octobre 2013 - 07:35
Use GetFirstPC(FALSE) if you might have more than one character in your party. Without "FALSE", it'll only send the message to the originally-created party leader (who you might not be controlling, so you won't see the message), while with "FALSE" it'll send the message to the one you're currently controlling.kamal_ wrote...
Basically, insert some
SendMessageToPC(GetFirstPC(), "Debug: progress through Dinesh Mahmoud spawn script, reached point x "); //or some other message that shows up.
#63
Posté 16 octobre 2013 - 07:41
This is the whole script. That is a good point. I haven't thought about that because Dinesh and Mahmoud haven't spawned at all.
It is true that the PC will have to enter that area before the appropriate quest with nInt is assigned. There is a building the PC must access before the Journal entry is even given. The player might be in and out of that area many times before they get that appropriate journal entry.
Does it matter where I put the
SendMessageToPC(GetFirstPC()
?
You are speaking specifically about running the debug while in game mode or test mode right?
In that case don't I acces the console command ~? Then I type a specific command? Seems everyone knows how to do this except for me.
#64
Posté 16 octobre 2013 - 07:53
Those go in the scripts, at each step you want to make sure if happening. (also include tchos's FALSE bit). You will get a message in the game log window that normally tells you how much damage you do, hit rolls, etc, it's the window in the lower left corner by default. where you see the resource logs in this pickoundog1 wrote...
Does it matter where I put the
SendMessageToPC(GetFirstPC()
#65
Posté 16 octobre 2013 - 08:31
#66
Posté 16 octobre 2013 - 09:12
When I am testing scripts I put it in several places in the script. Right up front, to know the script is being run in the first place, then anytime there's a break, if statement, case, things of that sort. Especially with if statements, for instance this pseudo code:koundog1 wrote...
Ahh, so as a rule of thumb it is best to put it in every script, probably at the end of the script, right?
void main()
{
"start script"
if (nInt==1)
{
"Hello!"
do stuff...
}
}
If I see "start script" and "Hello" on screen I know that the script ran and that the if statement was true. But if I only see "start script", I know that the script ran but the if statement was not true for some reason. You can add things to the
messaging, for instance:
SendMessageToPC(GetFirstPC(FALSE), "Debug: nInt is " + IntToString(nInt));
and this will print out the value of nInt at that line of the script, so if you are using nInt for the journal state and the journal state is 21, it will say "Debug: nInt is 21".
This is basically to give yourself better debug information. You can comment it out or remove the messaging from the script entirely once you're confident it's working as planned.
Modifié par kamal_, 16 octobre 2013 - 09:20 .
#67
Posté 16 octobre 2013 - 09:13
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
int nInt;
nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYJob: Lookout");
if (nInt < 1)
return;
nInt = GetTimeHour();
if ((nInt > 2) && (nInt < 21))
return;
object oTarget;
object oSpawn;
location lTarget;
oTarget = GetWaypointByTag("SPAWN_Mahmoud");
lTarget = GetLocation(oTarget);
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "c_mahmoud", lTarget);
oTarget = GetWaypointByTag("SPAWN_Dinesh");
lTarget = GetLocation(oTarget);
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "c_dinesh", lTarget);
SendMessageToPC(GetFirstPC(FALSE)
}
#68
Posté 16 octobre 2013 - 09:19
Edit: Sorry, this duplicates info that wasn't there when I started writing it.
Modifié par Tchos, 16 octobre 2013 - 09:19 .
#69
Posté 16 octobre 2013 - 09:25
======================================
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
SendMessageToPC(GetFirstPC(FALSE, "Debug: beginning Dinesh/Mahmoud script");
int nInt;
nInt=GetLocalInt(oPC, "NW_JOURNAL_ENTRYJob: Lookout");
SendMessageToPC(GetFirstPC(FALSE, "Debug: nInt value for journal is " + IntToString(nInt));
if (nInt < 1)
return;
nInt = GetTimeHour();
SendMessageToPC(GetFirstPC(FALSE, "Debug: nInt value for time is " + IntToString(nInt));
if ((nInt > 2) && (nInt < 21))
return;
object oTarget;
object oSpawn;
location lTarget;
oTarget = GetWaypointByTag("SPAWN_Mahmoud");
lTarget = GetLocation(oTarget);
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "c_mahmoud", lTarget);
oTarget = GetWaypointByTag("SPAWN_Dinesh");
lTarget = GetLocation(oTarget);
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "c_dinesh", lTarget);
SendMessageToPC(GetFirstPC(FALSE, "Debug: end of script, creatures should have spawned");
}
#70
Posté 16 octobre 2013 - 10:24
What might I be missing?
I'm considering putting the script in the "On Client Enter Script" box.
The same type of script seems to work fine when I used it in an interior area. The differences between the interior area and exterior area are that I'm only spawning one NPC and I have one condition in that script; also it is an interior area.
But maybe these details are irrelevant.
#71
Posté 16 octobre 2013 - 10:29
If you never even see the first message the script is not running when the pc enters the trigger. Are you sure the script is attached to the OnEnter property, not the OnExit ? (I've done that before...)koundog1 wrote...
Okay Kamal so I put the script you suggested in and no information is given when I enter the area. I have debugmode enabled and debugtext enabled.
What might I be missing?
I'm considering putting the script in the "On Client Enter Script" box.
The same type of script seems to work fine when I used it in an interior area. The differences between the interior area and exterior area are that I'm only spawning one NPC and I have one condition in that script; also it is an interior area.
But maybe these details are irrelevant.
#72
Posté 16 octobre 2013 - 10:39
#73
Posté 16 octobre 2013 - 11:15
At least now I know it, just plain and simple, is not firing.
#74
Posté 16 octobre 2013 - 11:44
it's property needs to be hostile to recognize the PC
#75
Posté 17 octobre 2013 - 01:50





Retour en haut







