Valhalla Legends Archive

Programming => Battle.net Bot Development => Topic started by: BaDDBLooD on August 11, 2004, 01:54 PM

Title: Statstring Question?
Post by: BaDDBLooD on August 11, 2004, 01:54 PM
I Seem to have some problems with Diablo2 statstring when recieving "Expansion", "Ladder" Flags.

If someone comes into a channel where my bot is located, and are using a diablo2 realm character.  If they are Ladder; every expansion character that comes in is pronounced ladder.  This is the same if a Expansion character comes in first.  What are the flags for Expansion, Ladder, Are there any known bugs?

Thanks in advance!

- BaDDBLooD
Title: Re:Statstring Question?
Post by: ChR0NiC on August 11, 2004, 07:12 PM
Hardcore = 0x04
Expansion = 0x20
Ladder = 0x40

You can just put them together for example Hardcore Expansion would be 0x24, and if no flags are present you have 0x0 which would be a standard character, you can find out more about how to handle flags at BNETDocs (http://bnetdocs.valhallalegends.com)
Title: Re:Statstring Question?
Post by: BaDDBLooD on August 11, 2004, 08:23 PM
Thanks.



       If hardcore Then
           If (Asc(P(26)) And &H8) Then Call strcpy(statbuf, "dead ")
           Call sprintf(statbuf, "level %s ", charlevel)
           If expansion Then
               If (Asc(P(26)) And &H60) = &H60 Then
                   Call sprintf(statbuf, "expansion hardcore Ladder ")
               Else
                   Call sprintf(statbuf, "expansion hardcore ")
               End If
           Else
               If (Asc(P(26)) And &H40) = &H40 Then
                   Call sprintf(statbuf, "standard hardcore Ladder ")
               Else
                   Call sprintf(statbuf, "standard hardcore ")
               End If
           End If
       Else
           Call sprintf(statbuf, "level %s ", charlevel)
           If expansion Then
               If (Asc(P(26)) And &H60) = &H60 Then
                   Call sprintf(statbuf, "expansion Ladder ")
               Else
                   Call sprintf(statbuf, "expansion ")
               End If
           Else
               If (Asc(P(26)) And &H40) = &H40 Then
                   Call sprintf(statbuf, "Standard Ladder ")
               Else
                   Call sprintf(statbuf, "Standard ")
               End If
           End If
       End If



Still does the same thing, Depending on which type of character joins ( Ladder / Non Ladder ).  It's like bias against them all.