Plugin: MQ2Rez

I don't CTD, when letting MQ2REZ auto accept rez and loot.
 
Loot All Items update ?

Any chance of getting this plugin updated to use the /lootall fucntion from loot window ??? Makes it a tad faster that way instead of still picking iteems up one slot at a time ( even though it does it pretty fast )
 
You're lucky that I'm reading these pages and bored! I'll work on it real quick. It's just the "/lootall" command? Or is it more?
 
oh man ...

thez,

I don't actually know if there is a /lootall command... I was refering to you making a call to the loot window and activating the Loot All button ... and not going through the routine to loot LootSlot by LootSlot.

I didnt mean to have you change the source code based on my assumption or faulty information.

I'm sorry for the confusion.

But would definately like to see a version of this .dll included in all future compile releases that has the ability to loot all items via the loot all button in loot window or use the shift-right-click method that they say thay also implemented.

From their patch message:
New Loot All Options: "Loot All" functionality has been added to corpses. This includes a "Loot All" button on the loot window and the ability to shift-right-click loot a corpse.
 
Last edited:
Anyone know if this actually passes the items through the cursor? That would make looting corpses when doing faction MUCH easier. MQ2Cursor and setup what you want to keep and what you don't then use a shift+rt_click in macros.
 
THD -- if you want me to fix it, I need you to PM me the following:

--The text of the loot window XML file in the ui folder.
--A screenshot of what the window looks like. This isn't necessary, but helps me to visualize, and tells me what to look for in the file.

Someone had also mentioned that the /rez % feature isn't working any more. To fix that, I need the following:

--The text of the window that handles rez acceptance -- this used to be ConfirmationDialogBox.xml -- if that has changed, I need the new file.
--A screenshot of the rez % window, with the text in there, in order to make sure that I am parsing correctly.

I offer no 100% guarantee on this, folks, but I'll do the best that I can without actually logging in to bug test.
 
thez,

I'm at work now but will get you the screenies when I get home tonight, or if I get time during lunch. Here are the XML files though.

