Alebre Showcase (Quests)

Interested in joining? Show off your skills here.
User avatar
Alebre
P:C Modder
 
Posts: 14
Joined: 14 May 2012, 08:17
Location: At home, in 1173

Alebre Showcase (Quests)

Postby Alebre » 20 Jul 2013, 10:21

Hello.

I came into the realm of quest and NPC design for Morrowind quite a while back and quickly found myself rather enjoyed it, so I thought I'd give it a serious go. Since then I’ve uncovered many scripting techniques and, while I most definitely haven’t mastered them all, I believe I could prove some sort of a helping hand to this project.
I designed the showcase to basically cram in a load of scripting, and unfortunately that does mean the narrative has suffered, but I figured when it came to this sort of showcase, scripting would have to win over a sensationally clever and witty story.

What I've made is a three-quest line set in the Thieves Guild (I MUCH prefer doing guild quests than misc quests) which requires "Find Brother Nads" to be completed first. It can be started in Vivec, as Crazy-Legs Arantamo will direct you to speak with an Argonian Ri-Nalz (an NPC I created myself), who will be found in Okur's House in Hla Oad. From there, he will direct the tasks.

The first will require you to replace some flin, found in a chest in Fatleg's Dropoff, with a poisoned bottle. Doing so will result in Ri-Nalz giving a reward and, upon return to Fatleg's Drop Off, all the Cammona Tong members dying. Simply ignoring Ri-Nalz and slaughtering everyone with Fatleg's Drop Off the old-fashioned way will cause the Argonian to be annoyed, and a lesser reward, but otherwise little difference at that stage.

For the next quest, Ri-Nalz will ask you to head off to The Covenant in Tel Mora, where another Argonian by the name of Beelei can be found. This section has four possible endings:
1. Doing as Ri-Nalz says will result in you leading her to The End of the World in Dagon Fel, and from there taking her to the Watchtower. Upon entering, Beelei will cast a spell on a Dunmer inside that will kill him and, eventually, kill her too. Go back to Ri-Nalz for congratulations, a reward, and the next quest.
2. Doing as Beelei will have pleaded will involve you simply leading her to Ebonheart. She is deliberately vague about the actual place in Ebonheart that she wants to go but, if you know enough at Vvardenfell, it should be obvious that she is referring to the Argonian Mission. Talk to Im-Kilaya for a reward and go back to Ri-Nalz for a berating and the next quest. This option can be done either before you arrive at Dagon Fel or just after Ri-Nalz asks you to take her to the Watchtower.
3. Sending Beelei to her death in any creative way that wasn't intended by Ri-Nalz will simply result in Ri-Nalz once again attacking your credentials. You can still proceed to the next quest taking this path, however.
4. Killing Ri-Nalz will end the questline immediately but, if Beelei is still around, you could still take her to the Argonian Mission and receive a reward.

Whatever is done, the questline will either end there or continue onto the final task, which will alter slightly according to the choices made during the previous quests.

