viewing paste Unknown #35673 | 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
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 find the missing Music Scores. I know where you can find them.";
        mes "There's certain people who have them, I can't tell you EXACTLY where they're at, but...";
        next;
        mes .npcname$;
        mes "Locations:";
        .@size = 4;
        for ( .@i = 1; .@i <= .@size; .@i++ ) {
        mes ""+.@i+") "+$q_loc$[.@i]+"";
        }
        close;
        }
        mes .npcname$;
        mes "Wow you seemed to have gathered all of the Music Scores!";
        next;
        if ( Weight >= MaxWeight/50 )
        {
                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;
       
        delitem 505, 4; // Deletes the 4 Music Scores.
        getitem 509, 100; // Gets reward.
        BQComplete++; // Completes the Quest.
        end;
       
OnInit:
.npcname$ = "[Bard]";
}
 
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 ( !BQTalked ) // 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.";
                        BQTalked++;
                        close;
        } else
       
        if ( BQTalked ) // 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;
                }
 
 
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;
}
 
prontera,150,152,4      script  Quest2  1_M_BARD,{
if ( BQuest2 ) {
mes .npcname$;
mes "You fulfilled my requests, thanks a ton "+strcharinfo(0)+"!";
}
if ( !BQ2Start ) {
BQ2Start++;
mes .npcname$;
mes "Hey there "+strcharinfo(0)+".";
mes "There's something I gotta tell ya'.";
mes .npcname$;
mes "I would like it if you could possibly kill 10 of any of the following monsters for me.";
 
MobListing:
for ( .@i = 1; .@i <= getarraysize(.MobID); .@i++ )
{
        mes ""+strmobinfo(1,.MobID[.@i])+"";
}
} else
mes .npcname$;
mes "Here's the list of the mobs again.";
callsub MobListing;
 
OnNPCKillEvent:
if ( BQuest2 ) { // Checks if the quest is finished.
}
       
if ( !BQ2Start ) { // Checks if you have talked to the NPC first to initiate the KillEvent.
}
        .@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;
}
OnInit:
.npcname$ = "[Bard Quest 2]";
setarray .MobID[1],1002,1004,1005;
.BQMaxMob = 10;
getmapxy(.@map$,.@x,.@y,1);
$q_loc$[2] = .@map$+"|"+.@x+"|"+.@y;
 
}
prontera,150,153,4      script  Quest3  1_M_BARD,{
        end;
OnInit:
getmapxy(.@map$,.@x,.@y,1);
$q_loc$[3] = .@map$+"|"+.@x+"|"+.@y;
}
prontera,150,154,4      script  Quest4  1_M_BARD,{
        end;
OnInit:
getmapxy(.@map$,.@x,.@y,1);
$q_loc$[4] = .@map$+"|"+.@x+"|"+.@y;
}
Viewed 515 times, submitted by unknown.