EQUI_LootWnd.XML
Code:
<?xml version="1.0" ?>
<XML ID="EQInterfaceDefinitionLanguage">
    <Schema xmlns="EverQuestData" xmlns:dt="EverQuestDataTypes" />
    <Label item="LW_CorpseName">
        <ScreenID>LW_CorpseName</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>0</X>
            <Y>1</Y>
        </Location>
        <Size>
            <CX>100</CX>
            <CY>40</CY>
        </Size>
        <Text>Blahblahblah's Corpse</Text>
        <TextColor>
            <R>255</R>
            <G>255</G>
            <B>255</B>
        </TextColor>
        <NoWrap>false</NoWrap>
        <AlignCenter>true</AlignCenter>
        <AlignRight>false</AlignRight>
    </Label>
    <Button item="LW_BroadcastButton">
        <ScreenID>BroadcastButton</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>10</X>
            <Y>42</Y>
        </Location>
        <Size>
            <CX>80</CX>
            <CY>24</CY>
        </Size>
        <Style_Transparent>false</Style_Transparent>
        <!--<TooltipReference/>-->
        <Style_Checkbox>false</Style_Checkbox>
        <!--<RadioGroup/>-->
        <Text>Link all</Text>
        <TextColor>
            <R>255</R>
            <G>255</G>
            <B>255</B>
        </TextColor>
        <ButtonDrawTemplate>
            <Normal>A_BigBtnNormal</Normal>
            <Pressed>A_BigBtnPressed</Pressed>
            <Flyby>A_BigBtnFlyby</Flyby>
            <Disabled>A_BigBtnDisabled</Disabled>
            <PressedFlyby>A_BigBtnPressedFlyby</PressedFlyby>
        </ButtonDrawTemplate>
    </Button>
    <InvSlot item="LW_LootSlot0">
        <ScreenID>LW_LootSlot0</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>0</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5000</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot1">
        <ScreenID>LW_LootSlot1</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>0</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5001</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot2">
        <ScreenID>LW_LootSlot2</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>40</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5002</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot3">
        <ScreenID>LW_LootSlot3</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>40</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5003</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot4">
        <ScreenID>LW_LootSlot4</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>80</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5004</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot5">
        <ScreenID>LW_LootSlot5</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>80</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5005</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot6">
        <ScreenID>LW_LootSlot6</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>120</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5006</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot7">
        <ScreenID>LW_LootSlot7</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>120</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5007</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot8">
        <ScreenID>LW_LootSlot8</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>160</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5008</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot9">
        <ScreenID>LW_LootSlot9</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>160</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5009</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot10">
        <ScreenID>LW_LootSlot10</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>200</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5010</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot11">
        <ScreenID>LW_LootSlot11</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>200</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5011</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot12">
        <ScreenID>LW_LootSlot12</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>240</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5012</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot13">
        <ScreenID>LW_LootSlot13</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>240</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5013</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot14">
        <ScreenID>LW_LootSlot14</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>280</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5014</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot15">
        <ScreenID>LW_LootSlot15</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>280</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5015</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot16">
        <ScreenID>LW_LootSlot16</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>320</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5016</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot17">
        <ScreenID>LW_LootSlot17</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>320</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5017</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot18">
        <ScreenID>LW_LootSlot18</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>360</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5018</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot19">
        <ScreenID>LW_LootSlot19</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>360</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5019</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot20">
        <ScreenID>LW_LootSlot20</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>400</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5020</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot21">
        <ScreenID>LW_LootSlot21</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>400</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5021</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot22">
        <ScreenID>LW_LootSlot22</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>440</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5022</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot23">
        <ScreenID>LW_LootSlot23</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>440</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5023</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot24">
        <ScreenID>LW_LootSlot24</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>480</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5024</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot25">
        <ScreenID>LW_LootSlot25</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>480</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5025</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot26">
        <ScreenID>LW_LootSlot26</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>520</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5026</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot27">
        <ScreenID>LW_LootSlot27</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>520</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5027</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot28">
        <ScreenID>LW_LootSlot28</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>560</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5028</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot29">
        <ScreenID>LW_LootSlot29</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>560</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5029</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot30">
        <ScreenID>LW_LootSlot30</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>600</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5030</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <InvSlot item="LW_LootSlot31">
        <ScreenID>LW_LootSlot31</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>50</X>
            <Y>600</Y>
        </Location>
        <Size>
            <CX>40</CX>
            <CY>40</CY>
        </Size>
        <Background>A_RecessedBox</Background>
        <EQType>5031</EQType>
        <ItemOffsetX>2</ItemOffsetX>
        <ItemOffsetY>2</ItemOffsetY>
    </InvSlot>
    <Screen item="LW_LootInvWnd">
        <ScreenID>LootInvWnd</ScreenID>
        <!--<Font/>-->
        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>0</LeftAnchorOffset>
        <TopAnchorOffset>68</TopAnchorOffset>
        <RightAnchorOffset>0</RightAnchorOffset>
        <BottomAnchorOffset>56</BottomAnchorOffset>
        <RightAnchorToLeft>false</RightAnchorToLeft>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <Style_VScroll>true</Style_VScroll>
        <Style_Transparent>false</Style_Transparent>
        <!--<TooltipReference/>-->
        <DrawTemplate>WDT_Inner</DrawTemplate>
        <Pieces>LW_LootSlot0</Pieces>
        <Pieces>LW_LootSlot1</Pieces>
        <Pieces>LW_LootSlot2</Pieces>
        <Pieces>LW_LootSlot3</Pieces>
        <Pieces>LW_LootSlot4</Pieces>
        <Pieces>LW_LootSlot5</Pieces>
        <Pieces>LW_LootSlot6</Pieces>
        <Pieces>LW_LootSlot7</Pieces>
        <Pieces>LW_LootSlot8</Pieces>
        <Pieces>LW_LootSlot9</Pieces>
        <Pieces>LW_LootSlot10</Pieces>
        <Pieces>LW_LootSlot11</Pieces>
        <Pieces>LW_LootSlot12</Pieces>
        <Pieces>LW_LootSlot13</Pieces>
        <Pieces>LW_LootSlot14</Pieces>
        <Pieces>LW_LootSlot15</Pieces>
        <Pieces>LW_LootSlot16</Pieces>
        <Pieces>LW_LootSlot17</Pieces>
        <Pieces>LW_LootSlot18</Pieces>
        <Pieces>LW_LootSlot19</Pieces>
        <Pieces>LW_LootSlot20</Pieces>
        <Pieces>LW_LootSlot21</Pieces>
        <Pieces>LW_LootSlot22</Pieces>
        <Pieces>LW_LootSlot23</Pieces>
        <Pieces>LW_LootSlot24</Pieces>
        <Pieces>LW_LootSlot25</Pieces>
        <Pieces>LW_LootSlot26</Pieces>
        <Pieces>LW_LootSlot27</Pieces>
        <Pieces>LW_LootSlot28</Pieces>
        <Pieces>LW_LootSlot29</Pieces>
        <Pieces>LW_LootSlot30</Pieces>
        <Pieces>LW_LootSlot31</Pieces>
    </Screen>

    <Button item="LW_DoneButton">
        <ScreenID>DoneButton</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>2</LeftAnchorOffset>
        <TopAnchorOffset>26</TopAnchorOffset>
        <RightAnchorOffset>2</RightAnchorOffset>
        <BottomAnchorOffset>2</BottomAnchorOffset>
        <RightAnchorToLeft>false</RightAnchorToLeft>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <TopAnchorToTop>false</TopAnchorToTop>
        <Style_Transparent>false</Style_Transparent>
        <!--<TooltipReference/>-->
        <Style_Checkbox>false</Style_Checkbox>
        <!--<RadioGroup/>-->
        <Text>Done</Text>
        <TextColor>
            <R>255</R>
            <G>255</G>
            <B>255</B>
        </TextColor>
        <ButtonDrawTemplate>
            <Normal>A_BigBtnNormal</Normal>
            <Pressed>A_BigBtnPressed</Pressed>
            <Flyby>A_BigBtnFlyby</Flyby>
            <Disabled>A_BigBtnDisabled</Disabled>
            <PressedFlyby>A_BigBtnPressedFlyby</PressedFlyby>
        </ButtonDrawTemplate>
    </Button>


    <Button item="LW_LootAllButton">
        <ScreenID>LootAllButton</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>2</LeftAnchorOffset>
        <TopAnchorOffset>52</TopAnchorOffset>
        <RightAnchorOffset>2</RightAnchorOffset>
        <BottomAnchorOffset>28</BottomAnchorOffset>
        <RightAnchorToLeft>false</RightAnchorToLeft>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <TopAnchorToTop>false</TopAnchorToTop>
        <Style_Transparent>false</Style_Transparent>
        <!--<TooltipReference/>-->
        <Style_Checkbox>false</Style_Checkbox>
        <!--<RadioGroup/>-->
        <Text>Loot All</Text>
        <TextColor>
            <R>255</R>
            <G>255</G>
            <B>255</B>
        </TextColor>
        <ButtonDrawTemplate>
            <Normal>A_BigBtnNormal</Normal>
            <Pressed>A_BigBtnPressed</Pressed>
            <Flyby>A_BigBtnFlyby</Flyby>
            <Disabled>A_BigBtnDisabled</Disabled>
            <PressedFlyby>A_BigBtnPressedFlyby</PressedFlyby>
        </ButtonDrawTemplate>
    </Button>


    <Screen item="LootWnd">
        <!--<ScreenID/>-->
        <!--<Font/>-->
        <RelativePosition>false</RelativePosition>
        <Text>Loot</Text>
        <Style_VScroll>false</Style_VScroll>
        <Style_HScroll>false</Style_HScroll>
        <Style_Transparent>false</Style_Transparent>
        <!--<TooltipReference/>-->
        <DrawTemplate>WDT_Def</DrawTemplate>
        <Style_Titlebar>true</Style_Titlebar>
        <Style_Closebox>true</Style_Closebox>
        <Style_Minimizebox>false</Style_Minimizebox>
        <Style_Border>true</Style_Border>
        <Style_Sizable>true</Style_Sizable>
        <Location>
            <X>0</X>
            <Y>25</Y>
        </Location>
        <Size>
            <CX>120</CX>
            <CY>420</CY>
        </Size>
        <Style_Titlebar>false</Style_Titlebar>
        <Style_Closebox>false</Style_Closebox>
        <Style_Minimizebox>false</Style_Minimizebox>
        <Style_Border>true</Style_Border>
        <Style_Sizable>true</Style_Sizable>
        <Pieces>LW_CorpseName</Pieces>
        <Pieces>LW_LootInvWnd</Pieces>
        <Pieces>LW_BroadcastButton</Pieces>
        <Pieces>LW_DoneButton</Pieces>
        <Pieces>LW_LootAllButton</Pieces>
    </Screen>