Ri-Nalz will request that you meet him the South Wall Cornerclub in Balmora. Once there, he will ask that you steal a piece of paper from a Dunmer in the Council Club named Thalos Arveni, give it to a Khajiit in the Cornerclub named Chirranirr, and then replace back what Chirranirr (similar to the first quest, I know, but the premise seemed to suffice showcasewise). He will also ask for the job to be done within one day for the maximum reward.
If you decided to disobey his orders on the previous two quests (kill the people in Fatleg's Dropoff, and either save or kill Beelei outside the Watchtower) then Ri-Nalz will give you an added warning that there will be consequences should the quest not be done properly (i.e. simply killing Thalos Arveni). If you choose once again to ignore him, he will give curt instructions to go up to the top floor of Nerano Manor and cast a spell. If this is done, your health will be damaged and Ri-Nalz will give no reward apart from a lecture of the importance of his work.

Yeah, there are lots of ways to do the quests. All the mechanics worked fine when I tested them, so they should hopefully be bug-free and typo-free, but I'm most definitely far from infallible. The dialogue isn't really, to my reckoning, 100% perfectly reminiscent of what the Elder Scrolls games usually contain, but it shouldn't be too bad. As I said before, I know the narrative probably isn't the strongest, but I can assure you that when I really get into it, I can perform on that front. It's just on this occasion it wasn't at the top of my priorities.

Anyways, I look forward to hearing the feedback.
Attachments
Clean Alebre_showcase_rinalz.ESP
Quest scripting showcase...
(72.57 KiB) Downloaded 100 times
"Je suis en vie ..."

User avatar
Wollibeebee
P:C Reviewer
 
Posts: 1187
Joined: 18 Aug 2011, 23:10

Re: Alebre Showcase (Quests)

Postby Wollibeebee » 20 Jul 2013, 11:51

I'm a bit rushed at the moment, so I haven't read your entire post:

Glad to have another quester around, there's not many. TDF will likely be by soon to review it, as that's his department.

If you're aproved at any of the other two major-league competitive province mods you can be approved here without having to go through the showcase rigmaroll.

Hopefully you'll be able to go nuts when you get access to the questing forums, throwing out random quests is one of the funnest parts of this mod, even if only half of them will ever see the light of day. :P

Tarius
Head of Modelling
 
Posts: 1579
Joined: 03 Jan 2011, 04:46

Re: Alebre Showcase (Quests)

Postby Tarius » 21 Jul 2013, 18:20

Wollibeebee wrote:Hopefully you'll be able to go nuts when you get access to the questing forums, throwing out random quests is one of the funnest parts of this mod, even if only half of them will ever see the light of day. :P

Hey, I expect my quest ideas to be used darnit.
Tarius: I have now conquered the galaxy twice and am working on a third. Once thats out of me, I will be back to work.
TDF: Which game is that(I assume its a game and not real life)
The Khan: If it was real life, we would know about it. And I dont think he means this Galaxy.
Tarius: Yes, I really lead a secret double life where I am a galactic overlord.

User avatar
TerrifyingDaedricFoe
Head of Characters
 
Posts: 611
Joined: 10 May 2011, 19:58
Location: England

Re: Alebre Showcase (Quests)

Postby TerrifyingDaedricFoe » 26 Jul 2013, 20:41

I've just got back from holiday, so I haven't had a chance yet to look at your showcase. I will try to give you some feedback by the end of the week. There are a few points I'll address here though:

I'm not entirely sure how P:C quest claims will work, but it is unlikely the quester will be forced to come up with narratives entirely by themselves, so that's not such an important thing in a showcase.

The dialogue shouldn't feel too out of place compared with vanilla Morrowind. One important point is that Americanized English should be used (even if it burns your soul to use so many 'z's and spell colour without the 'u' :P).
SamirA wrote:
Tarius wrote:This is entirely a matter of the Bethstapo that will burst in, yell STOP RIGHT THERE, CRIMINAL SCUM, and C&D us to death if we violate copyright.
Haha, bethstapo.

User avatar
SamirA
P:C Coordinator
 
Posts: 3284
Joined: 14 Dec 2010, 16:35
Location: Some interior in Tamriel

Re: Alebre Showcase (Quests)

Postby SamirA » 26 Jul 2013, 21:24

It should burn your soul to use so many useless u's in your words. Such superfluous things can only be the spawn of an evil and decadent society :lol:
Project Coordinator

User avatar
Alebre
P:C Modder
 
Posts: 14
Joined: 14 May 2012, 08:17
Location: At home, in 1173

Re: Alebre Showcase (Quests)

Postby Alebre » 27 Jul 2013, 00:17

That is kind-of what I figured when it comes to the stories, TDF, but I felt that I should clear the air with that from the start. And while I did try to make sure that all spelling was American, I feel that it's almost inevitable that some mistakes will slip through since my poor Australian mind was trained (or "brainwashed", if you prefer) to spell the UK way and only the UK way. I'm almost certain there are many more fantastic Americanisations out there that I've yet to stumble upon anyway.

As I said, I try to be as vigilante as I can on these matters.
"Je suis en vie ..."

Tarius
Head of Modelling
 
Posts: 1579
Joined: 03 Jan 2011, 04:46

Re: Alebre Showcase (Quests)

Postby Tarius » 27 Jul 2013, 05:36

Alebre wrote:As I said, I try to be as vigilante as I can on these matters.

Like this, haha.
Tarius: I have now conquered the galaxy twice and am working on a third. Once thats out of me, I will be back to work.
TDF: Which game is that(I assume its a game and not real life)
The Khan: If it was real life, we would know about it. And I dont think he means this Galaxy.
Tarius: Yes, I really lead a secret double life where I am a galactic overlord.

User avatar
Alebre
P:C Modder
 
Posts: 14
Joined: 14 May 2012, 08:17
Location: At home, in 1173

Re: Alebre Showcase (Quests)

Postby Alebre » 27 Jul 2013, 23:15

Oh dear.

In my defense, that wasn't really a typo, more a misjudgement of spelling... Though in the long and short, I suppose they're just as bad as each other.

Let's try again:
I try to be as vigilant as I can on these matters, though occasionally I completely screw up and make myself look like an absolute idiot.
"Je suis en vie ..."

User avatar
SamirA
P:C Coordinator
 
Posts: 3284
Joined: 14 Dec 2010, 16:35
Location: Some interior in Tamriel

Re: Alebre Showcase (Quests)

Postby SamirA » 28 Jul 2013, 00:52

Don't mind Tarius.
Project Coordinator

User avatar
Alebre
P:C Modder
 
Posts: 14
Joined: 14 May 2012, 08:17
Location: At home, in 1173

Re: Alebre Showcase (Quests)

Postby Alebre » 28 Jul 2013, 01:38

Righto. Just expect there to be a number of times when I'm found to've made rather interesting mistakes. :D
"Je suis en vie ..."

User avatar
TerrifyingDaedricFoe
Head of Characters
 
Posts: 611
Joined: 10 May 2011, 19:58
Location: England

Re: Alebre Showcase (Quests)

Postby TerrifyingDaedricFoe » 02 Aug 2013, 17:26

I'm afraid I haven't fully tested the first two quests and haven't looked at the third one at all.

However, I do have a few comments to make.

Journal: Alebre_TG_Poison 110
Ri-Nalz was amused with my direct methods, but said that he's prefer it I followed orders. should be Ri-Nalz was amused with my direct methods, but that he'd prefer it if I followed orders.

Topic: jobs
The topics are all above the expelled from the Thieves Guild entry, which means you can do thieves guild quests whilst expelled, which isn't right.

Topic: fight the Cammona Tong
If you've put the poisoned bottle in the chest and received the journal message, Ri-Nalz has no response if you don't have a bottle of flin in your inventory (minor point: Camonna Tong drinking Imperial flin rather than good ol' Dunmer booze?) I think it would be better to handle this with a script on the chest that broadcasts a global variable if it has a poison bottle in it and no good bottle. If the variable is there Ri-Nalz congratulates you for a job well done. If it isn't he tells you to hurry up and finish the quest.

What happens if all the people in the Drop Off are dead before you even start the quest? In that case the dialogue response doesn't make sense. You haven't disobeyed orders because you were never given them in the first place.

Journal: Alebre_TG_Slave 5
gather a slave seems an odd phrase to use. take her the The End of the World in Dagon Fel. should be take her to The End of the World tradehouse in Dagon Fel.

Topic: Dagon Fel
I feel that Beelei and Ri-Nalz should have unique dialogue for this. At the moment they sound like they live there.

Greeting 5
I was expecting Beelei and Ri-Nalz to have more unique greetings. Beelei when you're travelling to Dagon Fel and when you get there, Ri-Nalz when you get there. Something like Ah, %PCName, I'm glad you and Beelei made it here in one piece. I need you to continue to fight the Cammona Tong. (that reminds me: fight the Cammona Tong is a bit unwieldy to fit easily into dialogue)

Topic: travel together
I couldn't complete the second quest because my test character straight off the boat had never heard this topic before. Somewhere in Beelei's dialogue you need to mention travel together. Maybe even a greeting when you've finished talking to Ri-Nalz in Dagon Fel What did Ri-Nalz say?Are we going to continue to travel together?



I'm going away tomorrow for a week. I'm back for a few days and then off again for another week, so it's unlikely I'll be able to properly review everything until the week beginning the 19th. In the meantime you can fix the things I've brought up (quest showcases don't have the three reviews and then you start over rule that interiors do because they're more complex) and if you're lucky someone else will drop by and review it. From what I've seen you're on the right track and I look forward to having you on the team. :)
SamirA wrote:
Tarius wrote:This is entirely a matter of the Bethstapo that will burst in, yell STOP RIGHT THERE, CRIMINAL SCUM, and C&D us to death if we violate copyright.
Haha, bethstapo.

User avatar
Alebre
P:C Modder
 
Posts: 14
Joined: 14 May 2012, 08:17
Location: At home, in 1173

Re: Alebre Showcase (Quests)

Postby Alebre » 05 Aug 2013, 08:15

I fixed up all the problems - most of them were oversights on my part. I'm happy to see that only a few errors were spotted in the first two quests (although I'm aware you haven't dug all the way through) since the second in particular was the problem child during construction. I could've sworn I sorted out that "travel together" issue, but obviously not.

I know that "fight the Cammona Tong" isn't the easiest topic to fit into dialogue, but it seemed adequate enough when I first thought of it. As for the flin issue, I think I got a bit scatterbrained as I originally wanted an option where the player could get through that quest by cheating (i.e. simply getting rid of the poisoned flin and showing Ri-Nalz an ordinary bottle brought from a shop) but I decided to discard the idea midway through designing the quest. I actually wasn't really aware that flin was Imperial, since I've never been one for taking interest in the cultural origins of alcohol drinks (even though it was staring me in the face in its ID...genius I am not...) but I know now. I suppose it's a good thing I learned this in showcase.

Anyhow, as I said, the issues above were seen to. Unfortunately I've had to add a few more journal entries since the locals, true to their nature, decided to have a massive tantrum and declare war on me, in which they won. This has made things a bit more fiddly, but the quests still worked when I tested them. I'm encouraged to hear that I'm on the right track, since I've far from master-level. I hope I can prove useful in the future :)
Attachments
Alebre_showcase_rinalz.ESP
Take Two
(77.12 KiB) Downloaded 115 times
"Je suis en vie ..."

