// Author: // Crazyfefe // Jesusalva (fixes) 005-1,52,81,0 script Ayasha NPC_HUMAN_FEMALE_NOOB,{ function quest_findAllKids { setq CandorQuest_HAS, 1; speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Good luck!"); close; } .@has = getq(CandorQuest_HAS); if (.@has == 0) { speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Hello! Can you help me to find all kids?"); do { select l("Yes!"), menuaction(l("I can't, sorry.")); switch (@menu) { case 1: quest_findAllKids; break; } } while (@menu != 2); } else if (.@has == 1) { speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("You still haven't found all of them yet."); close; } else if (.@has == 2) { speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Thank you, here is your reward."); narrator("You receive 30 exp."); getexp 30, 0; setq CandorQuest_HAS, 3; close; } else { speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Thank you for your help."); close; } //closedialog; //goodbye; close; OnInit: .sex = G_FEMALE; .distance = 5; end; } function script CheckEnfant { @kids_count = 0; @count_tmp = 0; if (debug) npctalk3 l("Hello, I am K-@@, of the @@ order.", @kids, $@KidsBits[@kids]); if (STARTAREA & $@KidsBits[@kids]) goto L_Already; STARTAREA = STARTAREA | $@KidsBits[@kids]; goto L_Loop; L_KidsTally: if (debug) npctalk3 l("You found @@ out of @@ kids.", @kids_count, @count_tmp); if (@kids_count == 6) { message strcharinfo(0), "That must have been the last kid."; setq CandorQuest_HAS, 2; } speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Oh! You found me. Well played!"); narrator("You receive 5 exp."); getexp 5,0; close; return; L_Loop: while (@count_tmp < 6) { if (STARTAREA & $@KidsBits[@count_tmp]) @kids_count = (@kids_count + 1); @count_tmp = (@count_tmp + 1); } goto L_KidsTally; L_Already: mesn; mesq l("Thanks for playing with us! Can you find my friends?"); close; return; } 005-1,69,90,0 script Charda NPC_GUARD1,{ @kids = 0; if (getq(CandorQuest_HAS) == 1) { CheckEnfant(); } else { mes l("The kid is not paying attention to you."); close; } end; OnInit: // This works at same var from KidsBits. We start counting from 10, then. setarray $@KidsBits, (1 << 10), (1 << 11), (1 << 12), (1 << 13), (1 << 14), (1 << 15); .sex = G_OTHER; .distance = 1; end; } 005-1,23,84,0 script Faris NPC_GUARD1,{ @kids = 1; if (getq(CandorQuest_HAS) == 1) { CheckEnfant(); } else { mes l("The kid is not paying attention to you."); close; } end; OnInit: .sex = G_MALE; .distance = 1; end; } 005-1,84,21,0 script Ghada NPC_HUMAN_M_ARTIS,{ @kids = 2; if (getq(CandorQuest_HAS) == 1) { CheckEnfant(); } else { mes l("The kid is not paying attention to you."); close; } end; OnInit: .sex = G_MALE; .distance = 1; end; } 005-1,38,58,0 script Latif NPC_HUMAN_M_ARTIS,{ @kids = 3; if (getq(CandorQuest_HAS) == 1) { CheckEnfant(); } else { mes l("The kid is not paying attention to you."); close; } end; OnInit: .sex = G_MALE; .distance = 1; end; } 005-1,18,43,0 script Rasin NPC_HUMAN_M_ARTIS,{ @kids = 4; if (getq(CandorQuest_HAS) == 1) { CheckEnfant(); } else { mes l("The kid is not paying attention to you."); close; } end; OnInit: .sex = G_MALE; .distance = 1; end; } 005-1,38,65,0 script Djinx NPC_GUARD1,{ @kids = 5; if (getq(CandorQuest_HAS) == 1) { CheckEnfant(); } else { mes l("The kid is not paying attention to you."); close; } end; OnInit: .sex = G_MALE; .distance = 1; end; } 005-1,53,81,0 script AyashaDebug NPC_MONA,{ showavatar NPC_MONA; // this is handled by avatars.xml mesn; mesq l("Reset?"); next; menu l("Yes."), L_Reset, l("Test"), L_Charda, l("No."), L_Close; L_Reset: setq CandorQuest_HAS, 0; STARTAREA = STARTAREA &~ (1 << 10); STARTAREA = STARTAREA &~ (1 << 11); STARTAREA = STARTAREA &~ (1 << 12); STARTAREA = STARTAREA &~ (1 << 13); STARTAREA = STARTAREA &~ (1 << 14); STARTAREA = STARTAREA &~ (1 << 15); mes l("Reset!"); goto L_Close; L_Charda: STARTAREA = STARTAREA &~ (1 << 10); mes l("Charda clean!"); goto L_Close; L_Close: //showavatar; // Use this to hide the showavatar close; // Use @shownpc to enable AyashaDebug OnInit: if (!debug) disablenpc .name$; end; }