</XML>

EQUI_ConfirmationDialog.XML
Code:
<?xml version = "1.0"?>
<XML ID = "EQInterfaceDefinitionLanguage">
    <Schema xmlns = "EverQuestData" xmlns:dt = "EverQuestDataTypes"/>
    
    <Button item = "CD_Yes_Button">

        <ScreenID>Yes_Button</ScreenID>

        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>2</LeftAnchorOffset>
        <TopAnchorOffset>22</TopAnchorOffset>
        <RightAnchorOffset>66</RightAnchorOffset>
        <BottomAnchorOffset>2</BottomAnchorOffset>
        <TopAnchorToTop>false</TopAnchorToTop>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <LeftAnchorToLeft>true</LeftAnchorToLeft>
        <RightAnchorToLeft>true</RightAnchorToLeft>
        <Style_Checkbox>false</Style_Checkbox>

        <Text>Yes</Text>

        <TextColor>
                <R>255</R>
                <G>255</G>
                <B>255</B>
        </TextColor>

        <ButtonDrawTemplate>
            <Normal>A_SmallBtnNormal</Normal>
            <Pressed>A_SmallBtnPressed</Pressed>
            <Flyby>A_SmallBtnFlyby</Flyby>
            <Disabled>A_SmallBtnDisabled</Disabled>
            <PressedFlyby>A_SmallBtnPressedFlyby</PressedFlyby>
        </ButtonDrawTemplate>

    </Button>

    <Button item = "CD_No_Button">
    
        <ScreenID>No_Button</ScreenID>

        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>66</LeftAnchorOffset>
        <TopAnchorOffset>22</TopAnchorOffset>
        <RightAnchorOffset>2</RightAnchorOffset>
        <BottomAnchorOffset>2</BottomAnchorOffset>
        <TopAnchorToTop>false</TopAnchorToTop>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <LeftAnchorToLeft>false</LeftAnchorToLeft>
        <RightAnchorToLeft>false</RightAnchorToLeft>
        <Style_Checkbox>false</Style_Checkbox>

        <Text>No</Text>

        <TextColor>
                <R>255</R>
                <G>255</G>
                <B>255</B>
        </TextColor>

        <ButtonDrawTemplate>
            <Normal>A_SmallBtnNormal</Normal>
            <Pressed>A_SmallBtnPressed</Pressed>
            <Flyby>A_SmallBtnFlyby</Flyby>
            <Disabled>A_SmallBtnDisabled</Disabled>
            <PressedFlyby>A_SmallBtnPressedFlyby</PressedFlyby>
        </ButtonDrawTemplate>

    </Button>

    <Button item = "CD_OK_Button">

        <ScreenID>OK_Button</ScreenID>

        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>105</LeftAnchorOffset>
        <TopAnchorOffset>22</TopAnchorOffset>
        <RightAnchorOffset>169</RightAnchorOffset>
        <BottomAnchorOffset>2</BottomAnchorOffset>
        <TopAnchorToTop>false</TopAnchorToTop>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <LeftAnchorToLeft>true</LeftAnchorToLeft>
        <RightAnchorToLeft>true</RightAnchorToLeft>
        <Style_Checkbox>false</Style_Checkbox>

        <Text>Ok</Text>

        <TextColor>
                <R>255</R>
                <G>255</G>
                <B>255</B>
        </TextColor>

        <ButtonDrawTemplate>
            <Normal>A_SmallBtnNormal</Normal>
            <Pressed>A_SmallBtnPressed</Pressed>
            <Flyby>A_SmallBtnFlyby</Flyby>
            <Disabled>A_SmallBtnDisabled</Disabled>
            <PressedFlyby>A_SmallBtnPressedFlyby</PressedFlyby>
        </ButtonDrawTemplate>

    </Button>

    <StaticText item ="CD_StaticText1">
        <ScreenID>Text1</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>5</Y>
        </Location>
        <Size>
            <CX>96</CX>
            <CY>100</CY>
        </Size>
        <Text>UTF16:00410042AC01AC02AC03AC04AC05</Text>
        <TextColor>
                <R>255</R>
                <G>0</G>
                <B>0</B>
        </TextColor>
        <NoWrap>false</NoWrap>
        <AlignCenter>false</AlignCenter>
        <AlignRight>false</AlignRight>
    </StaticText>

    <STMLbox item = "CD_TextOutput">

        <ScreenID>TextOutput</ScreenID>
        <DrawTemplate>WDT_Inner</DrawTemplate>

        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>2</LeftAnchorOffset>
        <TopAnchorOffset>2</TopAnchorOffset>
        <RightAnchorOffset>2</RightAnchorOffset>
        <BottomAnchorOffset>24</BottomAnchorOffset>
        <TopAnchorToTop>true</TopAnchorToTop>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <LeftAnchorToLeft>true</LeftAnchorToLeft>
        <RightAnchorToLeft>false</RightAnchorToLeft>
        <Style_Checkbox>false</Style_Checkbox>
        <Style_VScroll>true</Style_VScroll>

    </STMLbox>

    <Screen item = "ConfirmationDialogBox">
        <!--<ScreenID/>-->
        <!--<Font/>-->
        <RelativePosition>false</RelativePosition>
        <Location>
            <X>550</X>
            <Y>350</Y>
        </Location>
        <Size>
            <CX>274</CX>
            <CY>200</CY>
        </Size>
        <Style_Transparent>false</Style_Transparent>
        <!--<TooltipReference/>-->
        <DrawTemplate>WDT_Rounded</DrawTemplate>
        <Style_Titlebar>true</Style_Titlebar>
        <Style_Closebox>false</Style_Closebox>
        <Style_Minimizebox>false</Style_Minimizebox>
        <Style_Border>true</Style_Border>
        <Style_Sizable>true</Style_Sizable>
        <Pieces>CD_Yes_Button</Pieces>
        <Pieces>CD_No_Button</Pieces>
        <Pieces>CD_OK_Button</Pieces>
        <Pieces>CD_TextOutput</Pieces>
    </Screen>