User avatar
SamirA
P:C Coordinator
 
Posts: 3284
Joined: 14 Dec 2010, 16:35
Location: Some interior in Tamriel

Re: Alebre Showcase (Quests)

Postby SamirA » 05 Aug 2013, 17:24

You have a great attitude Alebre. I have every confidence that you will indeed be inducted before long and prove a very useful member to the team.
Project Coordinator

User avatar
Alebre
P:C Modder
 
Posts: 14
Joined: 14 May 2012, 08:17
Location: At home, in 1173

Re: Alebre Showcase (Quests)

Postby Alebre » 06 Aug 2013, 00:47

I'm very pleased to hear that.
"Je suis en vie ..."

abot
P:C Modder
 
Posts: 30
Joined: 29 Jun 2012, 07:39

Re: Alebre Showcase (Quests)

Postby abot » 19 Oct 2013, 21:08

I logged here only recently, so I hope talking about this is still of use and Alebre is not gone:
script syntax is perfect (a rare thing indeed :applause: )

Script/quest logic seems a little complicated to understand in short time and as I do not have the time nor the inclination at present to test the multiple quest branching in game, I will just toss a few comments directly in the scripts (I hope to not introduce logic bugs, but I am mainly interested in showing some efficiency hints)
Spoiler: show
Code: Select all
# alebre_beeleiscript =========================================================
begin alebre_beeleiscript

