Auto Invite / Accept + Move Members

Puppy

Active Member
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:
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:

alcor75

Well-Known Member
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
 

sorieus

Member
can someone update the Function inv so it works properly. Seems like buddy list no longer exist and this wants to use it.
 

guardian

Member
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
 

ZX9r

Active Member
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.
 

tinyromeo

Active Member
This is how I do it,
Code:
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.
 
Top Bottom