Quests only being done once?
#26
Posté 20 août 2010 - 01:33
#27
Posté 20 août 2010 - 01:36
And would all party members get the quest if just one toon acceps tje quest?
Modifié par Who said that I, 20 août 2010 - 01:37 .
#28
Posté 20 août 2010 - 01:40
I tried compiling the AT1 script though it said that it could not find the #include "_pw_journal_inc"
even I put the script in my oncliententer script.....
#29
Posté 20 août 2010 - 07:04
//:://////////////////////////////////////
// Persistent Journal Include Script.
//:://////////////////////////////////////
// _pw_journal_inc
That one you need to save as "_pw_journal_inc" to your mod. You don't put it anywhere since it is an include. It just needs to exist. And at the bottom of this script it shows an example of what to add to your on client enter. So you really only need to add 2 lines to your OnClientEnter. This will update a players journal once they log back in. You'll notice at the top of the script you can also change what item you want to be the journal database item. If you decide you wanted to use another item then you would also have to chage that in the other script that reference that item of course.
Yes people can do the quests with different toons. Since the information is stored on the database object for each character it is unique to that character only.
And no, all party members do not get the quest if one toon accepts it. But you can change that if you want by altering the "_pw_journal_include" script.
I applogize for not explaining some parts better. Hope that helps you.
Modifié par GhostOfGod, 20 août 2010 - 07:12 .
#30
Posté 21 août 2010 - 04:01
#31
Posté 21 août 2010 - 04:38
I am now on IC1, put it on action taken....now it doesnt compile...saying something like: NO FUNCTION MAIN SCRIPT
what did I do wrong this time?
#32
Posté 21 août 2010 - 09:01
Modifié par GhostOfGod, 21 août 2010 - 09:02 .
#33
Posté 21 août 2010 - 12:44
#34
Posté 22 août 2010 - 06:06
if (GetItemPossessedBy(oPC, "WOLF_PELT") != OBJECT_INVALID) return FALSE; <- it said that this line was a variable defined without a typ.
#35
Posté 22 août 2010 - 08:58
int StartingConditional()
{
object oPC = GetPCSpeaker();
if (GetItemPossessedBy(oPC, "WOLF_PELT") != OBJECT_INVALID) return FALSE;
return TRUE;
}
Modifié par GhostOfGod, 22 août 2010 - 09:00 .
#36
Posté 22 août 2010 - 11:10
so this is the line that seems to be giving the error:
object oItemTake = GetItemPossessedBy(oPC, "WOLF_PELT); <- makes it say: UNTERMINATED STRING CONSTANT.
(put it on action taken)
#37
Posté 22 août 2010 - 11:43
to
object oItemTake = GetItemPossessedBy(oPC, "WOLF_PELT");
#38
Posté 22 août 2010 - 02:29
DestoryObject(oItemTake, 0.0); <- Undefined Identifier
#39
Posté 22 août 2010 - 03:01
#40
Posté 23 août 2010 - 03:52
....have no clue what to do with this...
#41
Posté 23 août 2010 - 04:01
Lightfoot8 wrote...
object oItemTake = GetItemPossessedBy(oPC, "WOLF_PELT); <- makes it say: UNTERMINATED STRING CONSTANT.
to
object oItemTake = GetItemPossessedBy(oPC, "WOLF_PELT");
#42
Posté 23 août 2010 - 04:07
#43
Posté 23 août 2010 - 02:11
#44
Posté 23 août 2010 - 10:41
You can even have it remove the journal entry (if it's being used), and restarted as well.
Not sure but I think i misread something, or am not understanding all the "extra" scripting i'm seeing in this post. If it's for multiple players, using a while loop on a "party" works fine (for plot items or rewards), though i don't have an example off the top of my head.
Reading this post just made me confused, don't mind me...think i'll go babble to myself in the corner.
#45
Posté 24 août 2010 - 04:31
When in a PW if the quests are not set up correctly and one person in the party accepts a quest then all the party members might also get the quest. Is this something you want to happen? Some people like it that way. Some don't. The example scripts I gave you do not give the quest to party members. Only the individual who accepted the quest. And once they finish the quest they can not necessarily do it again but they can still help other players if getting their wolf pelt is too difficult. Thus someone is helping someone else who has the quest...even though they have already done it.
If my new understanding is correct..you want people to be able to accept the quest again and do it but not get anything for finishing it? If that is the case then what would be the point of the player being able to accept the quests again? Unless this would be more like a "killing blow" type quest. Where whoever kills a monster, and has accepted the quest, finishes or moves on to the next node of the quest as soon as they strike the blow. But then you need to figure out if you want the person who killed the monster to only get the xp..or if you want all the party members to get the xp or maybe just the members who are in the same area or maybe just everyone who has accepted the quest and aren't even in the same area. Basically it can get very confusing as to how to do this. And the scripting from one type of quest can vary from one to the other.
What I posted is basically: One person accepts the quest. They alone finish it (unless it's one in which someone else can just help them out, ie kill the wolf that drops the wolf pelt) and get the reward for it. It is now recorded as "done" on the players database item and the npc now only says "thanks for doing the quest."
So now here I am rambling on. Probably causing even more confusion for myself and for the OP. ; )
P.S.
Could you be a bit more specific? All the scripts I posted, except for the one that I left out a line and it was fixed, were free of errors and currenlty in use on our PW.who said that I wrote...
and again...all it gives me are errors
This is very true but the OP doesn't want the player to get the reward/xp again. That is where it gets confusing I think.Xovian wrote...
Maybe it's just me, because I never use "persistent" scripts, but making
quests able to be done more then once, is simple. At the end quest
script where the reward is given, you simply add "set" what ever the
integers name is back to == 0 ...and you can do it again.
Modifié par GhostOfGod, 24 août 2010 - 04:57 .
#46
Posté 24 août 2010 - 09:22
1. I want to make it so that multiple players can do the quest (so player one can do the quest and player two can do it aswell)
2. I want to make it so that the quests stack onto the player so that they cannot redo the quest after they have done the quest or after a server reset
That is basically it so far I can remember
#47
Posté 24 août 2010 - 06:07
Now, if you want it so that player 1 and player 2 are in a party together and only one of the players needs to talk to the NPC, then player 1 and 2 both get the quest and once the quest is completed, again only one player talks to the NPC but both player 1 and 2 get the xp/reward, then we would need to alter the scripts posted.
When accepting quests and getting rewards for quests in a PW it basically comes in 2 flavors. The individual or the whole party of the individual who is doing the quest. You do run into some obstacles with the whole party method. But it can be scripted with certain conditions, if you want to go that route, to overcome some of those obstacles.
The second thing you want accomplished should already be happening with what I've posted for the persistence.
EDIT:
I was reading this from the other thread. Do you already have all the quests finished and you are just trying to make them persistent (and im still not sure what you mean by multiplay-able since you also say you only want them to be done once)? If this is the case you will need to either alter almost every script associated with every quest to use persistence or you will need to replace all scripts with a different system (like what I've posted). Either way there's no easy fix.Who said that I wrote...
my module is as good as finished though only need to get the Subrace
engine I added recently to work like its supposed to and the quests need
to be multiplay-able.
Modifié par GhostOfGod, 24 août 2010 - 06:47 .
#48
Posté 24 août 2010 - 07:35
I have not added all the quests yet, made some quests and then I stumbled on this problem.
I am trying to make the quests persistent and make it so that toon 1 can do the quest and so can toon 2.
But I do not want that a player kills the bandit king 100 times for the xp and all that
But about the first part, well how its set up now I am rather satisfied if it worked, It does not matter if they are in party or not. Each PC needs to talk to the NPC to gain their quest/reward
Modifié par Who said that I, 24 août 2010 - 07:37 .
#49
Posté 13 septembre 2010 - 01:03
Modifié par Who said that I, 13 septembre 2010 - 09:24 .
#50
Posté 14 septembre 2010 - 03:44
http://nwvault.ign.c....Detail&id=1166
It just uses the regular journal and queries it, so you can look at your various quests.
I do recommend though having a database object on each PC, it's useful for so many things.
One thing about Knat's is once you have done quest you can just pump them out like pop-corn, by just
following the template of the first quest you created.
The database objects in mine keep track of curses, contracts, mounted, contitional things on the PC, including reputation, and quest status. So I could have ZombieQuest set to 1 and have no more xp awareded if that PC completes the quest with another player. It's a simple variable check, which could also be used in other ways, friends of the zombie king might not like you for example.





Retour en haut