short nolore
short beeleitravel
short followNow
short distanceCheck
float timer

short ats
set ats to ( GetJournalIndex "Alebre_TG_Slave" )   ; example of optimizing multiple GetJournalIndex calls /abot

if ( ats < 11 )
   if ( ScriptRunning "alebre_rinalzteleport" )
   else
      StartScript "alebre_rinalzteleport"   ; better not start global scripts each frame /abot
   endif
endif

if ( OnDeath == 1 )
   if ( ats < 21 )
      Journal "Alebre_TG_Slave" 130
   endif
endif

if ( ats == 30 )
   if ( GetHealth > 0 )   ; do once /abot
      ModCurrentHealth, -1000
      return
   endif
endif

if ( ats > 29 )
   if ( ats < 151 )
      Return
   endif
endif

if ( beeleitravel == 110 )
   Cast, "alebre_frostkill", "alebre_farulllerano"
   set beeleitravel to 50
endif

if ( beeleitravel < 1 )
   disable
endif

if ( ats > 1 )
   set beeleitravel to 3
   enable
endif

if ( GetJournalIndex "Alebre_TG_Poison" > 99 )
   set beeleitravel to 3
   enable
endif



if ( ats > 19 )
   if ( ats < 26 )
      if ( GetPCCell, "Dagon Fel, Watch Tower" == 1 )
         set "alebre_farulllerano".farulappear to 5
         AddSpell, "alebre_frostkill"
         AiWander, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

         if ( ats > 26 )
            if ( ats < 99 )
               return
            endif
         endif
      
         if ( ats == 25 )
            if ( beeleitravel < 39 )
               set beeleitravel to 40
               ForceGreeting
               return   ; Forcegreeting may skip endif below /abot
            endif
         endif
      endif
      
      if ( beeleitravel > 41 )
         return
      endif

      if ( beeleitravel < 39 )
         if ( GetPCCell, "Dagon Fel, The End of the World" == 0 )
            set beeleitravel to 30

            if ( beeleitravel == 30 )
               if ( ats == 20 )
                  set beeleitravel to 40
                  ForceGreeting
                  return   ; Forcegreeting may skip endif below /abot
               endif
            endif
         ; endif
         else   ; should work the same /abot
         ; if ( GetPCCell, "Dagon Fel, The End of the World" == 1 )
            if ( beeleitravel < 29 )
               set beeleitravel to 27
            endif
         endif
      endif
   endif
endif

if ( MenuMode == 1 )
   Return
endif

