Author Topic: PYTHON SCRIPT/SCHEME EXCHANGE  (Read 288151 times)

0 Members and 1 Guest are viewing this topic.

maw

  • Hardcore
  • Sergeant Knight at Arms
  • *
  • "The Original Permadeath-Guy"
    • View Profile
  • Faction: Neutral
  • WB
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #315 on: March 13, 2008, 05:52:03 PM »
my brain's not working, and i need some volunteerism. someones already figured this out:

i need a short script/trigger with an assigned time check (6 hours, 12 hours, whatever) that will cause a bandit or searaider party to randomly decide to raid the closest village, then return to an assigned destination ie a spawned camp, boat, hold, whatever i set into the destination slot.

the assignment needs to be open like a regular lord village raid in that if a stronger enemy approaches, the outlaw/searaiders can still break off attack and run.

i want to exempt towns and castles as a raid targt, for now.

and i can't seem ta wrap my lil' brain around this. any gracious help would be appreciated. maw

ealabor

  • Baron
  • *
  • Faction: Carthage
    • View Profile
    • Hegemony 268 B.C.
  • Faction: Neutral
  • WB
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #316 on: March 15, 2008, 02:02:37 AM »
Zaitenko's Reinforcement Script

Nice. Definitly will take a look at integrating this into Legions Mod Extended, which by the way is looking for talented scripters if anyone is interested.

thanks.

demize2010

  • Veteran
  • *
    • View Profile
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #317 on: March 24, 2008, 12:49:35 AM »
(0, 0, 0, [(key_pressed,whatever_key),],[(call_script,"script_whichever_formation_script"),]),

Does that make any sense?

The formation scripts are awesome but I have a quick ask...

Is it possible to make these only effect agents currently selected by the order hotkeys? (eg foot, missile or horse?)

Janus

  • *spicy* *camper*
  • Administrator
  • *
    • View Profile
    • Mount&Blade Unofficial File Repository
  • Faction: Rhodok
  • WBWF&SM&BVC
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #318 on: March 30, 2008, 08:20:37 PM »
Python modding questions split off, since this thread isn't really the place for them:
http://forums.taleworlds.com/index.php/topic,34538.0.html
Severian: "A crowd is not the sum of the individuals who compose it. Rather it is a species of animal, without language or real consciousness, born when they gather, dying when they depart."
     - Gene Wolfe, The Shadow of the Torturer (1980)

Amigo

  • Knight at Arms
  • *
    • View Profile
  • Faction: Neutral
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #319 on: April 23, 2008, 08:06:34 PM »
how to delay shots? I have made bolt action rifle, 5rounds in and i want to add 5s long pause between each shot. possible?

An0m1m

  • Recruit
  • *
    • View Profile
  • Faction: Swadian
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #320 on: June 09, 2008, 09:04:44 PM »
hello i'm a begginer coder :)

So i want to ask you guys something.

1. I want to do a bribe mod something like the player must pay tribute to kingdom of swadia and if you don't have money you'll recive a message for warning an after this if you don't pay the relation with that kingdom be -50.
2. I made some parties of mercs and i want to pay them to join me.
3. I want to remove that menu when you chose what kind of men you want to be and that with the face editing.

Thanks a lot.
« Last Edit: June 10, 2008, 07:59:50 AM by An0m1m »

KON_Air

  • Master Knight
  • *
    • View Profile
  • Faction: Neutral
  • MP nick: KON_Air
  • M&BWB
Bück Dich... Set items in two easy steps;
« Reply #321 on: June 23, 2008, 12:53:10 PM »



Har, har, I'm awesome and I know it :P
Nothing complicated or elegant but regardless...

How to make set items;
First decide which items you want to a part of set. Breaking the order of Module_items and moving them to the bottom of the list is recommended if you are going to make them available as merchandise, that way they will be on top of the merchants inventory.

In this example I chose Light Leather Set, which is the most obivious choice.

Second Step is to set extra item texts see below (add those to script_game_get_item_extra_text);

Code: [Select]
(else_try),
        (is_between, ":item_no", set1_begin, set1_end), #Those are defined in constants itm_black_hood and itm_itm_byzantion_helmet_a
(try_begin),
          (eq, ":extra_text_id", 0),
          (set_result_string, "@Light Leather Set:^+1 Power Draw When Complete"),
          (set_trigger_result, 0xffc125),  #Always Gold
  (else_try),
  (eq, ":extra_text_id", 1),
  (set_result_string, "@_"), #The second line, empty, could have been the second line of first id...
  (set_trigger_result, 0xc4c4c4),
