Jump to content
  • 0

set variables for quest NPC don't trigger, keeps repeating the first dialogue despite setting variable


Kidlatsv

Question


  • Group:  Members
  • Topic Count:  8
  • Topics Per Day:  0.00
  • Content Count:  26
  • Reputation:   0
  • Joined:  09/19/17
  • Last Seen:  

Here I am again, in desperate need of help.

I've been reading the documentation but can't make the set variables to fire/load in order, i've been trying to make re-editing this and trying all sorts of combinations for around 5 hours now with no end in sight.

The quest is supposed to start by talking to the NPC inside the academy or the NPC right outside the gate.

Upon talking to that NPC inside, it asks you to deliver iron to this guy within prontera, but the other NPC right outside the gate also wants it.

If you choose to give the iron to that repairman it was supposed to make the npc right outside the academy gate mad at you, removing that branch of the quest from being completed.

On the other hand, if you choose to give the iron to the NPC just outside the gate then the NPC inside the academy would become angry with you, blocking you from that branch of the quest.

---------------------

After that both branches would proceed to two more errands each . In the end rewarding you with the angel school cap or devil school cap, depending on which branch you chose on that initial errand.

---------------------

the problem is the set variables fire when talking to the NPC initially, so you deliver the iron, but when you come back to it, the NPC loops back to the first line and gives you iron again.

--------------------

When I run rAthena it doesn't display any errors.

 

schoolquest1.txt

schoolquest2.txt

schoolquest3.txt

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  625
  • Reputation:   188
  • Joined:  11/19/11
  • Last Seen:  

What I noticed so far:

schoolquest1.txt - Line 157 > 191

    } else if (ACQuest2Taken == 1) {


        mes "[^00c000Ulys^000000]";
        mes "Now, let's proceed with your initiation into the club.";
            next;
        mes "["+strcharinfo(0)+"]";
        mes "Huh? I thought I was qualified already.";
            next;
        mes "[^00c000Ulys^000000]";
        mes "You didn't think that you'd be accepted as a member just by one deed, right?";
            next;
        mes "[^00c000Ulys^000000]";
        mes "You'll have to do a more good deeds before we can accept you into the club.";
            next;
        mes "["+strcharinfo(0)+"]";
        mes "Okay then, what do I need to do next?";
            next;
        mes "[^00c000Ulys^000000]";
        mes "Okay, I received a request from a student of the academy, asking for assistance.";
            next;
        mes "[^00c000Ulys^000000]";
        mes "I'd like you to seek this student out and lend any assistance you can give.";
            next;
                menu "Where can I find this student?",-,"I have other things to do right now.",nogo;
                    mes "[^00c000Ulys^000000]";
                    mes "The messenger said that the student was in the south-western area of the field outside of Izlude.";
                        next;
                    mes "[^00c000Ulys^000000]";
                    mes "Go forth and do another good deed for your fellow student.";
                        next;
                    mes "[^51ba31Ulys^000000]";
                    mes "I'll be waiting for your return.";
                        set ACQuest2Start, 0;
                        set ACQuest2Taken, 1;
                        close;
    } else if (ACquest2Taken == 1) {

Here you check twice for the ACQuest2Taken = = 1, but you put ACQuest2Start to 0 instead of 1 and ACQuest2Taken to 1 instead of 0(?)

Also I would recommend to using so many variables for one Quest, you can set an variable to more than 1 and 0.
What I mean is, you can do something like that:

if(ACQuest1 == 1) { // Quest accepted


    < Code >
    set ACQuest1,2; // Quest nearly done
} else if(ACQuest1 == 2) {
    < Code >
    set ACQuest1,3; // Quest completed
    < Reward Code >
    < Info for next Quest >
} else if(ACQuest1 == 3 && ACQuest2 == 0) {
    < Quest Accepted >
    set ACQuest2,1;
} // etc.
close;

Also you need to put so many close; in each if(), it's enough if you put close after the last "}",  but I saw that you have "end;" there so thats pretty enough since "end;" ends your script completely.

Note: Didn't check every script yet, busy with my own projects haha....

Regards,

Chris

Edited by llchrisll
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  8
  • Topics Per Day:  0.00
  • Content Count:  26
  • Reputation:   0
  • Joined:  09/19/17
  • Last Seen:  

I've already resolved the issue, I misunderstood how variables worked when it comes to running quest. Thanks for the input.

P.S.

How do I delete a topic?

Link to comment
Share on other sites

  • 0

  • Group:  Developer
  • Topic Count:  50
  • Topics Per Day:  0.02
  • Content Count:  763
  • Reputation:   227
  • Joined:  02/11/17
  • Last Seen:  

58 minutes ago, Kidlatsv said:

I've already resolved the issue, I misunderstood how variables worked when it comes to running quest. Thanks for the input.

P.S.

How do I delete a topic?

it would be good to post here how you resolved it so other having the same issue maybe cam learn from it atleast :))

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  8
  • Topics Per Day:  0.00
  • Content Count:  26
  • Reputation:   0
  • Joined:  09/19/17
  • Last Seen:  