if ( GetCurrentAiPackage == 3 )

   if ( GetPCCell "Ebonheart, Argonian Mission" == 1 )
      if ( GetJournalIndex "Alebre_TG_SlaveEbon" < 6 )
         if ( ats < 99 )
            Journal "Alebre_TG_SlaveEbon" 10
            AiWander 256 0 0 40 20 20 0 0 0 0 20 0
            Say "Vo\A\F\Flw_AF003.mp3" "Thank you."
            SetHello 30
         endif
      endif

      if ( GetJournalIndex "Alebre_TG_SlaveEbon" == 5 )
         Journal "Alebre_TG_SlaveEbon" 10
         AiWander 256 0 0 40 20 20 0 0 0 0 20 0
         Say "Vo\A\F\Flw_AF003.mp3" "Thank you."
         SetHello 30
      endif
   endif
   
   if ( GetPCCell "Dagon Fel, The End of the World" == 1 )
      if ( GetJournalIndex "Alebre_TG_SlaveEbon" < 1 )
         if ( ats == 10 )
            StartScript, "alebre_rinalzteleport"
            Journal "Alebre_TG_Slave" 15
            AiWander 256 0 0 20 40 0 0 0 0 40 0 0
            SetHello 30
         endif
      endif
   endif

   if ( timer < 3 )   ; I think you need a timer... /abot
      set timer to ( timer + GetSecondsPassed )
      return
   endif
   
   float tmp
   set tmp to ( GetDistance Player )       ; example optimizing calling slow function once /abot
   if ( tmp < NPCVoiceDistance )
      if ( tmp < 500 )
         set distanceCheck to 0
      endif
      set timer to 0
      return
   endif

   if ( distanceCheck == 0 )
      Say "Vo\A\F\Flw_AF004.mp3" "Wait for me!"
      set distanceCheck to 1
   endif

endif

end

# alebre_cammonatong ==========================================================
begin alebre_cammonatong

short AlebreCammonatongDeaths

if ( AlebreCammonatongDeaths == 3 )
   if ( GetJournalIndex "Alebre_TG_Poison" < 19 )
      Journal "Alebre_TG_Poison" 20
   endif
endif

if ( OnDeath == 1 )
   Set AlebreCammonatongDeaths to ( AlebreCammonatongDeaths + 1 )
endif

if ( GetJournalIndex "Alebre_TG_Poison" == 100 )
   if ( GetHealth > 0 )   ; do once /abot
      ModCurrentHealth, -1000
   endif
endif

end

# alebre_daycount =============================================================
begin alebre_daycount

short initialized
short startday
short starthour

if ( GetJournalIndex "Alebre_TG_FrameDay" > 1 )
   StopScript, "alebre_daycount"
endif

if ( GetJournalIndex "Alebre_TG_Frame" > 1 )
   if ( initialized < 1 )
      set initialized to 2
      set startday to DaysPassed
      set starthour to GameHour
   endif
endif


if ( DaysPassed <= startday )   ; faster check put out of inner blocks /abot
   if ( GetJournalIndex "Alebre_TG_Frame" > 1 )
      if ( GetJournalIndex "Alebre_TG_Frame" < 99 )
         if ( GetJournalIndex "Alebre_TG_FrameDay" < 1 )
            ; if ( DaysPassed < ( startday + 1 ) )   ; not needed I think /abot
               Return
            endif
         endif   
      endif
   endif
endif

if ( GameHour <= starthour )   ; faster check put out of inner blocks /abot
   if ( GetJournalIndex "Alebre_TG_Frame" > 1 )
      if ( GetJournalIndex "Alebre_TG_Frame" < 99 )
         if ( GetJournalIndex "Alebre_TG_FrameDay" < 1 )
            Return
         endif
      endif
   endif
endif

if ( GetJournalIndex "Alebre_TG_Frame" > 1 )
   if ( GetJournalIndex "Alebre_TG_Frame" < 99 )
      if ( GetJournalIndex "Alebre_TG_FrameDay" < 1 )
         Journal "Alebre_TG_FrameDay" 10
      endif
   endif
endif

end

# alebre_farullleranoscript ===================================================
begin alebre_farullleranoscript

short nolore
short farulstatus
short farulappear

if ( GetJournalIndex "Alebre_TG_Slave" < 21 )
   disable
   set farulstatus to 2
   return
endif

if ( farulappear == 5 )
   enable
endif

if ( farulstatus == 20 )
   additem "alebre_sc_frostkill" 1
   set farulstatus to 30
   return
endif

if ( OnDeath == 1 )
   if ( GetJournalIndex "Alebre_TG_Slave" == 27 )
      SetPCCrimeLevel 0
      removeitem "alebre_sc_frostkill" 1
      Journal "Alebre_TG_Slave" 30
   endif