(else_try),
  (eq, ":extra_text_id", 2),
(try_begin),
(troop_get_inventory_slot,":head","trp_player",ek_head),
(eq, ":head", "itm_black_hood"),
(set_result_string, "@Black Hood"),
(set_trigger_result, 0x00ff7f), #Green Equipped By Player
(else_try),
(troop_get_inventory_slot,":head","$g_talk_troop",ek_head),
(eq, ":head", "itm_black_hood"),
(set_result_string, "@Black Hood"),
(set_trigger_result, 0x1e90ff), #Blue Equipped By Companion
(else_try),
  (set_result_string, "@Black Hood"),
  (set_trigger_result, 0xc4c4c4), #Gray - Not equipped
(try_end),

(else_try),
(eq, ":extra_text_id", 3),
(try_begin),
(troop_get_inventory_slot,":head","trp_player",ek_body),
(eq, ":head", "itm_light_leather"),
(set_result_string, "@Leather Armour"),
(set_trigger_result, 0x00ff7f), #Green Equipped By Player
(else_try),
(troop_get_inventory_slot,":head","$g_talk_troop",ek_body),
(eq, ":head", "itm_light_leather"),
(set_result_string, "@Leather Armour"),
(set_trigger_result, 0x1e90ff), #Blue Equipped By Companion
(else_try),
  (set_result_string, "@Leather Armour"),
  (set_trigger_result, 0xc4c4c4), #Gray - Not equipped
(try_end),

(else_try),
  (eq, ":extra_text_id", 4),
(try_begin),
(troop_get_inventory_slot,":head","trp_player",ek_foot),
(eq, ":head", "itm_light_leather_boots"),
(set_result_string, "@Leather Boots"),
(set_trigger_result, 0x00ff7f), #Green Equipped By Player
(else_try),
(troop_get_inventory_slot,":head","$g_talk_troop",ek_foot),
(eq, ":head", "itm_light_leather_boots"),
(set_result_string, "@Leather Boots"),
(set_trigger_result, 0x1e90ff), #Blue Equipped By Companion
(else_try),
  (set_result_string, "@Leather Boots"),
  (set_trigger_result, 0xc4c4c4), #Gray - Not equipped
(try_end),