</XML>

This is the Hover window, or Respawn window as EQ calls it.
EQUI_RespawnWnd.XML
Code:
<?xml version = "1.0"?>
<XML ID = "EQInterfaceDefinitionLanguage">
    <Schema xmlns = "EverQuestData" xmlns:dt = "EverQuestDataTypes"/>
    
    <Button item = "CD_Yes_Button">

        <ScreenID>Yes_Button</ScreenID>

        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>2</LeftAnchorOffset>
        <TopAnchorOffset>22</TopAnchorOffset>
        <RightAnchorOffset>66</RightAnchorOffset>
        <BottomAnchorOffset>2</BottomAnchorOffset>
        <TopAnchorToTop>false</TopAnchorToTop>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <LeftAnchorToLeft>true</LeftAnchorToLeft>
        <RightAnchorToLeft>true</RightAnchorToLeft>
        <Style_Checkbox>false</Style_Checkbox>

        <Text>Yes</Text>

        <TextColor>
                <R>255</R>
                <G>255</G>
                <B>255</B>
        </TextColor>

        <ButtonDrawTemplate>
            <Normal>A_SmallBtnNormal</Normal>
            <Pressed>A_SmallBtnPressed</Pressed>
            <Flyby>A_SmallBtnFlyby</Flyby>
            <Disabled>A_SmallBtnDisabled</Disabled>
            <PressedFlyby>A_SmallBtnPressedFlyby</PressedFlyby>
        </ButtonDrawTemplate>

    </Button>

    <Button item = "CD_No_Button">
    
        <ScreenID>No_Button</ScreenID>

        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>66</LeftAnchorOffset>
        <TopAnchorOffset>22</TopAnchorOffset>
        <RightAnchorOffset>2</RightAnchorOffset>
        <BottomAnchorOffset>2</BottomAnchorOffset>
        <TopAnchorToTop>false</TopAnchorToTop>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <LeftAnchorToLeft>false</LeftAnchorToLeft>
        <RightAnchorToLeft>false</RightAnchorToLeft>
        <Style_Checkbox>false</Style_Checkbox>

        <Text>No</Text>

        <TextColor>
                <R>255</R>
                <G>255</G>
                <B>255</B>
        </TextColor>

        <ButtonDrawTemplate>
            <Normal>A_SmallBtnNormal</Normal>
            <Pressed>A_SmallBtnPressed</Pressed>
            <Flyby>A_SmallBtnFlyby</Flyby>
            <Disabled>A_SmallBtnDisabled</Disabled>
            <PressedFlyby>A_SmallBtnPressedFlyby</PressedFlyby>
        </ButtonDrawTemplate>

    </Button>

    <Button item = "CD_OK_Button">

        <ScreenID>OK_Button</ScreenID>

        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>105</LeftAnchorOffset>
        <TopAnchorOffset>22</TopAnchorOffset>
        <RightAnchorOffset>169</RightAnchorOffset>
        <BottomAnchorOffset>2</BottomAnchorOffset>
        <TopAnchorToTop>false</TopAnchorToTop>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <LeftAnchorToLeft>true</LeftAnchorToLeft>
        <RightAnchorToLeft>true</RightAnchorToLeft>
        <Style_Checkbox>false</Style_Checkbox>

        <Text>Ok</Text>

        <TextColor>
                <R>255</R>
                <G>255</G>
                <B>255</B>
        </TextColor>

        <ButtonDrawTemplate>
            <Normal>A_SmallBtnNormal</Normal>
            <Pressed>A_SmallBtnPressed</Pressed>
            <Flyby>A_SmallBtnFlyby</Flyby>
            <Disabled>A_SmallBtnDisabled</Disabled>
            <PressedFlyby>A_SmallBtnPressedFlyby</PressedFlyby>
        </ButtonDrawTemplate>

    </Button>

    <StaticText item ="CD_StaticText1">
        <ScreenID>Text1</ScreenID>
        <!--<Font>3</Font>-->
        <RelativePosition>true</RelativePosition>
        <Location>
            <X>5</X>
            <Y>5</Y>
        </Location>
        <Size>
            <CX>96</CX>
            <CY>100</CY>
        </Size>
        <Text>UTF16:00410042AC01AC02AC03AC04AC05</Text>
        <TextColor>
                <R>255</R>
                <G>0</G>
                <B>0</B>
        </TextColor>
        <NoWrap>false</NoWrap>
        <AlignCenter>false</AlignCenter>
        <AlignRight>false</AlignRight>
    </StaticText>

    <STMLbox item = "CD_TextOutput">

        <ScreenID>TextOutput</ScreenID>
        <DrawTemplate>WDT_Inner</DrawTemplate>

        <RelativePosition>true</RelativePosition>
        <AutoStretch>true</AutoStretch>
        <LeftAnchorOffset>2</LeftAnchorOffset>
        <TopAnchorOffset>2</TopAnchorOffset>
        <RightAnchorOffset>2</RightAnchorOffset>
        <BottomAnchorOffset>24</BottomAnchorOffset>
        <TopAnchorToTop>true</TopAnchorToTop>
        <BottomAnchorToTop>false</BottomAnchorToTop>
        <LeftAnchorToLeft>true</LeftAnchorToLeft>
        <RightAnchorToLeft>false</RightAnchorToLeft>
        <Style_Checkbox>false</Style_Checkbox>
        <Style_VScroll>true</Style_VScroll>

    </STMLbox>

    <Screen item = "ConfirmationDialogBox">
        <!--<ScreenID/>-->
        <!--<Font/>-->
        <RelativePosition>false</RelativePosition>
        <Location>
            <X>550</X>
            <Y>350</Y>
        </Location>
        <Size>
            <CX>274</CX>
            <CY>200</CY>
        </Size>
        <Style_Transparent>false</Style_Transparent>
        <!--<TooltipReference/>-->
        <DrawTemplate>WDT_Rounded</DrawTemplate>
        <Style_Titlebar>true</Style_Titlebar>
        <Style_Closebox>false</Style_Closebox>
        <Style_Minimizebox>false</Style_Minimizebox>
        <Style_Border>true</Style_Border>
        <Style_Sizable>true</Style_Sizable>
        <Pieces>CD_Yes_Button</Pieces>
        <Pieces>CD_No_Button</Pieces>
        <Pieces>CD_OK_Button</Pieces>
        <Pieces>CD_TextOutput</Pieces>
    </Screen>