endif

end

# alebre_fatlegscript =========================================================
begin alebre_fatlegscript

;global alebre_fatlegchest

if ( GetItemCount "alebre_poisonedflin" == 1 )
   if ( GetItemCount "Potion_Cyro_Whiskey_01" == 0 )
      set alebre_fatlegchest to 3
   endif
endif

if ( GetItemCount "alebre_poisonedflin" == 0 )
   set alebre_fatlegchest to 1
endif

if ( GetItemCount "Potion_Cyro_Whiskey_01" == 1 )
   set alebre_fatlegchest to 1
endif

if ( GetJournalIndex "Alebre_TG_Poison" == 5 )
   if ( alebre_fatlegchest == 3 )
      Journal "Alebre_TG_Poison" 10
   endif
endif

end

# alebre_firescript ===========================================================
begin alebre_firescript

if ( GetJournalIndex "Alebre_TG_Frame" < 219 )
   Return
endif

if ( GetJournalIndex "Alebre_TG_Frame" < 221 )
   if ( GetPCCell, "Balmora, Nerano Manor" == 1 )
      if ( "alebre_selanauvano"->GetDistance, Player < 350 )
         if ( Player->GetPos, Z > 720 )
            Journal "Alebre_TG_Frame" 223
         endif
      endif
   endif
endif

if ( GetJournalIndex "Alebre_TG_Frame" < 222 )
   Return
endif

if ( GetPCCell, "Balmora, Nerano Manor" == 0 )
   Return
endif

if ( GetPCCell, "Balmora, Nerano Manor" == 1 )
   if ( Player->GetPos, Z < 720 )   ; faster
      if ( "alebre_selanauvano"->GetDistance, Player > 350 )
         Return
      endif
   endif
endif

if ( GetJournalIndex "Alebre_TG_Frame" < 224 )
   if ( Player->GetSpellEffects, "alebre_fire" == 1 )
      Journal "Alebre_TG_Frame" 225
   endif
endif


end

# alebre_frostkillscript ======================================================
begin alebre_frostkillscript

short doOnce

if ( doOnce == 0 )
   if ( "alebre_farulllerano".farulstatus == 30 )
      Cast, alebre_frostkill, "alebre_farulllerano"
      set doOnce to 1
   endif
endif

end

# alebre_rinalz ===============================================================
begin alebre_rinalz

Short NoLore
short rinalz
short fatlegpoison
short arvenirinalz
short doOnce

if ( GetJournalIndex "Alebre_TG_Frame" == 6 )
   if ( ScriptRunning "alebre_firescript" )
   else
      StartScript "alebre_firescript"   ; better not start global scripts each frame /abot
   endif
endif

if ( GetJournalIndex "Alebre_TG_FrameDay" < 1 )
   if ( GetJournalIndex "Alebre_TG_Frame" > 1 )
      if ( ScriptRunning "alebre_daycount" )
      else
         StartScript "alebre_daycount"   ; better not start global scripts each frame /abot
      endif
   endif
endif

if ( GetJournalIndex "Alebre_TG_Poison" < 1 )
   if ( GetJournalIndex "TG_BrotherThief" > 99 )
      set rinalz to 5
      enable
   else
      disable
      return
   endif
endif

if ( ScriptRunning "alebre_rinalzteleport" )   ; better not start global scripts each frame /abot
elseif ( GetJournalIndex "Alebre_TG_Frame" == 100 )
   StartScript, "alebre_rinalzteleport"
elseif ( GetJournalIndex "Alebre_TG_Frame" == 250 )
   StartScript, "alebre_rinalzteleport"
elseif ( GetJournalIndex "Alebre_TG_FrameDay" == 100 )
   StartScript, "alebre_rinalzteleport"
elseif ( GetJournalIndex "Alebre_TG_Slave" < 9 )
   StartScript, "alebre_rinalzteleport"
endifendif

if ( OnDeath == 1 )
   if ( GetJournalIndex "Alebre_TG_Poison" > 1 )
      if ( GetJournalIndex "Alebre_TG_Poison" < 99 )
         Journal "Alebre_TG_Poison" 200
      endif
   endif
   if ( GetJournalIndex "Alebre_TG_Slave" > 1 )
      if ( GetJournalIndex "Alebre_TG_Slave" < 99 )
         Journal "Alebre_TG_Slave" 200
      endif
   endif
   if ( GetJournalIndex "Alebre_TG_Frame" > 1 )
      if ( GetJournalIndex "Alebre_TG_Frame" < 99 )
         Journal "Alebre_TG_Frame" 300
      endif
      if ( GetJournalIndex "Alebre_TG_Frame" > 199 )
         if ( GetJournalIndex "Alebre_TG_Frame" < 251 )
            Journal "Alebre_TG_Frame" 300
         endif
      endif
      if ( GetJournalIndex "Alebre_TG_FrameDay" > 1 )
         if ( GetJournalIndex "Alebre_TG_FrameDay" < 99 )
            if ( GetJournalIndex "Alebre_TG_Frame" < 299 )
               Journal "Alebre_TG_Frame" 300
            endif
         endif
      endif
   endif