3 hours ago, crazyarashi said:

it would be good to post here how you resolved it so other having the same issue maybe cam learn from it atleast :))

Okay, so, I was using multiple variables which was absolutely wrong because every time I was setting it as an "if" variable I would have to keep track of every single variable I set beforehand, so I just used one variable and increased/decreased its value depending on the progress of the entire quest,

to be more precise, here is the fully working version of the "errand":

Spoiler

//===== rAthena Script ======================================= 
//= Izlude Academy School Quest
//===== By: ================================================== 
//= KidlatSV
//===== Current Version: ===================================== 
//= 1
//===== Compatible With: ===================================== 
//= rAthena Project
//===== Description: ========================================= 
//= Engage in a series of errands/quests which may land you an
//    Angel School Cap or Devil School Cap.
//= Your final reward will be dependent on who you chose to
//    assist first, effectively locking out the other outcome.
//= You can then talk to either NPC and have their respective 
//    cap be converted to their Evoked version, with a 10%
//    chance of success.
//= If the conversion fails, you can re-acquire another normal
//    version for 500,000z.
//= I Edited the values of the 17256 and 17257 to give the non-
//  evoked versions of Angel/Devil School Cap.
//============================================================
//                       Academy Student
//============================================================
iz_ac01,104,46,6    script    Academy Student#1    620,{
if (schoolquest == 0) {
    mes "[^00c000Student is talking to herself^000000]";
    mes "Ugh, I need to get these materials to the Repairman, but I have so many other errands to run...";
        next;
            emotion e_wah;
        next;
    mes "[^00c000Student continues her monologue^000000]";
    mes "At this rate, I won't be able to finish all my tasks...";
        next;
            emotion e_swt2;
        next;
    mes "[^00c000Student continues her monologue^000000]";
    mes "Why did I agree to do all these errands in the first place?";
        next;
            emotion e_ag;
        next;
    mes "[^00c000Student continues her monologue^000000]";
    mes "I should really learn how say 'no' sometimes!";
        next;
            menu "Talk to the student.",-,"Leave him alone.",nogo;
                mes "["+strcharinfo(0)+"]";
                mes "Uhm, excuse me... is something bothering you?";
                    next;
                        emotion e_omg;
                    next;
                mes "[^00c000Student^000000]";
                mes "OH MY! You startled me.";
                    next;
                mes "["+strcharinfo(0)+"]";
                mes "Pardon me, I didn't mean to scare you.";
                    next;
                mes "[^00c000Student^000000]";
                mes "It's quite alright...";
                    next;
                        emotion e_hmm;
                    next;
                mes "[^00c000Student^000000]";
                mes "I don't recognize you, are you new here?";
                    next;
                mes "["+strcharinfo(0)+"]";
                mes "Yes I am, my name is "+strcharinfo(0)+", and you are?";
                    next;
                mes "[^00c000Student^000000]";
                mes "My name is Ulys, nice to meet you!";
                    next;
                mes "[^00c000Ulys^000000]";
                mes "Is there something you needed from me?";
                    next;
                mes "["+strcharinfo(0)+"]";
                mes "Well, I don't really need anything, however, I heard you talking to yourself...";
                    next;
                mes "[^00c000Ulys^000000]";
                mes "Oh, you heard that, huh? I'm terribly sorry.";
                    next;
                mes "[^00c000Ulys^000000]";
                mes "Don't worry about it.";
                    next;
                mes "[^00c000Ulys^000000]";
                mes "It's my problem to deal with.";
                    next;
                        menu "But I want to help",-,"Suit yourself.",nogo;
                            mes "[^00c000Ulys^000000]";
                            mes "Oh, that's nice of you...";
                                next;
                            mes "[^00c000Ulys^000000]";
                            mes "I'm embarassed to ask, but could you help me on one of my errands?";
                                next;
                                    menu "Sure, I don't mind.",-,"I can't, I'm late enough as it is.",nogo;
                                        mes "[^00c000Ulys^000000]";
                                        mes "You see, the mill beside the academy has been breaking down constantly of late...";
                                            next;
                                        mes "[^00c000Ulys^000000]";
                                        mes "I agreed to deliver these iron slabs needed to repair the mill, but I have a slew of other errands to attend to.";
                                            next;
                                        mes "[^00c000Ulys^000000]";
                                        mes "Now I'm in quite a pickle because I can't possibly do all these errands on time.";
                                            next;
                                        mes "[^00c000Ulys^000000]";
                                        mes "All I need you to do is deliver these iron slabs to the Repairman outside the mill which is to the northwest of Izlude.";
                                            next;
                                                menu "I can do that, no problem!",-,"Sorry, I'm too busy right now.",nogo;
                                                    mes "[^00c000Ulys^000000]";
                                                    mes "Yes! Here are the iron slabs, please deliver them to the Repairman.";
                                                        getitem 998,10;
                                                        dispbottom "You received 10 Iron from Ulys.";
                                                        next;
                                                    mes "[^00c000Ulys^000000]";
                                                    mes "By the way, those are the last of the supplies, don't lose them!";
                                                        next;
                                                    mes "["+strcharinfo(0)+"]";
                                                    mes "I'll deliver them right away.";
                                                        next;
                                                    mes "[^00c000Ulys^000000]";
                                                    mes "Thank you for your assistance.";
                                                        set schoolquest,10;
                                                        next;
                                                        emotion e_thx;
                                                        close;
} else if (schoolquest == 10 && countitem(998) >= 10) {
    mes "[^00c000Ulys^000000]";
    mes "Please, give those iron slabs to the Repairman, he urgently needs them to repair the mill.";
        close;
} else if (schoolquest == 1 && countitem(998) < 10) {
    mes "[^00c000Ulys^000000]";
    mes "Did you lose those slabs?";
        next;
    mes "[^00c000Ulys^000000]";
    mes "I sincerely hope you didn't lose them, those were the last of our supplies";
        close;
} else if (schoolquest == 11) {
    mes "["+strcharinfo(0)+"]";
    mes "I have delivered the iron as requested.";
        next;
    mes "[^00c000Ulys^000000]";
    mes "I know, the Repairman has already sent word of the prompt delivery you made.";
        next;
    mes "[^00c000Ulys^000000]";
    mes "I don't think you know this, but I am the head of the Devout Club in this academy.";
        next;
    mes "["+strcharinfo(0)+"]";
    mes "Oh, really?";
        next;
    mes "[^00c000Ulys^000000]";
    mes "Yes, and we're always on the lookout for good-mannered, helpful students like yourself.";
        next;
    mes "[^00c000Ulys^000000]";
    mes "I'd like to recruit you, what do you say?";
        next;
            menu "I'd love to join!",-,"Not interested.",nogo;
                next;
            mes "[^00c000Ulys^000000]";
            mes "Good! Your enthusiasm is such an inspiration.";
                next;
            mes "[^00c000Ulys^000000]";
            mes "... I cannot accept you outright into the club though, you'll have to undertake a couple more tasks to prove that you are worthy of membership.";
                next;
            mes "["+strcharinfo(0)+"]";
            mes "Okay, give me my next task then.";
                next;
            mes "[^00c000Ulys^000000]";
            mes "Your dedication is admirable...";
                next;
            mes "[^00c000Ulys^000000]";
            mes "... oh, where are my manners!";
                next;
            mes "[^00c000Ulys^000000]";
            mes "I almost forgot to give you a reward for your assistance in the mill's repair.";
                next;
            mes "[^00c000Ulys^000000]";
            mes "Here, take these, you've earned them.";
                getitem 501,100;
                getitem 601,50;
                getitem 602,5;
                set schoolquest,12;
                next;
            mes "[^00c000Ulys^000000]";
            mes "Speak with me again to get your next task.";
                close;
} else if (schoolquest == 11) {
    mes "[^00c000Ulys^000000]";
    mes "Hello again! Do you wish to undertake your next task?";
        next;
    mes "["+strcharinfo(0)+"]";
        menu "Sure!",-,"Maybe later.",nogo;
            mes "[^00c000Ulys^000000]";
            mes "Okay, I received a request from a student of the academy, asking for assistance.";
                next;
            mes "[^00c000Ulys^000000]";
            mes "I'd like you to seek this student out and lend any assistance you can give.";
                next;
                    menu "Where can I find this student?",-,"I have other things to do right now.",nogo;
                        mes "[^00c000Ulys^000000]";
                        mes "The messenger said that the student was in the south-western area of the field outside of Izlude.";
                            next;
                        mes "[^00c000Ulys^000000]";
                        mes "Go forth and do another good deed for your fellow student.";
                            next;
                        mes "[^00c000Ulys^000000]";
                        mes "I'll be awaiting your return.";
                            set schoolquest,12;
                            close;
} else if (schoolquest == 12) {
    mes "[^00c000Ulys^000000]";
    mes "Please, help that student in need.";
        close;
} else if (schoolquest == 14) {
    mes "[^00c000Ulys^000000]";
    mes "I have received word of the assistance you gave to that student, excellent work!.";
        next;
    mes "[^00c000Ulys^000000]";
    mes "Please, accept these as your reward.";
        getitem 7059,5;
        getitem 7060,5;
        getitem 12211,5;
        next;
    mes "["+strcharinfo(0)+"]";
    mes "No problem, am I now a full fledged member of the Angel Club?";
        next;
    mes "[^00c000Ulys^000000]";
    mes "Not just yet, I have one last task for you before I can accept you into our club.";
        next;
            menu "Okay, what is it?",-,"Maybe later.",nogo;
                mes "["+strcharinfo(0)+"]";
                mes "...Okay, what do you need me to do?";
                    next;
                mes "[^00c000Ulys^000000]";
                mes "I have received some sad news, apparently, a fellow newbie adventurer has perished in Byalan Island.";
                    next;
                mes "[^00c000Ulys^000000]";
                mes "I'd like you to find his body and retrieve his tag so we can give it to his family.";
                    next;
                mes "["+strcharinfo(0)+"]";
                mes "Okay, I'll retrieve his tag.";
                    set schoolquest,15;
                    close;
} else if (schoolquest == 15 && countitem(7309) < 1) {
    mes "[^00c000Ulys^000000]";
    mes "Please, find that adventurer's body.";
        close;
} else if (schoolquest == 16 && countitem(7039) < 1) {
    mes "[^00c000Ulys^000000]";
    mes "Where's the tag? Please, don't tell me you lost it.";
        close;
} else if (schoolquest == 16 && countitem(7039) >=1) {
    mes "[^00c000Ulys^000000]";
    mes "I have retrieved the adventurer's tag and given him his final rights.";
        next;
    mes "[^00c000Ulys^000000]";
    mes "You have done a great service for the fallen adventurer by retrieving this for his family.";
        next;
    mes "[^00c000Ulys^000000]";
    mes "May this tag bring his family even a small measure of peace.";
        emotion e_sob;
        delitem 7039,1;
        set schoolquest,17;
        next;
    mes "[^00c000Ulys^000000]";
    mes "You have demonstrated yourself to be a truly benevolent and selfless individual.";
        next;
    mes "[^00c000Ulys^000000]";
    mes "You are hereby inducted into the ranks of the Angel's Club.";
        emotion e_grat;
        next;
    mes "[^00c000Ulys^000000]";
    mes "Accept this as your reward, you earned it.";
        getitem 17256,1;
        next;
    mes "[^00c000Ulys^000000]";
    mes "Wear Club's Cap with your head held high in pride!";
        next;
    mes "[^00c000Ulys^000000]";
    mes "By the way, in the unlikely event you lose your club cap, we can make another one for you, provided you pay 500,000z for the tailoring";
        next;
    mes "[^00c000Ulys^000000]";
    mes "Also, I can make that club cap into a costume, you'll have to pay 100,000 as fees, furhtermore, there's a possibility that the cap might break.";
        close;
} else if (schoolquest == 17) {
    mes "[^00c000Ulys^000000]";
    mes "Hello there "+strcharinfo(0)+", did you need something?";
        next;
            switch(select(" I've lost my cap. : Make my cap into a costume please. ")) {
                case 1:
                    mes "[^00c000Ulys^000000]";
                    mes "Okay, you'll need to pay the tailoring fee.";
                        next;
                    if (Zeny >= 500000) {
                    mes "[^00c000Ulys^000000]";
                    mes "Here you are.";
                    set Zeny, Zeny-500000;
                    getitem 18814,1;
                    close;
                } else {
                    mes "[^00c000Ulys^000000]";
                    mes "You have insufficient zeny to have a new cap made.";
                    close;
                    }
                case 2:
                    mes "[^00c000Ulys^000000]";
                    mes "Okay, but I need to remind you again that the process might result in the cap's destruction.";
                        next;
                    mes "[^00c000Ulys^000000]";
                    mes "Are you sure?";
                        next;
                            menu "Yes!",-,"I changed my mind!",nogo;
                        next;
                    mes "[^00c000Ulys^000000]";
                    mes "Okay, give me a moment.";
                        next;
                    if ((countitem(18814) >= 1) && (Zeny >= 100000)) {
                        delitem 18814,1;
                        set Zeny, Zeny-100000;
                        if(rand(100) < 10)
                            next;
                                specialeffect 154;
                            next;
                        getitem 18816,1;
                    mes "[^00c000Ulys^000000]";
                    mes "Success!";
                } else {
                    specialeffect 155;
                    mes "[^00c000Ulys^000000]";
                    mes "The cap broke!";
                    emotion e_sry;
                    close;
                }
            }
} else if (schoolquest > 0 && schoolquest < 10) {
    mes "[^00c000Ulys^000000]";
    mes "Never talk to me again, thief!";
        next;
        emotion e_ag;
        close;
    }
    end;
