markwil Posted March 10, 2015 Share 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 Link to comment Share on other sites More sharing options...
Cray-Z Posted March 11, 2015 Share Posted March 11, 2015 good share bro i like your npcs Link to comment Share on other sites More sharing options...
xeL Posted March 11, 2015 Share Posted March 11, 2015 Sweet :) Link to comment Share on other sites More sharing options...
markwil Posted March 11, 2015 Author Share Posted March 11, 2015 Thank you guys, I'll come with more ! Link to comment Share on other sites More sharing options...
LegacyOfAden Posted March 11, 2015 Share Posted March 11, 2015 Thank you for this share ;) Link to comment Share on other sites More sharing options...
xeL Posted March 12, 2015 Share Posted March 12, 2015 Thank you guys, I'll come with more ! Good that some one thinks to keep l2off share section alive. :) Link to comment Share on other sites More sharing options...
osito2dancer Posted March 19, 2015 Share 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 Link to comment Share on other sites More sharing options...
ericvini Posted March 19, 2015 Share Posted March 19, 2015 No kamael because it is for interlude. Link to comment Share on other sites More sharing options...
Outlaw™ Posted March 27, 2015 Share Posted March 27, 2015 Camels op Link to comment Share on other sites More sharing options...
utko Posted April 26, 2016 Share 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 Link to comment Share on other sites More sharing options...
Recommended Posts