Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[EO] Alatar's Quest System v1.2


Alatar
 Share

Recommended Posts

  • Replies 703
  • Created
  • Last Reply

Top Posters In This Topic

@Rotflturion:

> I had the same problem. The answer is simple, and lies in the quest system itself.
>
> Let's say You got a quest to "Kill 12 walking balls" - make it the 'first task', with no reward when completed. Then just add second task, that's "Go talk to NPC x", and as the target NPC enter the one You got the quest from.
>
> This should work, tho I have not tested it. If it doesn't, drop me a message and I will tell You where to edit.

This doesn't work for whatever reason. If you know how to make it work, that would be awesome!
Link to comment
Share on other sites

@Murdock:

> This doesn't work for whatever reason. If you know how to make it work, that would be awesome!

Hum. It does not work, because the Quest type NPC is not in the task check code.

You have to add it here I think.
```
                        If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_QUEST Then
            HERE---> Call CheckTasks(attacker, QUEST_TYPE_GOTALK, npcNum)
                            Call ShowQuest(attacker, NPC(npcNum).QuestNum)
                            Exit Function
                        End If
                        If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_FRIENDLY Then
                            Call CheckTasks(attacker, QUEST_TYPE_GOTALK, npcNum)
                            Call CheckTasks(attacker, QUEST_TYPE_GOGIVE, npcNum)
                            Call CheckTasks(attacker, QUEST_TYPE_GOGET, npcNum)
                        End If
```
OR, change:
```
If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_FRIENDLY Then
```
To
```
If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_FRIENDLY Or NPC(npcNum).Behaviour = NPC_BEHAVIOUR_QUEST Then
```
I do not guarantee any of these will work tho. They can produce all kinds of nasty bugs ._. - I will check on how to exactly do that when I finish my system.
Link to comment
Share on other sites

@Rotflturion:

> Hum. It does not work, because the Quest type NPC is not in the task check code.
>
> You have to add it here I think.
> ```
>                         If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_QUEST Then
>             HERE---> Call CheckTasks(attacker, QUEST_TYPE_GOTALK, npcNum)
>                             Call ShowQuest(attacker, NPC(npcNum).QuestNum)
>                             Exit Function
>                         End If
>                         If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_FRIENDLY Then
>                             Call CheckTasks(attacker, QUEST_TYPE_GOTALK, npcNum)
>                             Call CheckTasks(attacker, QUEST_TYPE_GOGIVE, npcNum)
>                             Call CheckTasks(attacker, QUEST_TYPE_GOGET, npcNum)
>                         End If
> ```
> OR, change:
> ```
> If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_FRIENDLY Then
> ```
> To
> ```
> If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_FRIENDLY Or NPC(npcNum).Behaviour = NPC_BEHAVIOUR_QUEST Then
> ```
> I do not guarantee any of these will work tho. They can produce all kinds of nasty bugs ._. - I will check on how to exactly do that when I finish my system.

That first bit worked perfectly. Now when I select the 2nd task as "talk to npc" i can use the original npc i talked to to finish it.

I'm noticing another issue. If I acquire two quests and I change maps, only the first quest I obtained shows on the quest log, until I cancel it. Its like its hiding underneath…. There must be someway to refresh it so it shows underneath. If anyone knows how to fix this please let me know.
Link to comment
Share on other sites

This quest code looks like it was heavily modified from the old SamuMod I released a long time ago, a lot has been added, but some of the same commands and variable names such as 'CurrentCount' are the same.  Either we share a brain wave, or I inspired someone to improve upon my old, horrid code.
Link to comment
Share on other sites

Err… yes I know, I have to fix this. Sorry people, i'm out of time right now. Will work on it soon, but I really don't know if I have the time to make a step-by-step tutorial or to give support daily on the release.

@RobJanes:

> This quest code looks like it was heavily modified from the old SamuMod I released a long time ago, a lot has been added, but some of the same commands and variable names such as 'CurrentCount' are the same.  Either we share a brain wave, or I inspired someone to improve upon my old, horrid code.

I haven't seen yours actually, but maybe we share a brain wave lol.
Link to comment
Share on other sites

I have two problems Im hoping someone can help me with. When I change maps the quest log does not refresh properly to show the quests in queue. And also, when completed the quests do not disappear from the quest log. Is it supposed to be that way? If so, how do i change it?

If someone could help with these bugs it would be great, because theyre the only ones im noticing. And without these fixes this tutorial loses its potential.
Link to comment
Share on other sites

@Ultrasnofire:

> when ever someone finnishes a quest the item they are meant to give dosnt get taken away how could i fix it?

It's not coded… yet. But check this if you want: http://www.touchofdeathforums.com/smf/index.php/topic,70502.msg786374.html#msg786374

@Kocho:

> EPIC FAIL!!!
>
> when I kill another player my missions are completed
> Please give me a solution

Hmmm, I need to test that with another client when I get the time to work on this.

@Murdock:

> I have two problems Im hoping someone can help me with. When I change maps the quest log does not refresh properly to show the quests in queue.

Hmmm, try with adding the a reference to the sub refreshquestlog in the sub handlemapdone.

@Murdock:

> And also, when completed the quests do not disappear from the quest log. Is it supposed to be that way? If so, how do i change it?

Yes, it is supposed to be that way. If you want to remove them you need to find the RefreshQuestLog and remove the "Or QuestCompleted(i)".

@Prince:

> This quest system still need more bugs fix.

Yep :(

@Suppositoire:

> How can I add experience to reward?  :confused:

Hmmm, forgot about that  :embarrassed: err… you need to code it using the sub EndQuest.
Link to comment
Share on other sites

gracias por responder alatar… estoy usando tu sistema se quest en mi juego y va muy bien lo único que falla es el PvP ya que cuando matas a otro jugador se completan todas las quest
my game: https://sites.google.com/site/zeldaonlinehdh/

Sorry for spanish ^^
Link to comment
Share on other sites

@Kocho:

> gracias por responder alatar… estoy usando tu sistema se quest en mi juego y va muy bien lo único que falla es el PvP ya que cuando matas a otro jugador se completan todas las quest
> my game: https://sites.google.com/site/zeldaonlinehdh/
>
> Sorry for spanish ^^

Why are you talking Spanish on a English board and why are you advertising for your game?

Anyway, I've seen that this Quest system isn't really finished so I'll take another look in it soon and I'll post more bugfixes. ;)
Link to comment
Share on other sites

@Kocho:

> gracias por responder alatar… estoy usando tu sistema se quest en mi juego y va muy bien lo único que falla es el PvP ya que cuando matas a otro jugador se completan todas las quest
> my game: https://sites.google.com/site/zeldaonlinehdh/
>
> Sorry for spanish ^^

Sé que pasa eso, ni bien pueda y tengo tiempo veo si puedo arreglarlo. Pero hablá en inglés que esta no es la sección en español xD.

@Erwin:

> Why are you talking Spanish on a English board and why are you advertising for your game?
>
> Anyway, I've seen that this Quest system isn't really finished so I'll take another look in it soon and I'll post more bugfixes. ;)

He's talking about the killing-player-error. I think he was talking in spanish because I was the mod of the spanish section (i'm from Argentina), maybe it's for that, I really don't know. On the other hand, yes, please report every single bug, and help for all your work on bug-fixing this by yourself Erwin :)
Link to comment
Share on other sites

I see, and its ok, I'll continue to find and fix bugs. ;)

Alright, I've found the player killing bug, this should fix it:

**Server side -> modCombat -> PlayerAttackPlayer**
Change:
```
'ALATAR
Call CheckTasks(attacker, QUEST_TYPE_GOKILL, 0)
'/ALATAR
```
To:
```
'ALATAR
Call CheckTasks(attacker, QUEST_TYPE_GOKILL, victim)
'/ALATAR
```
Link to comment
Share on other sites

@Murdock:

> The give item function is not working properly. If you have the item needed the quest will end as it should, but the item still remains in the inventory.
>
> Note: The bug-fix for items taken/given at "start" by Erwin does not fix this.

I know, I haven't found a bug fix for it, and the bug-fix for item taken/given works only at start, not at end. ;)
Link to comment
Share on other sites

@Erwin:

> I know, I haven't found a bug fix for it, and the bug-fix for item taken/given works only at start, not at end. ;)

I just said that basically :-P

The only reason I re-iterated it, is because Alatar was directing to it as a possible fix for this bug, which its obviously not.

I also tried to find a possible fix for it by rummaging through the code last night.. I cant see for the life of me why its not taking the item from the player's inventory.
Link to comment
Share on other sites

@Murdock:

> The give item function is not working properly. If you have the item needed the quest will end as it should, but the item still remains in the inventory.
>
> Note: The bug-fix for items taken/given at "start" by Erwin does not fix this.

Oh that, if I remember well it's not coded.

PS: I'm starting in my spare time to try to reproduce the bugs and find solutions to them.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...