nogo:
    close;
    }
//============================================================
//                      Repairman
//============================================================
izlude,79,256,2    script    Academy Repairman#1    63,{
if (schoolquest == 0) {
    emotion e_32;
    mes "[^00c000Repairman^000000]";
    mes "I really need to repair this mill immediately...";
        close;
} else if (schoolquest == 10 && countitem(998) < 10) {
    mes "["+strcharinfo(0)+"]";
    mes "Hello sir, I was sent by Ulys.";
        next;
    mes "[^00c000Repairman^000000]";
    mes "Great! They finally decided to send me those Iron slabs I requisitioned, huh?";
        next;
    mes "[^00c000Repairman^000000]";
    mes "......................";
        next;
            emotion e_an;
        next;
    mes "[^00c000Repairman^000000]";
    mes "Are you kidding me right now?";
        next;
    mes "[^00c000Repairman^000000]";
    mes "You don't have the iron slabs on you!";
        next;
    mes "[^00c000Repairman^000000]";
    mes "Go get 'em, I needed those materials an hour ago!";
        next;
            emotion e_ag;
        close;
} else if (schoolquest == 10 && countitem(998) >= 10) {
    mes "["+strcharinfo(0)+"]";
    mes "Excuse me sir..";
        next;
    mes "[^00c000Repairman^000000]";
    mes "What is it? Can't you see I'm busy!";
        next;
    menu "Yes, but I was asked to deliver these to you.",-,"Leave.",nogo;
        next;
    mes "[^00c000Repairman^000000]";
    mes "Oh, pardon me, it's just that I'm stressed with the repairs of this mill.";
        next;
            menu "It's alright.",-,"It's inexcusable!",nogo;
                mes "["+strcharinfo(0)+"]";
                mes "I was tasked to give you these iron slabs for the repairs.";
                    delitem 998,10;
                    dispbottom "Gave the 10 Irons to the Repairman.";
                    next;
                mes "[^00c000Repairman^000000]";
                mes "Thank you! Now I can get the repairs underway.";
                    next;
                        emotion e_thx;
                    next;
                mes "[^00c000Repairman^000000]";
                mes "I'll send word to Ulys that you delivered the iron slabs.";
                    next;
                mes "[^00c000Repairman^000000]";
                mes "Now, if you'll excuse me, I have to get this mill repaired.";
                    set schoolquest,11;
                    next;
                mes "["+strcharinfo(0)+"]";
                mes "Alright then, I'll let you get to it.";
                    close;
} else if (schoolquest > 10) {
    mes "[^00c000Repairman^000000]";
    mes "Thank you for the assistance kid, now get lost!";
        close;
        }
    end;