endif

if ( GetJournalIndex "Alebre_TG_Slave" > 9 )
   if ( GetJournalIndex "Alebre_TG_Slave" < 19 )
      if ( rinalz < 9 )
         set rinalz to 10
      endif
   endif
endif

if ( GetJournalIndex "Alebre_TG_Slave" < 111 )
   if ( GetJournalIndex "Alebre_TG_Slave" > 99 )
      if ( GetPCCell, "Balmora, South Wall Cornerclub" == 0 )
         if ( ScriptRunning "alebre_rinalzteleport" )   ; better not start global scripts each frame /abot
         else
            StartScript, "alebre_rinalzteleport"
         endif
      endif
      if ( GetPCCell, "Balmora, South Wall Cornerclub" == 1 )
         if ( doOnce == 0 )
            set doOnce to 1
            removeitem "common_pants_03_c" 1
            removeitem "common_shirt_04" 1
            additem "orcish_cuirass" 1
            additem "orcish_greaves" 1
         endif
      endif
   endif
endif
if ( GetJournalIndex "Alebre_TG_Slave" == 150 )
   if ( GetPCCell, "Balmora, South Wall Cornerclub" == 0 )
      if ( ScriptRunning "alebre_rinalzteleport" )   ; better not start global scripts each frame /abot
      else
         StartScript, "alebre_rinalzteleport"
      endif
   endif

   if ( GetPCCell, "Balmora, South Wall Cornerclub" == 1 )
      if ( doOnce == 0 )
         set doOnce to 1
         removeitem "common_pants_03_c" 1
         removeitem "common_shirt_04" 1
         additem "orcish_cuirass" 1
         additem "orcish_greaves" 1
      endif
   endif
endif


end

# alebre_rinalzteleport =======================================================
begin alebre_rinalzteleport

short RiNalzTeleport

if ( GetPCCell, "Balmora, South Wall Cornerclub" == 0 )
   if ( GetJournalIndex "Alebre_TG_Frame" == 100 )
      "alebre_rinalz"->Disable
   elseif ( GetJournalIndex "Alebre_TG_Frame" == 250 )
      "alebre_rinalz"->Disable
   elseif ( GetJournalIndex "Alebre_TG_Frame" == 270 )
      "alebre_rinalz"->Disable
   elseif ( GetJournalIndex "Alebre_TG_FrameDay" == 100 )
      "alebre_rinalz"->Disable
   endif
endif

if ( GetJournalIndex "Alebre_TG_Slave" > 1 )
   if ( GetJournalIndex "Alebre_TG_Slave" < 9 )
      set RiNalzTeleport to 1
   endif
endif

if ( GetJournalIndex "Alebre_TG_Frame" > 1 )
   return
endif

if ( RiNalzTeleport > 5 )
   return
endif

if ( RiNalzTeleport == 1 )
   if ( GetJournalIndex "Alebre_TG_Slave" == 130 )
      set RiNalzTeleport to 3
   elseif ( GetJournalIndex "Alebre_TG_SlaveEbon" > 1 )
      set RiNalzTeleport to 3
   elseif ( GetJournalIndex "Alebre_TG_Slave" > 9 )
      if ( GetJournalIndex "Alebre_TG_Slave" < 31 )
         set RiNalzTeleport to 3
      endif
   endif
   if ( RiNalzTeleport == 3 )
      ; moved here instead of repeating it 3 times /abot
      "alebre_rinalz"->PositionCell, -45, 378, 393, 260, "Dagon Fel, The End of the World"
   endif
endif

if ( RiNalzTeleport == 3 )   ; faster condition moved out
   if ( GetJournalIndex "Alebre_TG_Frame" < 1 )
      if ( GetPCCell, "Dagon Fel, The End of the World" == 0 )
         if ( GetJournalIndex "Alebre_TG_Slave" < 111 )
            if ( GetJournalIndex "Alebre_TG_Slave" > 99 )
               "alebre_rinalz"->PositionCell, 781, 288, -242, 301, "Balmora, South Wall Cornerclub"
               set RiNalzTeleport to 6
            endif
         endif

         if ( GetJournalIndex "Alebre_TG_Slave" == 150 )
            "alebre_rinalz"->PositionCell, 781, 288, -242, 212, "Balmora, South Wall Cornerclub"
            set RiNalzTeleport to 6
         endif
      endif
   endif