So as you could have figured it out we make a inventory slot check to see if item is properly equipped, if you want weapons in set items use a (try_for_range, ":cur_slot", 0, 4), so you will pick up :cur_slot as any of the weapon slots (see Fisheyes Chart; http://mbx.streetofeyes.com/index.php/topic,972.0.html).

What we have so far is when an item of the set is equipped the Gray text turns Green or Blue. And when put back into inventory Green Or Blue become Gray.

Now, next step far easier goes into  script_game_get_skill_modifier_for_troop
Code: [Select]
(else_try),
(eq, ":skill_no", "skl_power_draw"),
(troop_get_inventory_slot,":cur_item1",":troop_no",ek_head),
(troop_get_inventory_slot,":cur_item2",":troop_no",ek_body),
(troop_get_inventory_slot,":cur_item3",":troop_no",ek_foot),
(eq, ":cur_item1", "itm_black_hood"),
(eq, ":cur_item2", "itm_light_leather"),
(eq, ":cur_item3", "itm_light_leather_boots"),
      (val_add, ":modifier_value", 1), 

Again we use inventory slot checks to make sure player has items in the proper slots and we do the rest just like books. So if a troop (player, companions... any troop) has all items in proper slots will get the bonus. (Note to self; Use incremental bonuses like 2 items give +1 full set gives +3... etc.)

Conclusion; M&B:Diablo was apperantly possible since .903 :P
Comparing Fallout 3 and 1-2 is like comparing an apple to a mutated apple which is trying to bite your face.

Tiwaz

  • Recruit
  • *
  • Tanz Tanz Tanz!
    • View Profile
    • Framing Chaos Lampwork
  • Faction: Neutral
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #322 on: August 26, 2008, 04:02:47 PM »
This is really cool! I was just trying to do this myself.  I got as far as creating a sword that gives +1 to ironflesh but it does it in the inventory as well as when equipped and I couldn't figure out how to make the text "adds +1 to ironflesh" show up in the item description... my searching has come to an end! You rock!

-Tiwaz

Edit: wow, you found my other post just as I found this one  :lol:
This time of night's for singin' songs about the local news.

KON_Air

  • Master Knight
  • *
    • View Profile
  • Faction: Neutral
  • MP nick: KON_Air
  • M&BWB
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #323 on: August 27, 2008, 11:35:48 PM »
Here a heavily commented version on how to do it for single items, this one is for a weapon/shield.

Code: [Select]
  #script_game_get_skill_modifier_for_troop
  # This script is called from the game engine when a skill's modifiers are needed
  # INPUT: arg1 = troop_no, arg2 = skill_no
  # OUTPUT: trigger_result = modifier_value
  ("game_get_skill_modifier_for_troop",
   [(store_script_param, ":troop_no", 1),#This script is called by engine whenever it needs to calculate skills of a troop.  This script should not be called from any other script or trigger.
    (store_script_param, ":skill_no", 2),#Both of these parameters are called for every trp_ and skl_ by the game.
    (assign, ":modifier_value", 0),#This is the modifier value, it must have a value for the final operation, thus it is assigned 0. So it will have a value even if all the tries below fail.
    (try_begin),#Begins Trying For Skills
      (eq, ":skill_no", "skl_wound_treatment"), #This is the skill we are trying.
      (call_script, "script_get_troop_item_amount", ":troop_no", "itm_book_wound_treatment_reference"), #This a check, it will get number of "itm_book_wound_treatment_reference" items.
      (gt, reg0, 0), #The above script registers number of "itm_book_wound_treatment_reference" player has in invetory to reg0. This is a condition, if reg0 is greater 1 this try will succed.
      (val_add, ":modifier_value", 1),#This adds 1 to ":modifier_value", so the value is now 1.
    (else_try),#Once the try above fails, (if skl_ it is looking for is not skl_wound_treatment), it will try this one, untill it finds the skl_ it is looking for.
      (eq, ":skill_no", "skl_trainer"),
      (call_script, "script_get_troop_item_amount", ":troop_no", "itm_book_training_reference"),
      (gt, reg0, 0),
      (val_add, ":modifier_value", 1),
    (else_try),
      (eq, ":skill_no", "skl_surgery"),
      (call_script, "script_get_troop_item_amount", ":troop_no", "itm_book_surgery_reference"),
      (gt, reg0, 0),
      (val_add, ":modifier_value", 1),
#This is try checks for if item is equipped in a slot
(else_try),
  (eq, ":skill_no", "skl_power_draw"),
  (troop_get_inventory_slot,":cur_item1",":troop_no",ek_item_0),#Here we are getting items from slots 0,1,2,3
  (troop_get_inventory_slot,":cur_item2",":troop_no",ek_item_1),#Those slots are where weapons are placed.
  (troop_get_inventory_slot,":cur_item3",":troop_no",ek_item_2),#We get them all to a different :local. Now all those :local variables are equal to one of the items in slots.
  (troop_get_inventory_slot,":cur_item4",":troop_no",ek_item_3),#Then we check each item, if it is the one we want.
  (this_or_next|eq, ":cur_item1", "itm_bonus_giving_item"),#These are conditions similar to the conditions above.
  (this_or_next|eq, ":cur_item2", "itm_bonus_giving_item"),#But we check multiple variables, so we use this_or_next|
  (this_or_next|eq, ":cur_item3", "itm_bonus_giving_item"),#As the name suggests it is either this contion or the next.
  (eq, ":cur_item4", "itm_bonus_giving_item"),#Since this one is the last one we don't need this_or_next. When any of the items is the item we want the script succeds.
  (val_add, ":modifier_value", 1),#And when succeded adds 1.
    (try_end),#Ends Trying For Skills.
    (set_trigger_result, ":modifier_value"),#This the execution of the scipt: :troop_no gets :modifier_value bonus to :skill_no.
    ]),
Comparing Fallout 3 and 1-2 is like comparing an apple to a mutated apple which is trying to bite your face.

Garnier

  • Sergeant
  • *
    • View Profile
    • www.philipmcg.com
  • Faction: Vaegir
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #324 on: September 25, 2008, 10:35:16 PM »
Garnier's Bank of Calradia code -- written for 0.960!

I put together some code for a central bank of Calradia, where you can store money or take loans.  The specifics are;
You go to a town, and click "visit the bank".
To take a loan, you pay 100 denars immediately, and 1000 in debt to the bank.  You can repay the loan at any time.  Interest on the loan is 200% per year, so each week you pay 40 denars interest on each 1000 denar loan.
You have to have 100 real denars to take a loan, real meaning your total cash minus your total debt has to be 100 or more.  So you can't keep taking out loans forever.
If you cannot pay the interest on your loans in a given week, the unpaid sum is added to your debt, and next week you are expected to pay interest again, which in turn is added to the debt if you can't pay. 
You can deposit money at the bank, and gain 20% per year in interest, so 4 d/week on a 1000 deposit.  You can withdraw the deposit at any time.

Global Variables created;

$g_player_debt
$g_player_deposit


Add this to the game start script;  #Defines the global variables used.
Code: [Select]
      (store_add, "$g_player_debt",0,0),
      (store_add, "$g_player_deposit",0,0),

Add these menus to game_menus.py;  #The first menu is a weekly interest payment menu, and the second is the bank menu where you handle deposits/loans.
Code: [Select]
  (
    "debt_interest",mnf_scale_picture|mnf_disable_all_keys,
    "{s2}",
    "none",
    [

  (store_div, ":debt_interest","$g_player_debt",25),
          (assign, reg11, ":debt_interest"),
          (store_troop_gold, ":player_wealth", "trp_player"),
          (assign, reg8, ":player_wealth"),
(try_begin),
  (ge,"$g_player_debt",1),
  (try_begin),
            (ge, ":player_wealth", ":debt_interest"),
            (troop_remove_gold, "trp_player",":debt_interest"),
            (store_sub, reg9, reg8, reg11),
            (str_store_string, s2, "@You paid {reg11} of your {reg8} denars in interest on your debt. You have {reg9} denars left."),
          (else_try),
    (gt, ":debt_interest",":player_wealth"),
    (gt, ":player_wealth",0),
    (store_sub, ":unpaid_interest", ":debt_interest",":player_wealth"),
            (troop_remove_gold, "trp_player",":player_wealth"),
            (assign, reg10, ":unpaid_interest"),
            (val_add, "$g_player_debt",":unpaid_interest"),
            (str_store_string, s2, "@You paid all of your {reg8} denars in interest on your debt.  There were still {reg10} denars of the interest unpaid, which has been added to your debt.  You have 0 denars left."),
          (else_try),
    (gt, "$g_player_debt",0),
    (eq, ":player_wealth",0),
    (store_sub, ":unpaid_interest", ":debt_interest",":player_wealth"),
            (val_add, "$g_player_debt",":unpaid_interest"),
            (str_store_string, s2, "@You had 0 denars left to pay the interest on your debt.  The interest of {reg10} denars has been added to your debt."),
          (else_try),
            (str_store_string, s2, "@You have no debts to pay interest on."),
  (try_end),
(try_end),
    ],
    [
      ("continue",[],"Continue...",
       [
        (change_screen_return,0),
        ]
       ),
    ]
  ),
  (
    "bank",0,
    "You visit the bank.\
 Here you can deposit money and earn interest over time, or take a loan.\
 You currently have {reg6} denars deposited here.\
 You currently have {reg7} denars borrowed from the bank.",
    "none",
    [
    (assign, reg6, "$g_player_deposit"),
    (assign, reg7, "$g_player_debt"),
    ],
    [
      ("take_loan",[(store_troop_gold, ":player_wealth", "trp_player"),(store_sub, ":player_real_wealth", ":player_wealth", "$g_player_debt"),(gt,":player_real_wealth",100)],"Take a loan of 1000 denars.",
       [
   (troop_remove_gold, "trp_player", 100),
           (troop_add_gold, "trp_player", 1000),
           (val_add, "$g_player_debt", 1000),
        ]),
      ("give_loan",[(store_troop_gold, ":player_wealth", "trp_player"),(gt,":player_wealth",1000),(gt,"$g_player_debt",1000)],"Repay 1000 denars of your debt.",
       [
   (troop_remove_gold, "trp_player", 1000),
           (val_sub, "$g_player_debt", 1000),
        ]),
      ("give_loan_all",[(store_troop_gold, ":player_wealth", "trp_player"),(gt,":player_wealth","$g_player_debt"),(gt,"$g_player_debt",0)],"Repay all of your debt.",
       [
   (troop_remove_gold, "trp_player", "$g_player_debt"),
           (val_sub, "$g_player_debt", "$g_player_debt"),
        ]),
      ("give_deposit",[(store_troop_gold, ":player_wealth", "trp_player"),(gt,":player_wealth",1000)],"Deposit 1000 denars in the bank.",
       [
   (troop_remove_gold, "trp_player", 1000),
           (val_add, "$g_player_deposit", 1000),
        ]),
      ("take_deposit",[(ge,"$g_player_deposit",1000)],"Withdraw 1000 denars from your deposit.",
       [
   (troop_add_gold, "trp_player", 1000),
           (val_sub, "$g_player_deposit", 1000),
        ]),
      ("take_deposit_all",[(ge,"$g_player_deposit",1)],"Withdraw your entire deposit.",
       [
   (troop_add_gold, "trp_player", reg6),
           (val_sub, "$g_player_deposit", reg6),
        ]),
      ("back_to_town_menu",[],"Head back.",
       [
           (jump_to_menu,"mnu_town"),
        ]),
    ]
  ),

And this again to game_menus.py, just after the "visit the tavern" entry;  ##This is the text "Visit the bank" when you are in a town.
Code: [Select]
      ("town_bank",
       [],
       "Visit the bank.",
       [
           (jump_to_menu,"mnu_bank"),
        ]),

And this to simple_triggers.py,  ##These trigger the interest on debt payment menu, and the automatic interest on deposits
Code: [Select]
  #Interest on deposits.
  (24 * 7,
   [
    (try_begin),
       (gt, "$g_player_deposit", 0),
       (store_div,":interest_deposit","$g_player_deposit",250),
       (troop_add_gold, "trp_player",":interest_deposit"),
    (try_end),
    ]),
  #Interest on debts.
  (24 * 7,
   [
     (try_begin),
       (gt, "$g_player_debt", 0),
       (jump_to_menu,"mnu_debt_interest"),
     (try_end),
    ]),

This is just the basic code, I probably will add random events like the bank being robbed and your deposits being cut, and perhaps a debtors prison where you serve time if you can't pay interest after 8 weeks or something.  (In my mod you lost more renown, as well as weapon proficiencies over time, so spending time in prison would not be good). 

maw

  • Hardcore
  • Sergeant Knight at Arms
  • *
  • "The Original Permadeath-Guy"
    • View Profile
  • Faction: Neutral
  • WB
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #325 on: September 26, 2008, 12:41:39 AM »
if you want it to be more money-lender type, make it 100% per week, or tie the base interest into the wealth level of the town - if the town is rich, you get a better interest rate, if town poor then a gradually increasing interest rate. maw

Garnier

  • Sergeant
  • *
    • View Profile
    • www.philipmcg.com
  • Faction: Vaegir
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #326 on: October 29, 2008, 04:07:25 PM »
Here's a script I made to reduce the player's weapon proficiencies each week, so if you sit around not practising for too long, you lose your skill at arms.  In this code:
If your proficiency is greater than 125, then you lose 2 points for every 25 more than 125 that you have.  So if you have 150, you lose 2 points, if you have 400 you lose 12 points.  This works in 1.010.
Code: [Select]
  # Reduce proficiencies slightly every week
  (7 * 24,
   [
       (store_proficiency_level,":wp_prof_one_handed_weapon","trp_player",wpt_one_handed_weapon),
       (store_proficiency_level,":wp_prof_two_handed_weapon","trp_player",wpt_two_handed_weapon),
       (store_proficiency_level,":wp_prof_polearm","trp_player",wpt_polearm),
       (store_proficiency_level,":wp_prof_archery","trp_player",wpt_archery),
       (store_proficiency_level,":wp_prof_crossbow","trp_player",wpt_crossbow),
       (store_proficiency_level,":wp_prof_throwing","trp_player",wpt_throwing),

       (try_begin),
        (ge, ":wp_prof_one_handed_weapon", 125),
        (val_sub, ":wp_prof_one_handed_weapon", 100),
        (store_div, ":wp_prof_decrease", ":wp_prof_one_handed_weapon", 25),
        (val_sub, ":wp_prof_one_handed_weapon", ":wp_prof_decrease"),
        (val_add, ":wp_prof_one_handed_weapon", 100),
        (troop_raise_proficiency_linear, "trp_player", wpt_one_handed_weapon, -10000),
        (troop_raise_proficiency_linear, "trp_player", wpt_one_handed_weapon, ":wp_prof_one_handed_weapon"),
       (try_end),
       (try_begin),
        (ge, ":wp_prof_two_handed_weapon", 125),
        (val_sub, ":wp_prof_two_handed_weapon", 100),
        (store_div, ":wp_prof_decrease", ":wp_prof_two_handed_weapon", 25),
        (val_sub, ":wp_prof_two_handed_weapon", ":wp_prof_decrease"),
        (val_add, ":wp_prof_two_handed_weapon", 100),
        (troop_raise_proficiency_linear, "trp_player", wpt_two_handed_weapon, -10000),
        (troop_raise_proficiency_linear, "trp_player", wpt_two_handed_weapon, ":wp_prof_two_handed_weapon"),
       (try_end),
       (try_begin),
        (ge, ":wp_prof_polearm", 125),
        (val_sub, ":wp_prof_polearm", 100),
        (store_div, ":wp_prof_decrease", ":wp_prof_polearm", 25),
        (val_sub, ":wp_prof_polearm", ":wp_prof_decrease"),
        (val_add, ":wp_prof_polearm", 100),
        (troop_raise_proficiency_linear, "trp_player", wpt_polearm, -10000),
        (troop_raise_proficiency_linear, "trp_player", wpt_polearm, ":wp_prof_polearm"),
       (try_end),
       (try_begin),
        (ge, ":wp_prof_archery", 125),
        (val_sub, ":wp_prof_archery", 100),
        (store_div, ":wp_prof_decrease", ":wp_prof_archery", 25),
        (val_sub, ":wp_prof_archery", ":wp_prof_decrease"),
        (val_add, ":wp_prof_archery", 100),
        (troop_raise_proficiency_linear, "trp_player", wpt_archery, -10000),
        (troop_raise_proficiency_linear, "trp_player", wpt_archery, ":wp_prof_archery"),
       (try_end),
       (try_begin),
        (ge, ":wp_prof_crossbow", 125),
        (val_sub, ":wp_prof_crossbow", 100),
        (store_div, ":wp_prof_decrease", ":wp_prof_crossbow", 25),
        (val_sub, ":wp_prof_crossbow", ":wp_prof_decrease"),
        (val_add, ":wp_prof_crossbow", 100),
        (troop_raise_proficiency_linear, "trp_player", wpt_crossbow, -10000),
        (troop_raise_proficiency_linear, "trp_player", wpt_crossbow, ":wp_prof_crossbow"),
       (try_end),
       (try_begin),
        (ge, ":wp_prof_throwing", 125),
        (val_sub, ":wp_prof_throwing", 100),
        (store_div, ":wp_prof_decrease", ":wp_prof_throwing", 25),
        (val_sub, ":wp_prof_throwing", ":wp_prof_decrease"),
        (val_add, ":wp_prof_throwing", 100),
        (troop_raise_proficiency_linear, "trp_player", wpt_throwing, -10000),
        (troop_raise_proficiency_linear, "trp_player", wpt_throwing, ":wp_prof_throwing"),
       (try_end),
    ])

Zaro

  • italiano stallion-o
  • Grandmaster Knight
  • *
    • View Profile
  • Faction: Neutral
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #327 on: October 30, 2008, 08:52:05 AM »
Quote
if you want it to be more money-lender type, make it 100% per week

100% per week is crazy, but any interest is going to be crazy given that native is geared towards the player becoming unreasonably wealthy.

Garnier

  • Sergeant
  • *
    • View Profile
    • www.philipmcg.com
  • Faction: Vaegir
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #328 on: October 30, 2008, 06:15:36 PM »
I think he meant paying 100% interest per week on loans the player took out.  That's a bit much, especially as I've given no way to abandon your debt.  If you went broke it'd be the end of the game as any money you'd get would go to paying interest, and unpaid interest is added to your debt.  Taking a loan early on the buy some equipment will probably be useful.

I made a lot of improvements on the bank script though, there is now a different bank in each capital so your money is specifically stored there, and stuff like that.

maw

  • Hardcore
  • Sergeant Knight at Arms
  • *
  • "The Original Permadeath-Guy"
    • View Profile
  • Faction: Neutral
  • WB
Re: PYTHON SCRIPT/SCHEME EXCHANGE
« Reply #329 on: October 31, 2008, 01:24:28 AM »
so make it a month, instead of a week. you're an adventurer - they die like flies in calradia - and how many scoot off to live in far-off no-place ville under an assumed name?

which may give rise to a cool mission - Gilbert the Moneylender asks you to collect a debt... maybe remind the customer to not be late... in a memorable way...

might be better to have the local merchant outfit you, for a cut of goods brought in until the debt, doubled, is paid. he lends 5,000 you gotta bring in 10,000 in goods for him, or pay 10k in cash. reasonable? maw