</XML>
 
Code:
Updated on first page.
 
Last edited:
The code should now look like it was coded by someone who had an idea of how to make code readable, rather than a monkey with space-bar Tourette's.

s0rcier will be upset :) lol, j/k bro.

Glad to see someone care about code readability.
 
Part of that was my own shitty code, too -- I haven't looked at that code since before I took a few programming classes. Having looked at it now, after actually getting taught the stuff in an organized fashion, rather than teaching myself...I had to restrain myself from just rewriting the old onPulse function from scratch...and also from keeling over in shock, lol.
 
Anyone used this yet? Is it working as intended?

Spoke to Vlad ... the fixes you made arent planned to be incorporated into the new compile today. Vlad asked me to remind him to compile your altered version .. so that I can test it out myself and respond with feedback.

So once i see the regular compile is posted.. i'll bug .. uhhmm.. i mean remind him I need the special compile of that .dll with your changes.. for testing.

Should not take long for me to run it trough the mill ... ( yipee for my pocket cleric ! )

Will post here and as well to vlad with results.
 
Again, if someone can get me some screen shots of the window that pops up telling you what % rez you're getting, I can look into fixing that feature. I figure that the wording must have changed, or something, or it's in a different window now.
 
3 compiler errors later...

Code:
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//
// Project: MQ2Rez.cpp
// Author: TheZ, made from an amalgamation of dewey and s0rcier's code
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//

#include "../MQ2Plugin.h"
PreSetup("MQ2Rez");
#include <map>

