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