Discussion in 'Script Releases' started by Puppy, Sep 12, 2009.

  1. Puppy

    Puppy Active Member

    Messages:
    1
    Well, after seeing Alcor75's Quide and code regarding auto fleeting,

    I loved the idea but didnt want to run 2 different version of evebot.

    I also wanted the commander character to move himself to the squad command position once he was done makign the fleet.

    So 7 hours later, with some help from stealthy ( I say some help he did most of it )

    Code (Text):

    variable(script) bool shouldLoop = TRUE

    function main()
    {
        while 1
        {
            if ${Me.CharID} == XXXCOMMANDERCHARIDXXX
            {
                call Inv
            }
            else
            {
                call CheckForInvite
            }
        Wait 30
        call FleetPosition
        Wait 250
        }
    }

    function Inv()
    {
        variable int i
        variable int buddycount
        variable index:being buddylist
        buddycount:Set[${EVE.GetBuddies[buddylist]}]

        echo ${buddycount} Buddies, here we go!
        for (i:Set[1] ; ${i}<=${buddycount} ; i:Inc)
        {
            switch ${buddylist.Get[${i}].Name}
            {
                case XXXMEMBER1XXX
                if ${buddylist.Get[${i}].IsOnline} && !${Local[${buddylist.Get[${i}].Name}].ToFleetMember(exists)}
                buddylist[${i}]:InviteToFleet
                break
                case XXXMEMBER2XXX
                if ${buddylist.Get[${i}].IsOnline} && !${Local[${buddylist.Get[${i}].Name}].ToFleetMember(exists)}
                buddylist[${i}]:InviteToFleet
                break
                case XXMEMBER3XXX
                if ${buddylist.Get[${i}].IsOnline} && !${Local[${buddylist.Get[${i}].Name}].ToFleetMember(exists)}
                buddylist[${i}]:InviteToFleet
                break
            }
            wait 30
        }
    }
    function CheckForInvite()
    {
    Echo "Starting accept invite"
            if !${Me.Fleet.Invited} || ${Me.Fleet.Size}
            {
                if !${Local[XXXCOMMANDERCHANRNAMEXXX].ToFleetMember(exists)}
                    Me.Fleet:LeaveFleet
            }
            if ${Me.Fleet.Invited}
            {
                echo "I'm been invited"
                if ${Me.Fleet.InvitationText.Find[XXXCOMMANDERCHARNAMEXXX]}
                {
                echo "Accepting"
                wait 10
                    Me.Fleet:AcceptInvite
                }          
                else
                {
                echo "Rejecting"
                wait 10
                    Me.Fleet:RejectInvite
                }
                Wait 30
            }
    }
    function FleetPosition()
    {
        variable iterator Wing
        variable index:int64 Wings

        Me.Fleet:GetWings[Wings]
        Wings:GetIterator[Wing]
        if ${Wing:First(exists)}
        {
            variable index:int64 Squads
            variable iterator Squad
            do
            {
                Me.Fleet:GetSquads[Squads, ${Wing.Value}]
                Squads:GetIterator[Squad]
                if ${Squad:First(exists)}
                {
                    do
                    {
                    if (${wingID} != -1 && ${squadID} != -1)
                            {  
                            if ${Me.Fleet.IsFleetCommander}
                            {
                                echo "Moving From Fleet Command To Squad Command "
                                Me.ToPilot.ToFleetMember:MoveToSquadCommander[${Wing.Value},${Squad.Value}]
                            }              
                            }
                    }
                    while ${Squad:Next(exists)}
                }
            }
            while ${Wing:Next(exists)}
        }
    }
     
    Last edited: Sep 12, 2009
  2. alcor75

    alcor75 Well-Known Member

    Messages:
    29
    wery nice, tnx for this, i like this more than mine.

    Alcor75
  3. Freejack

    Freejack Member

    Messages:
    7
    I am not sure how to implement this. Can someone give me an idea?
  4. alcor75

    alcor75 Well-Known Member

    Messages:
    29
    hello guys, there are some problems with this script, the main one is that the fleet inviter is not muved to fleet commander role (and is a big lose since the fleet do not get bonus anymore) and the second one is that people invite keep blinking on and off the fleet ( i think that for some reason they do not see the inviter in local space and leave the fleet)
    If someone pls can correct the script i'm sure many would love him.

    Tnx in advance, i really hope someone can fix this since actually i do not have anymore the time i used to have to study and fix script.

    /bow
    Alcor75
  5. evepilot

    evepilot Member

    Messages:
    5
    Change
    ${Me.Fleet.IsFleetCommander}
    on
    ${Me.Fleet.Member[${Me.CharID}].Role.Equal[Leader]}
  6. sorieus

    sorieus Member

    Messages:
    1
    can someone update the Function inv so it works properly. Seems like buddy list no longer exist and this wants to use it.
  7. guardian

    guardian Member

    Messages:
    52
    I realize this is an older script, but i cannot get it to work.

    Error:No such 'eve' member 'GetBuddies' @${EVE.GetBuddies[buddylist]}
    0 Buddies, here we go!

    Repeats continuously
  8. ZX9r

    ZX9r Active Member

    Messages:
    18
    they will have to be in your friends list already, I know the system was changed a while back I think now they also have to have a + standings with you as well.
  9. aChallenged1

    aChallenged1 Active Member

    Messages:
    206
    Simple question, does this still work?
  10. guardian

    guardian Member

    Messages:
    52
    i never got it to work at all :(
  11. tinyromeo

    tinyromeo Active Member

    Messages:
    77
    This is how I do it,
    Code (Text):
    function main()
    {
        variable index:being Buddies
        variable iterator Iter
        EVE:GetBuddies[Buddies]
        Buddies:GetIterator[Iter]
        if ${Iter:First(exists)}
        do
        {
            Iter.Value:InviteToFleet
            wait 10
        }
        while ${Iter:Next(exists)}
    }
    This will invite EVERYONE in your contacts list though, friend or foe!!!
    I know, not really a fleet management tool, but for me this is 99% of the work.
    Then I just accept the invites manually, but I bet this could be done in script for the slaves and just waits to accept an invite. I have not worked more with the fleet datatype but a cursory glance reveals a member Fleet.Invited and method Fleet:AcceptInvite, so in combination those might work well. I dunno never really tried to hard at this.
    Beyond this I would imagine a proper fleet management tool will have to be custom built around your character names/ids. How do you identify who to make a commander? a member? invite at all? Now how do you do it for everyone else without hardcoding in your names or ids?
    Any luck and I can add this into yamfa later on when I get the configurations up and running, because in those you will be able to identify by name who will be in what fleet position.

Share This Page