markwil Posted March 10, 2015 Posted March 10, 2015 (edited) Hello everyone,I saw that many are searching for a "instant" Class/Subclass/Noblesse npc. I would like to share my npc script.NPCDATA : npc_begin citizen 25540 [class_manager] level=70 acquire_exp_rate=0 acquire_sp=0 unsowing=1 clan={} ignore_clan_list={} clan_help_range=300 slot_chest=[] slot_rhand=[] slot_lhand=[] shield_defense_rate=0 shield_defense=0 skill_list={@s_npc_prop_race_humanoid;@s_full_magic_defence} npc_ai={[class_changers];{[fnHi]=[lin2world_manager001.htm]};{[MoveAroundSocial]=0};{[MoveAroundSocial1]=0};{[MoveAroundSocial2]=0}} category={} race=human sex=male undying=1 can_be_attacked=0 corpse_time=7 no_sleep_mode=0 agro_range=1000 ground_high={120;0;0} ground_low={80;0;0} exp=429634528 org_hp=2444.46819 org_hp_regen=7.5 org_mp=1345.8 org_mp_regen=2.7 collision_radius={5;5} collision_height={25;25} str=40 int=21 dex=30 wit=20 con=43 men=10 base_attack_type=sword base_attack_range=40 base_damage_range={0;0;80;120} base_rand_dam=30 base_physical_attack=100000 base_critical=4 physical_hit_modify=4.75 base_attack_speed=253 base_reuse_delay=0 base_magic_attack=470.40463 base_defend=295.91597 base_magic_defend=216.53847 physical_avoid_modify=0 soulshot_count=0 spiritshot_count=0 hit_time_factor=0.72 item_make_list={} corpse_make_list={} additional_make_list={} additional_make_multi_list={} hp_increase=0 mp_increase=0 safe_height=100 npc_end NPCPCH : [class_manager] = 1025540 AI ( decompiled ). You must compile the NASC and copy the ai in ai.obj.item_name must be edited by you, you can create a new item (example: donation_coin).Editing item_name,you should edit and the HTM : lin2world_manager001You'll can edit easily the adena amount. class 1 class_manager : citizen { parameter: string fnHi = "lin2world_manager001.htm"; string getoccupation = "lin2world_manager003.htm"; string class_error = "lin2world_manager004.htm"; string human_fighter = "lin2world_manager002a.htm"; string human_mage = "lin2world_manager002b.htm"; string elven_fighter = "lin2world_manager002c.htm"; string elven_mage = "lin2world_manager002d.htm"; string darkelf_fighter = "lin2world_manager002e.htm"; string darkelf_mage = "lin2world_manager002f.htm"; string orc_fighter = "lin2world_manager002g.htm"; string dwarf_fighter = "lin2world_manager002h.htm"; string human_fighter_02a = "lin2world_manager002aa.htm"; string human_fighter_02b = "lin2world_manager002ab.htm"; string human_fighter_02c = "lin2world_manager002ac.htm"; string human_mage_02a = "lin2world_manager002ba.htm"; string human_mage_02b = "lin2world_manager002bb.htm"; string elven_fighter_02a = "lin2world_manager002ca.htm"; string elven_fighter_02b = "lin2world_manager002cb.htm"; string elven_mage_02a = "lin2world_manager002da.htm"; string darkelf_fighter_02a = "lin2world_manager002ea.htm"; string darkelf_fighter_02b = "lin2world_manager002eb.htm"; string darkelf_mage_02a = "lin2world_manager002fa.htm"; string orc_mage = "lin2world_manager002ga.htm"; string ShopName = ""; string fnSell = "msell.htm"; string fnUnableItemSell = "muib.htm"; int ItemOccup = 57; int Amount = 10000000; property: BuySellList BuyList0 = {}; handler: EventHandler TALKED(talker) { myself::ShowPage(talker, fnHi); } EventHandler MENU_SELECTED(talker, ask, reply) { if ( ((ask == -900) && (reply == 1)) ) { if ( talker.level >= 20 && myself::OwnItemCount(talker, @adena ) >= 100000) { if ( talker.occupation == 0 ) { myself::DeleteItem1(talker, @adena, 100000); myself::ShowPage(talker, human_fighter); } if ( talker.occupation == 10 ) { myself::DeleteItem1(talker, @adena, 100000); myself::ShowPage(talker, human_mage); } if ( talker.occupation == 18 ) { myself::DeleteItem1(talker, @adena, 100000); myself::ShowPage(talker, elven_fighter); } if ( talker.occupation == 25 ) { myself::DeleteItem1(talker, @adena, 100000); myself::ShowPage(talker, elven_mage); } if ( talker.occupation == 31 ) { myself::DeleteItem1(talker, @adena, 100000); myself::ShowPage(talker, darkelf_fighter); } if ( talker.occupation == 38 ) { myself::DeleteItem1(talker, @adena, 100000); myself::ShowPage(talker, darkelf_mage); } if ( talker.occupation == 44 ) { myself::DeleteItem1(talker, @adena, 100000); myself::ShowPage(talker, orc_fighter); } if ( talker.occupation == 49 ) { myself::DeleteItem1(talker, @adena, 100000); myself::ClassChange(talker, 50); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 53 ) { myself::DeleteItem1(talker, @adena, 100000); myself::ShowPage(talker, dwarf_fighter); } } else { myself::ShowPage(talker, class_error); } } if ( ((ask == -900) && (reply == 2)) ) { if ( talker.level >= 40 && myself::OwnItemCount(talker, @adena ) >= 1000000) { if ( talker.occupation == 1 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, human_fighter_02a); } if ( talker.occupation == 4 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, human_fighter_02b); } if ( talker.occupation == 7 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, human_fighter_02c); } if ( talker.occupation == 11 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, human_mage_02a); } if ( talker.occupation == 15 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, human_mage_02b); } if ( talker.occupation == 19 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, elven_fighter_02a); } if ( talker.occupation == 22 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, elven_fighter_02b); } if ( talker.occupation == 26 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, elven_mage_02a); } if ( talker.occupation == 29 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ClassChange(talker, 30); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 32 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, darkelf_fighter_02a); } if ( talker.occupation == 35 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, darkelf_fighter_02b); } if ( talker.occupation == 39 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, darkelf_mage_02a); } if ( talker.occupation == 42 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ClassChange(talker, 43); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 45 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ClassChange(talker, 46); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 47 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ClassChange(talker, 48); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 50 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ShowPage(talker, orc_mage); } if ( talker.occupation == 54 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ClassChange(talker, 55); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 56 ) { myself::DeleteItem1(talker, @adena, 1000000); myself::ClassChange(talker, 57); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } else { myself::ShowPage(talker, class_error); } } if ( ((ask == -900) && (reply == 3)) ) { if ( ((myself::OwnItemCount(talker, ItemOccup) >= Amount) && (talker.level >= 76)) ) { if ( talker.occupation == 2 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 88); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 3 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 89); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 5 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 90); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 6 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 91); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 8 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 93); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 9 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 92); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 12 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 94); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 13 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 95); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 14 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 96); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 16 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 97); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 17 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 98); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 20 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 99); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 21 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 100); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 23 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 101); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 24 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 102); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 27 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 103); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 28 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 104); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 30 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 105); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 33 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 106); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 34 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 107); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 36 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 108); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 37 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 109); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 40 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 110); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 41 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 111); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 43 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 112); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 46 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 113); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 48 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 114); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 51 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 115); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 52 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 116); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 55 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 117); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( talker.occupation == 57 ) { myself::DeleteItem1(talker, ItemOccup, Amount); myself::ClassChange(talker, 118); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } else { myself::ShowPage(talker, class_error); } } if ( ask == -91 ) { if ( talker.level >= 20 ) { if ( talker.occupation == 0 ) { if ( reply == 1 ) { myself::ClassChange(talker, 1); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 2 ) { myself::ClassChange(talker, 4); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 3 ) { myself::ClassChange(talker, 7); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 10 ) { if ( reply == 4 ) { myself::ClassChange(talker, 11); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 5 ) { myself::ClassChange(talker, 15); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 18 ) { if ( reply == 6 ) { myself::ClassChange(talker, 19); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 7 ) { myself::ClassChange(talker, 22); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 25 ) { if ( reply == 8 ) { myself::ClassChange(talker, 26); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 9 ) { myself::ClassChange(talker, 29); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 31 ) { if ( reply == 10 ) { myself::ClassChange(talker, 32); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 11 ) { myself::ClassChange(talker, 35); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 38 ) { if ( reply == 12 ) { myself::ClassChange(talker, 39); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 13 ) { myself::ClassChange(talker, 42); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 44 ) { if ( reply == 14 ) { myself::ClassChange(talker, 45); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 15 ) { myself::ClassChange(talker, 47); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 53 ) { if ( reply == 16 ) { myself::ClassChange(talker, 54); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 17 ) { myself::ClassChange(talker, 56); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } } } if ( ask == -92 ) { if ( talker.level >= 40 ) { if ( talker.occupation == 1 ) { if ( reply == 1 ) { myself::ClassChange(talker, 2); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 2 ) { myself::ClassChange(talker, 3); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 4 ) { if ( reply == 3 ) { myself::ClassChange(talker, 5); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 4 ) { myself::ClassChange(talker, 6); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 7 ) { if ( reply == 5 ) { myself::ClassChange(talker, 8); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 6 ) { myself::ClassChange(talker, 9); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 11 ) { if ( reply == 7 ) { myself::ClassChange(talker, 12); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 8 ) { myself::ClassChange(talker, 13); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 9 ) { myself::ClassChange(talker, 14); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 15 ) { if ( reply == 10 ) { myself::ClassChange(talker, 16); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 11 ) { myself::ClassChange(talker, 17); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 19 ) { if ( reply == 12 ) { myself::ClassChange(talker, 20); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 13 ) { myself::ClassChange(talker, 21); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 22 ) { if ( reply == 14 ) { myself::ClassChange(talker, 23); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 15 ) { myself::ClassChange(talker, 24); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 26 ) { if ( reply == 16 ) { myself::ClassChange(talker, 27); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 17 ) { myself::ClassChange(talker, 28); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 32 ) { if ( reply == 18 ) { myself::ClassChange(talker, 33); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 19 ) { myself::ClassChange(talker, 34); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 35 ) { if ( reply == 20 ) { myself::ClassChange(talker, 36); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 21 ) { myself::ClassChange(talker, 37); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 39 ) { if ( reply == 22 ) { myself::ClassChange(talker, 40); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 23 ) { myself::ClassChange(talker, 41); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } if ( talker.occupation == 50 ) { if ( reply == 24 ) { myself::ClassChange(talker, 51); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } if ( reply == 25 ) { myself::ClassChange(talker, 52); myself::ShowSystemMessage(talker, 1308); myself::ShowPage(talker, getoccupation); } } } } if(ask == -900 && reply == 4 ) { if(talker.level >= 75 && talker.subjob_id != 0 && myself::OwnItemCount(talker, @item_name ) >= 100) { myself::DeleteItem1(talker, @item_name, 100); myself::GiveItem1(talker, @nobless_tiara ,1); myself::SetNobless(talker); myself::ShowPage(talker,"noble_success.htm"); myself::SoundEffect(talker,"ItemSound.quest_finish"); } else { myself::ShowPage(talker,"noble_cannot.htm"); } } if(ask == -900 && reply == 5) { if(talker.level >= 75 && talker.subjob_id != 0 && myself::OwnItemCount(talker, @adena ) >= 50000000) { myself::DeleteItem1(talker, @adena, 50000000); myself::GiveItem1(talker, @mimirs_elixir, 1); myself::GiveItem1( talker, @scrl_of_ench_wp_a, 1 ); myself::SetOneTimeQuestFlag( talker, 235, 1 ); myself::SoundEffect( talker, "ItemSound.quest_finish" ); myself::ShowPage(talker,"subclass_finish.htm"); } else { myself::ShowPage(talker,"subclass_no.htm"); } } } } Here are the HTMs : http://www.4shared.com/archive/51_MtMKtba/html.html?I'll try to bring more shares like this because I see that L2OFF section is death.Hope I was helpful, have fun playing with it. Edited March 10, 2015 by markwil 1
xeL Posted March 12, 2015 Posted March 12, 2015 Thank you guys, I'll come with more ! Good that some one thinks to keep l2off share section alive. :)
osito2dancer Posted March 19, 2015 Posted March 19, 2015 Nice share, if you could get some pointers on that code: 1) It doesnt take into account Kamael classes (123 - 136). Its not that hard to add them tho. 2) Do a check on Noblesse status on your "nobless" AI part, so users that are already noblesse dont "purchase" it again (and lose items on the process). 3) You can also check "onetimequest" flag on quests 235 (and 236 for kamaels), so users that already have subclass dont "purchase" it again (and lose items on the process). Well done :D. O2D
utko Posted April 26, 2016 Posted April 26, 2016 (edited) Have a error = This is correct = if(ask == -900 && reply == 5 ) { if(talker.level >= 75 && talker.subjob_id != 0 && myself::OwnItemCount(talker, @item_name ) >= 100) { myself::DeleteItem1(talker, @item_name, 100); myself::GiveItem1(talker, @nobless_tiara ,1); myself::SetNobless(talker); myself::ShowPage(talker,"noble_success.htm"); myself::SoundEffect(talker,"ItemSound.quest_finish"); } else { myself::ShowPage(talker,"noble_cannot.htm"); } } if(ask == -900 && reply == 4) { if(talker.level >= 75 && talker.subjob_id == 0 && myself::OwnItemCount(talker, @adena ) >= 50000000) { myself::DeleteItem1(talker, @adena, 50000000); myself::GiveItem1(talker, @mimirs_elixir, 1); myself::GiveItem1( talker, @scrl_of_ench_wp_a, 1 ); myself::SetOneTimeQuestFlag( talker, 235, 1 ); myself::SoundEffect( talker, "ItemSound.quest_finish" ); myself::ShowPage(talker,"subclass_finish.htm"); } else { myself::ShowPage(talker,"subclass_no.htm"); } Edited April 26, 2016 by utko
Recommended Posts