nogo:
    close;
}

//============================================================
//                      Distressed Student
//============================================================
prt_fild08,103,151,0    script    Distressed Student#1    634,{
if (schoolquest == 0) {
    mes "[^00c000Distressed Student^000000]";
    mes "Aw, gee, what am I supposed to do now?";
        close;
} else if (schoolquest == 12) {
    mes "[^00c000Distressed Student^000000]";
    mes "... I'm in bad shape.";
        next;
            menu "Are you the student that asked for help from the Academy?",-,"Leave him alone.",nogo;
                mes "[^00c000Distressed Student^000000]";
                mes "Yes, I was the one who asked for help, so you're here to help me?";
                    next;
                        menu "I'm here to help in any way I can.",-,"Maybe later.",nogo;
                            mes "["+strcharinfo(0)+"]";
                            mes "Tell me what you need?";
                                next;
                            mes "[^00c000Distressed Student^000000]";
                            mes "Okay, I need 50 Arrows, 30 Red Potions, 50 Fly Wings, and 3 Butterfly Wings.";
                                next;
                            mes "[^00c000Distressed Student^000000]";
                            mes "I can't proceed with my mission without these, so please, bring them to me.";
                                next;
                                    menu "I'll get them for you, wait here.",-,"Maybe later.",nogo;
                                        mes "[^00c000Distressed Student^000000]";
                                        mes "I'll wait for your return.";
                                            set schoolquest,13;
                                            close;
} else if (schoolquest == 13 && countitem(1750) < 50 && countitem(501) < 30 && countitem(601) < 50 && countitem(602) < 3) {
    mes "[^00c000Distressed Student^000000]";
    mes "It is imperative that I get the items I requested, in the amount I have specified. I need them to finish my mission.";
        next;
    mes "["+strcharinfo(0)+"]";
    mes "Hold on, I'll get them for you.";
        close;
} else if (schoolquest == 13 && countitem(1750) >= 50 && countitem(501) >= 30 && countitem(601) >= 50 && countitem(602) >= 3) {
    menu "Here the items you asked for.",-,"Leave him alone.",nogo;
        next;
            mes "[^00c000Distressed Student^000000]";
            mes "Thank you very much!";
                delitem 1750,50;
                delitem 501,30;
                delitem 601,50;
                delitem 602,3;
                set schoolquest,14;
                emotion e_thx;
                next;
            mes "[^00c000Distressed Student^000000]";
            mes "I can finally continue my mission.";
                next;
                mes "[^00c000Distressed Student^000000]";
                mes "I'll send word to Ulys of your kind assistance.";
                    close;
} else if (schoolquest > 13) {
    mes "[^00c000Distressed Student^000000]";
    mes "I owe you, friend!";
        close;
    }
