What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Help with TrinityLoadProfile tag

jiznadj

New Member
Joined
Nov 3, 2012
Messages
412
Reaction score
1
Hello all, I have been working on a starter profile that will run act3 profiles partially random, and then the last part in sequence. I have in my "Act3" folder, nine profiles named act3-1.xml, act3-2.xml and so on, I have made a started profile (Act3_Start.xml) like this

Code:
<Profile>
	<Name>Profile</Name>
	<KillMonsters>True</KillMonsters>
	<PickupLoot>True</PickupLoot>
	<GameParams quest="101758" step="1" act="A3" difficulty="Inferno" resumeFromSave="False" isPrivate="True" numGames="-1"  />
	<Order>
	<ToggleTargeting questId="1" combat="True" looting="True" lootRadius="80" killRadius="45" />


<TrinityLoadProfile file="act3-1.xml!act3-2.xml!act3-3.xml!act3-4.xml!act3-5.xml!act3-6.xml!act3-7.xml" />
<TrinityLoadProfile file="act3-8.xml />
<TrinityLoadProfile file="act3-9.xml />


<If condition="(not Me.IsInTown)">   
<UseTownPortal questId="1" />       
</If>

<LeaveGame reason="Run Complete" />

</Order>
</Profile>

I am trying to get the first 7 profiles to run randomly, and then the last two to run in order but am not having any luck. DB will pick one of the first set at random, but then when that one has finished, will go back to town and say all profiles have completed, but does not load the next profile or leave the game.
 
Use trinityUseOnce and TrinityStop tags.

I don't think that will work in this situation, I would have to put all the profiles into a single xml file, and also it would not run randomly. I was trying to figure out a way I could run multiple acts where each act would have it's own "starter" profile which would be loaded at startup using the trinity random roll tag, it would run through whichever act it has chosen a random number of times and then move on to a new act. I think all this would be possible using the new tags, but I don't have enough experience (or a working example) working with them to use them effectively.
 
That code is wrong. act3-8.xml and act3-9.xml will never be called for two things:
1) You haven't closed the "": <TrinityLoadProfile file="act3-8.xml /> => <TrinityLoadProfile file="act3-8.xml" />
2) Since you have a previous TrinityLoad, it will load that before, so the profile will change its xml file and won't load the next lines.

If you want to run randomly acts 1 to 4 (or 1 to 3), you could do the following:
1) Create a starter_random_act.xml, that would choose randomly one of the following (start_act1.xml, start_act2.xml, start_act3.xml).
2) Create start_act1.xml that will run Act1 => The end profile of Act1 should point to end_random_act.xml
3) Create start_act2.xml that will run Act2 => The end profile of Act2 should point to end_random_act.xml
4) Create start_act3.xml that will run Act3 => The end profile of Act3 should point to end_random_act.xml
5) Create end_random_act.xml that will teleport to town, exit game and load starter_random_act.xml

If you want to randomly load a profile inside each act, you can do so as you're doing, but the main problem is that you could end running the same profile despite it has already been cleared.
 
I have created the starter act

Code:
<Profile>
	<Name>Random Act Starter</Name>
	<KillMonsters>True</KillMonsters>
	<PickupLoot>True</PickupLoot>
	<GameParams quest="72801" step="36" act="A1" difficulty="Inferno" resumeFromSave="False" isPrivate="True" numGames="-1"  />
	<Order>

	<WaitTimer waitTime="25000" />

		<RandomActProfile questId="1" act1profile="start_act1.xml" act2profile="start_act2.xml" act3profile="start_act3.xml" act4profile="start_act4.xml" />		

		<TrinityRandomRoll questId="1" id="25" min="1" max="4" />
		<TrinityIfRandom questId="1" id="25" result="1"><TrinityLoadProfile file="start_act1.xml" exit="true" /></TrinityIfRandom>
		<TrinityIfRandom questId="1" id="25" result="2"><TrinityLoadProfile file="start_act2.xml" exit="true" /></TrinityIfRandom>
		<TrinityIfRandom questId="1" id="25" result="3"><TrinityLoadProfile file="start_act3.xml" exit="true" /></TrinityIfRandom>
		<TrinityIfRandom questId="1" id="25" result="4"><TrinityLoadProfile file="start_act4.xml" exit="true" /></TrinityIfRandom>
	</Order>
</Profile>

Really only act3 needs to run randomly with last two in order for the towers to cydaea and then core to azmodan. All the other acts could be pretty much completely random. So how could I get the profiles to run randomly without repeating? Maybe give each a TrinityUseOnce ID and use the TrinityRandomRoll to choose one in each profile?
 
