Aller au contenu

Photo

Quests only being done once?


  • Veuillez vous connecter pour répondre
70 réponses à ce sujet

#26
Who said that I

Who said that I
  • Members
  • 492 messages
okay now it works, I sorta did it in the wrong tab....SILLY ME! XD

#27
Who said that I

Who said that I
  • Members
  • 492 messages
what I do wonder though, does this allow players doing it multiple times with different toons?
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
Who said that I

Who said that I
  • Members
  • 492 messages
also my other question would be:

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
GhostOfGod

GhostOfGod
  • Members
  • 863 messages
That really big script I posted is the "_pw_journal_inc". You'll notice at the top it say:

//:://////////////////////////////////////
// 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
Who said that I

Who said that I
  • Members
  • 492 messages
oooooh! I thought that I had to add it to the oncliententer!! SILLY ME! XD


#31
Who said that I

Who said that I
  • Members
  • 492 messages
okay got another problem here (sorry ain't that smart with these kinda stuff XD)

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
GhostOfGod

GhostOfGod
  • Members
  • 863 messages
That is also a starting conditional script. In a conversation those are used in the TextAppearsWhen tabs. So the text will "start" based on a "condition". Just look at it that way. : )

Modifié par GhostOfGod, 21 août 2010 - 09:02 .


#33
Who said that I

Who said that I
  • Members
  • 492 messages
oh okay thanks! Sorry am really learning all this still. You relly helped me a lot ghost you rockerdirock!

#34
Who said that I

Who said that I
  • Members
  • 492 messages
Still having trouble with IC1....seems that it cannot find a wolfpelt.... It says

if (GetItemPossessedBy(oPC, "WOLF_PELT") != OBJECT_INVALID) return FALSE; <- it said that this line was a variable defined without a typ.


#35
GhostOfGod

GhostOfGod
  • Members
  • 863 messages
Sorry. That one was a copy/paste mistake on my part. Forgot to add a line. It should look like this:

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
Who said that I

Who said that I
  • Members
  • 492 messages
okay maybe the pc just doesn't like me but again it says error in REW1

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
Lightfoot8

Lightfoot8
  • Members
  • 2 535 messages
object oItemTake = GetItemPossessedBy(oPC, "WOLF_PELT); <- makes it say: UNTERMINATED STRING CONSTANT.


 to


object oItemTake = GetItemPossessedBy(oPC, "WOLF_PELT");

#38
Who said that I

Who said that I
  • Members
  • 492 messages
okay now this is the "error" in the script....

DestoryObject(oItemTake, 0.0); <- Undefined Identifier

#39
Lightfoot8

Lightfoot8
  • Members
  • 2 535 messages
DestroyObject   not   DestoryObject

#40
Who said that I

Who said that I
  • Members
  • 492 messages
object oItemTake = GetItemPossessedBy(oPC, "WOLF_PELT); <- Error UNtermined String constant.



....have no clue what to do with this...

#41
Lightfoot8

Lightfoot8
  • Members
  • 2 535 messages
look up about 3 posts.  It is missing its closing quote  "



Lightfoot8 wrote...

object oItemTake = GetItemPossessedBy(oPC, "WOLF_PELT); <- makes it say: UNTERMINATED STRING CONSTANT.


 to


object oItemTake = GetItemPossessedBy(oPC, "WOLF_PELT");



 

#42
Who said that I

Who said that I
  • Members
  • 492 messages
oh yeah! Sorry, thanks Lightfoot XD


#43
Who said that I

Who said that I
  • Members
  • 492 messages
okay have done it all....and again...all it gives me are errors....Journal doesnt even show the quest and the Tag of the item that needs to be required doesnt even trigger the next text part....

#44
Xovian

Xovian
  • Members
  • 87 messages
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.



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
GhostOfGod

GhostOfGod
  • Members
  • 863 messages
I am also confused. I was just giving "Who said that i" a very simple example of how you can keep quests persistent on their PW. Whether allowing player's to do "the" quest more than once or help someone else do "the" quest or if players get a reward only once or every time, completely depends on the type of quest that you are doing. Perhaps "Who said that i", you could post a specific example of a quest where a player would do it by themselves and get the xp for it and then accept the quest a second time to help someone else but not get any xp for it? What exactly do you mean by helping someone else?

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.

who said that I wrote...

and again...all it gives me are errors

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.

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.

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.

Modifié par GhostOfGod, 24 août 2010 - 04:57 .


#46
Who said that I

Who said that I
  • Members
  • 492 messages
Okay this is basically what I want to achieve with this:



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
GhostOfGod

GhostOfGod
  • Members
  • 863 messages
Ok. Lets clarify the first part. It is all about the party. So when you say "player one can do the quest and player two can do the quest as well" are you saying that they need to be in the same party or does it matter? Lets say player 1 and player 2 are not in a party together. They can both still walk up and talk to the NPC and do the quest. And the way the scripts are set up currently, if player 1 and player 2 are in a party together they can both still do the quest, but they both need to talk to the NPC and individually accept the quest.
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:

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.

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.

Modifié par GhostOfGod, 24 août 2010 - 06:47 .


#48
Who said that I

Who said that I
  • Members
  • 492 messages
What I mean with that is basically that player one can get a reward for it ONCE, they can help others doing the quest though they will not get a reward for it.

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
Who said that I

Who said that I
  • Members
  • 492 messages
I have been trying to work on the module for awhile now, and I am working my way down the list to try and get one of these to work. So far my luck has been bad with it.

Modifié par Who said that I, 13 septembre 2010 - 09:24 .


#50
ffbj

ffbj
  • Members
  • 593 messages
Probably the easiest to use is Knats:
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.