#define    PLUGIN_FLAG      0xF9FF      // Plugin Auto-Pause Flags (see InStat)
#define    NOID        -1
DWORD               Initialized =false;             // Plugin Initialized?
DWORD               Conditions  =false;             // Window Conditions and Character State
DWORD               SkipExecuted=false;             // Skip Executed Timer
PCONTENTS   CursorContents();
long        InStat();
long        SetBOOL(long Cur, PCHAR Val, PCHAR Sec="", PCHAR Key="");
long        SetLONG(long Cur, PCHAR Val, PCHAR Sec="", PCHAR Key="", bool ZeroIsOff=false);
void        WinClick(CXWnd *Wnd, PCHAR ScreenID, PCHAR ClickNotification, DWORD KeyState=0);
bool        WinState(CXWnd *Wnd);
long       LootMeHandle      = false;    // LootMe Handle?
long       LootMeHandle2      = false;
char       CorpseName[128];              // Corpse Name?
long       AutoRezAccept  = false;    // Take Rez box?
int        AutoRezPct     = 0;        // Take Rez %
long       AutoRezSpawn    = false;    // Let respawn window time out or port to bind.
long ClickWait=0;
long LootWait=0;
long RezDone = false;
long RezClicked = false;
char szCommand[MAX_STRING];
long RezCommandOn = false;
char szTemp[MAX_STRING];
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//

bool WinState(CXWnd *Wnd) {
  return (Wnd && ((PCSIDLWND)Wnd)->Show);
}

void WinClick(CXWnd *Wnd, PCHAR ScreenID, PCHAR ClickNotification, DWORD KeyState) {
  if(Wnd) if(CXWnd *Child=Wnd->GetChildItem(ScreenID)) {
    BOOL KeyboardFlags[4];
    *(DWORD*)&KeyboardFlags=*(DWORD*)&((PCXWNDMGR)pWndMgr)->KeyboardFlags;
    *(DWORD*)&((PCXWNDMGR)pWndMgr)->KeyboardFlags=KeyState;
    SendWndClick2(Child,ClickNotification);
    *(DWORD*)&((PCXWNDMGR)pWndMgr)->KeyboardFlags=*(DWORD*)&KeyboardFlags;
  }
}

long SetLONG(long Cur,PCHAR Val, PCHAR Sec, PCHAR Key, bool ZeroIsOff,long Maxi) {
  char ToStr[16]; char Buffer[128]; long Result=atol(Val);
  if(Result && Result>Maxi) Result=Maxi; itoa(Result,ToStr,10);
  if(Sec[0] && Key[0]) WritePrivateProfileString(Sec,Key,ToStr,INIFileName);
  sprintf(Buffer,"%s::%s (\ag%s\ax)",Sec,Key,(ZeroIsOff && !Result)?"\aroff":ToStr);
  WriteChatColor(Buffer);
  return Result;
}

long SetBOOL(long Cur, PCHAR Val, PCHAR Sec, PCHAR Key) {
  char buffer[128]; long result=0;
  if(!strnicmp(Val,"false",5) || !strnicmp(Val,"off",3) || !strnicmp(Val,"0",1))    result=0;
  else if(!strnicmp(Val,"true",4) || !strnicmp(Val,"on",2) || !strnicmp(Val,"1",1)) result=1;
  else result=(!Cur)&1;
  if(Sec[0] && Key[0]) WritePrivateProfileString(Sec,Key,result?"1":"0",INIFileName);
  sprintf(buffer,"%s::%s (%s)",Sec,Key,result?"\agon\ax":"\agoff\ax");
  WriteChatColor(buffer);
  return result;
}

long InStat() {
  Conditions=0x00000000;
  if(WinState(FindMQ2Window("GuildTributeMasterWnd")))                  Conditions|=0x0001;
  if(WinState(FindMQ2Window("TributeMasterWnd")))                       Conditions|=0x0002;
  if(WinState(FindMQ2Window("GuildBankWnd")))                           Conditions|=0x0004;
  if(WinState((CXWnd*)pTradeWnd))                                       Conditions|=0x0008;
  if(WinState((CXWnd*)pMerchantWnd))                                    Conditions|=0x0010;
  if(WinState((CXWnd*)pBankWnd))                                        Conditions|=0x0020;
  if(WinState((CXWnd*)pGiveWnd))                                        Conditions|=0x0040;
  if(WinState((CXWnd*)pSpellBookWnd))                                   Conditions|=0x0080;
  if(WinState((CXWnd*)pLootWnd))                                        Conditions|=0x0200;
  if(WinState((CXWnd*)pInventoryWnd))                                   Conditions|=0x0400;
  if(WinState((CXWnd*)pCastingWnd))                                     Conditions|=0x1000;
  if(GetCharInfo()->standstate==STANDSTATE_CASTING)                     Conditions|=0x2000;
  if(((((PSPAWNINFO)pCharSpawn)->CastingAnimation)&0xFF)!=0xFF)         Conditions|=0x4000;
  if(GetCharInfo()->Stunned)                                            Conditions|=0x0100;
  if((Conditions&0x0600)!=0x0600 && (Conditions&0x0600))                Conditions|=0x0800;
  return Conditions;
}


//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//

bool GotCorpseName(PSTR Buffer) {
  Buffer[0]=0;
  if(pLootWnd) if(CXWnd *Child=(CXWnd*)pLootWnd->GetChildItem("LW_CorpseName")) {
    char InputCXStr[128];
    ZeroMemory(InputCXStr,sizeof(InputCXStr));
    GetCXStr(Child->WindowText,InputCXStr,sizeof(InputCXStr));
    if(PCHAR CorpsePTR=strstr(InputCXStr,"'s corpse")) CorpsePTR[0]=0;
    if(!pActiveCorpse && InputCXStr[0]) SetCXStr(&Child->WindowText,Buffer);
    else strcpy(Buffer,InputCXStr);
  }
  return (Buffer[0]!=0);
}