Last edited:
Actually I don't know a way to randomly keep doing profiles without repeating and without missing anyone. The closest thing I can think of is something like this:
PHP:
<TrinityUseOnce id="1" max="7">
	<TrinityRandomRoll id="1" min="1" max="7" />
	<TrinityIfRandom id="1" result="1">
		<TrinityUseOnce id="11">
		<!-- Load 1st profile -->
		</TrinityUseOnce>
	</TrinityIfRandom>
	<TrinityIfRandom id="1" result="2">
		<TrinityUseOnce id="22">
		<!-- Load 2nd profile -->
		</TrinityUseOnce>
	</TrinityIfRandom>
	...
	...
	...
	<TrinityIfRandom id="1" result="7">
		<TrinityUseOnce id="77">
		<!-- Load 7th profile -->
		</TrinityUseOnce>
	</TrinityIfRandom>
</TrinityUseOnce>
<TrinityUseOnce id="8">
	<!-- Load profile 8 -->
</TrinityUseOnce>
<TrinityUseOnce id=9">
	<!-- Load profile 9 -->
</TrinityUseOnce>
Also all profiles should call again this one so its starts over an over. It should randomly choose 7 times a profile between 1-7 without repeating, then do profile 8 and profile 9.
 
Use TrinityUseOnce as a stack e.g:

Code:
<!-- roll a dice 1-->
 <TrinityIfRandom id="1" result="1">
        <TrinityUseOnce id="11">
        <!-- This Id 11 is stacked, once visited it won't come here again -->
        </TrinityUseOnce>
    </TrinityIfRandom>
    <TrinityIfRandom id="1" result="2">
        <TrinityUseOnce id="22">
        <!-- Load 2nd profile -->
        </TrinityUseOnce>
    </TrinityIfRandom>
  

<!-- roll another dice 2-->
 <TrinityIfRandom id="2" result="1">
        <TrinityUseOnce id="11">
        <!-- This Id 11 is stacked, once visited it won't come here again -->
        </TrinityUseOnce>
    </TrinityIfRandom>
    <TrinityIfRandom id="2" result="2">
        <TrinityUseOnce id="22">
        <!-- Load 2nd profile -->
        </TrinityUseOnce>
    </TrinityIfRandom>

Repeat process until you get all your maps, but just keep the same Id in the useOnce.

If u want death support add "max" attributes and use the UseStop that deny a node from being visited again.

That is what profile switcher is doing but in a much more elegant way.

I don't like those oldschool profiles with "is me not in town" because they are checkpoints everywhere, just need to use them. So I didn't write any profile looking like that, but it's the idea ...


Let us know it that helps
 
Last edited:
Also all profiles should call again this one so its starts over an over. It should randomly choose 7 times a profile between 1-7 without repeating, then do profile 8 and profile 9.

Yes this should work nicely, thanks. I'll be able to work on it a bit later on and will let you know how it goes. Seems like you and supermofo came up with very similar solutions. I will try both and see how it works.
 
Last edited:
That is what profile switcher is doing but in a much more elegant way.

Yes, I have been using the profile switcher for a while, but it has not been updated for a long time and it lacks the ability to switch between acts. Now with the new trinity tags, we can do the same thing and more, and there is one less plugin as well. now if I could only figure out how to switch the acts without having to enter a game first, the starter profile does the job, but it creates a game, quickly leaves and then starts another, so that is a bit of a concern for me.
 
Actually I don't know a way to randomly keep doing profiles without repeating and without missing anyone.

Hey guys, I got all the acts set up with all the starter profiles and it is working. Only problem is that the TrinityRandomRoll will roll the same number more than once. In your example, lets say it rolls a 3 for the first profile. So it will load the #3 profile, complete it and then port back to town. But if it happens to roll a 3 again, when the profile reloads it will skip all the random ones and go right to number 8. When that one completes, it will pick another random profile unless it happens to roll a 3 again in which case it will do number 9 and then load the main act chooser profile and restart the game.


Use TrinityUseOnce as a stack e.g:


THX for your help. I am going to try this tonight and see what happens.
 
Last edited:
Code:
<Profile>
	<Name>Act3 Starter Profile</Name>
	<KillMonsters>True</KillMonsters>
	<PickupLoot>True</PickupLoot>
	<GameParams quest="101758" step="1" act="A3" difficulty="Inferno" resumeFromSave="False" isPrivate="True" numGames="-1"  />
	<Order>

<TrinityUseOnce id="1" max="7" > 
	<TrinityLoadProfile file="A3-01.xml!A3-02.xml!A3-03.xml!A3-04.xml!A3-05.xml!A3-06.xml!A3-07.xml" />
</TrinityUseOnce> 

<TrinityUseOnce id="2" max="1" > 
	<TrinityLoadProfile file="A3-08.xml" />
</TrinityUseOnce>
<TrinityUseOnce id="3" max="1" > 
	<TrinityLoadProfile file="A3-09.xml" />
</TrinityUseOnce> 

<TrinityLoadProfile file="start_here.xml" />
	</Order>
</Profile>

I think i have figured it out, I was on the right track the first time, just was not using the UseOnce tag. Now if only the random profile picker would work properly and stop repeating profiles it has already done, this would work well.
 
Back
Top