viewing paste Unknown #35683 | Athena

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258
prontera,150,151,4      script  Bard    1_M_BARD,{
        mes .npcname$;
        if ( BQComplete ) // If completed.
        {
        mes ("You completed the Bard Quest.");
        close();
        }
 
        if ( !BQuest1 || !BQuest2 || !BQuest3 || !BQuest4 )
        {       // Checks to see if you haven't completed all 4 quests yet.
        mes ("Please help me. Not really me, my friend. I know where you can find them. \r");
        mes ("Once you complete all 4 of their tasks, seek me again.");
        next;
        mes .npcname$;
        mes ("Locations:");
        .@size = 4;
        for ( .@i = 1; .@i <= .@size; .@i++ ) {
        mes (""+.@i+") "+$q_loc$[.@i]+"");
        }
        close();
        }
        mes ("Wow you seemed to have gathered all of the Music Scores!");
        next();
        if ( Weight >= MaxWeight/2 )
        {
                mes .npcname$;
                mes ("Uh oh, it seems like you have too much weight, please store some items to recieve my reward.");
                close();
        }
        mes .npcname$;
        mes ("I'll take those Music Scores off of ya!");
        mes ("Here's a little something for helping me out.");
        close2();
 
        .@size = getarraysize ( .SheetsID );
        for ( .@i = 1; .@i < .@size; .@i++ ) {
        delitem (.SheetsID[.@i], 1); // Deletes the 4 Music Scores.
}
        getitem (501, 1); // Gets reward.
        BQComplete++; // Completes the Quest.
        end();
       
        OnInit:
        .npcname$ = "[Bard]";
        setarray .SheetsID[1],6343,6340,6342,6341;
        end();
}
 
prontera,150,150,4      script  Quest1  1_M_BARD,{
       
        if ( BQuest1 ) // Checks to see if quest is finished or not.
        {
                mes .npcname$;
                mes ("You have already fulfilled my request! Thanks a ton.");
                close();
        }
       
        if ( !BQStart1 ) // Checks to see if you've never talked to the NPC before.
        {
                mes ("Hello "+strcharinfo(0)+".");
                mes ("I was wondering if you are willing to help me locate some items.");
                mes ("It's all for a greater purpose.");
                next();
                mes .npcname$;
                mes ("Here's what we need:");
                .@size = getarraysize( .ItemList ); // gets array size of the Item List.
                for ( .@i = 1; .@i <= .@size; .@i++ ) // loops
                {
                        mes (""+getitemname( .ItemList[.@i] )+" x "+.ItemAm[.@i]+".");
                }
                        next();
                        mes .npcname$;
                        mes ("Come talk to me again if you wish to see the list of items or if you have gathered them all.");
                        BQStart1++;
                        close();
        } else
       
        if ( BQStart1 ) // Checks to see if you've already talked to the NPC already.
                {
                .@size = getarraysize( .ItemList );
                for ( .@i = 1; .@i <= .@size; .@i++ )
                {
                        if( countitem( .ItemList[.@i] ) < .ItemAm[.@i] ) // Output what you need and what you have in your inventory.
                        {
                                mes .npcname$;
                                mes ("Sorry but you have "+getitemname(.ItemList[.@i])+" x "+countitem(.ItemList[.@i])+".");
                                mes ("You need "+getitemname(.ItemList[.@i])+" x "+.ItemAm[.@i]+".");
                                close();
                        }
                }
                mes .npcname$;
                mes ("You have all the items!");
                close2();
                BQuest1++;
                .@size = getarraysize( .ItemList );
                for ( .@i = 1; .@i <= .@size; .@i++ )
                {
                        delitem (.ItemList[.@i], .ItemAm[.@i]);
                }
                end();
                }
        end();
 
 
OnInit:
 
        .npcname$ = "[Quest1]";
        setarray .ItemList[1],501,502,503;
        setarray .ItemAm[1],1,2,3;
        getmapxy ( .@map$,.@x,.@y,1 );
        $q_loc$[1] = .@map$+"|"+.@x+"|"+.@y;
        end();
}
 
prontera,150,152,4      script  Quest2  1_M_BARD,{
if ( BQuest2 ) {
        mes .npcname$;
        mes ("You fulfilled my requests, thanks a ton "+strcharinfo(0)+"!");
        close();
}
if ( !BQStart2 ) {
        BQStart2++;
        mes .npcname$;
        mes ("Hey there "+strcharinfo(0)+".");
        mes ("There's something I gotta tell ya'.");
        next();
                mes .npcname$;
                mes ("I would like it if you could possibly kill 10 of any of the following monsters for me.");
                mes ("Come back if you ever want to see the list of monsters again!");
        next();
 
MobListing:
for ( .@i = 1; .@i <= getarraysize(.MobID); .@i++ )
{
        mes (""+strmobinfo(1,.MobID[.@i])+"");
        }
        close();
} else
 
        mes .npcname$;
        mes ("Here's the list of the mobs again.");
        callsub ("MobListing");
        end();
 
OnNPCKillEvent:
if ( BQuest2 ) { // Checks if the quest is finished.
        end();
}
       
if ( !BQStart2 ) { // Checks if you have talked to the NPC first to initiate the KillEvent.
        end();
}
        .@killedRID = killedrid;
                .@size = getarraysize( .MobID );
        for ( .@i = 1; .@i <= .@size; .@i++ ) {
        if ( .@killedRID == .MobID[.@i] ) {
                BQMobCount++;
                dispbottom ("[Bard Quest] Obtained ("+BQMobCount+")/("+.BQMaxMob+") Mob kills.");
       
        }
}
        if ( BQMobCount >= .BQMaxMob ) {
        sleep2 (1000);
        dispbottom ("[Bard Quest] Mob Kill Completed.");
        BQuest2++;
        end();
}
        end();
OnInit:
        .npcname$ = "[Bard Quest 2]";
        setarray .MobID[1],1002,1004,1005;
        .BQMaxMob = 10;
        getmapxy( .@map$,.@x,.@y,1 );
        $q_loc$[2] = .@map$+"|"+.@x+"|"+.@y;
        end();
}
prontera,150,153,4      script  Quest3  1_M_BARD,{
if ( BQuest3 ) {
        mes .npcname$;
        mes ("You've already fulfilled my request, thanks a ton "+strcharinfo(0)+"!");
        close();
}
 
if (!BQStart3 )
{
        mes .npcname$;
        mes ("Hello "+strcharinfo(0)+".");
        mes ("I'll help you get that Bard Hat if you can answer a couple questions!");
        next();
        mes .npcname$;
        .@QSize = getarraysize( .QList$ );
 
        for ( .@i = 1; .@i < .@QSize; .@i++ )
        {
        mes (""+.@i+") "+.QList$[.@i]);
}
        next();
        mes .npcname$;
        mes ("Come and talk to me again when you feel you're prepared to answer my riddles.");
        BQStart3++;
        close();
}
        mes .npcname$;
        mes ("So are you prepared to answer my riddles?");
        next();
                switch(select("Yes please.","No thanks."))
        {
                case 1:
                .@QSize = getarraysize( .QList$ );
                for ( .@i = 1; .@i < .@QSize; .@i++) {
                        mes .npcname$;
                        mes (""+.@i+") "+.QList$[.@i]);
                        input .@input$;
                if ( .@input$ != .AList$[.@i]) {
                        mes ("Seem's like you put in a wrong answer for that question.");
                        mes ("Better luck next time.");
                        close();
                }
        next();
}
                mes .npcname$;
                mes ("Wow you got all of them correct!");
                mes ("I guess I don't have the oldest tricks in the book!");
                emotion(e_sad);
                BQuest3++;
               
                close();
                case 2:
                close();
}
 
OnInit:
        .npcname$ = "[ Bard Quest 3 ]";
        setarray .QList$[1]
                ,"How much is 1+1"
                ,"How much is 2+2"
                ,"How many fingers am I holding up?"
                ,"What's my name?"
                ,"What is our maintown?";
 
        setarray .AList$[1]
                ,"2"
                ,"4"
                ,"5"
                ,""+strnpcinfo(1)+""
                ,"Prontera|prontera";
 
                getmapxy( .@map$,.@x,.@y,1 );
                $q_loc$[3] = .@map$+"|"+.@x+"|"+.@y;
        end();
}
prontera,150,154,4      script  Quest4  1_M_BARD,{
        end();
OnInit:
        getmapxy( .@map$,.@x,.@y,1 );
        $q_loc$[4] = .@map$+"|"+.@x+"|"+.@y;
        end();
}
Viewed 546 times, submitted by unknown.