bool IsWindowOpen(PCHAR WindowName){
   PCSIDLWND pWnd=(PCSIDLWND)FindMQ2Window(WindowName);
   if (!pWnd) return false;
   return (BOOL)pWnd->Show;
}

int ExpRezBox(void) {
   CXWnd *Child;
   CXWnd *pWnd;
   char InputCXStr[128],*p;
   int v;

   pWnd=(CXWnd *)FindMQ2Window("ConfirmationDialogBox");
   if(pWnd)
   {
      if (((PCSIDLWND)(pWnd))->Show==0) return -1;
      Child=pWnd->GetChildItem("CD_TextOutput");
      if(Child)
      {
         ZeroMemory(InputCXStr,sizeof(InputCXStr));
         GetCXStr(Child->SidlText,InputCXStr,sizeof(InputCXStr));
         p = strstr(InputCXStr,"(");
         if (!p) return -1;
         v = atoi(p+1);
         p = strstr(p,"percent");
         if (!p) return -1;

         return v;
      }
   }
   return -1;
}

void AutoRezCommand(PSPAWNINFO pCHAR, PCHAR zLine) {
  bool ShowInfo=false;
  bool NeedHelp=false;
  char Parm1[MAX_STRING];
  char Parm2[MAX_STRING];
  GetArg(Parm1,zLine,1);
  GetArg(Parm2,zLine,2);

  if(!stricmp("help",Parm1)) NeedHelp=true;
//Accept rez?
  else if(!stricmp("accept",Parm1) && (!stricmp("on",Parm2)))
     AutoRezAccept=SetBOOL(AutoRezAccept ,Parm2 ,"MQ2Rez","Accept");
  else if(!stricmp("accept",Parm1) && (!stricmp("off",Parm2)))
     AutoRezAccept=SetBOOL(AutoRezAccept ,Parm2,"MQ2Rez","Accept");
//What percent?
  else if(!stricmp("pct",Parm1)) {
     WritePrivateProfileString("MQ2Rez","RezPct",Parm2,INIFileName);
     AutoRezPct=atoi(Parm2);
  }
//Should I spawn first?
  else if(!stricmp("spawn",Parm1) && (!stricmp("on",Parm2)))
     AutoRezSpawn=SetBOOL(AutoRezSpawn ,Parm2 ,"MQ2Rez","Spawn");
  else if(!stricmp("spawn",Parm1) && (!stricmp("off",Parm2)))
     AutoRezSpawn=SetBOOL(AutoRezSpawn ,Parm2,"MQ2Rez","Spawn");
//Should I loot my corpse?
  else if(!stricmp("loot",Parm1) && (!stricmp("on",Parm2)))
        LootMeHandle=SetBOOL(LootMeHandle ,Parm2 ,"MQ2Rez","Active");
  else if(!stricmp("loot",Parm1) && !stricmp("off",Parm2))
        LootMeHandle=SetBOOL(LootMeHandle ,Parm2,"MQ2Rez","Active");
//Do I want a command executed after being rezed?
  else if(!stricmp("command",Parm1) && !stricmp("on",Parm2))
        RezCommandOn=SetBOOL(RezCommandOn ,Parm2,"MQ2Rez","RezCommandOn");
  else if(!stricmp("command",Parm1) && !stricmp("off",Parm2))
        RezCommandOn=SetBOOL(RezCommandOn ,Parm2,"MQ2Rez","RezCommandOn");
//What command should I execute?
 else if(!stricmp("setcommand",Parm1)) {
      WritePrivateProfileString("MQ2Rez","Command Line",Parm2,INIFileName);
      WriteChatf("Command set to: \ag%s\ax",Parm2);
  }
//Help??
  else if(!stricmp("",Parm1)) {
     ShowInfo=TRUE;
     NeedHelp=TRUE;
  }

  if(NeedHelp) {
   WriteChatColor("Usage:");
   WriteChatColor("/rez -> displays settings");
   WriteChatColor("/rez accept on|off -> Toggle auto-accepting rezbox");
   WriteChatColor("/rez spawn  on|off -> Toggles going to bind point after death");
   WriteChatColor("/rez pct # -> Autoaccepts rezes only if they are higher than # percent");
   WriteChatColor("/rez loot on|off -> Toggle looting corpse when opened and when rezzed");
   WriteChatColor("/rez command on|off -> Toggle use of a command after looting out corpse");
   WriteChatColor("/rez setcommand mycommand -> Set the command that you want.");
   WriteChatColor("/rez help");
  }
  if (ShowInfo) {
     WriteChatf("MQ2Rez Accept(\ag%s\ax).",(AutoRezAccept?"on":"off"));
     WriteChatf("MQ2Rez Spawn(\ag%s\ax).",(AutoRezSpawn?"on":"off"));
     WriteChatf("MQ2Rez Loot(\ag%s\ax).",(LootMeHandle?"on":"off"));
     WriteChatf("MQ2Rez AcceptPct(\ag%d\ax).",AutoRezPct);
     WriteChatf("MQ2Rez Command(\ag%s\ax).",(RezCommandOn?"on":"off"));
     strcpy(szTemp,szCommand);
     WriteChatf("Command line set to: \ag%s\ax",szTemp);
  }
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//

PLUGIN_API VOID SetGameState(DWORD GameState) {
  if(GameState==GAMESTATE_INGAME) {
    if(!Initialized) {
      Initialized=true;
      sprintf(INIFileName,"%s\\%s_%s.ini",gszINIPath,EQADDR_SERVERNAME,GetCharInfo()->Name);
      LootMeHandle =GetPrivateProfileInt("MQ2Rez","Active" ,0,INIFileName);
      AutoRezAccept=GetPrivateProfileInt("MQ2Rez","Accept" ,0,INIFileName);
      AutoRezSpawn =GetPrivateProfileInt("MQ2Rez","Spawn"  ,0,INIFileName);
      AutoRezPct   =GetPrivateProfileInt("MQ2Rez","RezPct" ,0,INIFileName);
      RezCommandOn =GetPrivateProfileInt("MQ2Rez","RezCommandOn" ,0,INIFileName);
      GetPrivateProfileString("MQ2Rez","Command Line","DISABLED",szTemp,MAX_STRING,INIFileName);
      if(!strcmp(szTemp,"DISABLED"))RezCommandOn = false;
      else strcpy(szCommand,szTemp);
    }
  } else if(GameState!=GAMESTATE_LOGGINGIN) {
    if(Initialized) {
        LootMeHandle=0;
        Initialized=0;
    }
  }
}

VOID Rezzy(PSPAWNINFO pChar, PCHAR szLine) {
    DoCommand(GetCharInfo()->pSpawn,"/squelch /notify RespawnWnd RW_OptionsList listselect 2");
    DoCommand(GetCharInfo()->pSpawn,"/squelch /notify RespawnWnd RW_SelectButton leftmouseup");
    RezClicked = true;
}

PLUGIN_API VOID InitializePlugin() {
  AddCommand("/rezzme",Rezzy);
  AddCommand("/rez",AutoRezCommand);
}

PLUGIN_API VOID ShutdownPlugin() {
  RemoveCommand("/rez");
  RemoveCommand("/rezzme");
}

//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//

PLUGIN_API VOID OnPulse() {
    if (!AutoRezAccept && LootMeHandle) LootMeHandle2= true;
    if (RezClicked && ClickWait>35) {
        DoCommand(GetCharInfo()->pSpawn,"/squelch /notify RespawnWnd RW_OptionsList listselect 2");
        if(ClickWait>75) return;
        DoCommand(GetCharInfo()->pSpawn,"/squelch /notify RespawnWnd RW_SelectButton leftmouseup");
        ClickWait=0;
        RezClicked=false;
        RezDone = true;
        return;
    } else if(RezClicked) {
        ClickWait++;
        return;
    }

    if(RezDone && LootWait>35) {
        DoCommand(GetCharInfo()->pSpawn,"/target mycorpse");
        if(LootWait>65) return;
        DoCommand(GetCharInfo()->pSpawn,"/multiline ; /corpse ; /pause 2 ; /loot");
        if(LootWait>75) return;
        LootWait=0;
        RezDone=false;
        if(LootMeHandle) LootMeHandle2 = true;
        return;
    } else if(RezDone){
        LootWait++;
        return;
    }

    bool RespawnWndCnt = false;
    bool RezBoxCnt = false;
    RespawnWndCnt = IsWindowOpen("RespawnWnd");
    RezBoxCnt = AutoRezAccept && ExpRezBox()>=AutoRezPct;

    if (AutoRezSpawn && RespawnWndCnt) {
        WinClick(FindMQ2Window("RespawnWnd"),"RW_SelectButton","leftmouseup",1);
        return;
    }

    if (AutoRezAccept && RezBoxCnt) {
        WriteChatColor("Accepting Rez now");
        WinClick(FindMQ2Window("ConfirmationDialogBox"),"Yes_Button","leftmouseup",1);
        RezClicked = true;
    }

    if(Initialized && gbInZone && pCharSpawn && GetCharInfo2() && !(PLUGIN_FLAG&InStat()) &&
        GotCorpseName(CorpseName) && LootMeHandle2 && ((PSPAWNINFO)pCharSpawn)->CastingSpellID==NOID) {
            if(!stricmp(CorpseName,GetCharInfo()->Name)) return;
            WriteChatf("MQ2Rez::\ayLOOTING\ax <\ag%s\ax>.",CorpseName);
            WinClick(FindMQ2Window("LootWnd"),"LootAllButton","leftmouseup",1);
            if(RezCommandOn) HideDoCommand(GetCharInfo()->pSpawn, szCommand, FromPlugin);
    }
}
 

Attachments

  • MQ2Rez.dll
    132 KB · Views: 6
JJ -- Yes, that would be great.

Vlad -- Whoops...well, 3 errors ain't bad when I didn't even try to run it through the compiler first. Did you do any field tests, or just check it for compiling?
 
Hmmm

Ok,

Did several tests. It accepts the rez according to the parameters in my toons config. It will only accept the % of rez I have set, and will ignore lower % rezes than what is set to.

All other functions such as Spawn, Accept, Accept%, Command work fine.


It fails to loot the corpse at all though.

When the loot option is turned off this issue does not occur, so the activation / deactivation of loot option fucntions, just not the actual looting part.

When a rez is accepted, it pauses for 2 seconds, selects the option to return to my corpse, targets my corpse, pauses, calls the corpse into range ( i assume with a /corpse command ) and then errors.

MQ2 window displays a command call for: Pausee 2

( thats exactly as it was spelled out )

With the following error below it:
DoCommand - Couldn't parse 'e 2'
( thats a 'e<singlespace>2' )