endif


end

# alebre_thalosarveniscript ===================================================
begin alebre_thalosarveniscript

if ( OnDeath == 1 )
   if ( GetJournalIndex "Alebre_TG_Frame" > 1 )
      if ( GetJournalIndex "Alebre_TG_Frame" < 31 )
         Journal "Alebre_TG_Frame" 200
      endif
   endif
   if ( GetJournalIndex "Alebre_TG_FrameDay" > 1 )
      if ( GetJournalIndex "Alebre_TG_FrameDay" < 41 )
         if ( GetJournalIndex "Alebre_TG_Frame" < 199 )
            Journal "Alebre_TG_Frame" 200
         endif
      endif
   endif
endif

end

# alebre_thaloschest ==========================================================
begin alebre_thaloschest

if ( GetItemCount "alebre_bk_arveniforged" > 0 )   ; test one time /abot
   Set "alebre_rinalz".arvenirinalz to 1
   if ( GetJournalIndex "Alebre_TG_Frame" == 20 )
      Journal "Alebre_TG_Frame" 30
   elseif ( GetJournalIndex "Alebre_TG_FrameDay" == 30 )
      Journal "Alebre_TG_FrameDay" 40
   endif
else
   Set "alebre_rinalz".arvenirinalz to 0
endif

end

Basically, there is space for some script efficiency improvement, but all in all the only real problem I can see is starting global scripts each frame (this will reset global scripts list each frame and cause problem especially with other mods)
Assuming implemented quests in PC scripts will be typically less complicated than this showcase, I think Alebre's scripting is ready for the task so I recommend you guys welcome him/her aboard

User avatar
Wollibeebee
P:C Reviewer
 
Posts: 1187
Joined: 18 Aug 2011, 23:10

Re: Alebre Showcase (Quests)

Postby Wollibeebee » 21 Oct 2013, 07:38

"welcome him/her aboard."

"welcome him/her aboard."

User avatar
SamirA
P:C Coordinator
 
Posts: 3284
Joined: 14 Dec 2010, 16:35
Location: Some interior in Tamriel

Re: Alebre Showcase (Quests)

Postby SamirA » 21 Oct 2013, 16:52

Weird, I posted in this thread the other day but the post is not here... Anyway I am going to promote Alebre with the backing of abot. If he says Alebre can script I certainly trust him.

Welcome to the team Alebre. Hopefully your department will get rolling soon as we finish up Stirk. I myself am going to start finishing off some of the last interior claims so that we can get the ball rolling toward that goal.
Project Coordinator

User avatar
TerrifyingDaedricFoe
Head of Characters
 
Posts: 611
Joined: 10 May 2011, 19:58
Location: England

Re: Alebre Showcase (Quests)

Postby TerrifyingDaedricFoe » 21 Oct 2013, 18:14

And now I feel guilty about not finishing my review earlier... :oops:

On the plus side, there wouldn't have been anything for you to do anyway because I'm nowhere near even half-finishing the NPCing of Stirk... :oops:
SamirA wrote:
Tarius wrote:This is entirely a matter of the Bethstapo that will burst in, yell STOP RIGHT THERE, CRIMINAL SCUM, and C&D us to death if we violate copyright.
Haha, bethstapo.

User avatar
SamirA
P:C Coordinator
 
Posts: 3284
Joined: 14 Dec 2010, 16:35
Location: Some interior in Tamriel

Re: Alebre Showcase (Quests)

Postby SamirA » 21 Oct 2013, 19:32

That is ok TDF, at least you have another person to converse with about such things in the short term. Hopefully I can get the ints rolling again soon and we will be able to implement some of the NPCs.
Project Coordinator

User avatar
Alebre
P:C Modder
 
Posts: 14
Joined: 14 May 2012, 08:17
Location: At home, in 1173

Re: Alebre Showcase (Quests)

Postby Alebre » 22 Oct 2013, 07:01

Awesome. Thanks everyone :D

I'm looking forward to helping out soon, though I've been quite busy as of late. As I said, I definitely prefer doing guild-related quests as oppose to misc quests, but I realise that limiting yourself isn't the best idea. Guild quests just seem to make more sense, are more directed and have better stories imho.

Anyway, thanks again and I'll see you sometime in the future!
"Je suis en vie ..."

Next

Return to Modder Showcase



Who is online

Users browsing this forum: No registered users and 2 guests

cron