Dunque con delle ricerche su questo sottoforum ho trovato parecchia gente che cercava questo script autologin, che funzionasse qui su uodreams, ho visto che qualcuno ha postato una versione simile ma che dava problemi, io vi posto questa versione, funzionante (perchè la uso da 4 giorni, senza alcun accorgimento particolare ne problemi), spero vi torni utile, perchè col search qui sul forum non l'ho trovato.
codice:
;==================================
; Script Name: FullAutoLogin
; Author: Kal
; Version: 1.50
; Client Tested with: 4.06a
; EUO version tested with: 1.42.009C
; Shard OSI / FS: OSI
; Revision Date: 23/12/04
; Public Release: 2/12/04
; Global Variables Used:
; Purpose: Auto Login with shard selection
;==================================
;-----------------------User Vars---------------------------------------------
set %myaccount default ; tuo username (lascia default per usare l'ultimo.)
set %mypass tuapassword ; tua password
set %mycharnum 2 ; il numero del pg che vuoi loggare (es, 2° pg in lista, metti 2)
set %menux 0 ; x posizione del menu (di default va bene)
set %menuy 805 ; y posizione del menu (di default va bene)
set %global 124
; to alter which character will be logged in on the fly)
;
;----------------------Shouldn't need to touch anything under here ------------------------
initevents
set %wait 20
set %logincount 0 ; count of how many logins attempted
set %disscount 0 ; count of disconnections
set * . %global 0 ; init global var
gosub MenuInit ; initialize menu
gosub login ; log in first (in case you are too lazy to do it manually, hey what are computers for anyway!)
_mainloop:
gosub CheckConnection ; monitor disconnection gumps
wait 1s
gosub MenuShow %logincount , #spc , Logins %disscount , #spc , Disconnections ; update menu
goto _mainloop
halt
;===========================================
sub CheckConnection
_ccloop:
if #contname = MainMenu_gump ; main login gump
gosub login
if #contname = waiting_gump
{
if #contsize = 203_121 ; disconnection
{
set %disscount %disscount + 1
set %x #contposx + 100
set %y #contposy + 90
click %x %y
}
if #contsize = 408_288 ; no connection avail, or timeout
{
set %x #contposx + 206
set %y #contposy + 256
click %x %y ; try again
}
gosub login
goto _ccloop
}
return
;===========================================
sub login
_mmloop:
gosub MenuShow Attempting , #spc , Login #contname
wait 20
if #contname = MainMenu_gump ; main login gump
{
if %myaccount <> default
{
set %x #contposx + 521
set %y #contposy + 356
click %x %y
gosub sendstring %myaccount
}
set %x #contposx + 521
set %y #contposy + 396
click %x %y
gosub sendstring %mypass
gosub clickgreen
gosub waitgump notfor MainMenu_gump 640_480 10
gosub waitgump notfor waiting_gump 408_288 60 ; verifying can take a while
set %logincount %logincount + 1
goto _mmloop
}
if #contname = normal_gump ; shard selection gump
{
if %shardid = #result
{
set %x #contposx + 260
set %y #contposy + 115
click %x %y g ; click topmost shard not sure why need g
gosub waitgump notfor normal_gump 640_480 10
goto _mmloop
}
}
if #contname = Login_gump ; char login gump
{
if * . %global <> 0 ; override charnum with global setting
set %mycharnum * . %global
set %x #contposx + 360
set %y #contposy + 164 + ( %mycharnum - 1 ) * 40
click %x %y d ; click char name (changed from d as sometimes seemed to fail)
wait 5s
if #contname = Login_gump ; no char?
gosub clickred
gosub clickgreen ; click here as well cos sometimes the gump is misnamed (existing char)
gosub waitgump notfor Login_gump 640_480 10
goto _mmloop
}
if #contname = waiting_gump
{
if #contsize = 203_121 ; disconnection
{
set %x #contposx + 100
set %y #contposy + 90
click %x %y
}
if #contsize = 408_288 ; no connection avail, or timeout
{
set %x #contposx + 206
set %y #contposy + 256
click %x %y ; try again
}
goto _mmloop
}
return
;-------------------------------------------
sub clickgreen
set %x #contposx + 618
set %y #contposy + 444
click %x %y ; the green arrow
wait 5
return
;-------------------------------------------
sub clickred
set %x1 #contposx + 595
set %y1 #contposy + 444
click %x1 %y1 ; the red arrow
wait 5
return
;-------------------------------------------
sub sendstring
str Len %1
set %len #strRes
for %i 1 16
{
key back ; delete current if any
wait 1
}
for %i 1 %len
{
str Mid %1 %i 1
key #strRes
wait 1
}
return
;-------------------------------------------------
sub waitgump
;%1 = for or notfor %2 = kind of gump %3 = size %4= timeout
set %timout #scnt + %4
_wfgloop:
if #scnt > %timout
return
wait 10
if %1 = for && ( #contname <> %2 || #contsize <> %3 )
goto _wfgloop
if %1 = notfor && #contname = %2 && #contsize = %3
goto _wfgloop
return
;-------------------------------------------------
sub MenuInit
menu Clear
menu Window title AutoLogin
menu Window Color BtnFace
menu Window Size 150 70
menu font size 8
menu Button Quit 40 46 45 16 Quit
menu hideeuo
menu Show %menux %menuy
menu Show %menux %menuy
set %start #scnt
gosub MenuShow %logincount , #spc , Attempts ; update menu
return
;-------------------------------------------------
sub MenuShow
set %hrs ( #scnt - %start ) / 3600
set %mins ( #scnt - %start ) / 60 - %hrs * 60
menu delete Active1
menu delete Active2
menu delete Count
menu text Active1 10 6 %1
menu text Active2 10 18 %2
menu text Count 10 30 Time , #spc , %hrs , : , %mins
if #menubutton = Quit
{
menu show
menu hide
halt
}
return











Commenta