Is it possible to make NPC's refuse to buy a certain type of

Post » Thu Aug 25, 2011 2:30 pm

Yeah u heard me, is it possible? I would like to put this script on DB armor. Why in the heck would anyone buy a armor that could connect you to assassins?

I also wanted to see if it was possible to make npc's dislike you, if wearing a special type of armor.
User avatar
Ana Torrecilla Cabeza
 
Posts: 3427
Joined: Wed Jun 28, 2006 6:15 pm

Post » Thu Aug 25, 2011 9:14 am

You could probably make the NPC not buy a type of armor in the "service refusal" part of dialogue, but it might get complicated for all those armor parts...

you can make NPC's dislike you in dialogue as well using the "item" function and moddisposition. But again, it would get complicated for all the armor pieces
User avatar
Eve(G)
 
Posts: 3546
Joined: Tue Oct 23, 2007 11:45 am

Post » Thu Aug 25, 2011 8:57 am

Both tasks would be the most practical to realize through dialog, in my opinion. Service refusal is accessible in the dialog window, under the persuasion tab. Looking through the entries there should give you a good enough idea about how it works.

As for NPCs disliking the PC when wearing DB armor, I would do this by adding a script to DB armor that sets a global variable to 1 when DB armor is worn and 0 otherwise. You can then add a new greeting that with the condition that the variable is set to 1 (and whatever other conditions you'd like to add), and in the results box I would add a line of script that lowers the speaker's disposition by some amount.
User avatar
Laura Elizabeth
 
Posts: 3454
Joined: Wed Oct 11, 2006 7:34 pm

Post » Thu Aug 25, 2011 1:50 pm

Yeah u heard me, is it possible? I would like to put this script on DB armor. Why in the heck would anyone buy a armor that could connect you to assassins?
Simple, profit. It's an outfit that took a lot of work to make and it's durable and light weight. Some merchants will have morals but I don't think a lot of them would mind. It's just armor any ways; more pocket money. And plus, the merchant can claim he killed an assassin who was attacking an innocent person and that's how he got it. That's my lore view on it.
Skooma I can understand because it has been made officially illegal by the Empire. But Dark Brotherhood outfits aren't illegal; they just make people wonder where you got it from is all.
User avatar
clelia vega
 
Posts: 3433
Joined: Wed Mar 21, 2007 6:04 pm

Post » Thu Aug 25, 2011 5:31 pm

Hm ok. I can't do any scripting, so that's why I asked. I'd need some help with that.

As for this line "I also wanted to see if it was possible to make npc's dislike you, if wearing a special type of armor. " does not apply to the DB armor, it's another custom armor I had in mind.

Anyhow, so these both are through dialogue? I thought it could be something similar like the ordinators attacking you on sight when wearing indoril, but you get lower disp instead.
User avatar
Zosia Cetnar
 
Posts: 3476
Joined: Thu Aug 03, 2006 6:35 am

Post » Thu Aug 25, 2011 8:28 pm

Assuming tm88mr is your modder+mod prefix here (e. g. mine would be ab01wl for water life)
I'd try something like this
begin tm88mrgArmoCheckScript; global script running on load; short global tm88mrDbArmorOn to use for greeting filtering (for example see greeting 0, class guard, faction temple, filtered for wearingOrdinatorUni global short); short global tm88mrCustomArmor to use for service refusal persuasion filtering; assuming tm88mrCustomArmorId01 .. 07 as custom armor pieces ids if ( MenuMode )	returnendiffloat delayif ( delay < 3 )	set delay to ( delay + GetSecondsPassed )	returnendifset delay to Random 10001set delay to ( delay * 0.00005 )	; 2.5 <= delay <= 3if ( player->GetItemCount "tm88mrCustomArmorId01" > 0 )	set tm88mrCustomArmor to 1elseif ( player->GetItemCount "tm88mrCustomArmorId02" > 0 )	set tm88mrCustomArmor to 1elseif ( player->GetItemCount "tm88mrCustomArmorId03" > 0 )	set tm88mrCustomArmor to 1elseif ( player->GetItemCount "tm88mrCustomArmorId04" > 0 )	set tm88mrCustomArmor to 1elseif ( player->GetItemCount "tm88mrCustomArmorId05" > 0 )	set tm88mrCustomArmor to 1elseif ( player->GetItemCount "tm88mrCustomArmorId06" > 0 )	set tm88mrCustomArmor to 1elseif ( player->GetItemCount "tm88mrCustomArmorId07" > 0 )	set tm88mrCustomArmor to 1else	set tm88mrDbArmorOn to 0	returnendifif ( player->HasItemEquipped "DarkBrotherhood Boots" )	set tm88mrDbArmorOn to 1	returnelseif ( player->HasItemEquipped "DarkBrotherhood Cuirass" )	set tm88mrDbArmorOn to 1	returnelseif ( player->HasItemEquipped "DarkBrotherhood gauntlet_L" )	set tm88mrDbArmorOn to 1	returnelseif ( player->HasItemEquipped "DarkBrotherhood gauntlet_R" )	set tm88mrDbArmorOn to 1	returnelseif ( player->HasItemEquipped "DarkBrotherhood greaves" )	set tm88mrDbArmorOn to 1	returnelseif ( player->HasItemEquipped "DarkBrotherhood pauldron_L" )	set tm88mrDbArmorOn to 1	returnelseif ( player->HasItemEquipped "DarkBrotherhood pauldron_R" )	set tm88mrDbArmorOn to 1	returnelse	set tm88mrDbArmorOn to 0endifend

User avatar
Cheryl Rice
 
Posts: 3412
Joined: Sat Aug 11, 2007 7:44 am


Return to III - Morrowind