I thought I'd repost ares stuff here since all old posts were in a the negative plane forum? Sticky this mod? Boolean Functions: anyone( pc.group_list(), "has_follower", 8000 ) anyone( pc.group_list(), "has_item", 5807 ) anyone( pc.group_list(), "item_find", 3602 ) find_container_near(npc,1205) != OBJ_HANDLE_NULL game.areas[2] == 0 game.global_flags[305] == 1 game.global_vars[27] == 1 game.party_npc_size() >= 2 game.party_pc_size() <= 1 game.quests[17].state <= qs_accepted game.quests[18].state == qs_botched game.quests[33].state != qs_completed game.quests[7].state <= qs_mentioned game.story_state == 0 is_daytime() npc.area == 3 npc.has_met(pc) npc.item_find(4401) != OBJ_HANDLE_NULL npc.leader_get() == OBJ_HANDLE_NULL npc.map > 5019 pc.d20_query(Q_IsFallenPaladin) == 1 pc.follower_atmax() pc.has_feat(feat_slippery_mind) pc.has_wielded(3005) pc.money_get() >= 10000 pc.skill_level_get(npc, skill_gather_information) >= 6 pc.stat_level_get( stat_deity ) == 16 pc.stat_level_get( stat_gender ) == gender_male pc.stat_level_get(stat_alignment) == LAWFUL_GOOD pc.stat_level_get(stat_level_paladin) == 0 pc.stat_level_get(stat_level_wizard) == 0 pc.stat_level_get(stat_race) == race_orc pc.stat_level_get(stat_strength) >= 18 Executive Functions: free_rep( npc, pc ) all_run_off(npc,pc) argue(npc,pc,40) banter(npc,pc,20) banter2(npc,pc,230) beggar_cavanaugh( npc, pc ) beggar_cavanaugh( npc, pc ) beggar_soon(npc, pc) brawl(npc,pc) buttin(npc,pc,290) change_to_demon(npc,pc,40) check_follower_thrommel_comments(npc,pc) complete_quest(npc,pc) contest_drink(npc,pc) contest_who(npc) create_item_in_inventory( 8004, pc ) crone_wait(npc,pc) cuthbert_raise_good(npc,pc) deliver_pc( npc, pc ) demo_end_game(npc,pc) destroy_orb( npc, pc ) disappear(npc,pc) discovered_and_leaves_field(npc,pc) distribute_magic_items(npc,pc) eat_in_three( npc, pc ) elmo_joins_first_time(npc,pc) end_game(pc,npc) escort_below(npc, pc) falrinth_escape(npc,pc) find_ostler(npc,pc) game.areas[3] = 1 game.fade_and_teleport( 14400, 0, 0, 5051, 389, 488 ); game.global_flags[90] = 1 game.global_vars[7] = game.random_range( 1, 100 ) game.map_flags( 5078, 0, 1 ) game.picker( npc, spell_raise_dead, should_resurrect_on, [ 585, 500, 840 ] ) game.quests[60].state = qs_botched game.quests[60].unbotch() game.quests[8].state = qs_mentioned game.quests[9].state = qs_accepted game.quests[9].state = qs_completed game.story_state = 5 game.worldmap_travel_by_dialog(5) get_rep( npc, pc ) give_robes( npc, pc ) go_hideout(npc,pc) iuz_animate_troops(npc,pc) iuz_pc_charm(npc,pc) iuz_pc_persuade(npc,pc,50,60) jufferhelp(npc,pc,160) jufferlaugh(npc,pc,150) kill_alrrem(npc) kill_antonio(npc) kill_lodriss(npc) kill_skole(npc) kill_tubal(npc) knight_party(npc,pc) leave_for_city(npc,pc) LookHedrack(npc,pc,300) make_dick_talk(npc,pc,1) make_elmo_talk(npc,pc,350) make_hate( npc, pc ) make_like( npc, pc ) make_otis_talk(npc,pc,430) make_worry( npc, pc ) money_handout(npc,pc) move_pc( npc, pc ) move_wicked( npc, pc ) npc.attack(pc) npc.attacks(pc) npc.cast_spell( spell_cure_serious_wounds, picker_obj ) npc.destroy() npc.item_transfer_to(pc,4001) npc.item_transfer_to_by_proto(pc,4107) npc.object_flag_set(OF_OFF) npc.reaction_adj( pc,-5) npc.spells_pending_to_memorized() party_transfer_to( npc, 5815 ) pc.barter(npc) pc.condition_add_with_args("Fallen_Paladin",0,0) pc.follower_add(npc) pc.follower_remove(npc) pc.has_atoned() pc.item_transfer_to(npc,2203) pc.money_adj(-900000) pc.prestige_class_add[3] pc.reputation_add( 20 ) play_effect( npc, pc ) prepare_goons( npc ) run_off(npc,pc) schedule_reward(npc,pc) senshock_kills_hedrack(npc,pc) set_hostel_flag(npc,pc) set_reward( npc, pc ) set_room_flag(npc,pc) shapechange(npc,pc,1) smigmal_escape(npc,pc) start_game_with_quest(28) summon_Iuz( npc, pc ) switch_dialog(npc,pc,90) switch_to_ashrem(npc,pc,1,10) switch_to_cuthbert(npc,pc,20) switch_to_iuz(npc,pc,210) switch_to_thrommel(npc,pc) talk_Alrrem(npc,pc,230,100) talk_Hedrack(npc,pc, 90) talk_Iuz(npc,pc,110) talk_lareth(npc,pc,310) talk_Romag(npc,pc,570) talk_Taki(npc,pc,180,20) talk_to_screng(npc,pc,270) TalkAern(npc,pc,200) TalkOohlgrist(npc,pc,470) transfer_fire_balls(npc,pc) transfer_scrolls(npc,pc) transform_into_demon_form(npc,pc,260) tuelk_talk(npc,pc,90) turn_off_gods(npc,pc) zaxis_runs_off(npc,pc) zuggtmoy_banish(npc,pc) zuggtmoy_end_game(npc,pc) zuggtmoy_pc_charm(npc,pc) zuggtmoy_pc_persuade(npc,pc,270,390) zuggtmoy_pillar_gone(npc,pc) zuggtmoy_regenerate_and_attack(npc,pc) I know they look a bit messy at the moment, but I'll bring them in a more API like form soon .
I'm not sure if I should reply to this thread ... but anyway, I've been playing around with some dialogue and I had a few ideas that I wanted to use, but wasn't able to implement. There are two files, as I understand it, that you potentially need to modify, those are the dialogue files and the python files that tell the game where to start dialogue in certain situations. The dialogue file seems to have a function "G:", which is some sort of greeting, and I think there may be general greetings and specific ones for the more important NPC's. Does anyone know where this text is contained? I've searched the .dat files and can't find it. The way it stands now, whenever dialogue is started with any NPC, they always speak first. I was trying to change it so when initiating dialogue with an NPC, the game would give a short description via the dialogue which the player could then introduce themselves by responding to the description and dialogue would continue from there. Any help would be appreciated. Thanks.
I've been through the dialogue again, and it looks as though most NPC's do have the 'G:' function in their first line of dialogue, although there are exceptions, Black Jay for example. I've tried modifying the .py files to have dialogue start at another line, but it only seems to work when the 'G:' function is used, other text will not appear and dialogue cannot commence when clicking on the NPC. Essentially, it means that I can't edit the first lines of any NPC that uses the 'G:' function ... Bummer.
{20}{Duh ... G: is in dialogue text ... uhh ... it start at 'bout line 10000. [Starts drooling]}{}{-4}{}{30}{}
I'm going to start a new thread on this in a bit, with more detail. Anyway it shouldn't matter what you put in the npcs text you can have it blank if you want. You'll want to look at def san_dialog( attachee, triggerer ): in their .py file it tells where it should start speaking when you click on them, or first line if that is not in there or they don't have a .py, also if the person doesn't have a dialog file you'll get a G: response and no way to talk to them or at least I think so since some prisoners in dungeon are this way.