end;
nogo:
    close;
    end;
}
//============================================================
//                      Fallen Club Member
//============================================================
iz_dun00,151,170,0    script    Dead Body#1    457,{
if (schoolquest == 0) {
    dispbottom "You see a dead body";
        end;
    } else if (schoolquest == 15) {
        mes "You see a dead body.";
            next;
        mes "What do I do?";
            next;
                menu "Search the body",-,"Leave it alone.",nogo;
                    mes "*you make a thorough search of the body*";
                        next;
                    mes "*you find a newbie tag in his left breast pocket*";
                        set schoolquest,16;
                        getitem 7039,1;
                        next;
                    mes "*you say the final rights for the dead adventurer*";
                        close;
    } else if (schoolquest > 15) {
        dispbottom "You pay your respects and leave the body be.";
        end;
    }
nogo:
    close;
}
//============================================================
//                      Mischievous Student
//============================================================
izlude,105,254,6    script    Mischievous Student#1    975,{
if (schoolquest == 0) {
    mes "[^00c000Dubious Looking Student^000000]";
    mes "Hey kid, you new here?";
        next;
    mes "["+strcharinfo(0)+"]";
    mes "I am, what's it to you?";
        next;
    mes "[^00c000Dubious Looking Student^000000]";
    mes "You don't look much, but, how's about you joining our Club?";
        menu "What Club?",-,"No!",nogo;
            next;
            mes "[^00c000Dubious Looking Student^000000]";
            mes "The Misfit's Club, where students dedicated to delinquency and mischief join!";
                next;
                    menu "Hell yeah!",-,"No way!",nogo;
                        mes "[^00c000Mischievous Student^000000]";
                        mes "You'll have to demonstrate how malevolent and deprived you are first.";
                            next;
                        mes "["+strcharinfo(0)+"]";
                        mes "What do I need to do, and, more importantly, what's in it for me?";
                            next;
                        mes "[^00c000Mischievous Student^000000]";
                        mes "Why you greedy son of a... Hmm, selfish desires, you are showing potential, worm!";
                            next;
                        mes "[^00c000Mischievous Student^000000]";
                        mes "I'm Nogud, I know who you are, so don't bother saying your name...";
                            next;
                        mes "[^00c000Nogud^000000]";
                        mes "As far as 'what's in it for me?' is concerned, you'll get the standard issue school equipment AND our a cap exclusive to our club - to flaunt one's membership!";
                            next;
                        mes "[^00c000Nogud^000000]";
                        mes "As for yor first evil deed, you need to talk to that mubling student inside the academy, return to me afterwards, then I'll tell you more.";
                            set schoolquest,1;
                            next;
                        mes "["+strcharinfo(0)+"]";
                        mes "Okay then, I'll see that student right away.";
                            close;
} else if (schoolquest == 1 && countitem(998) < 10) {
        mes "[^00c000Nogud^000000]";
        mes "I thought you were leaving? Go!";
            close;
} else if (schoolquest == 10 && countitem(998) < 10) {
        mes "[^00c000Nogud^000000]";
        mes "You talked to Ulys but you didn't get the goods?";
            next;
                emotion e_hmm;
            next;
        mes "[^00c000Nogud^000000]";
        mes "Talk to him again and get those items!";
            close;
} else if (schoolquest == 10 && countitem(998) >= 10) {
        mes "["+strcharinfo(0)+"]";
        mes "I've done as you asked. Now what?";
            next;
        mes "[^00c000Nogud^000000]";
        mes "Good. Let me tell you a little more about what's going on here and why I asked you to get those materials from Ulys.";
            next;
        mes "[^00c000Nogud^000000]";
        mes "It is actually the Misfit Club that is trashing the mill, it makes far too much noise.";
            next;
        mes "[^00c000Nogud^000000]";
        mes "If that Repairman gets his hands on those iron slabs then the mill will get fixed and resume making thumping noises, depriving us of sleep, YET AGAIN.";
            next;
                emotion e_pif;
            next;
        mes "[^00c000Nogud^000000]";
        mes "All you have to do to get one step closer into the club is to hand those iron slabs to me instead of delivering them to the Repairman, doing so will put that damned mill out-of-commission permanently.";
            next;
        mes "[^00c000Nogud^000000]";
        mes "So, what'll it be?";
            next;
                switch(select(" I want to join the Devil Club! : I can't do that ")) {
                    case 1:
                        mes "["+strcharinfo(0)+"]";
                        mes "Here are the slabs, take them.";
                            delitem 998,10;
                            dispbottom "You gave Nogud 10 Irons.";
                            emotion e_gg;
                            set schoolquest,2;
                            next;
                        mes "[^00c000Nogud^000000]";
                        mes "Good, now that Repairman won't be able to repair that stupid mill.";
                            next;
                        mes "[^00c000Nogud^000000]";
                        mes "Take this as a reward for your commitment to anarchy!";
                            emotion e_no1;
                            getitem 501,100;
                            getitem 601,50;
                            getitem 602,5;
                            next;
                        mes "["+strcharinfo(0)+"]";
                        mes "I've done as you asked, now grant me membership.";
                            next;
                        mes "[^00c000Nogud^000000]";
                        mes "Not so fast, worm!";
                            next;
                        mes "[^00c000Nogud^000000]";
                        mes "Did you really believe that one puny evil act entitles you to membership?";
                            next;
                        mes "[^00c000Nogud^000000]";
                        mes "You must be dreaming!";
                            next;
                                emotion e_heh;
                            next;
                        mes "[^00c000Nogud^000000]";
                        mes "Do a couple more evil deeds for us then MAYBE I'll let you become a member.";
                            next;
                        mes "[^00c000Nogud^000000]";
                        mes "Talk to me again for your next trial, now scram!";
                            close;
                    case 2:
                        mes "[^00c000Nogud^000000]";
                        mes "Your loss, dweeb!";
                            next;
                                emotion e_pif;
                            close;
                        }
} else if (schoolquest == 2) {
        mes "["+strcharinfo(0)+"]";
        mes "What do you want me to do next?";
            next;
        mes "[^00c000Nogud^000000]";
        mes "I want you to take this vial and pour it into the fountain.";
            next;
        mes "["+strcharinfo(0)+"]";
        mes "What the hell for...?";
            next;
        mes "[^00c000Nogud^000000]";
        mes "Don't ask questions, just do it!";
            next;
                emotion e_pif;
            next;
        mes "["+strcharinfo(0)+"]";
        mes "It sounds like a stupid request";
            next;
        mes "[^00c000Nogud^000000]";
        mes "Take this and go, NOW!";
            next;
            emotion e_an;
            getitem 7103,1;
            next;
        mes "["+strcharinfo(0)+"]";
        mes "Okay, okay, why do you have to be so nasty about it.";
            set schoolquest,3;
            close;
} else if (schoolquest == 3 && countitem(7103) >= 1) {
    mes "[^00c000Nogud^000000]";
    mes "What are you doing? I told you to get going! GO!";
        next;
            emotion e_pif;
        close;
} else if (schoolquest == 3 && countitem(7103) < 1) {
    mes "[^00c000Nogud^000000]";
    mes "What?";
        next;
            menu "I lost the vial",-,"Nothing",nogo;
                mes "[^00c000Nogud^000000]";
                mes "You idiot, don't lose it again!";
                getitem 7103,1;
                close;
} else if (schoolquest == 4) {
    mes "["+strcharinfo(0)+"]";
    mes "I poured the contents of that vial into the fountain.";
        next;
    mes "[^00c000Nogud^000000]";
    mes "Really? What happened after?";
        next;
    mes "["+strcharinfo(0)+"]";
    mes "The people around the fountain panicked in disgust over the smell.";
        next;
    mes "[^00c000Nogud^000000]";
    mes "Just as expected! HAHAHAHAHA!";
        next;
            emotion e_gg;
        next;
    mes "[^00c000Nogud^000000]";
    mes "You have done well! Take these for a job well done!";
        next;
            emotion e_no1;
        next;
        getitem 7059,5;
        getitem 7060,5;
        getitem 12211,5;
        next;
    mes "[^00c000Nogud^000000]";
    mes "Talk to me again for your last task, now leave!";
        set schoolquest,5;
        close;
} else if (schoolquest == 5) {
        mes "[^00c000Nogud^000000]";
        mes "Now for your last task.";
            next;
        mes "["+strcharinfo(0)+"]";
        mes "Yes? What is it? I'm getting a little tired of these shallow tasks.";
            next;
        mes "[^00c000Nogud^000000]";
        mes "Don't you dare sass me!";
            next;
                emotion e_an;
            next;
        mes "[^00c000Nogud^000000]";
        mes "...But, you've got guts dweeb, I'll give you that!";
            next;
        mes "[^00c000Nogud^000000]";
        mes "Well, enough tongue-wagging...";
            next;
        mes "[^00c000Nogud^000000]";
        mes "...I have the perfect task for you, since you seem really eager to do something really devious.";
            next;
        mes "["+strcharinfo(0)+"]";
        mes    "It had better not be another fetch errand!";
            next;
        mes "[^00c000Nogud^000000]";
        mes "You'll take what I give you, now listen!";
            next;
        mes "[^00c000Nogud^000000]";
        mes "A member of the Devout Club is asleep on the benches near the entrance of Izlude.";
            next;
        mes "["+strcharinfo(0)+"]";
        mes "...and?";
            next;
        mes "[^00c000Nogud^000000]";
        mes "I want you to steal his coin bag and give it to me.";
            next;
        mes "["+strcharinfo(0)+"]";
        mes "That's it? sheesh...";
            next;
        mes "[^00c000Nogud^000000]";
        mes "It's easy enough that even an idiot like you can do it. Now go!";
            set schoolquest,6;
            close;
} else if (schoolquest == 6 && countitem(670) < 1) {
    mes "What are you doing? STEAL THAT BAG OF COINS BEFORE HE WAKES UP!";
        next;
            emotion e_pif;
        close;
} else if (schoolquest == 7) {
        mes "[^00c000Nogud^000000]";
        mes "Well, do you have the coin bag?";
            menu "I have the coin bag.",-,"No.",nogo;
                if (countitem(670) >= 1) {
                mes "["+strcharinfo(0)+"]";
                mes "Yes, it was easy enough getting this.";
                    next;
                mes "[^00c000Nogud^000000]";
                mes "Excellent, now give it to me.";
                    next;
                    delitem 670,1;
                    emotion e_gg;
                    dispbottom "You gave Nogud the bag.";
                    next;
                mes "[^00c000Nogud^000000]";
                mes "You have done well, and have proven yourself worthy of membership into the Misfit Club.";
                    next;
                mes "[^00c000Nogud^000000]";
                mes "From this day onward, you are now a member of the most devious club in Rune-Midgar!";
                    next;
                mes "[^00c000Nogud^000000]";
                mes "Take these, you've earned them!";
                    next;
                    emotion e_gg;
                    set schoolquest,8;
                    getitem 17257,1;
                    next;
                mes "[^00c000Nogud^000000]";
                mes "Wear the club's cap with pride!";
                    next;
                mes "[^00c000Nogud^000000]";
                mes "By the way, should you lose your club cap, just talk to me and we can fashion another one for you.";
                    next;
                mes "[^00c000Nogud^000000]";
                mes "We will have to charge you 500,000 Zeny for it though.";
                    next;
                mes "[^00c000Nogud^000000]";
                mes "Also, I can convert the cap into a costume item, it would cost you 100,000 Zeny for it, and there's no guarantee that it will succeed.";
                    close;
            } else {
                mes "[^00c000Nogud^000000]";
                mes "GO GET IT!";
                    close;
                }
} else if (schoolquest == 8) {
    mes "[^00c000Nogud^000000]";
    mes "What is it??";
        next;
            switch(select(" I want another cap. : I want my cap converted. ")) {
                case 1:
                    mes "[^00c000Nogud^000000]";
                    mes "Okay, you'll need to pay the required fee.";
                        next;
                    if (Zeny >= 500000) {
                    mes "[^00c000Nogud^000000]";
                    mes "Here you are.";
                    set Zeny, Zeny-500000;
                    getitem 18815,1;
                    close;
                } else {
                    mes "[^00c000Nogud^000000]";
                    mes "You have insufficient funds to make a new cap.";
                    close;
                }
                case 2:
                    mes "[^00c000Nogud^000000]";
                    mes "Are you sure?";
                    next;
                        menu "Yes!",-,"I changed my mind!",nogo;
                            next;
                        mes "[^00c000Nogud^000000]";
                        mes "Okay, here we go.";
                            next;
                        if ((countitem(18815) >= 1) && (Zeny >= 100000)) {
                            delitem 18814,1;
                            set Zeny, Zeny-100000;
                            if(rand(100) < 10) {
                            getitem 18817,1;
                            specialeffect 154;
                        mes "[^00c000Nogud^000000]";
                        mes "Success!";
                    } else {
                            specialeffect 155;
                            mes .npc$;
                            mes "I'm Sorry";
                            emotion e_sry;
                            close;
                            }
                        }
                    }
} else if (schoolquest > 10) {
    mes "[^00c000Nogud^000000]";
    mes "Stay away from me if you don't want to get hurt, cretin!";
        close;
    end;
    }
