Con il nuovo client, si blocca nella schermata di scelta pg e rimane piantato li. Qaulcuno ha la soluzione? grazie
codice:
set %myaccount default ; tuo username (lascia default per usare l'ultimo.)
set %mypass ; tua password
set %mycharnum 6 ; 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
set %AvviaMacro a
; 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:
;---------------------------------------------------------
; @ag: Piccola modifica per attendere il save del mattino
while #time >= 063000 && #time < 072000 ;
{
wait 60s
}
; @ag: fine modifiche
;---------------------------------------------------------
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 + 100 + %mycharnum * 40
click %x %y d ; click char name (changed from d as sometimes seemed to fail)
wait 5s
click %x %y d ; click char name (changed from d as sometimes seemed to fail)
wait 5s
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
}
wait 50
msg $
wait 30
if %AvviaMacro <> N/A
{
key %AvviaMacro
event sysmessage SCRIPT: macro avviata.
}
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
WaitForGump1:
If #ContName = waiting_gump
{
;msg ;<-- NickName dell'account
;wait 10
click 530 400
;call C:\password.txt ;<-- Password dell'account
msg %mypass
wait 20
msg $
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