Black Ice studios

Members Login
Username 
 
Password 
    Remember Me  
Post Info TOPIC: Winston's Test Crew




Status: Offline
Posts: 3852
Date:
Winston's Test Crew
Permalink Closed


I still can make triggers, however I can not access AoM to test them. And so, as I still make triggers, I wish to know if they work. So I request help here. WOuld you guys be able to help me with testing the triggers I make? I will post the trigger here, and someone just needs to put it in their trigger file, run some tests and report back to me.

1) I will post the trigger.

2) I will set the tests you need to make.

3) You test and then make your report for what happened.

4) There may be a need for a video of it happening if it is a very important trigger, in which case I can supply the video software or you can. Just then upload to youtube or photobucket and link to me.

5) Your reward is the trigger, if it works, you get to use it obviously, otherwise I will fix it and then post the fixed version here.

Those signed up:
-WRP_Beater
-Charliedog

Triggers:
<Effect name="Group Control">
<Param name="Group" dispName="Group Number (1-9)" VarType="long">0</Param>
<Param name="Unit" dispName="Group Unit(s) (1-30)" VarType="unit">default</Param>
<Param name="Mute" dispName="Selection Sound" VarType="bool">true</Param>
<Param name="Choice1" dispName="Group/Units" VarType="bool">true</Param>
<Param name="Choice2" dispName="Create/Delete Group" VarType="bool">true</Param>
<Param name="Choice3" dispName="Add/Subtract Units" VarType="bool">true</Param>
<Command>uiClearSelection();</Command>
<Command>if(%Mute%==false) trBlockAllSounds(true);</Command>
<Command>for(FP=0;>1){}</Command>
<Command>FP=trCurrentPlayer();</Command>
<Command>trPlayerSetActive(FP);</Command>
<Command>trUnitSelect("%Unit%");</Command>
<Command>for(err=0;>1){} for(id=0;>1){} id = kbGetUnitBaseTypeID(kbGetBlockID("%Unit%"));</Command>
<Command>if(trUnitIsOwnedBy(FP)){if(trUnitAlive()){</Command>
<Command>while(trUnitIsSelected()!=true) {err++;</Command>
<Command>uiFindType(kbGetProtoUnitName(id));</Command>
<Command>if(err>200) {break;}}}}</Command>
<Command>trPlayerSetActive(FP);</Command>
<Command><![CDATA[if(%Choice1%==true && %Choice2%==true) uiCreateNumberGroup(%Group%);]></Command>
<Command><![CDATA[if(%Choice1%==true && %Choice2%==false) uiClearNumberGroup(%Group%);]></Command>
<Command><![CDATA[if(%Choice1%==false && %Choice3%==true) uiAddSelectNumberGroup(%Group%);]></Command>
<Command><![CDATA[if(%Choice1%==false && %Choice3%==false) uiRemoveFromAnyNumberGroup(%Group%);]></Command>
<Command>if(%Mute%==false) trUnblockAllSounds();</Command>
<Command>uiClearSelection();</Command>
</Effect>

<Effect name="Group Check">
<Param name="Group" dispName="Group Number (1-9)" VarType="long">0</Param>
<Param name="Mute" dispName="Selection Sound" VarType="bool">true</Param>
<Param name="Choice1" dispName="Select" VarType="bool">false</Param>
<Param name="Choice2" dispName="Look" VarType="bool">false</Param>
<Command>if(%Mute%==false) trBlockAllSounds(true);</Command>
<Command>if(%Choice1%==true) uiSelectNumberGroup(%Group%);</Command>
<Command>if(%Choice2%==true) uiLookAtNumberGroup(%Group%);</Command>
<Command>if(%Mute%==false) trUnblockAllSounds();</Command>
</Effect>
Tests; Create, Uncreate, Add to, take out, mess around with groups in all the ways you can use this trigger, let me know if it works. And the mute sound, see if that works.

<Effect name="Quest Var Randomize 2">
<Param name="QVName" dispName="Var Name" VarType="string">QV1</Param>
<Param name="Number" dispName="'Value' Count" VarType="float">1-5</Param>
<Param name="Value1" dispName="Value One" VarType="float">0</Param>
<Param name="Value2" dispName="Value Two" VarType="float">0</Param>
<Param name="Value3" dispName="Value Three" VarType="float">0</Param>
<Param name="Value4" dispName="Value Four" VarType="float">0</Param>
<Param name="Value5" dispName="Value Five" VarType="float">0</Param>
<Command>trQuestVarSetFromRand("EhtdwAthEtdwN", 1, %Number%, true);</Command>
<Command>for(value=0;>1) {};</Command>
<Command>value = trQuestVarGet("EhtdwAthEtdwN");</Command>
<Command>if(value==1) trQuestVarSet("%QVName%", %Value1%);</Command>
<Command>if(value==2) trQuestVarSet("%QVName%", %Value2%);</Command>
<Command>if(value==3) trQuestVarSet("%QVName%", %Value3%);</Command>
<Command>if(value==4) trQuestVarSet("%QVName%", %Value4%);</Command>
<Command>if(value==5) trQuestVarSet("%QVName%", %Value5%);</Command>
<Command>else trQuestVarSet("%QVName%", 0);</Command>
</Effe
ct>
Tests; Use it like the normal quest var randomize, except this one, you can choose the different numbers that would occur instead of ones between a high and low. Report as normal.


-- Edited by WinstonShnozwick on Wednesday 24th of February 2010 03:52:07 PM

__________________
Spoiler



Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

I can do sp tests, not mp.

__________________

Pwnmod





Status: Offline
Posts: 3852
Date:
Permalink Closed

I only do sp, mp is useless, I never go online.

__________________
Spoiler



Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

ok :)

__________________

Pwnmod



Birthday Boy

Status: Offline
Posts: 1150
Date:
Permalink Closed

Sign me up. I should be able to do it. And hopefully get a video up.

__________________
97lbf4.gifFear my epileptic dinosaur.


spamma

Status: Offline
Posts: 1669
Date:
Permalink Closed

You should post your new triggers in CASTWCRT :P

__________________

List of things to remember:
fuck tha ponies

Padilsop is God


Spoiler





Status: Offline
Posts: 3852
Date:
Permalink Closed

First test ready. Check main post.

__________________
Spoiler



moleelom

Status: Offline
Posts: 2583
Date:
Permalink Closed

Winston, I know you can't test this but if you go into notepad and copy a bunch of pagebreaks you can paste them into a chat, thus clearing the chat

so you could send a string of pagebreaks


Not that it makes a difference

__________________
Spoiler


Birthday Boy

Status: Offline
Posts: 1150
Date:
Permalink Closed

Worked perfectly, great trigger Winston. I don't think you really need a video , do you? It was quite a simple trigger. I typed 'A' four times and it removed them all, while keeping chat history.

__________________
97lbf4.gifFear my epileptic dinosaur.




Status: Offline
Posts: 3852
Date:
Permalink Closed

Wow very good charlie. I wanted that because like in combination effects, there is alot of text telling you what to do, but it gets cleared before you may have read it all, so this lets me do it while keeping the history still. Great, I like that.

And thymole? What do you mean, pagebreak like enter? Oh well, it works cleaner this way. Although guys, do know that if you had previous chats in before, and you scrolled up, this only scrolls down one page, so you still could have stuff on the screen.

__________________
Spoiler





Status: Offline
Posts: 3852
Date:
Permalink Closed

Two new tests up. They are new triggers.

__________________
Spoiler



Birthday Boy

Status: Offline
Posts: 1150
Date:
Permalink Closed

I'll try and get you the video of the player change random tomorrow. I don't have time for it now. And if WRP doesn't have time to do the god power I could do that too.

__________________
97lbf4.gifFear my epileptic dinosaur.


Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

Ok, I'll try the god power trigger.

__________________

Pwnmod



moleelom

Status: Offline
Posts: 2583
Date:
Permalink Closed

Yup like enters

it's fun to mess with people online by pushin their conversations off the screen and addig a

"Chat function error: history erased"

Or something :D

__________________
Spoiler


Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

I found errors testing your god powers trigger. I put in 5 triggers with 5 different gps. All of the triggers were active and run immediately. They all had Chat Contains as an effect, with different chats. 1 should have made player 1 bolt player 2's hoplite, 1 should have made p2 bolt p1's hoplite, 1 should have made mother nature bolt another of p1's hoplites, 1 should have made p1 invoke vortex (both p1 and p2 had 25 hoplites), 1 should have made p1 invoke restoration. No one of them worked. I tried to change the conditions to timers, but it didn't work. I activated the trigger loader but it didn't work. I'll submit a video when I'll find a program to register one.

-- Edited by WRP_Beater on Wednesday 17th of February 2010 12:52:04 PM

__________________

Pwnmod



Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

What software do you use to make videos?

__________________

Pwnmod





Status: Offline
Posts: 3852
Date:
Permalink Closed

go to www.nchsoftware.com , It has a video recording program. I use alot of their stuff, its pretty sweet.

__________________
Spoiler



moleelom

Status: Offline
Posts: 2583
Date:
Permalink Closed

How is that one different from the original grant and invoke gp?

__________________
Spoiler




Status: Offline
Posts: 3852
Date:
Permalink Closed

it helps by not needing to use both, compressing the grant and invoke into one, and also allows multiple casts of it, while you normally cant do so.

__________________
Spoiler



moleelom

Status: Offline
Posts: 2583
Date:
Permalink Closed

That already exists without the multiple invocations

and I also noticed that there is no source area param, even if it works you should add one because people will be confused

__________________
Spoiler


Birthday Boy

Status: Offline
Posts: 1150
Date:
Permalink Closed

I pasted the player change random into typetest 3 as I did with the clear chat, however, it did not appear ingame. I do not know the reason for this, but suspect it is because of the weird stuff you put in, I've never seen CDATA before. WRP, could you try putting it in your typetest to see if it appears?

__________________
97lbf4.gifFear my epileptic dinosaur.


Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

I have a typetest for downloaded triggers, it was still empty. This is my TypeDownload.xml:

<?xml version = "1.0"?>
<trigger version="2">
<Conditions>
</Conditions>
<Effects>
<Effect name="Grant/Invoke God Power(s)">
<Param name="PlayerID" dispName="Player" varType="player">0</Param>
<Param name="PowerName" dispName="Power" varType="godpower">default</Param>
<Param name="Count" dispName="Number" varType="float">0</Param>
<Param name="Object" dispName="Target 1" VarType="unit">default</Param>
<Param name="Object2" dispName="Target 2" VarType="unit">default</Param>
<Command>trQuestVarSet("fhweaohpgpagowhwa", xsGetContextPlayer());</Command>
<Command>xsSetContextPlayer(0);</Command>
<Command>kbLookAtAllUnitsOnMap();</Command>
<Command>trTechGodPower(%PlayerID%, "%PowerName%", %Count%);</Command>
<Command>for(cnt=%Count%;>0){</Command>
<Command>trUnitSelectClear();</Command>
<Command>trUnitSelect("%Object%");</Command>
<Command>trTechInvokeGodPower(%PlayerID%, "%PowerName%", vector(kbGetBlockPosition("%Object%"))), vector(kbGetBlockPosition("%Object2%"));}</Command>
<Command>xsSetContextPlayer(trQuestVarGet("fhweaohpgpagowhwa"));</Command>
</Effect>
</Effects>
</trigger>


__________________

Pwnmod





Status: Offline
Posts: 3852
Date:
Permalink Closed

So how is the progress then?

__________________
Spoiler



Birthday Boy

Status: Offline
Posts: 1150
Date:
Permalink Closed

I can't use it because when I paste it in it doesn't appear when I go to triggers, if anyone else could try pasting the trigger in their typetest and checking if it appears I would be grateful.

__________________
97lbf4.gifFear my epileptic dinosaur.


Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

Charlie, you can try to make a new typetest in which you'll add only that trigger. Copy and paste in Trigger2 one of your typetests, it will be i.e. Copy of TypeTest. Rename it to i.e. TypeWinston or w/e than open it with block notes. Delete everything so that it'll be empty, then copy and paste this code:

<?xml version = "1.0"?>
<trigger version="2">
<Conditions>
</Conditions>
<Effects>
<Effect name="Player Change Random">
<Param name="PlayerID0" dispName="Original Player" varType="float">0</Param>
<Param name="Number" dispName="Choice Number" varType="float">0</Param>
<Param name="PlayerID1" dispName="First Choice Player" varType="float">0</Param>
<Param name="PlayerID2" dispName="Second Choice Player" varType="float">0</Param>
<Param name="PlayerID3" dispName="Third Choice Player" varType="float">0</Param>
<Param name="PlayerID4" dispName="Fourth Choice Player" varType="float">0</Param>
<Param name="PlayerID5" dispName="Fifth Choice Player" varType="float">0</Param>
<Command>trQuestVarSetFromRand("IHFBDPCCPIGN", 1, %Number%, true);</Command>
<Command>for(PLAY=0;>1) {};</Command>
<Command>PLAY = trQuestVarGet("IHFBDPCCPIGN");</Command> 
<Command><![CDATA[if(PLAY==1 && trCurrentPlayer()==%PlayerID0%) trPlayerSetActive(%PlayerID1%);]></Command>
<Command><![CDATA[if(PLAY==2 && trCurrentPlayer()==%PlayerID0%) trPlayerSetActive(%PlayerID2%);]></Command>
<Command><![CDATA[if(PLAY==3 && trCurrentPlayer()==%PlayerID0%) trPlayerSetActive(%PlayerID3%);]></Command>
<Command><![CDATA[if(PLAY==4 && trCurrentPlayer()==%PlayerID0%) trPlayerSetActive(%PlayerID4%);]></Command>
<Command><![CDATA[if(PLAY==5 && trCurrentPlayer()==%PlayerID0%) trPlayerSetActive(%PlayerID5%);]></Command>
<Command>else trQuestVarSet("IHFBDPCCPIGN", 0);</Command>
</Effect>
</Effects>
</trigger>


-- Edited by WRP_Beater on Friday 19th of February 2010 04:18:41 AM

__________________

Pwnmod





Status: Offline
Posts: 3852
Date:
Permalink Closed

Ok, so just to clarify, the god power trigger does not work, and the player change random does? I shall put new tests in.

edit: New tests up

-- Edited by WinstonShnozwick on Wednesday 24th of February 2010 03:52:29 PM

__________________
Spoiler



Birthday Boy

Status: Offline
Posts: 1150
Date:
Permalink Closed

My typetest is screwed up I think. I'll try to fix it, but for now I might have some trouble doing tests.

__________________
97lbf4.gifFear my epileptic dinosaur.


Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

I'll test those ASAP.

__________________

Pwnmod



Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

I found an error in Group control: you didn't close a CDATA section.

<Command><![CDATA[if(%Choice1%==true && %Choice2%==true) uiCreateNumberGroup(%Group%);]></Command>

You fix it by putting:

<Command><![CDATA[if(%Choice1%==true && %Choice2%==true) uiCreateNumberGroup(%Group%);]]></Command>

There are 4 commands like this in Group Control. Fix them all. The other two triggers don't contain syntax errors. Now I'll test them.

__________________

Pwnmod



Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

The QV Randomize 2 trigger doesn't work to me.

__________________

Pwnmod



Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

Group Control causes my map to have a trigger lock.

__________________

Pwnmod



Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

If Group Control doesn't work, I can't know if Group Check does.
Also, QV Randomize 2 causes trigger lock to me.
Wow, 5 posts! Epic spam!

__________________

Pwnmod





Status: Offline
Posts: 3852
Date:
Permalink Closed

i am pretty sure that qv random 2 works, i used it in nomadican last before i lost my laptop and it works fine, i just wanted a confirmation

and the group control ones, well I dont know about those, how about charlie? and check the main post, the god power one is fixed try it. never mind here it is

<Effect name="Grant/Invoke God Power(s)">
<Param name="PlayerID" dispName="Player" varType="player">0</Param>
<Param name="PowerName" dispName="Power" varType="godpower">default</Param>
<Param name="Count" dispName="Number" varType="float">0</Param>
<Param name="Object" dispName="Target 1" VarType="unit">default</Param>
<Param name="Object2" dispName="Target 2" VarType="unit">default</Param>
<Command>trQuestVarSet("fhweaohpgpagowhwa", xsGetContextPlayer());</Command>
<Command>xsSetContextPlayer(0);</Command>
<Command>kbLookAtAllUnitsOnMap();</Command>
<Command>trTechGodPower(%PlayerID%, "%PowerName%", %Count%);</Command>
<Command>for(cnt=%Count%;>0){</Command> 
<Command>trUnitSelectClear();</Command>
<Command>trUnitSelect("%Object%");</Command>
<Command>trTechInvokeGodPower(%PlayerID%, "%PowerName%", vector(kbGetBlockPosition("%Object%")), vector(kbGetBlockPosition("%Object2%")));}</Command>
<Command>xsSetContextPlayer(trQuestVarGet("fhweaohpgpagowhwa"));</Command>
</Effect>


-- Edited by WinstonShnozwick on Friday 26th of February 2010 02:07:41 PM

__________________
Spoiler



Nomad

Status: Offline
Posts: 742
Date:
Permalink Closed

Lovely lovely code :D
May i ask Winston, you write all this code completely from scratch? I mean, without AoM to test it on, getting others to do this must be pretty awkward cause you cant get to see what they do yourself right?

__________________

--





Status: Offline
Posts: 3852
Date:
Permalink Closed

at first i just copied triggers then put in my own parts, now I just need to see another trigger to remember the layout, but I do write it all myself from scratch. And I do test them myself, well, when I had my laptop. These guys are helpful though.

__________________
Spoiler



Nomad

Status: Offline
Posts: 742
Date:
Permalink Closed

Sounds useful if your looking for a job in computers an stuff :D
(Use that in an argument to get your lappy back)

__________________

--





Status: Offline
Posts: 3852
Date:
Permalink Closed

Oh I know lots of computers, I am taking a class next year in school on programing, I pickit up fast.

__________________
Spoiler



moleelom

Status: Offline
Posts: 2583
Date:
Permalink Closed

I managed to smooth talk my way into skipping all of the programming courses and jumping into an AP class next year. What language does your school teach

__________________
Spoiler




Status: Offline
Posts: 3852
Date:
Permalink Closed

I dunno, it just said in the description that it would study computer languages and programming. Dark basic, one jack showed me, is one i would like to try. Search on google.

I saw in the courses there is a class "English as a Second Language", I wanted to take that one just for the humor as i am american born speaking english

__________________
Spoiler



moleelom

Status: Offline
Posts: 2583
Date:
Permalink Closed

Lol, ESL is just what you need...

Darkbasic looks neat (cheap too!).

I think that mine teaches either C++ or java. Nothing fun though, just boring practical stuff

__________________
Spoiler


Settler

Status: Offline
Posts: 27
Date:
Permalink Closed

Sup guys.

Good luck with this, debugging triggers isn't as easy as it looks, you've got to know what to test, and what changes to make and test again. It's great that Charlie and Beater are willing to give the time to help, but if they can only debug one step at a time and have to wait for your changes (and when debugging you can expect a lot of trial and error - does this work? no. does this work? no. does this work? no. does this work? yes!) I can imagine it'll be a slow process.

Anyway here's what I found.

Group Check works fine.
Group Control trigger locks.
QV Randomize 2 trigger locks.

I did a bit of debugging on Group Control (first by adding the missing square brackets pointed out by Beater - if you use NotePad++ that's an easy catch)

Then I commented each of the CDATA lines and tested until there was no trigger lock.
Commented all 4 CDATA lines - no trigger lock, that meant the error was in there.
Commented the CDATA lines one by one and found it was the bottom one causing trigger lock. I'll let you figure out why ;)
Spoiler


Here's the unfixed, but commented-until-it-doesn't-trigger-lock version.
[code]
<Effect name="Group Control">
<Param name="Group" dispName="Group Number (1-9)" VarType="long">0</Param>
<Param name="Unit" dispName="Group Unit(s) (1-30)" VarType="unit">default</Param>
<Param name="Mute" dispName="Selection Sound" VarType="bool">true</Param>
<Param name="Choice1" dispName="Group/Units" VarType="bool">true</Param>
<Param name="Choice2" dispName="Create/Delete Group" VarType="bool">true</Param>
<Param name="Choice3" dispName="Add/Subtract Units" VarType="bool">true</Param>
<Command>uiClearSelection();</Command>
<Command>if(%Mute%==false) trBlockAllSounds(true);</Command>
<Command>for(FP=0;>1){}</Command>
<Command>FP=trCurrentPlayer();</Command>
<Command>trPlayerSetActive(FP);</Command>
<Command>trUnitSelect("%Unit%");</Command>
<Command>for(err=0;>1){} for(id=0;>1){} id = kbGetUnitBaseTypeID(kbGetBlockID("%Unit%"));</Command>
<Command>if(trUnitIsOwnedBy(FP)){if(trUnitAlive()){</Command>
<Command>while(trUnitIsSelected()!=true) {err++;</Command>
<Command>uiFindType(kbGetProtoUnitName(id));</Command>
<Command>if(err>200) {break;}}}}</Command>
<Command>trPlayerSetActive(FP);</Command>
<Command><![CDATA[if(%Choice1%==true && %Choice2%==true) uiCreateNumberGroup(%Group%);]></Command>
<Command><![CDATA[if(%Choice1%==true && %Choice2%==false) uiClearNumberGroup(%Group%);]></Command>
<Command><![CDATA[if(%Choice1%==false && %Choice3%==true) uiAddSelectNumberGroup(%Group%);]></Command>
<!--Command><![CDATA[if(%Choice1%==false && %Choice3%==false) uiRemoveFromAnyNumberGroup(%Group%);]></Command-->
<Command>if(%Mute%==false) trUnblockAllSounds();</Command>
<Command>uiClearSelection();</Command>
</Effect>[/code]


QV Randomize 2 has two things wrong with it. First is the thing causing a trigger lock, which is just a typo. I'll save you the trouble of combing through it again: you have a semi-colon after the for loop where you initialize value.

The second problem is a logic problem. The final else statement is only connected to the if statement that directly precedes it, so your QV will always either be %Value5% or zero.
You can cut the "else" altogether, and there is a very very simple way of doing it so that the QV will be zero if value doesn't match up for some reason.

__________________


Mathematic Mod

Status: Offline
Posts: 1229
Date:
Permalink Closed

Ohai HTTO.

__________________

Pwnmod





Status: Offline
Posts: 3852
Date:
Permalink Closed

whoa, hey man, thanks for helping.

1) So then for the lines that initialize the for loop and value , do I never have a semicolon in any of those?

2) I see the group control now, but for that part, I was wondering, is there a ui command that lets you specify what group to remove from? because what if the unit is in multiple groups, but I only want to take it out of one of the groups. Is there a command? how could I do that?

__________________
Spoiler



Human Rogue

Status: Offline
Posts: 1085
Date:
Permalink Closed

hi Hail :)

__________________

padilsop socks

Page 1 of 1  sorted by
 
Quick Reply

Please log in to post quick replies.



Create your own FREE Forum
Report Abuse
Powered by ActiveBoard