nogo:
    close;
    }
//============================================================
//                     Fountain Desecration
//============================================================
izlude,102,130,0    script    Izlude Fountain#1    111,{
if (schoolquest == 0) {
    mes "You see a water cycling mechanism.";
        next;
    mes "How interesting...";
        next;
    mes "NOT!";
        next;
    mes "Don't you have more important things to do other than stare at a damn water cycling mechanism?";
        close;
} else if (schoolquest > 10) {
    mes "You see a water cycling mechanism.";
        next;
    mes "How interesting...";
        next;
    mes "NOT!";
        next;
    mes "Don't you have more important things to do other than stare at a damn water cycling mechanism?";
        close;
} else if (schoolquest == 3) {
    mes "You approach the fountain and see the water cycling mechanism.";
        next;
    mes "What do you want to do?";
        next;
            menu "Pour the contents of the vial in",-,"Don't do anything",nogo;
                if (countitem(7103) >= 1) {
                    delitem 7103,1;
                mes "*SNIFF*";
                    next;
                mes "*SNIFF*";
                    next;
                mes "Ew! What is that smell?";
                    next;
                mes "Yuck! It smells like a fresh batch of Edgga's crap!";
                    next;
                mes "HOW AWFUL! the smell is similar to Baphomet's butt-hair, ON FIRE!";
                    next;
                mes "OH MY GOD! THE SMELL IS INTENSIFYING! RUN!";
                    next;
                dispbottom "The people around the fountain are getting hysterical over the awful stench";
                    set schoolquest,4;
                    close;
                } else {
                dispbottom "You don't have the vial in your possession!";
                    close;
            }        
    end;
        }
nogo:
    close;
}
//============================================================
//                            Thieving
//============================================================
izlude,137,111,0    script    Angel Club Member#1    10117,{
if (schoolquest == 0) {
    npctalk "ZzzzZzzzzzzzzzz.....";
        end;
} else if (schoolquest == 6) {
        mes "You see a man soundly sleeping on the bench.";
            next;
        mes "What do you want to do?";
            next;
                menu "Pick his pocket",-,"Leave him alone",nogo;
                    mes "Your slip into his jacket pocket...";
                        next;
                        if(rand(100) < 30) {
                        getitem 670,1;
                        specialeffect 154;
                        mes "You have nabbed his coin bag!";
                        set schoolquest,7;
                    } else {
                        mes "Your pickpocketing attempt failed.";
                        close;
                    }
} else if (schoolquest = 7) {
        mes "You already stole this man's coin bag, his pockets are empty.";
                    close;
    } 
        end;
nogo:
    close;
}

 

Edited by Kidlatsv
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...