It looks like you're new here. If you want to get involved, click one of these buttons!
<<set $npcroaster to { anton : { name : "Anton", strength : 1, intelligence : 1, honesty : 1, trust_in_pc : 0, feels_stronger_than_pc : 0, feels_smarter_than_pc : 0, currentloc : "tavern", alive : true, npcmoney : 22, npcinventory : $antoninventory, friendswith : $antonfriends, enemywith : $antonenemies, neutralwith : $antonneutrals, knows : $antonknows, },
<<silently>><<set $tmpKeys to Object.keys($npcroaster)>>\ <<for $y to 0; $y lt $presentnpcs.length; $y++>> <<nobr>><<for $i to 0; $i lt $tmpKeys.length; $i++>> <<if $npcroaster[$tmpKeys[$i]].name is $presentnpcs[$y]>> <<set $npcroaster[$tmpKeys[$i]].knows.push($presentnpcsnewknowledge)>> <</if>> <</for>><</nobr>> <</for>> <<unset $tmpKeys>>\ <</silently>>$presentnpcsnewknowledge is supposed to be an object.
<<set $npcroaster to { anton : { name : "Anton", strength : 1, intelligence : 1, honesty : 1, trust_in_pc : 0, feels_stronger_than_pc : 0, feels_smarter_than_pc : 0, currentloc : "tavern", alive : true, npcmoney : 22, npcinventory : $antoninventory, friendswith : $antonfriends, enemywith : $antonenemies, neutralwith : $antonneutrals, knows : { pcname : { name: "pcname", description: "you're named $pcbio.name.", spreadable : true, }, }, }, },
<<print $npcroaster.anton.knows.pcname.name>> <<print $npcroaster.anton.knows.pcname.description>> <<print $npcroaster.anton.knows.pcname.spreadable>> <<nobr>> /% setting up Player's location %/ <<set $pcstats.pcloc to "tavern">> /% determining present NPCs in that location %/ <<display "Determine present NPCs">> /% Displaying present NPCs %/ <<render "Presentnpcs display">> /% setting up NPCs who are talked to %/ <<set $talkedtonpcs to ["Anton"]>> <</nobr>>\ /% setting up new knowledge to be acquired %/ <<set $presentnpcsnewknowledge to { pcfatherdead : { name : "pcfatherdead", description : "your father is dead.", spreadable : true, }, }>> /% spreading knowledge to talked to NPCs %/ <<silently>><<set $tmpKeys to Object.keys($npcroaster)>>\ <<for $y to 0; $y lt $presentnpcs.length; $y++>> <<nobr>><<for $i to 0; $i lt $tmpKeys.length; $i++>> <<if $npcroaster[$tmpKeys[$i]].name is $presentnpcs[$y]>> <<set $npcroaster[$tmpKeys[$i]].knows to ($npcroaster[$tmpKeys[$i]].knows + $presentnpcsnewknowledge)>> <</if>> <</for>><</nobr>> <</for>> <<unset $tmpKeys>>\ <</silently>> <<print $npcroaster.anton.knows.pcfatherdead.name>> <<print $npcroaster.anton.knows.pcfatherdead.description>> <<print $npcroaster.anton.knows.pcfatherdead.spreadable>>
Comments
Sometimes when testing how to do something it is a good idea to first use a simpler version of what you are trying to test. The following is based on your above examples:
So the line in your example should be change to something like the following: